@hotmeshio/hotmesh 0.3.11 → 0.3.13
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 +6 -8
- package/build/modules/key.js +1 -1
- package/build/modules/utils.d.ts +3 -2
- package/build/modules/utils.js +1 -1
- package/build/package.json +5 -5
- package/build/services/activities/activity.js +1 -1
- package/build/services/activities/await.js +1 -1
- package/build/services/activities/cycle.js +1 -1
- package/build/services/activities/hook.js +1 -1
- package/build/services/activities/index.js +1 -1
- package/build/services/activities/interrupt.js +1 -1
- package/build/services/activities/signal.js +1 -1
- package/build/services/activities/trigger.js +1 -1
- package/build/services/activities/worker.js +1 -1
- package/build/services/collator/index.js +1 -1
- package/build/services/compiler/deployer.js +1 -1
- package/build/services/compiler/index.js +1 -1
- package/build/services/compiler/validator.js +1 -1
- package/build/services/engine/index.js +1 -1
- package/build/services/exporter/index.js +1 -1
- package/build/services/mapper/index.js +1 -1
- package/build/services/meshdata/index.d.ts +4 -3
- package/build/services/meshdata/index.js +5 -3
- package/build/services/meshflow/client.d.ts +1 -0
- package/build/services/meshflow/client.js +18 -6
- package/build/services/meshflow/connection.d.ts +2 -2
- package/build/services/meshflow/connection.js +1 -1
- package/build/services/meshflow/exporter.js +1 -1
- package/build/services/meshflow/worker.d.ts +2 -1
- package/build/services/meshflow/worker.js +27 -16
- package/build/services/meshos/index.d.ts +2 -1
- package/build/services/meshos/index.js +8 -5
- package/build/services/pipe/functions/array.js +1 -1
- package/build/services/pipe/functions/bitwise.js +1 -1
- package/build/services/pipe/functions/conditional.js +1 -1
- package/build/services/pipe/functions/cron.js +1 -1
- package/build/services/pipe/functions/date.js +1 -1
- package/build/services/pipe/functions/index.js +1 -1
- package/build/services/pipe/functions/json.js +1 -1
- package/build/services/pipe/functions/logical.js +1 -1
- package/build/services/pipe/functions/math.js +1 -1
- package/build/services/pipe/functions/number.js +1 -1
- package/build/services/pipe/functions/object.js +1 -1
- package/build/services/pipe/functions/string.js +1 -1
- package/build/services/pipe/functions/symbol.js +1 -1
- package/build/services/pipe/functions/unary.js +1 -1
- package/build/services/pipe/index.js +1 -1
- package/build/services/quorum/index.js +1 -1
- package/build/services/reporter/index.js +1 -1
- package/build/services/router/index.js +1 -1
- package/build/services/search/factory.d.ts +2 -2
- package/build/services/search/factory.js +8 -4
- package/build/services/search/providers/postgres/postgres.d.ts +21 -0
- package/build/services/search/providers/postgres/postgres.js +1 -0
- package/build/services/search/providers/redis/ioredis.js +1 -1
- package/build/services/search/providers/redis/redis.js +1 -1
- package/build/services/serializer/index.js +1 -1
- package/build/services/store/providers/postgres/kvsql.d.ts +2 -1
- package/build/services/store/providers/postgres/kvsql.js +1 -1
- package/build/services/store/providers/postgres/postgres.d.ts +1 -1
- package/build/services/store/providers/postgres/postgres.js +1 -1
- package/build/services/store/providers/redis/_base.js +1 -1
- package/build/services/store/providers/redis/ioredis.js +1 -1
- package/build/services/store/providers/redis/redis.js +1 -1
- package/build/services/store/providers/store-initializable.js +1 -1
- package/build/services/stream/providers/nats/nats.js +1 -1
- package/build/services/stream/providers/postgres/postgres.js +1 -1
- package/build/services/stream/providers/redis/ioredis.js +1 -1
- package/build/services/stream/providers/redis/redis.js +1 -1
- package/build/services/stream/providers/stream-initializable.js +1 -1
- package/build/services/sub/providers/redis/ioredis.js +1 -1
- package/build/services/sub/providers/redis/redis.js +1 -1
- package/build/services/task/index.js +1 -1
- package/build/services/telemetry/index.js +1 -1
- package/build/services/worker/index.js +1 -1
- package/build/types/manifest.d.ts +12 -3
- package/build/types/meshflow.d.ts +2 -2
- package/build/types/postgres.d.ts +1 -0
- package/build/types/provider.d.ts +7 -0
- package/package.json +5 -5
- package/types/manifest.ts +12 -3
- package/types/meshflow.ts +2 -2
- package/types/postgres.ts +2 -0
- package/types/provider.ts +7 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(_0x50db43,_0x44baaa){const _0x11b4d0=_0x5854,_0x11dcbf=_0x50db43();while(!![]){try{const _0x2337fc=parseInt(_0x11b4d0(0x1c2))/0x1+-parseInt(_0x11b4d0(0x1c6))/0x2*(parseInt(_0x11b4d0(0x1c8))/0x3)+parseInt(_0x11b4d0(0x1cc))/0x4*(-parseInt(_0x11b4d0(0x1ca))/0x5)+parseInt(_0x11b4d0(0x1c3))/0x6*(parseInt(_0x11b4d0(0x1cb))/0x7)+-parseInt(_0x11b4d0(0x1c7))/0x8+-parseInt(_0x11b4d0(0x1c4))/0x9*(-parseInt(_0x11b4d0(0x1c9))/0xa)+parseInt(_0x11b4d0(0x1cd))/0xb*(-parseInt(_0x11b4d0(0x1c5))/0xc);if(_0x2337fc===_0x44baaa)break;else _0x11dcbf['push'](_0x11dcbf['shift']());}catch(_0x1e0c38){_0x11dcbf['push'](_0x11dcbf['shift']());}}}(_0x404c,0x522c1));var __importDefault=this&&this['__importDefault']||function(_0x211b88){return _0x211b88&&_0x211b88['__esModule']?_0x211b88:{'default':_0x211b88};};function _0x404c(){const _0x49458f=['572598CTJQqX','75792mTpHzY','4113ZWjSOS','333852LsdhPD','10NcQHED','3138416EbuQvA','25170hEmfae','6130cWnNDW','5qapyRC','217iUnLEQ','669884tPjTmj','121KsqAav'];_0x404c=function(){return _0x49458f;};return _0x404c();}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['KVSQL']=void 0x0;const pg_format_1=__importDefault(require('pg-format')),key_1=require('../../../../modules/key');function formatSqlCommand(_0x3227ff,_0x115103){const _0xd46308=[],_0x3ceb53=_0x3227ff['replace'](/\$(\d+)/g,(_0x4d3438,_0x1be6f3)=>{const _0x206b36=parseInt(_0x1be6f3,0xa)-0x1,_0x2775fc=_0x115103[_0x206b36];if(_0x2775fc===null||_0x2775fc===undefined)return'NULL';let _0x341b6a;if(typeof _0x2775fc==='number')_0x341b6a='%s';else{if(typeof _0x2775fc==='string')_0x341b6a='%L';else typeof _0x2775fc==='boolean'?_0x341b6a='%L':_0x341b6a='%L';}return _0xd46308['push'](_0x2775fc),_0x341b6a;});return(0x0,pg_format_1['default'])(_0x3ceb53,..._0xd46308);}class Multi{constructor(_0x4446f0){this['kvsql']=_0x4446f0,this['commands']=[];}['addCommand'](_0x52569a,_0x36047f,_0x546205,_0x10a74e){return this['commands']['push']({'sql':_0x52569a,'params':_0x36047f,'returnType':_0x546205,'transform':_0x10a74e}),this;}['set'](_0x39b987,_0x48a1e0,_0x14ec40){const {sql:_0x5f5480,params:_0x274988}=this['kvsql']['_set'](_0x39b987,_0x48a1e0,_0x14ec40);return this['addCommand'](_0x5f5480,_0x274988,'boolean');}['setnx'](_0x4e768e,_0x270cfc){const {sql:_0x5f3c4d,params:_0x4c0b5b}=this['kvsql']['_set'](_0x4e768e,_0x270cfc,{'nx':!![]});return this['addCommand'](_0x5f3c4d,_0x4c0b5b,'boolean');}['setnxex'](_0x2b3ac9,_0x59114e,_0x545676){const {sql:_0x4afef3,params:_0x26b49f}=this['kvsql']['_set'](_0x2b3ac9,_0x59114e,{'nx':!![],'ex':_0x545676});return this['addCommand'](_0x4afef3,_0x26b49f,'boolean');}['get'](_0x53db3c){const {sql:_0x2378cc,params:_0x1818c8}=this['kvsql']['_get'](_0x53db3c);return this['addCommand'](_0x2378cc,_0x1818c8,'string');}['del'](_0x53e484){const {sql:_0x3cafe5,params:_0x5095a3}=this['kvsql']['_del'](_0x53e484);return this['addCommand'](_0x3cafe5,_0x5095a3,'number');}['expire'](_0x2712fd,_0x30cb74){const {sql:_0x1687bb,params:_0x22af3e}=this['kvsql']['_expire'](_0x2712fd,_0x30cb74);return this['addCommand'](_0x1687bb,_0x22af3e,'boolean');}['hset'](_0x468483,_0x3ec93b,_0x54d3ed){const {sql:_0xc5b92,params:_0xb3a23f}=this['kvsql']['_hset'](_0x468483,_0x3ec93b,_0x54d3ed);return this['addCommand'](_0xc5b92,_0xb3a23f,'number');}['hget'](_0x343435,_0x5bd2ea){const {sql:_0x49c97e,params:_0x476cf3}=this['kvsql']['_hget'](_0x343435,_0x5bd2ea);return this['addCommand'](_0x49c97e,_0x476cf3,'string');}['hdel'](_0x31e63b,_0x292afc){const {sql:_0x512b7a,params:_0x5e0d19}=this['kvsql']['_hdel'](_0x31e63b,_0x292afc);return this['addCommand'](_0x512b7a,_0x5e0d19,'number');}['hmget'](_0x10e4d9,_0x1a7527){const {sql:_0x489e64,params:_0x88472d}=this['kvsql']['_hmget'](_0x10e4d9,_0x1a7527),_0x4bd60d=_0x219ef5=>{const _0x3bdbe2=new Map(_0x219ef5['map'](_0x2047a6=>[_0x2047a6['field'],_0x2047a6['value']]));return _0x1a7527['map'](_0x5ad47b=>_0x3bdbe2['get'](_0x5ad47b)||null);};return this['addCommand'](_0x489e64,_0x88472d,'array',_0x4bd60d);}['hgetall'](_0x3a894f){const {sql:_0x45248a,params:_0x318899}=this['kvsql']['_hgetall'](_0x3a894f),_0x42611a=_0x4772aa=>{const _0x4bbfa8={};for(const _0x391e32 of _0x4772aa){_0x4bbfa8[_0x391e32['field']]=_0x391e32['value'];}return _0x4bbfa8;};return this['addCommand'](_0x45248a,_0x318899,'object',_0x42611a);}['hincrbyfloat'](_0x4bdad5,_0x5bed53,_0x4d77bf){const {sql:_0x1fb063,params:_0x158174}=this['kvsql']['_hincrbyfloat'](_0x4bdad5,_0x5bed53,_0x4d77bf);return this['addCommand'](_0x1fb063,_0x158174,'number',_0x2fa740=>parseFloat(_0x2fa740[0x0]['value']));}['hscan'](_0x15cf91,_0x3f20e3,_0x1ae646=0xa){const {sql:_0x51ad41,params:_0x1e45ed}=this['kvsql']['_hscan'](_0x15cf91,_0x3f20e3,_0x1ae646),_0x10c787=_0x50e553=>{const _0x3828c6={};for(const _0x348983 of _0x50e553){_0x3828c6[_0x348983['field']]=_0x348983['value'];}const _0x5eb0b0=_0x3f20e3+_0x50e553['length'];return{'cursor':_0x5eb0b0['toString'](),'items':_0x3828c6};};return this['addCommand'](_0x51ad41,_0x1e45ed,'object',_0x10c787);}['lrange'](_0xd6b55a,_0x489edc,_0x478a1e){const {sql:_0x416071,params:_0x445011}=this['kvsql']['_lrange'](_0xd6b55a,_0x489edc,_0x478a1e);return this['addCommand'](_0x416071,_0x445011,'array',_0x1534ee=>_0x1534ee['map'](_0x125085=>_0x125085['value']));}['rpush'](_0x3de951,_0x4a38c1){const {sql:_0x2f1bc6,params:_0x250903}=this['kvsql']['_rpush'](_0x3de951,_0x4a38c1);return this['addCommand'](_0x2f1bc6,_0x250903,'number',_0x35c553=>_0x35c553[0x0]?.['count']||0x0);}['lpush'](_0x196503,_0x167289){const {sql:_0x9e1948,params:_0x520590}=this['kvsql']['_lpush'](_0x196503,_0x167289);return this['addCommand'](_0x9e1948,_0x520590,'number',_0xa3f4a0=>_0xa3f4a0[0x0]?.['count']||0x0);}['lpop'](_0x275f5d){const {sql:_0x9cb523,params:_0x54b27c}=this['kvsql']['_lpop'](_0x275f5d);return this['addCommand'](_0x9cb523,_0x54b27c,'string');}['lmove'](_0x399c95,_0x350e8c,_0x316bee,_0x28ad4e){const {sql:_0xae28f9,params:_0x1bd459}=this['kvsql']['_lmove'](_0x399c95,_0x350e8c,_0x316bee,_0x28ad4e);return this['addCommand'](_0xae28f9,_0x1bd459,'string');}['zadd'](_0x4db57a,_0x400c87,_0x395deb,_0x4addae){const {sql:_0x3037a5,params:_0x32920b}=this['kvsql']['_zadd'](_0x4db57a,_0x400c87,_0x395deb,_0x4addae);return this['addCommand'](_0x3037a5,_0x32920b,'number',_0x40a3ae=>_0x40a3ae[0x0]?.['count']||0x0);}['zrange'](_0x2dab66,_0x2a1c47,_0x10bec9){const {sql:_0x5be41e,params:_0x4e6239}=this['kvsql']['_zrange'](_0x2dab66,_0x2a1c47,_0x10bec9);return this['addCommand'](_0x5be41e,_0x4e6239,'array',_0x3ad716=>_0x3ad716['map'](_0xb97b99=>_0xb97b99['member']));}['zrangebyscore'](_0x541a58,_0x156ef9,_0x30d01f){const {sql:_0x92407d,params:_0x3afe01}=this['kvsql']['_zrangebyscore'](_0x541a58,_0x156ef9,_0x30d01f);return this['addCommand'](_0x92407d,_0x3afe01,'array',_0x4bffe4=>_0x4bffe4['map'](_0x28459f=>_0x28459f['member']));}['zrangebyscore_withscores'](_0x44fed9,_0x40b06c,_0x177253){const {sql:_0x1cad42,params:_0x464da0}=this['kvsql']['_zrangebyscore_withscores'](_0x44fed9,_0x40b06c,_0x177253);return this['addCommand'](_0x1cad42,_0x464da0,'array',_0x2a52fb=>_0x2a52fb['map'](_0x5b8b3c=>({'member':_0x5b8b3c['member'],'score':_0x5b8b3c['score']})));}['zrem'](_0x28c29,_0x51ac49){const {sql:_0x3a9f43,params:_0x3502ca}=this['kvsql']['_zrem'](_0x28c29,_0x51ac49);return this['addCommand'](_0x3a9f43,_0x3502ca,'number',_0x42e472=>_0x42e472[0x0]?.['count']||0x0);}['zrank'](_0x161853,_0x437260){const {sql:_0x3a24ae,params:_0x30fc60}=this['kvsql']['_zrank'](_0x161853,_0x437260);return this['addCommand'](_0x3a24ae,_0x30fc60,'number',_0x2ccc0b=>_0x2ccc0b[0x0]?.['rank']!==undefined?parseInt(_0x2ccc0b[0x0]['rank'],0xa)-0x1:null);}['scan'](_0x425190,_0x2e0217=0xa){const {sql:_0x17cdec,params:_0x4ab808}=this['kvsql']['_scan'](_0x425190,_0x2e0217),_0x54cd8f=_0x51afdd=>{const _0x323fb9=_0x51afdd['map'](_0x1485b7=>_0x1485b7['key']),_0x2484d7=_0x425190+_0x51afdd['length'];return{'cursor':_0x2484d7,'keys':_0x323fb9};};return this['addCommand'](_0x17cdec,_0x4ab808,'object',_0x54cd8f);}['rename'](_0x32b8f6,_0x45efde){const {sql:_0x48e57e,params:_0x524318}=this['kvsql']['_rename'](_0x32b8f6,_0x45efde);return this['addCommand'](_0x48e57e,_0x524318,'void');}async['exec'](){const _0x4c09f6=this['kvsql']['pgClient'];try{await _0x4c09f6['query']('BEGIN');const _0x17bcd3=[],_0x4b7520=[];for(const _0x23f7ae of this['commands']){const _0x5b77d3=formatSqlCommand(_0x23f7ae['sql'],_0x23f7ae['params']);_0x17bcd3['push'](_0x5b77d3);}const _0x5648f0=_0x17bcd3['join'](';\x0a'),_0x52e8ac=await _0x4c09f6['query'](_0x5648f0),_0x5cfadc=Array['isArray'](_0x52e8ac)?_0x52e8ac:[_0x52e8ac];let _0x4290a5=0x0;for(const _0x166d9e of this['commands']){const _0x2008f1=_0x5cfadc[_0x4290a5++],_0x1040e9=_0x2008f1?.['rows']||[];let _0x213a85;if(_0x166d9e['transform'])_0x213a85=_0x166d9e['transform'](_0x1040e9);else switch(_0x166d9e['returnType']){case'string':_0x213a85=_0x1040e9[0x0]?.['value']||null;break;case'number':_0x213a85=_0x1040e9[0x0]?.['count']||0x0;break;case'boolean':_0x213a85=_0x1040e9[0x0]?.['success']??_0x1040e9['length']>0x0;break;case'array':_0x213a85=_0x1040e9['map'](_0x2f81df=>_0x2f81df['value']);break;case'object':_0x213a85=_0x1040e9[0x0]||{};break;default:_0x213a85=_0x1040e9;}_0x4b7520['push'](_0x213a85);}return await _0x4c09f6['query']('COMMIT'),_0x4b7520;}catch(_0x585d2d){await _0x4c09f6['query']('ROLLBACK');throw _0x585d2d;}}}function _0x5854(_0xf7d82,_0x5beec1){const _0x404c34=_0x404c();return _0x5854=function(_0x5854e8,_0xd91c4a){_0x5854e8=_0x5854e8-0x1c2;let _0x16e423=_0x404c34[_0x5854e8];return _0x16e423;},_0x5854(_0xf7d82,_0x5beec1);}class KVSQL{constructor(_0x18903c,_0x1a7d99,_0x5f23b8){this['pgClient']=_0x18903c,this['namespace']=_0x1a7d99,this['appId']=_0x5f23b8;}['getMulti'](){return new Multi(this);}['transact'](){return new Multi(this);}['exec'](..._0x3d1879){return Promise['resolve']([]);}['mintKey'](_0x128a28,_0x564bcd){return'';}['tableForKey'](_0x463b9a,_0x4743d8){if(_0x463b9a===key_1['HMNS'])return'hotmesh_connections';const [_0x2a9e58,_0x17dc91,_0x201b36,..._0x498e1a]=_0x463b9a['split'](':');if(_0x17dc91==='a')return'hotmesh_applications';const _0x105ff3=_0x498e1a?.['length']?_0x498e1a['join'](':'):'',_0x2974bd=key_1['KeyService']['resolveEntityType'](_0x201b36,_0x105ff3);if(this['safeName'](this['appId'])!==this['safeName'](_0x17dc91))throw new Error('App\x20ID\x20mismatch:\x20'+this['appId']+'\x20!==\x20'+_0x17dc91);if(_0x2974bd==='stats'){if(_0x4743d8==='sorted_set')return'hotmesh_'+this['safeName'](_0x17dc91)+'_stats_ordered';else{if(_0x4743d8==='list')return'hotmesh_'+this['safeName'](_0x17dc91)+'_stats_indexed';else{if(_0x4743d8==='hash')return'hotmesh_'+this['safeName'](_0x17dc91)+'_stats_counted';else throw new Error('Unknown\x20stats\x20type\x20['+_0x4743d8+']\x20for\x20key\x20['+_0x463b9a+']');}}}if(_0x2974bd==='unknown_entity')throw new Error('Unknown\x20entity\x20type\x20abbreviation:\x20'+_0x201b36);else return _0x2974bd==='applications'?'hotmesh_applications':'hotmesh_'+this['safeName'](_0x17dc91)+'_'+_0x2974bd;}['reconstituteKey'](_0x25f4e9,_0x527fd3){const _0x40d03f=key_1['KeyService']['resolveAbbreviation'](_0x25f4e9);return key_1['KeyService']['reconstituteKey']({'namespace':this['namespace'],'app':this['appId'],'entity':_0x40d03f,'id':_0x527fd3});}['safeName'](_0x4e13f7,_0x42101b=''){if(!_0x4e13f7)return'connections';let _0x3627a2=_0x4e13f7['trim']()['toLowerCase']();return _0x3627a2=_0x3627a2['replace'](/[^a-z0-9]+/g,'_'),_0x42101b&&(_0x3627a2=_0x42101b+'_'+_0x3627a2),_0x3627a2['length']>0x3f&&(_0x3627a2=_0x3627a2['slice'](0x0,0x3f)),_0x3627a2=_0x3627a2['replace'](/_+$/g,''),!_0x3627a2&&(_0x3627a2='connections'),_0x3627a2;}async['get'](_0x432674,_0x4af794){const {sql:_0x14d7d7,params:_0x12570b}=this['_get'](_0x432674);if(_0x4af794)return _0x4af794['addCommand'](_0x14d7d7,_0x12570b,'string'),Promise['resolve'](null);else{const _0x394152=await this['pgClient']['query'](_0x14d7d7,_0x12570b);return _0x394152['rows'][0x0]?.['value']||null;}}['_get'](_0xf05868){const _0x37cfc2=this['tableForKey'](_0xf05868),_0x297611='\x0a\x20\x20\x20\x20\x20\x20SELECT\x20value\x20FROM\x20'+_0x37cfc2+'\x0a\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x20AND\x20(expiry\x20IS\x20NULL\x20OR\x20expiry\x20>\x20NOW())\x0a\x20\x20\x20\x20\x20\x20LIMIT\x201\x0a\x20\x20\x20\x20',_0x3fff3d=[_0xf05868];return{'sql':_0x297611,'params':_0x3fff3d};}async['setnx'](_0x211c2d,_0x3fc7c4,_0x1b7caf){const {sql:_0x385138,params:_0x2ec8b3}=this['_set'](_0x211c2d,_0x3fc7c4,{'nx':!![]});if(_0x1b7caf)return _0x1b7caf['addCommand'](_0x385138,_0x2ec8b3,'boolean'),Promise['resolve'](!![]);else{const _0x15fb5b=await this['pgClient']['query'](_0x385138,_0x2ec8b3);return _0x15fb5b['rowCount']>0x0;}}async['setnxex'](_0x292edf,_0x260877,_0x3986f6,_0x552213){const {sql:_0x3816ac,params:_0x516b97}=this['_set'](_0x292edf,_0x260877,{'nx':!![],'ex':_0x3986f6});if(_0x552213)return _0x552213['addCommand'](_0x3816ac,_0x516b97,'boolean'),Promise['resolve'](!![]);else{const _0x4ab3ea=await this['pgClient']['query'](_0x3816ac,_0x516b97);return _0x4ab3ea['rowCount']>0x0;}}async['set'](_0x75a84,_0x157ca7,_0x29a45c,_0x3a29ba){const {sql:_0x1f3b4f,params:_0x1db708}=this['_set'](_0x75a84,_0x157ca7,_0x29a45c);if(_0x3a29ba)return _0x3a29ba['addCommand'](_0x1f3b4f,_0x1db708,'boolean'),Promise['resolve'](!![]);else{const _0x3bc5cd=await this['pgClient']['query'](_0x1f3b4f,_0x1db708);return _0x3bc5cd['rowCount']>0x0;}}['_set'](_0x112cd2,_0x4e1479,_0x584c94){const _0xebd6e2=this['tableForKey'](_0x112cd2);let _0x56cac6='';const _0x576c7f=[_0x112cd2,_0x4e1479];let _0x5317a7='';return _0x584c94?.['ex']&&(_0x5317a7=',\x20expiry\x20=\x20NOW()\x20+\x20INTERVAL\x20\x27'+_0x584c94['ex']+'\x20seconds\x27'),_0x584c94?.['nx']?_0x56cac6='\x0a\x20\x20\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0xebd6e2+'\x20(key,\x20value'+(_0x5317a7?',\x20expiry':'')+')\x0a\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20($1,\x20$2'+(_0x5317a7?',\x20NOW()\x20+\x20INTERVAL\x20\x27'+_0x584c94['ex']+'\x20seconds\x27':'')+')\x0a\x20\x20\x20\x20\x20\x20\x20\x20ON\x20CONFLICT\x20DO\x20NOTHING\x0a\x20\x20\x20\x20\x20\x20\x20\x20RETURNING\x20true\x20as\x20success\x0a\x20\x20\x20\x20\x20\x20':_0x56cac6='\x0a\x20\x20\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0xebd6e2+'\x20(key,\x20value'+(_0x5317a7?',\x20expiry':'')+')\x0a\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20($1,\x20$2'+(_0x5317a7?',\x20NOW()\x20+\x20INTERVAL\x20\x27'+_0x584c94['ex']+'\x20seconds\x27':'')+')\x0a\x20\x20\x20\x20\x20\x20\x20\x20ON\x20CONFLICT\x20(key)\x20DO\x20UPDATE\x20SET\x20value\x20=\x20EXCLUDED.value'+_0x5317a7+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20RETURNING\x20true\x20as\x20success\x0a\x20\x20\x20\x20\x20\x20',{'sql':_0x56cac6,'params':_0x576c7f};}async['del'](_0x318278,_0x1d0511){const {sql:_0xf07064,params:_0xca211e}=this['_del'](_0x318278);if(_0x1d0511)return _0x1d0511['addCommand'](_0xf07064,_0xca211e,'number'),Promise['resolve'](0x0);else{const _0x15405f=await this['pgClient']['query'](_0xf07064,_0xca211e);return Number(_0x15405f['rows'][0x0]?.['count']||0x0);}}['_del'](_0x38d23d){const _0xefbbf2=this['tableForKey'](_0x38d23d),_0x426a53='\x0a\x20\x20\x20\x20\x20\x20WITH\x20deleted\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20DELETE\x20FROM\x20'+_0xefbbf2+'\x20WHERE\x20key\x20=\x20$1\x0a\x20\x20\x20\x20\x20\x20\x20\x20RETURNING\x201\x0a\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20SELECT\x20COUNT(*)\x20as\x20count\x20FROM\x20deleted\x0a\x20\x20\x20\x20',_0x28b3bd=[_0x38d23d];return{'sql':_0x426a53,'params':_0x28b3bd};}async['expire'](_0x1a5c0f,_0x2cde7c,_0x2413dd){const {sql:_0x31f08b,params:_0x1eafbc}=this['_expire'](_0x1a5c0f,_0x2cde7c);if(_0x2413dd)return _0x2413dd['addCommand'](_0x31f08b,_0x1eafbc,'boolean'),Promise['resolve'](!![]);else{const _0x5a6bf4=await this['pgClient']['query'](_0x31f08b,_0x1eafbc);return _0x5a6bf4['rowCount']>0x0;}}['_expire'](_0x50ea38,_0x2c4e4f){const _0xbd8c55=this['tableForKey'](_0x50ea38),_0x1c7d89=new Date(Date['now']()+_0x2c4e4f*0x3e8),_0x5df277='\x0a\x20\x20\x20\x20\x20\x20UPDATE\x20'+_0xbd8c55+'\x0a\x20\x20\x20\x20\x20\x20SET\x20expiry\x20=\x20$2\x0a\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x0a\x20\x20\x20\x20\x20\x20RETURNING\x20true\x20as\x20success\x0a\x20\x20\x20\x20',_0x4353b5=[_0x50ea38,_0x1c7d89];return{'sql':_0x5df277,'params':_0x4353b5};}async['hsetnx'](_0x1d1ac4,_0x3486ef,_0x5e9935,_0x351942){const {sql:_0x32a4f3,params:_0x574eab}=this['_hset'](_0x1d1ac4,{[_0x3486ef]:_0x5e9935},{'nx':!![]});if(_0x351942)return _0x351942['addCommand'](_0x32a4f3,_0x574eab,'number'),Promise['resolve'](0x0);else{const _0x2fd95f=await this['pgClient']['query'](_0x32a4f3,_0x574eab);return _0x2fd95f['rowCount'];}}async['hset'](_0xea176,_0x1714f1,_0x43d0ff,_0x5ad1c3){const {sql:_0x3c4d05,params:_0x4bafbe}=this['_hset'](_0xea176,_0x1714f1,_0x43d0ff);if(_0x5ad1c3)return _0x5ad1c3['addCommand'](_0x3c4d05,_0x4bafbe,'number'),Promise['resolve'](0x0);else{const _0x473616=await this['pgClient']['query'](_0x3c4d05,_0x4bafbe);return _0x473616['rowCount'];}}['_hset'](_0x5aad6b,_0x58ebe0,_0x5d259b){let _0x725849='';const _0x51ff86=[_0x5aad6b],_0x4454c8=this['tableForKey'](_0x5aad6b,'hash'),_0x470698=Object['entries'](_0x58ebe0);_0x470698['forEach'](([_0x22c82f,_0x5aa31e],_0x6f023a)=>{_0x51ff86['push'](_0x22c82f,_0x5aa31e);});const _0x339357=_0x470698['map']((_0x40d57c,_0x269ddf)=>'($1,\x20$'+(0x2+_0x269ddf*0x2)+',\x20$'+(0x3+_0x269ddf*0x2)+')')['join'](',\x20');return _0x5d259b?.['nx']?_0x725849='\x0a\x20\x20\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x4454c8+'\x20(key,\x20field,\x20value)\x0a\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20'+_0x339357+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20ON\x20CONFLICT\x20DO\x20NOTHING\x0a\x20\x20\x20\x20\x20\x20\x20\x20RETURNING\x201\x20as\x20count\x0a\x20\x20\x20\x20\x20\x20':_0x725849='\x0a\x20\x20\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x4454c8+'\x20(key,\x20field,\x20value)\x0a\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20'+_0x339357+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20ON\x20CONFLICT\x20(key,\x20field)\x20DO\x20UPDATE\x20SET\x20value\x20=\x20EXCLUDED.value\x0a\x20\x20\x20\x20\x20\x20\x20\x20RETURNING\x201\x20as\x20count\x0a\x20\x20\x20\x20\x20\x20',{'sql':_0x725849,'params':_0x51ff86};}async['hget'](_0x177fce,_0x39b81a,_0x2fa0c5){const {sql:_0x476f29,params:_0x110efb}=this['_hget'](_0x177fce,_0x39b81a);if(_0x2fa0c5)return _0x2fa0c5['addCommand'](_0x476f29,_0x110efb,'string'),Promise['resolve'](null);else{const _0x3d173e=await this['pgClient']['query'](_0x476f29,_0x110efb);return _0x3d173e['rows'][0x0]?.['value']||null;}}['_hget'](_0xccbecf,_0xffbef2){const _0x515905=this['tableForKey'](_0xccbecf,'hash'),_0x4fa4b2='\x0a\x20\x20\x20\x20\x20\x20SELECT\x20value\x20FROM\x20'+_0x515905+'\x0a\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x20AND\x20field\x20=\x20$2\x20AND\x20(expiry\x20IS\x20NULL\x20OR\x20expiry\x20>\x20NOW())\x0a\x20\x20\x20\x20\x20\x20LIMIT\x201\x0a\x20\x20\x20\x20',_0x136e44=[_0xccbecf,_0xffbef2];return{'sql':_0x4fa4b2,'params':_0x136e44};}async['hdel'](_0x1c27ef,_0x1e9c02,_0x37699f){!Array['isArray'](_0x1e9c02)&&(_0x1e9c02=[_0x1e9c02]);const {sql:_0x6239c,params:_0x2a9601}=this['_hdel'](_0x1c27ef,_0x1e9c02);if(_0x37699f)return _0x37699f['addCommand'](_0x6239c,_0x2a9601,'number'),Promise['resolve'](0x0);else{const _0xcbece4=await this['pgClient']['query'](_0x6239c,_0x2a9601);return Number(_0xcbece4['rows'][0x0]?.['count']||0x0);}}['_hdel'](_0x2c94c5,_0x45ce85){const _0x4ad086=this['tableForKey'](_0x2c94c5,'hash'),_0x1a9c0c=_0x45ce85['map']((_0xec7d8d,_0x8821c9)=>'$'+(_0x8821c9+0x2))['join'](',\x20'),_0x165119='\x0a\x20\x20\x20\x20\x20\x20WITH\x20deleted\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20DELETE\x20FROM\x20'+_0x4ad086+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x20AND\x20field\x20IN\x20('+_0x1a9c0c+')\x0a\x20\x20\x20\x20\x20\x20\x20\x20RETURNING\x201\x0a\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20SELECT\x20COUNT(*)\x20as\x20count\x20FROM\x20deleted\x0a\x20\x20\x20\x20',_0x308b8e=[_0x2c94c5,..._0x45ce85];return{'sql':_0x165119,'params':_0x308b8e};}async['hmget'](_0x5a2bae,_0x2ea2f0,_0x239e0b){const {sql:_0x234191,params:_0x280ba9}=this['_hmget'](_0x5a2bae,_0x2ea2f0);if(_0x239e0b)return _0x239e0b['addCommand'](_0x234191,_0x280ba9,'array',_0x1c2389=>{const _0x195761=new Map(_0x1c2389['map'](_0x5318ad=>[_0x5318ad['field'],_0x5318ad['value']]));return _0x2ea2f0['map'](_0x1a2741=>_0x195761['get'](_0x1a2741)||null);}),Promise['resolve']([]);else{const _0x2f0f2e=await this['pgClient']['query'](_0x234191,_0x280ba9),_0x23aef6=new Map(_0x2f0f2e['rows']['map'](_0x5cf2b9=>[_0x5cf2b9['field'],_0x5cf2b9['value']]));return _0x2ea2f0['map'](_0x43bb4c=>_0x23aef6['get'](_0x43bb4c)||null);}}['_hmget'](_0x3ae438,_0x5bfae5){const _0x53f96a=this['tableForKey'](_0x3ae438,'hash'),_0x1b5780='\x0a\x20\x20\x20\x20\x20\x20SELECT\x20field,\x20value\x20FROM\x20'+_0x53f96a+'\x0a\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x20AND\x20field\x20=\x20ANY($2::text[])\x0a\x20\x20\x20\x20',_0x340ab9=[_0x3ae438,_0x5bfae5];return{'sql':_0x1b5780,'params':_0x340ab9};}async['hgetall'](_0x138528,_0x3f3335){const {sql:_0x4ce2ff,params:_0x51cbe6}=this['_hgetall'](_0x138528);if(_0x3f3335)return _0x3f3335['addCommand'](_0x4ce2ff,_0x51cbe6,'object',_0x3a583d=>{const _0x4de807={};for(const _0x1eaf38 of _0x3a583d){_0x4de807[_0x1eaf38['field']]=_0x1eaf38['value'];}return _0x4de807;}),Promise['resolve']({});else{const _0x45ab90=await this['pgClient']['query'](_0x4ce2ff,_0x51cbe6),_0x4fe579={};for(const _0x2e0af9 of _0x45ab90['rows']){_0x4fe579[_0x2e0af9['field']]=_0x2e0af9['value'];}return _0x4fe579;}}['_hgetall'](_0xdc3dd){const _0xfd8944=this['tableForKey'](_0xdc3dd,'hash'),_0x2f3bb4='\x0a\x20\x20\x20\x20\x20\x20SELECT\x20field,\x20value\x20FROM\x20'+_0xfd8944+'\x0a\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x20AND\x20(expiry\x20IS\x20NULL\x20OR\x20expiry\x20>\x20NOW())\x0a\x20\x20\x20\x20',_0x195705=[_0xdc3dd];return{'sql':_0x2f3bb4,'params':_0x195705};}async['hincrbyfloat'](_0x4d7a57,_0x4b2d92,_0x51fb70,_0x3d4a9b){const {sql:_0x10c09d,params:_0x42643e}=this['_hincrbyfloat'](_0x4d7a57,_0x4b2d92,_0x51fb70);if(_0x3d4a9b)return _0x3d4a9b['addCommand'](_0x10c09d,_0x42643e,'number',_0x2f06c9=>parseFloat(_0x2f06c9[0x0]['value'])),Promise['resolve'](0x0);else{const _0x133b6c=await this['pgClient']['query'](_0x10c09d,_0x42643e);return parseFloat(_0x133b6c['rows'][0x0]['value']);}}['_hincrbyfloat'](_0x236532,_0x3b0bea,_0x300dde){const _0x4d2c9e=this['tableForKey'](_0x236532,'hash'),_0x4211bb='\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x4d2c9e+'\x20(key,\x20field,\x20value)\x0a\x20\x20\x20\x20\x20\x20VALUES\x20($1,\x20$2,\x20($3)::text)\x0a\x20\x20\x20\x20\x20\x20ON\x20CONFLICT\x20(key,\x20field)\x20DO\x20UPDATE\x20SET\x20value\x20=\x20('+_0x4d2c9e+'.value::double\x20precision\x20+\x20$3::double\x20precision)::text\x0a\x20\x20\x20\x20\x20\x20RETURNING\x20value\x0a\x20\x20\x20\x20',_0x10fe6a=[_0x236532,_0x3b0bea,_0x300dde];return{'sql':_0x4211bb,'params':_0x10fe6a};}async['hscan'](_0x5d718a,_0x5e5abf,_0x208d98=0xa,_0x575259,_0x5881f9){const {sql:_0x3a16b3,params:_0x308fea}=this['_hscan'](_0x5d718a,_0x5e5abf,_0x208d98,_0x575259);if(_0x5881f9)return _0x5881f9['addCommand'](_0x3a16b3,_0x308fea,'object',_0x49a71a=>{const _0x1925c6={};for(const _0x478aa5 of _0x49a71a){_0x1925c6[_0x478aa5['field']]=_0x478aa5['value'];}const _0xe50347=_0x49a71a['length']<_0x208d98?0x0:Number(_0x5e5abf)+_0x49a71a['length'];return{'cursor':_0xe50347['toString'](),'items':_0x1925c6};}),Promise['resolve']({'cursor':'0','items':{}});else{const _0x4a9d42=await this['pgClient']['query'](_0x3a16b3,_0x308fea),_0x1b6599={};for(const _0x529cc8 of _0x4a9d42['rows']){_0x1b6599[_0x529cc8['field']]=_0x529cc8['value'];}const _0x20a842=_0x4a9d42['rowCount']<_0x208d98?0x0:Number(_0x5e5abf)+_0x4a9d42['rowCount'];return{'cursor':_0x20a842['toString'](),'items':_0x1b6599};}}['_hscan'](_0x3f1d10,_0x110b11,_0x2bf1ec,_0x26941b){const _0x4cecd9=this['tableForKey'](_0x3f1d10,'hash'),_0x104854=[_0x3f1d10];let _0x52c072='\x0a\x20\x20\x20\x20\x20\x20SELECT\x20field,\x20value\x20FROM\x20'+_0x4cecd9+'\x0a\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x20AND\x20(expiry\x20IS\x20NULL\x20OR\x20expiry\x20>\x20NOW())\x0a\x20\x20\x20\x20',_0x52b6bc=0x2;if(_0x26941b){const _0x56ac5d=_0x26941b['replace'](/\*/g,'%');_0x52c072+='\x20AND\x20field\x20LIKE\x20$'+_0x52b6bc,_0x104854['push'](_0x56ac5d),_0x52b6bc++;}return _0x52c072+='\x0a\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20field\x0a\x20\x20\x20\x20\x20\x20OFFSET\x20$'+_0x52b6bc+'\x20LIMIT\x20$'+(_0x52b6bc+0x1)+'\x0a\x20\x20\x20\x20',_0x104854['push'](_0x110b11['toString']()),_0x104854['push'](_0x2bf1ec['toString']()),{'sql':_0x52c072,'params':_0x104854};}async['lrange'](_0x3d4f72,_0x48ed1d,_0x729f35,_0x4b67da){const {sql:_0x1d0bd6,params:_0x47d5ab}=this['_lrange'](_0x3d4f72,_0x48ed1d,_0x729f35);if(_0x4b67da)return _0x4b67da['addCommand'](_0x1d0bd6,_0x47d5ab,'array',_0x2ca420=>_0x2ca420['map'](_0x24878b=>_0x24878b['value'])),Promise['resolve']([]);else{const _0x2f8386=await this['pgClient']['query'](_0x1d0bd6,_0x47d5ab);return _0x2f8386['rows']['map'](_0x307700=>_0x307700['value']);}}['_lrange'](_0x34c97f,_0x410b01,_0x4f33cf){const _0x5a9daa=this['tableForKey'](_0x34c97f,'list'),_0x5d8e3b='\x0a\x20\x20\x20\x20\x20\x20WITH\x20numbered\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20value,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ROW_NUMBER()\x20OVER\x20(ORDER\x20BY\x20\x22index\x22\x20ASC)\x20-\x201\x20AS\x20rn,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20COUNT(*)\x20OVER()\x20-\x201\x20AS\x20max_index\x0a\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0x5a9daa+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x20AND\x20(expiry\x20IS\x20NULL\x20OR\x20expiry\x20>\x20NOW())\x0a\x20\x20\x20\x20\x20\x20),\x0a\x20\x20\x20\x20\x20\x20indices\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20LEAST(GREATEST(CASE\x20WHEN\x20$2\x20>=\x200\x20THEN\x20$2\x20ELSE\x20max_index\x20+\x20$2\x20+\x201\x20END,\x200),\x20max_index)\x20AS\x20adjusted_start,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20LEAST(GREATEST(CASE\x20WHEN\x20$3\x20>=\x200\x20THEN\x20$3\x20ELSE\x20max_index\x20+\x20$3\x20+\x201\x20END,\x200),\x20max_index)\x20AS\x20adjusted_end\x0a\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20(SELECT\x20max_index\x20FROM\x20numbered\x20LIMIT\x201)\x20AS\x20mi\x0a\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20SELECT\x20value\x0a\x20\x20\x20\x20\x20\x20FROM\x20numbered,\x20indices\x0a\x20\x20\x20\x20\x20\x20WHERE\x20rn\x20BETWEEN\x20indices.adjusted_start\x20AND\x20indices.adjusted_end\x0a\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20rn\x20ASC\x0a\x20\x20\x20\x20',_0x3d410a=[_0x34c97f,_0x410b01,_0x4f33cf];return{'sql':_0x5d8e3b,'params':_0x3d410a};}async['rpush'](_0x45e1a1,_0x5c6335,_0x34dae5){const {sql:_0x80b3fa,params:_0x501bb8}=this['_rpush'](_0x45e1a1,_0x5c6335);if(_0x34dae5)return _0x34dae5['addCommand'](_0x80b3fa,_0x501bb8,'number',_0x4f6512=>_0x4f6512[0x0]?.['count']||0x0),Promise['resolve'](0x0);else{const _0x286cf6=await this['pgClient']['query'](_0x80b3fa,_0x501bb8);return Number(_0x286cf6['rows'][0x0]?.['count']||0x0);}}['_rpush'](_0x474ae6,_0x36fecf){const _0x5390ba=this['tableForKey'](_0x474ae6,'list'),_0x267e7d=Array['isArray'](_0x36fecf)?_0x36fecf:[_0x36fecf],_0x5d7759=_0x267e7d['map']((_0x572172,_0x18fab5)=>'($1,\x20(SELECT\x20COALESCE(MAX(\x22index\x22),\x200)\x20+\x20'+(_0x18fab5+0x1)+'\x20FROM\x20'+_0x5390ba+'\x20WHERE\x20key\x20=\x20$1),\x20$'+(_0x18fab5+0x2)+')')['join'](',\x20'),_0x1efef6='\x0a\x20\x20\x20\x20\x20\x20WITH\x20inserted\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x5390ba+'\x20(key,\x20\x22index\x22,\x20value)\x0a\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20'+_0x5d7759+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20RETURNING\x201\x0a\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20SELECT\x20COUNT(*)\x20as\x20count\x20FROM\x20inserted\x0a\x20\x20\x20\x20',_0x2c0fe1=[_0x474ae6,..._0x267e7d];return{'sql':_0x1efef6,'params':_0x2c0fe1};}async['lpush'](_0x48db31,_0x465237,_0x35584c){const {sql:_0x20b8fc,params:_0x2ecb3f}=this['_lpush'](_0x48db31,_0x465237);if(_0x35584c)return _0x35584c['addCommand'](_0x20b8fc,_0x2ecb3f,'number',_0x17507a=>_0x17507a[0x0]?.['count']||0x0),Promise['resolve'](0x0);else{const _0x456810=await this['pgClient']['query'](_0x20b8fc,_0x2ecb3f);return Number(_0x456810['rows'][0x0]?.['count']||0x0);}}['_lpush'](_0x5ba0ff,_0x3a874f){const _0x30005d=this['tableForKey'](_0x5ba0ff,'list'),_0x3a0b7e=Array['isArray'](_0x3a874f)?_0x3a874f:[_0x3a874f],_0xbe00ef=_0x3a0b7e['map']((_0x38e3b8,_0x13da63)=>'($1,\x20(SELECT\x20COALESCE(MIN(\x22index\x22),\x200)\x20-\x20'+(_0x13da63+0x1)+'\x20FROM\x20'+_0x30005d+'\x20WHERE\x20key\x20=\x20$1),\x20$'+(_0x13da63+0x2)+')')['join'](',\x20'),_0x9e54ae='\x0a\x20\x20\x20\x20\x20\x20WITH\x20inserted\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x30005d+'\x20(key,\x20\x22index\x22,\x20value)\x0a\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20'+_0xbe00ef+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20RETURNING\x201\x0a\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20SELECT\x20COUNT(*)\x20as\x20count\x20FROM\x20inserted\x0a\x20\x20\x20\x20',_0x4dc423=[_0x5ba0ff,..._0x3a0b7e];return{'sql':_0x9e54ae,'params':_0x4dc423};}async['lpop'](_0xcab99a,_0x2f7306){const {sql:_0x4f9cb7,params:_0x255c5e}=this['_lpop'](_0xcab99a);if(_0x2f7306)return _0x2f7306['addCommand'](_0x4f9cb7,_0x255c5e,'string'),Promise['resolve'](null);else{const _0x1819e5=await this['pgClient']['query'](_0x4f9cb7,_0x255c5e);return _0x1819e5['rows'][0x0]?.['value']||null;}}['_lpop'](_0x476236){const _0xee5f19=this['tableForKey'](_0x476236,'list'),_0xca0130='\x0a\x20\x20\x20\x20\x20\x20DELETE\x20FROM\x20'+_0xee5f19+'\x0a\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x20AND\x20\x22index\x22\x20=\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20MIN(\x22index\x22)\x20FROM\x20'+_0xee5f19+'\x20WHERE\x20key\x20=\x20$1\x20AND\x20(expiry\x20IS\x20NULL\x20OR\x20expiry\x20>\x20NOW())\x0a\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20RETURNING\x20value\x0a\x20\x20\x20\x20',_0x11fc65=[_0x476236];return{'sql':_0xca0130,'params':_0x11fc65};}async['lmove'](_0x1cc107,_0x487dc9,_0x41ea08,_0x320a17,_0x464816){const {sql:_0x22c783,params:_0x3f0375}=this['_lmove'](_0x1cc107,_0x487dc9,_0x41ea08,_0x320a17);if(_0x464816)return _0x464816['addCommand'](_0x22c783,_0x3f0375,'string'),Promise['resolve'](null);else{const _0x19d94f=this['pgClient'];try{await _0x19d94f['query']('BEGIN');const _0x4296aa=await _0x19d94f['query'](_0x22c783,_0x3f0375);return await _0x19d94f['query']('COMMIT'),_0x4296aa['rows'][0x0]?.['value']||null;}catch(_0x5d8058){await _0x19d94f['query']('ROLLBACK');throw _0x5d8058;}}}['_lmove'](_0x1c7cd9,_0x5ce648,_0x388cd3,_0x4367ec){const _0x5dc785=this['tableForKey'](_0x1c7cd9,'list'),_0x3d2e09=_0x388cd3==='LEFT'?'ASC':'DESC',_0x452dbe=_0x4367ec==='LEFT'?'(SELECT\x20COALESCE(MIN(\x22index\x22),\x200)\x20-\x201\x20FROM\x20'+_0x5dc785+'\x20WHERE\x20key\x20=\x20$2)':'(SELECT\x20COALESCE(MAX(\x22index\x22),\x200)\x20+\x201\x20FROM\x20'+_0x5dc785+'\x20WHERE\x20key\x20=\x20$2)',_0x1b6da7='\x0a\x20\x20\x20\x20\x20\x20WITH\x20moved\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20DELETE\x20FROM\x20'+_0x5dc785+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20ctid\x20IN\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20ctid\x20FROM\x20'+_0x5dc785+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x20AND\x20(expiry\x20IS\x20NULL\x20OR\x20expiry\x20>\x20NOW())\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20\x22index\x22\x20'+_0x3d2e09+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20LIMIT\x201\x0a\x20\x20\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20\x20\x20RETURNING\x20value\x0a\x20\x20\x20\x20\x20\x20),\x0a\x20\x20\x20\x20\x20\x20inserted\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x5dc785+'\x20(key,\x20\x22index\x22,\x20value)\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20$2,\x20'+_0x452dbe+',\x20value\x20FROM\x20moved\x0a\x20\x20\x20\x20\x20\x20\x20\x20RETURNING\x20value\x0a\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20SELECT\x20value\x20FROM\x20inserted\x0a\x20\x20\x20\x20',_0xabc8e4=[_0x1c7cd9,_0x5ce648];return{'sql':_0x1b6da7,'params':_0xabc8e4};}async['zadd'](_0x1906e8,_0xe2bfc2,_0x4f432e,_0x3b8e26,_0x31f0ae){const {sql:_0x19225c,params:_0x2280f3}=this['_zadd'](_0x1906e8,_0xe2bfc2,_0x4f432e,_0x3b8e26);if(_0x31f0ae)return _0x31f0ae['addCommand'](_0x19225c,_0x2280f3,'number',_0x1d62e3=>_0x1d62e3[0x0]?.['count']||0x0),Promise['resolve'](0x0);else{const _0x1ecaf8=await this['pgClient']['query'](_0x19225c,_0x2280f3);return Number(_0x1ecaf8['rows'][0x0]?.['count']||0x0);}}['_zadd'](_0xa158f2,_0x59281b,_0x4c02ca,_0x151146){const _0x28c1b3=this['tableForKey'](_0xa158f2,'sorted_set');let _0x30ec58='';const _0x4cefb6=[_0xa158f2,_0x4c02ca,_0x59281b];return _0x151146?.['nx']?_0x30ec58='\x0a\x20\x20\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x28c1b3+'\x20(key,\x20member,\x20score)\x0a\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20($1,\x20$2,\x20$3)\x0a\x20\x20\x20\x20\x20\x20\x20\x20ON\x20CONFLICT\x20DO\x20NOTHING\x0a\x20\x20\x20\x20\x20\x20\x20\x20RETURNING\x201\x20as\x20count\x0a\x20\x20\x20\x20\x20\x20':_0x30ec58='\x0a\x20\x20\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x28c1b3+'\x20(key,\x20member,\x20score)\x0a\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20($1,\x20$2,\x20$3)\x0a\x20\x20\x20\x20\x20\x20\x20\x20ON\x20CONFLICT\x20(key,\x20member)\x20DO\x20UPDATE\x20SET\x20score\x20=\x20$3\x0a\x20\x20\x20\x20\x20\x20\x20\x20RETURNING\x201\x20as\x20count\x0a\x20\x20\x20\x20\x20\x20',{'sql':_0x30ec58,'params':_0x4cefb6};}async['zrange'](_0x30eda1,_0x2bc95a,_0x1d8282,_0x13f796,_0x401bd7){const {sql:_0x4bffc1,params:_0x3cfa31}=this['_zrange'](_0x30eda1,_0x2bc95a,_0x1d8282,_0x13f796);if(_0x401bd7)return _0x401bd7['addCommand'](_0x4bffc1,_0x3cfa31,'array',_0x42e37a=>{return _0x13f796==='WITHSCORES'?_0x42e37a['flatMap'](_0x2e1f53=>[_0x2e1f53['member'],_0x2e1f53['score']['toString']()]):_0x42e37a['map'](_0x1973f2=>_0x1973f2['member']);}),Promise['resolve']([]);else{const _0x55001c=await this['pgClient']['query'](_0x4bffc1,_0x3cfa31);return _0x13f796==='WITHSCORES'?_0x55001c['rows']['flatMap'](_0x11d28f=>[_0x11d28f['member'],_0x11d28f['score']['toString']()]):_0x55001c['rows']['map'](_0x4a0360=>_0x4a0360['member']);}}['_zrange'](_0x3016de,_0x5d45c5,_0x4a97d6,_0x2d1f2d){const _0x22bad4=this['tableForKey'](_0x3016de,'sorted_set'),_0x224e88=_0x2d1f2d==='WITHSCORES'?'member,\x20score':'member',_0x19b690='\x0a\x20\x20\x20\x20\x20\x20WITH\x20total_entries\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20COUNT(*)\x20-\x201\x20AS\x20max_index\x20FROM\x20'+_0x22bad4+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x20AND\x20(expiry\x20IS\x20NULL\x20OR\x20expiry\x20>\x20NOW())\x0a\x20\x20\x20\x20\x20\x20),\x20ordered_entries\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20'+_0x224e88+',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ROW_NUMBER()\x20OVER\x20(ORDER\x20BY\x20score\x20ASC,\x20member\x20ASC)\x20-\x201\x20AS\x20rn,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(SELECT\x20max_index\x20FROM\x20total_entries)\x20AS\x20max_index\x0a\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0x22bad4+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x20AND\x20(expiry\x20IS\x20NULL\x20OR\x20expiry\x20>\x20NOW())\x0a\x20\x20\x20\x20\x20\x20),\x20indices\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CASE\x20WHEN\x20$2\x20>=\x200\x20THEN\x20$2\x20ELSE\x20max_index\x20+\x20$2\x20+\x201\x20END\x20AS\x20adjusted_start,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CASE\x20WHEN\x20$3\x20>=\x200\x20THEN\x20$3\x20ELSE\x20max_index\x20+\x20$3\x20+\x201\x20END\x20AS\x20adjusted_stop\x0a\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20total_entries\x0a\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20SELECT\x20'+_0x224e88+'\x0a\x20\x20\x20\x20\x20\x20FROM\x20ordered_entries,\x20indices\x0a\x20\x20\x20\x20\x20\x20WHERE\x20rn\x20BETWEEN\x20LEAST(GREATEST(adjusted_start,\x200),\x20max_index)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20AND\x20LEAST(GREATEST(adjusted_stop,\x200),\x20max_index)\x0a\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20rn\x20ASC;\x0a\x20\x20\x20\x20',_0x18015a=[_0x3016de,_0x5d45c5,_0x4a97d6];return{'sql':_0x19b690,'params':_0x18015a};}async['zscore'](_0x539464,_0x42cb28,_0x2f0a68){const {sql:_0xd48cb,params:_0x3cd7d5}=this['_zscore'](_0x539464,_0x42cb28);if(_0x2f0a68)return _0x2f0a68['addCommand'](_0xd48cb,_0x3cd7d5,'single',_0x3caf58=>{return _0x3caf58?parseFloat(_0x3caf58['score']):null;}),Promise['resolve'](null);else{const _0x46246f=await this['pgClient']['query'](_0xd48cb,_0x3cd7d5);return _0x46246f['rows']['length']?parseFloat(_0x46246f['rows'][0x0]['score']):null;}}['_zscore'](_0x8227b8,_0x5a3c31){const _0x4ae2b0=this['tableForKey'](_0x8227b8,'sorted_set'),_0x2c871a='\x0a\x20\x20\x20\x20\x20\x20SELECT\x20score\x0a\x20\x20\x20\x20\x20\x20FROM\x20'+_0x4ae2b0+'\x0a\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x20AND\x20member\x20=\x20$2\x0a\x20\x20\x20\x20\x20\x20\x20\x20AND\x20(expiry\x20IS\x20NULL\x20OR\x20expiry\x20>\x20NOW())\x0a\x20\x20\x20\x20\x20\x20LIMIT\x201\x0a\x20\x20\x20\x20',_0x581fc8=[_0x8227b8,_0x5a3c31];return{'sql':_0x2c871a,'params':_0x581fc8};}async['zrangebyscore'](_0x633d01,_0x5d2703,_0x5e27cc,_0x315996){const {sql:_0x10a596,params:_0x4da9b6}=this['_zrangebyscore'](_0x633d01,_0x5d2703,_0x5e27cc);if(_0x315996)return _0x315996['addCommand'](_0x10a596,_0x4da9b6,'array',_0x169468=>_0x169468['map'](_0x44dd0a=>_0x44dd0a['member'])),Promise['resolve']([]);else{const _0x332367=await this['pgClient']['query'](_0x10a596,_0x4da9b6);return _0x332367['rows']['map'](_0x59bf7d=>_0x59bf7d['member']);}}['_zrangebyscore'](_0x1e5038,_0x18754b,_0x5ed304){const _0x3f2285=this['tableForKey'](_0x1e5038,'sorted_set'),_0x1a3416='\x0a\x20\x20\x20\x20\x20\x20SELECT\x20member\x20FROM\x20'+_0x3f2285+'\x0a\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x20AND\x20score\x20BETWEEN\x20$2\x20AND\x20$3\x20AND\x20(expiry\x20IS\x20NULL\x20OR\x20expiry\x20>\x20NOW())\x0a\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20score\x20ASC,\x20member\x20ASC\x0a\x20\x20\x20\x20',_0x3a275e=[_0x1e5038,_0x18754b,_0x5ed304];return{'sql':_0x1a3416,'params':_0x3a275e};}async['zrangebyscore_withscores'](_0x3336f2,_0x5b584a,_0x1031cf,_0x4ab1f0){const {sql:_0x25c28f,params:_0x465fb7}=this['_zrangebyscore_withscores'](_0x3336f2,_0x5b584a,_0x1031cf);if(_0x4ab1f0)return _0x4ab1f0['addCommand'](_0x25c28f,_0x465fb7,'array',_0x2a1e03=>_0x2a1e03['map'](_0x44cd54=>({'member':_0x44cd54['member'],'score':_0x44cd54['score']}))),Promise['resolve']([]);else{const _0x305c48=await this['pgClient']['query'](_0x25c28f,_0x465fb7);return _0x305c48['rows']['map'](_0x278c7c=>({'member':_0x278c7c['member'],'score':_0x278c7c['score']}));}}['_zrangebyscore_withscores'](_0x3e68ad,_0x53dafb,_0x21bd2b){const _0x2c054b=this['tableForKey'](_0x3e68ad,'sorted_set'),_0x4de5c7='\x0a\x20\x20\x20\x20\x20\x20SELECT\x20member,\x20score\x20FROM\x20'+_0x2c054b+'\x0a\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x20AND\x20score\x20BETWEEN\x20$2\x20AND\x20$3\x20AND\x20(expiry\x20IS\x20NULL\x20OR\x20expiry\x20>\x20NOW())\x0a\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20score\x20ASC,\x20member\x20ASC\x0a\x20\x20\x20\x20',_0xd0b7a0=[_0x3e68ad,_0x53dafb,_0x21bd2b];return{'sql':_0x4de5c7,'params':_0xd0b7a0};}async['zrem'](_0x5bb092,_0x51510,_0x311c43){const {sql:_0x2bdd2b,params:_0x1f4346}=this['_zrem'](_0x5bb092,_0x51510);if(_0x311c43)return _0x311c43['addCommand'](_0x2bdd2b,_0x1f4346,'number',_0x3f655d=>_0x3f655d[0x0]?.['count']||0x0),Promise['resolve'](0x0);else{const _0x1b1d68=await this['pgClient']['query'](_0x2bdd2b,_0x1f4346);return Number(_0x1b1d68['rows'][0x0]?.['count']||0x0);}}['_zrem'](_0x27fec7,_0x8ea6fb){const _0x42b60c=this['tableForKey'](_0x27fec7,'sorted_set'),_0x53ead2='\x0a\x20\x20\x20\x20\x20\x20WITH\x20deleted\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20DELETE\x20FROM\x20'+_0x42b60c+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x20AND\x20member\x20=\x20$2\x0a\x20\x20\x20\x20\x20\x20\x20\x20RETURNING\x201\x0a\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20SELECT\x20COUNT(*)\x20as\x20count\x20FROM\x20deleted\x0a\x20\x20\x20\x20',_0xec80eb=[_0x27fec7,_0x8ea6fb];return{'sql':_0x53ead2,'params':_0xec80eb};}async['zrank'](_0x393a58,_0x132a09,_0x4463fb){const {sql:_0x31cbcd,params:_0x1f15bc}=this['_zrank'](_0x393a58,_0x132a09);if(_0x4463fb)return _0x4463fb['addCommand'](_0x31cbcd,_0x1f15bc,'number',_0x46258e=>_0x46258e[0x0]?.['rank']!==undefined?parseInt(_0x46258e[0x0]['rank'],0xa)-0x1:null),Promise['resolve'](null);else{const _0x520d29=await this['pgClient']['query'](_0x31cbcd,_0x1f15bc);return _0x520d29['rows'][0x0]?.['rank']?parseInt(_0x520d29['rows'][0x0]['rank'],0xa)>0x0?parseInt(_0x520d29['rows'][0x0]['rank'],0xa)-0x1:null:null;}}['_zrank'](_0x543da4,_0x4dbb10){const _0x4cad65=this['tableForKey'](_0x543da4,'sorted_set'),_0x153f59='\x0a\x20\x20\x20\x20\x20\x20WITH\x20member_score\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20score\x20FROM\x20'+_0x4cad65+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x20AND\x20member\x20=\x20$2\x20AND\x20(expiry\x20IS\x20NULL\x20OR\x20expiry\x20>\x20NOW())\x0a\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20SELECT\x20COUNT(*)\x20AS\x20rank\x20FROM\x20'+_0x4cad65+'\x20ms,\x20member_score\x0a\x20\x20\x20\x20\x20\x20WHERE\x20ms.key\x20=\x20$1\x20AND\x20(expiry\x20IS\x20NULL\x20OR\x20expiry\x20>\x20NOW())\x0a\x20\x20\x20\x20\x20\x20AND\x20(ms.score\x20<\x20member_score.score\x20OR\x20(ms.score\x20=\x20member_score.score\x20AND\x20ms.member\x20<\x20$2))\x0a\x20\x20\x20\x20',_0x48c637=[_0x543da4,_0x4dbb10];return{'sql':_0x153f59,'params':_0x48c637};}async['scan'](_0x4012c6,_0x5e439f=0xa,_0x42e8cc,_0x2458a8){const {sql:_0xff464f,params:_0x305dfe}=this['_scan'](_0x4012c6,_0x5e439f,_0x42e8cc);if(_0x2458a8)return _0x2458a8['addCommand'](_0xff464f,_0x305dfe,'object',_0x4d541b=>{const _0x1c4fb3=_0x4d541b['map'](_0x49241d=>_0x49241d['key']),_0x358f44=_0x4012c6+_0x4d541b['length'];return{'cursor':_0x358f44,'keys':_0x1c4fb3};}),Promise['resolve']({'cursor':0x0,'keys':[]});else{const _0x45ae52=await this['pgClient']['query'](_0xff464f,_0x305dfe),_0x3da3c4=_0x45ae52['rows']['map'](_0x2bac57=>_0x2bac57['key']),_0x365dc8=_0x4012c6+_0x45ae52['rowCount'];return{'cursor':_0x365dc8,'keys':_0x3da3c4};}}['_scan'](_0x27fcfd,_0x2ef95f,_0x52716a){const _0x6ac279=this['tableForKey']('_:'+this['appId']+':j:_');let _0x21e279='\x0a\x20\x20\x20\x20\x20\x20SELECT\x20key\x20FROM\x20'+_0x6ac279+'\x0a\x20\x20\x20\x20\x20\x20WHERE\x20(expiry\x20IS\x20NULL\x20OR\x20expiry\x20>\x20NOW())\x0a\x20\x20\x20\x20';const _0x4c9496=[];return _0x52716a&&(_0x21e279+='\x20AND\x20key\x20LIKE\x20$1',_0x4c9496['push'](_0x52716a['replace'](/\*/g,'%'))),_0x21e279+='\x0a\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20key\x0a\x20\x20\x20\x20\x20\x20OFFSET\x20$'+(_0x4c9496['length']+0x1)+'\x20LIMIT\x20$'+(_0x4c9496['length']+0x2)+'\x0a\x20\x20\x20\x20',_0x4c9496['push'](_0x27fcfd['toString']()),_0x4c9496['push'](_0x2ef95f['toString']()),{'sql':_0x21e279,'params':_0x4c9496};}async['rename'](_0x50c7ff,_0x4a157c,_0x28e8fb){const {sql:_0x330ace,params:_0x787c22}=this['_rename'](_0x50c7ff,_0x4a157c);if(_0x28e8fb)return _0x28e8fb['addCommand'](_0x330ace,_0x787c22,'void'),Promise['resolve']();else{const _0x57664d=this['pgClient'];try{await _0x57664d['query']('BEGIN'),await _0x57664d['query'](_0x330ace,_0x787c22),await _0x57664d['query']('COMMIT');}catch(_0x469e5a){await _0x57664d['query']('ROLLBACK');throw _0x469e5a;}}}['_rename'](_0x8e95fe,_0x1e7080){const _0x179fa3=this['tableForKey'](_0x8e95fe,'list'),_0x5db4c9='\x0a\x20\x20\x20\x20\x20\x20UPDATE\x20'+_0x179fa3+'\x20SET\x20key\x20=\x20$2\x20WHERE\x20key\x20=\x20$1;\x0a\x20\x20\x20\x20',_0x1161f4=[_0x8e95fe,_0x1e7080];return{'sql':_0x5db4c9,'params':_0x1161f4};}async['exists'](_0xfa9756){const {sql:_0x547af2,params:_0x3a309a}=this['_exists'](_0xfa9756),_0x11aadf=await this['pgClient']['query'](_0x547af2,_0x3a309a);return _0x11aadf['rows']['length']?_0x11aadf['rows'][0x0]['table_name']:0x0;}['_exists'](_0xd2aa4c){const _0x31109f=this['tableForKey'](_0xd2aa4c),_0x503163='\x0a\x20\x20\x20\x20\x20\x20SELECT\x20FROM\x20'+_0x31109f+'\x0a\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x0a\x20\x20\x20\x20\x20\x20\x20\x20AND\x20(expiry\x20IS\x20NULL\x20OR\x20expiry\x20>\x20NOW())\x0a\x20\x20\x20\x20\x20\x20LIMIT\x201;\x0a\x20\x20\x20\x20',_0x4bfed4=[_0xd2aa4c];return{'sql':_0x503163,'params':_0x4bfed4};}}exports['KVSQL']=KVSQL;
|
|
1
|
+
'use strict';function _0x3b03(_0x74e4fe,_0x52ee03){const _0x5e389d=_0x5e38();return _0x3b03=function(_0x3b03f4,_0x5e0058){_0x3b03f4=_0x3b03f4-0xb5;let _0x550ca5=_0x5e389d[_0x3b03f4];return _0x550ca5;},_0x3b03(_0x74e4fe,_0x52ee03);}function _0x5e38(){const _0x41bdc6=['83794dqNjMR','2460738HKSqsr','565968aDCDEp','5556xPelAP','201442csBldJ','1385BSwWAe','1630842dwdRJw','171GEUWcs','717072VxKPBO'];_0x5e38=function(){return _0x41bdc6;};return _0x5e38();}(function(_0x17c576,_0x43fa6c){const _0x39bca1=_0x3b03,_0xb096bb=_0x17c576();while(!![]){try{const _0x2f0c7a=parseInt(_0x39bca1(0xbc))/0x1+-parseInt(_0x39bca1(0xb7))/0x2+-parseInt(_0x39bca1(0xb9))/0x3+parseInt(_0x39bca1(0xb6))/0x4*(-parseInt(_0x39bca1(0xb8))/0x5)+-parseInt(_0x39bca1(0xb5))/0x6+-parseInt(_0x39bca1(0xbd))/0x7+-parseInt(_0x39bca1(0xbb))/0x8*(-parseInt(_0x39bca1(0xba))/0x9);if(_0x2f0c7a===_0x43fa6c)break;else _0xb096bb['push'](_0xb096bb['shift']());}catch(_0x2528ef){_0xb096bb['push'](_0xb096bb['shift']());}}}(_0x5e38,0x4c252));var __importDefault=this&&this['__importDefault']||function(_0x125986){return _0x125986&&_0x125986['__esModule']?_0x125986:{'default':_0x125986};};Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['KVSQL']=void 0x0;const pg_format_1=__importDefault(require('pg-format')),key_1=require('../../../../modules/key');function formatSqlCommand(_0x1472a9,_0x2b801f){const _0x197ee5=[],_0x2b31ca=_0x1472a9['replace'](/\$(\d+)/g,(_0x26769d,_0x31795d)=>{const _0x3695dd=parseInt(_0x31795d,0xa)-0x1,_0x491803=_0x2b801f[_0x3695dd];if(_0x491803===null||_0x491803===undefined)return'NULL';let _0x49426c;if(typeof _0x491803==='number')_0x49426c='%s';else{if(typeof _0x491803==='string')_0x49426c='%L';else typeof _0x491803==='boolean'?_0x49426c='%L':_0x49426c='%L';}return _0x197ee5['push'](_0x491803),_0x49426c;});return(0x0,pg_format_1['default'])(_0x2b31ca,..._0x197ee5);}class Multi{constructor(_0x361875){this['kvsql']=_0x361875,this['commands']=[];}['addCommand'](_0x2b87d6,_0x162cf6,_0xd1e2d6,_0x5045db){return this['commands']['push']({'sql':_0x2b87d6,'params':_0x162cf6,'returnType':_0xd1e2d6,'transform':_0x5045db}),this;}['set'](_0x1c0e8e,_0x41f425,_0x493d5c){const {sql:_0x3f3192,params:_0x1d46f5}=this['kvsql']['_set'](_0x1c0e8e,_0x41f425,_0x493d5c);return this['addCommand'](_0x3f3192,_0x1d46f5,'boolean');}['setnx'](_0x3de0bb,_0x90bfb8){const {sql:_0x387ab4,params:_0x1d4e7}=this['kvsql']['_set'](_0x3de0bb,_0x90bfb8,{'nx':!![]});return this['addCommand'](_0x387ab4,_0x1d4e7,'boolean');}['setnxex'](_0x25c9f0,_0x1c6e36,_0x287ee9){const {sql:_0x2449c3,params:_0x3d1d07}=this['kvsql']['_set'](_0x25c9f0,_0x1c6e36,{'nx':!![],'ex':_0x287ee9});return this['addCommand'](_0x2449c3,_0x3d1d07,'boolean');}['get'](_0x491717){const {sql:_0x4c88bc,params:_0x41fefa}=this['kvsql']['_get'](_0x491717);return this['addCommand'](_0x4c88bc,_0x41fefa,'string');}['del'](_0x17b35e){const {sql:_0x52260a,params:_0xef700e}=this['kvsql']['_del'](_0x17b35e);return this['addCommand'](_0x52260a,_0xef700e,'number');}['expire'](_0x11214a,_0x3a42eb){const {sql:_0xd2a77c,params:_0x330c29}=this['kvsql']['_expire'](_0x11214a,_0x3a42eb);return this['addCommand'](_0xd2a77c,_0x330c29,'boolean');}['hset'](_0x23f16a,_0x3ba9ed,_0x41776d){const {sql:_0x8cd409,params:_0xf620db}=this['kvsql']['_hset'](_0x23f16a,_0x3ba9ed,_0x41776d);return this['addCommand'](_0x8cd409,_0xf620db,'number');}['hget'](_0x1b02f7,_0x9dd7d4){const {sql:_0x57d5f5,params:_0x460e98}=this['kvsql']['_hget'](_0x1b02f7,_0x9dd7d4);return this['addCommand'](_0x57d5f5,_0x460e98,'string');}['hdel'](_0x3f0bd5,_0x485f6d){const {sql:_0x26af58,params:_0x4e5e7e}=this['kvsql']['_hdel'](_0x3f0bd5,_0x485f6d);return this['addCommand'](_0x26af58,_0x4e5e7e,'number');}['hmget'](_0x2ca1a6,_0x4cef6d){const {sql:_0x16f11b,params:_0xaced1a}=this['kvsql']['_hmget'](_0x2ca1a6,_0x4cef6d),_0x3e8beb=_0x2964e8=>{const _0x2437bc=new Map(_0x2964e8['map'](_0x2c10a2=>[_0x2c10a2['field'],_0x2c10a2['value']]));return _0x4cef6d['map'](_0x200992=>_0x2437bc['get'](_0x200992)||null);};return this['addCommand'](_0x16f11b,_0xaced1a,'array',_0x3e8beb);}['hgetall'](_0x355d58){const {sql:_0x4c5251,params:_0x2b5711}=this['kvsql']['_hgetall'](_0x355d58),_0x6fcb8b=_0x15c0e9=>{const _0x5c8cdb={};for(const _0x2dbade of _0x15c0e9){_0x5c8cdb[_0x2dbade['field']]=_0x2dbade['value'];}return _0x5c8cdb;};return this['addCommand'](_0x4c5251,_0x2b5711,'object',_0x6fcb8b);}['hincrbyfloat'](_0x146f6a,_0x454a16,_0x2d83bf){const {sql:_0x1c06f7,params:_0x334e98}=this['kvsql']['_hincrbyfloat'](_0x146f6a,_0x454a16,_0x2d83bf);return this['addCommand'](_0x1c06f7,_0x334e98,'number',_0x58b33b=>parseFloat(_0x58b33b[0x0]['value']));}['hscan'](_0x49793b,_0x4a881e,_0x3c3e65=0xa){const {sql:_0x45e5ef,params:_0x1a1bfd}=this['kvsql']['_hscan'](_0x49793b,_0x4a881e,_0x3c3e65),_0x7d1664=_0x37e4c9=>{const _0x4c1741={};for(const _0x1bf362 of _0x37e4c9){_0x4c1741[_0x1bf362['field']]=_0x1bf362['value'];}const _0x3cebdc=_0x4a881e+_0x37e4c9['length'];return{'cursor':_0x3cebdc['toString'](),'items':_0x4c1741};};return this['addCommand'](_0x45e5ef,_0x1a1bfd,'object',_0x7d1664);}['lrange'](_0x1d2b21,_0x209ab7,_0x581d93){const {sql:_0x1087fa,params:_0xd4652b}=this['kvsql']['_lrange'](_0x1d2b21,_0x209ab7,_0x581d93);return this['addCommand'](_0x1087fa,_0xd4652b,'array',_0x39d3f5=>_0x39d3f5['map'](_0x19a447=>_0x19a447['value']));}['rpush'](_0x45bd71,_0x1ed92c){const {sql:_0x2d690d,params:_0x2df886}=this['kvsql']['_rpush'](_0x45bd71,_0x1ed92c);return this['addCommand'](_0x2d690d,_0x2df886,'number',_0x311cad=>_0x311cad[0x0]?.['count']||0x0);}['lpush'](_0x2592af,_0x793f12){const {sql:_0x56ce99,params:_0x32cd26}=this['kvsql']['_lpush'](_0x2592af,_0x793f12);return this['addCommand'](_0x56ce99,_0x32cd26,'number',_0x5e9b9d=>_0x5e9b9d[0x0]?.['count']||0x0);}['lpop'](_0x3521fd){const {sql:_0x41121c,params:_0x33719}=this['kvsql']['_lpop'](_0x3521fd);return this['addCommand'](_0x41121c,_0x33719,'string');}['lmove'](_0x44bdc5,_0x26a9c7,_0x307c79,_0x1fa8ce){const {sql:_0x3ed6fc,params:_0x356cac}=this['kvsql']['_lmove'](_0x44bdc5,_0x26a9c7,_0x307c79,_0x1fa8ce);return this['addCommand'](_0x3ed6fc,_0x356cac,'string');}['zadd'](_0x5911b4,_0x4b4101,_0x556377,_0x2b6cb5){const {sql:_0x483f82,params:_0x41b8ba}=this['kvsql']['_zadd'](_0x5911b4,_0x4b4101,_0x556377,_0x2b6cb5);return this['addCommand'](_0x483f82,_0x41b8ba,'number',_0x3d2d14=>_0x3d2d14[0x0]?.['count']||0x0);}['zrange'](_0x48bec5,_0x4616f6,_0x1c3ff4){const {sql:_0x57026e,params:_0x9238de}=this['kvsql']['_zrange'](_0x48bec5,_0x4616f6,_0x1c3ff4);return this['addCommand'](_0x57026e,_0x9238de,'array',_0x293cfc=>_0x293cfc['map'](_0x686d1=>_0x686d1['member']));}['zrangebyscore'](_0x3f2d84,_0x3cdc10,_0x237e20){const {sql:_0x26e19f,params:_0x21ebb7}=this['kvsql']['_zrangebyscore'](_0x3f2d84,_0x3cdc10,_0x237e20);return this['addCommand'](_0x26e19f,_0x21ebb7,'array',_0x56c662=>_0x56c662['map'](_0x144006=>_0x144006['member']));}['zrangebyscore_withscores'](_0x7b1b8d,_0x45cc1c,_0x8f6c7a){const {sql:_0x58f0eb,params:_0x40a683}=this['kvsql']['_zrangebyscore_withscores'](_0x7b1b8d,_0x45cc1c,_0x8f6c7a);return this['addCommand'](_0x58f0eb,_0x40a683,'array',_0x345cf2=>_0x345cf2['map'](_0x33eecc=>({'member':_0x33eecc['member'],'score':_0x33eecc['score']})));}['zrem'](_0x20c0a7,_0x2e53af){const {sql:_0x1a95ba,params:_0x4062da}=this['kvsql']['_zrem'](_0x20c0a7,_0x2e53af);return this['addCommand'](_0x1a95ba,_0x4062da,'number',_0x4bcc3e=>_0x4bcc3e[0x0]?.['count']||0x0);}['zrank'](_0x47c48d,_0x1f7c31){const {sql:_0x33cb0c,params:_0xa2467c}=this['kvsql']['_zrank'](_0x47c48d,_0x1f7c31);return this['addCommand'](_0x33cb0c,_0xa2467c,'number',_0x203a71=>_0x203a71[0x0]?.['rank']!==undefined?parseInt(_0x203a71[0x0]['rank'],0xa)-0x1:null);}['scan'](_0x2d1927,_0x1fd0f1=0xa){const {sql:_0xed054e,params:_0x411f2a}=this['kvsql']['_scan'](_0x2d1927,_0x1fd0f1),_0x5127f4=_0x3342ed=>{const _0x348374=_0x3342ed['map'](_0x3cc1ae=>_0x3cc1ae['key']),_0xf4a5c7=_0x2d1927+_0x3342ed['length'];return{'cursor':_0xf4a5c7,'keys':_0x348374};};return this['addCommand'](_0xed054e,_0x411f2a,'object',_0x5127f4);}['rename'](_0x42a631,_0x460c3a){const {sql:_0x58998d,params:_0x4088a9}=this['kvsql']['_rename'](_0x42a631,_0x460c3a);return this['addCommand'](_0x58998d,_0x4088a9,'void');}async['exec'](){const _0x5b4e80=this['kvsql']['pgClient'];try{await _0x5b4e80['query']('BEGIN');const _0x120568=[],_0x1fc8f5=[];for(const _0x1f8d60 of this['commands']){const _0x55519e=formatSqlCommand(_0x1f8d60['sql'],_0x1f8d60['params']);_0x120568['push'](_0x55519e);}const _0x144d52=_0x120568['join'](';\x0a'),_0xe40a7f=await _0x5b4e80['query'](_0x144d52),_0x32483c=Array['isArray'](_0xe40a7f)?_0xe40a7f:[_0xe40a7f];let _0x12c811=0x0;for(const _0x105673 of this['commands']){const _0x4e3b0a=_0x32483c[_0x12c811++],_0x503b98=_0x4e3b0a?.['rows']||[];let _0x5635ad;if(_0x105673['transform'])_0x5635ad=_0x105673['transform'](_0x503b98);else switch(_0x105673['returnType']){case'string':_0x5635ad=_0x503b98[0x0]?.['value']||null;break;case'number':_0x5635ad=_0x503b98[0x0]?.['count']||0x0;break;case'boolean':_0x5635ad=_0x503b98[0x0]?.['success']??_0x503b98['length']>0x0;break;case'array':_0x5635ad=_0x503b98['map'](_0x2a22e9=>_0x2a22e9['value']);break;case'object':_0x5635ad=_0x503b98[0x0]||{};break;default:_0x5635ad=_0x503b98;}_0x1fc8f5['push'](_0x5635ad);}return await _0x5b4e80['query']('COMMIT'),_0x1fc8f5;}catch(_0x356171){await _0x5b4e80['query']('ROLLBACK');throw _0x356171;}}}class KVSQL{constructor(_0x5bf1de,_0x1ffc07,_0x3b78d4){this['pgClient']=_0x5bf1de,this['namespace']=_0x1ffc07,this['appId']=_0x3b78d4;}['getMulti'](){return new Multi(this);}['transact'](){return new Multi(this);}['exec'](..._0x55d901){return Promise['resolve']([]);}['mintKey'](_0xfa37cb,_0x403b09){return'';}['tableForKey'](_0x2b6ba9,_0xdab96){if(_0x2b6ba9===key_1['HMNS'])return'hotmesh_connections';const [_0x6479ab,_0x390ac9,_0x3932eb,..._0x5c2f0d]=_0x2b6ba9['split'](':');if(_0x390ac9==='a')return'hotmesh_applications';const _0x5d3bbc=_0x5c2f0d?.['length']?_0x5c2f0d['join'](':'):'',_0x4b7072=key_1['KeyService']['resolveEntityType'](_0x3932eb,_0x5d3bbc);if(this['safeName'](this['appId'])!==this['safeName'](_0x390ac9))throw new Error('App\x20ID\x20mismatch:\x20'+this['appId']+'\x20!==\x20'+_0x390ac9);if(_0x4b7072==='stats'){if(_0xdab96==='sorted_set')return'hotmesh_'+this['safeName'](_0x390ac9)+'_stats_ordered';else{if(_0xdab96==='list')return'hotmesh_'+this['safeName'](_0x390ac9)+'_stats_indexed';else{if(_0xdab96==='hash')return'hotmesh_'+this['safeName'](_0x390ac9)+'_stats_counted';else throw new Error('Unknown\x20stats\x20type\x20['+_0xdab96+']\x20for\x20key\x20['+_0x2b6ba9+']');}}}if(_0x4b7072==='unknown_entity')throw new Error('Unknown\x20entity\x20type\x20abbreviation:\x20'+_0x3932eb);else return _0x4b7072==='applications'?'hotmesh_applications':'hotmesh_'+this['safeName'](_0x390ac9)+'_'+_0x4b7072;}['reconstituteKey'](_0x299421,_0x4593c2){const _0x2864fc=key_1['KeyService']['resolveAbbreviation'](_0x299421);return key_1['KeyService']['reconstituteKey']({'namespace':this['namespace'],'app':this['appId'],'entity':_0x2864fc,'id':_0x4593c2});}['safeName'](_0x20b88b,_0x185295=''){if(!_0x20b88b)return'connections';let _0x4f2fcc=_0x20b88b['trim']()['toLowerCase']();return _0x4f2fcc=_0x4f2fcc['replace'](/[^a-z0-9]+/g,'_'),_0x185295&&(_0x4f2fcc=_0x185295+'_'+_0x4f2fcc),_0x4f2fcc['length']>0x3f&&(_0x4f2fcc=_0x4f2fcc['slice'](0x0,0x3f)),_0x4f2fcc=_0x4f2fcc['replace'](/_+$/g,''),!_0x4f2fcc&&(_0x4f2fcc='connections'),_0x4f2fcc;}async['get'](_0x1470dc,_0x15cf1d){const {sql:_0x3a8714,params:_0x530d02}=this['_get'](_0x1470dc);if(_0x15cf1d)return _0x15cf1d['addCommand'](_0x3a8714,_0x530d02,'string'),Promise['resolve'](null);else{const _0x4fa574=await this['pgClient']['query'](_0x3a8714,_0x530d02);return _0x4fa574['rows'][0x0]?.['value']||null;}}['_get'](_0x236787){const _0x43ffc9=this['tableForKey'](_0x236787),_0x6e68bc='\x0a\x20\x20\x20\x20\x20\x20SELECT\x20value\x20FROM\x20'+_0x43ffc9+'\x0a\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x20AND\x20(expiry\x20IS\x20NULL\x20OR\x20expiry\x20>\x20NOW())\x0a\x20\x20\x20\x20\x20\x20LIMIT\x201\x0a\x20\x20\x20\x20',_0x2d4a9e=[_0x236787];return{'sql':_0x6e68bc,'params':_0x2d4a9e};}async['setnx'](_0x3ef71c,_0x4fe724,_0xee01af){const {sql:_0x5b706c,params:_0x154a8e}=this['_set'](_0x3ef71c,_0x4fe724,{'nx':!![]});if(_0xee01af)return _0xee01af['addCommand'](_0x5b706c,_0x154a8e,'boolean'),Promise['resolve'](!![]);else{const _0x53c8b6=await this['pgClient']['query'](_0x5b706c,_0x154a8e);return _0x53c8b6['rowCount']>0x0;}}async['setnxex'](_0x4e916c,_0x49eef3,_0x4bb0da,_0x13b403){const {sql:_0x19ef93,params:_0x231aec}=this['_set'](_0x4e916c,_0x49eef3,{'nx':!![],'ex':_0x4bb0da});if(_0x13b403)return _0x13b403['addCommand'](_0x19ef93,_0x231aec,'boolean'),Promise['resolve'](!![]);else{const _0x14d0c9=await this['pgClient']['query'](_0x19ef93,_0x231aec);return _0x14d0c9['rowCount']>0x0;}}async['set'](_0x3d72ab,_0x4df68c,_0x278925,_0x145054){const {sql:_0x2bfab2,params:_0x221a75}=this['_set'](_0x3d72ab,_0x4df68c,_0x278925);if(_0x145054)return _0x145054['addCommand'](_0x2bfab2,_0x221a75,'boolean'),Promise['resolve'](!![]);else{const _0x14d43f=await this['pgClient']['query'](_0x2bfab2,_0x221a75);return _0x14d43f['rowCount']>0x0;}}['_set'](_0x175f90,_0x1f1d52,_0x443f6e){const _0x3b46f9=this['tableForKey'](_0x175f90);let _0x5d0fbf='';const _0x165ae7=[_0x175f90,_0x1f1d52];let _0x5df57e='';return _0x443f6e?.['ex']&&(_0x5df57e=',\x20expiry\x20=\x20NOW()\x20+\x20INTERVAL\x20\x27'+_0x443f6e['ex']+'\x20seconds\x27'),_0x443f6e?.['nx']?_0x5d0fbf='\x0a\x20\x20\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x3b46f9+'\x20(key,\x20value'+(_0x5df57e?',\x20expiry':'')+')\x0a\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20($1,\x20$2'+(_0x5df57e?',\x20NOW()\x20+\x20INTERVAL\x20\x27'+_0x443f6e['ex']+'\x20seconds\x27':'')+')\x0a\x20\x20\x20\x20\x20\x20\x20\x20ON\x20CONFLICT\x20DO\x20NOTHING\x0a\x20\x20\x20\x20\x20\x20\x20\x20RETURNING\x20true\x20as\x20success\x0a\x20\x20\x20\x20\x20\x20':_0x5d0fbf='\x0a\x20\x20\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x3b46f9+'\x20(key,\x20value'+(_0x5df57e?',\x20expiry':'')+')\x0a\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20($1,\x20$2'+(_0x5df57e?',\x20NOW()\x20+\x20INTERVAL\x20\x27'+_0x443f6e['ex']+'\x20seconds\x27':'')+')\x0a\x20\x20\x20\x20\x20\x20\x20\x20ON\x20CONFLICT\x20(key)\x20DO\x20UPDATE\x20SET\x20value\x20=\x20EXCLUDED.value'+_0x5df57e+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20RETURNING\x20true\x20as\x20success\x0a\x20\x20\x20\x20\x20\x20',{'sql':_0x5d0fbf,'params':_0x165ae7};}async['del'](_0x2c9c1a,_0x3b9baf){const {sql:_0x54eee2,params:_0x58bdb0}=this['_del'](_0x2c9c1a);if(_0x3b9baf)return _0x3b9baf['addCommand'](_0x54eee2,_0x58bdb0,'number'),Promise['resolve'](0x0);else{const _0x209d8d=await this['pgClient']['query'](_0x54eee2,_0x58bdb0);return Number(_0x209d8d['rows'][0x0]?.['count']||0x0);}}['_del'](_0x4f2def){const _0x4a028d=this['tableForKey'](_0x4f2def),_0x372d3d='\x0a\x20\x20\x20\x20\x20\x20WITH\x20deleted\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20DELETE\x20FROM\x20'+_0x4a028d+'\x20WHERE\x20key\x20=\x20$1\x0a\x20\x20\x20\x20\x20\x20\x20\x20RETURNING\x201\x0a\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20SELECT\x20COUNT(*)\x20as\x20count\x20FROM\x20deleted\x0a\x20\x20\x20\x20',_0x997c42=[_0x4f2def];return{'sql':_0x372d3d,'params':_0x997c42};}async['expire'](_0x40638c,_0x223a14,_0x37e7ff){const {sql:_0x500957,params:_0x146150}=this['_expire'](_0x40638c,_0x223a14);if(_0x37e7ff)return _0x37e7ff['addCommand'](_0x500957,_0x146150,'boolean'),Promise['resolve'](!![]);else{const _0x31df04=await this['pgClient']['query'](_0x500957,_0x146150);return _0x31df04['rowCount']>0x0;}}['_expire'](_0x386c19,_0x1840b0){const _0x35bfd4=this['tableForKey'](_0x386c19),_0xf563d6=new Date(Date['now']()+_0x1840b0*0x3e8),_0x2117cf='\x0a\x20\x20\x20\x20\x20\x20UPDATE\x20'+_0x35bfd4+'\x0a\x20\x20\x20\x20\x20\x20SET\x20expiry\x20=\x20$2\x0a\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x0a\x20\x20\x20\x20\x20\x20RETURNING\x20true\x20as\x20success\x0a\x20\x20\x20\x20',_0xadcce8=[_0x386c19,_0xf563d6];return{'sql':_0x2117cf,'params':_0xadcce8};}async['hsetnx'](_0x5c647c,_0x47691a,_0x39e454,_0x41d4db){const {sql:_0x31bf7a,params:_0x56bb18}=this['_hset'](_0x5c647c,{[_0x47691a]:_0x39e454},{'nx':!![]});if(_0x41d4db)return _0x41d4db['addCommand'](_0x31bf7a,_0x56bb18,'number'),Promise['resolve'](0x0);else{const _0x21694b=await this['pgClient']['query'](_0x31bf7a,_0x56bb18);return _0x21694b['rowCount'];}}async['hset'](_0x288f75,_0x58ebe4,_0x24512e,_0x85b130){const {sql:_0x34224e,params:_0x17d720}=this['_hset'](_0x288f75,_0x58ebe4,_0x24512e);if(_0x85b130)return _0x85b130['addCommand'](_0x34224e,_0x17d720,'number'),Promise['resolve'](0x0);else{const _0x30800e=await this['pgClient']['query'](_0x34224e,_0x17d720);return _0x30800e['rowCount'];}}['deriveType'](_0x21222a){if(_0x21222a===':')return'status';else{if(_0x21222a['startsWith']('_'))return'udata';else{if(_0x21222a['startsWith']('-'))return _0x21222a['includes'](',')?'hmark':'jmark';else{if(_0x21222a['length']===0x3)return'jdata';else return _0x21222a['includes'](',')?'adata':'other';}}}}['_hset'](_0x58e722,_0x17022e,_0x3811d5){let _0x4b9c6f='';const _0x1cf831=[_0x58e722],_0x1ae7b3=this['tableForKey'](_0x58e722,'hash'),_0x3972a5=_0x1ae7b3['endsWith']('_jobs'),_0x463ffe=Object['entries'](_0x17022e);_0x463ffe['forEach'](([_0x5003da,_0x4204a0],_0x26457f)=>{_0x1cf831['push'](_0x5003da,_0x4204a0),_0x3972a5&&_0x1cf831['push'](this['deriveType'](_0x5003da));});const _0x3ded8b=_0x463ffe['map']((_0x323109,_0x2dbe9b)=>_0x3972a5?'($1,\x20$'+(0x2+_0x2dbe9b*0x3)+',\x20$'+(0x3+_0x2dbe9b*0x3)+',\x20$'+(0x4+_0x2dbe9b*0x3)+')':'($1,\x20$'+(0x2+_0x2dbe9b*0x2)+',\x20$'+(0x3+_0x2dbe9b*0x2)+')')['join'](',\x20');return _0x3811d5?.['nx']?_0x4b9c6f='\x0a\x20\x20\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x1ae7b3+'\x20(key,\x20field,\x20value'+(_0x3972a5?',\x20type':'')+')\x0a\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20'+_0x3ded8b+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20ON\x20CONFLICT\x20DO\x20NOTHING\x0a\x20\x20\x20\x20\x20\x20\x20\x20RETURNING\x201\x20as\x20count\x0a\x20\x20\x20\x20\x20\x20':_0x4b9c6f='\x0a\x20\x20\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x1ae7b3+'\x20(key,\x20field,\x20value'+(_0x3972a5?',\x20type':'')+')\x0a\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20'+_0x3ded8b+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20ON\x20CONFLICT\x20(key,\x20field)\x20DO\x20UPDATE\x20SET\x20value\x20=\x20EXCLUDED.value\x0a\x20\x20\x20\x20\x20\x20\x20\x20RETURNING\x201\x20as\x20count\x0a\x20\x20\x20\x20\x20\x20',{'sql':_0x4b9c6f,'params':_0x1cf831};}async['hget'](_0x5d5252,_0x111e66,_0x37f9b5){const {sql:_0x3a699e,params:_0x41edf9}=this['_hget'](_0x5d5252,_0x111e66);if(_0x37f9b5)return _0x37f9b5['addCommand'](_0x3a699e,_0x41edf9,'string'),Promise['resolve'](null);else{const _0x835bcb=await this['pgClient']['query'](_0x3a699e,_0x41edf9);return _0x835bcb['rows'][0x0]?.['value']||null;}}['_hget'](_0x228a9a,_0x2f759b){const _0x109cf4=this['tableForKey'](_0x228a9a,'hash'),_0x5de871='\x0a\x20\x20\x20\x20\x20\x20SELECT\x20value\x20FROM\x20'+_0x109cf4+'\x0a\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x20AND\x20field\x20=\x20$2\x20AND\x20(expiry\x20IS\x20NULL\x20OR\x20expiry\x20>\x20NOW())\x0a\x20\x20\x20\x20\x20\x20LIMIT\x201\x0a\x20\x20\x20\x20',_0x114073=[_0x228a9a,_0x2f759b];return{'sql':_0x5de871,'params':_0x114073};}async['hdel'](_0x3f332e,_0x3567e1,_0x5ba44d){!Array['isArray'](_0x3567e1)&&(_0x3567e1=[_0x3567e1]);const {sql:_0x57336d,params:_0x9cf3d8}=this['_hdel'](_0x3f332e,_0x3567e1);if(_0x5ba44d)return _0x5ba44d['addCommand'](_0x57336d,_0x9cf3d8,'number'),Promise['resolve'](0x0);else{const _0x21c086=await this['pgClient']['query'](_0x57336d,_0x9cf3d8);return Number(_0x21c086['rows'][0x0]?.['count']||0x0);}}['_hdel'](_0x149b98,_0x2b0d2c){const _0x59e641=this['tableForKey'](_0x149b98,'hash'),_0x2073e0=_0x2b0d2c['map']((_0x391208,_0x4aa463)=>'$'+(_0x4aa463+0x2))['join'](',\x20'),_0x4de0db='\x0a\x20\x20\x20\x20\x20\x20WITH\x20deleted\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20DELETE\x20FROM\x20'+_0x59e641+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x20AND\x20field\x20IN\x20('+_0x2073e0+')\x0a\x20\x20\x20\x20\x20\x20\x20\x20RETURNING\x201\x0a\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20SELECT\x20COUNT(*)\x20as\x20count\x20FROM\x20deleted\x0a\x20\x20\x20\x20',_0x45a7c1=[_0x149b98,..._0x2b0d2c];return{'sql':_0x4de0db,'params':_0x45a7c1};}async['hmget'](_0x4b5704,_0x5a8e84,_0x177f2f){const {sql:_0x1d0a15,params:_0x13f1ea}=this['_hmget'](_0x4b5704,_0x5a8e84);if(_0x177f2f)return _0x177f2f['addCommand'](_0x1d0a15,_0x13f1ea,'array',_0x296934=>{const _0x93cd33=new Map(_0x296934['map'](_0x11f910=>[_0x11f910['field'],_0x11f910['value']]));return _0x5a8e84['map'](_0x58aaa3=>_0x93cd33['get'](_0x58aaa3)||null);}),Promise['resolve']([]);else{const _0x528bb7=await this['pgClient']['query'](_0x1d0a15,_0x13f1ea),_0x4569b3=new Map(_0x528bb7['rows']['map'](_0x125acc=>[_0x125acc['field'],_0x125acc['value']]));return _0x5a8e84['map'](_0x4c8349=>_0x4569b3['get'](_0x4c8349)||null);}}['_hmget'](_0x2855e9,_0x374ed3){const _0x26b2b7=this['tableForKey'](_0x2855e9,'hash'),_0x31f531='\x0a\x20\x20\x20\x20\x20\x20SELECT\x20field,\x20value\x20FROM\x20'+_0x26b2b7+'\x0a\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x20AND\x20field\x20=\x20ANY($2::text[])\x0a\x20\x20\x20\x20',_0x70f720=[_0x2855e9,_0x374ed3];return{'sql':_0x31f531,'params':_0x70f720};}async['hgetall'](_0x1f2e5d,_0x52e381){const {sql:_0x5ef5f7,params:_0x56284c}=this['_hgetall'](_0x1f2e5d);if(_0x52e381)return _0x52e381['addCommand'](_0x5ef5f7,_0x56284c,'object',_0x3d6c3f=>{const _0x106730={};for(const _0x1a36b8 of _0x3d6c3f){_0x106730[_0x1a36b8['field']]=_0x1a36b8['value'];}return _0x106730;}),Promise['resolve']({});else{const _0x5af087=await this['pgClient']['query'](_0x5ef5f7,_0x56284c),_0x561d5c={};for(const _0x41a722 of _0x5af087['rows']){_0x561d5c[_0x41a722['field']]=_0x41a722['value'];}return _0x561d5c;}}['_hgetall'](_0x15f916){const _0x2c7c25=this['tableForKey'](_0x15f916,'hash'),_0x59e417='\x0a\x20\x20\x20\x20\x20\x20SELECT\x20field,\x20value\x20FROM\x20'+_0x2c7c25+'\x0a\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x20AND\x20(expiry\x20IS\x20NULL\x20OR\x20expiry\x20>\x20NOW())\x0a\x20\x20\x20\x20',_0x935426=[_0x15f916];return{'sql':_0x59e417,'params':_0x935426};}async['hincrbyfloat'](_0x34f293,_0xbe9e9e,_0x180ace,_0x30d243){const {sql:_0x476779,params:_0x3ff247}=this['_hincrbyfloat'](_0x34f293,_0xbe9e9e,_0x180ace);if(_0x30d243)return _0x30d243['addCommand'](_0x476779,_0x3ff247,'number',_0x44d08a=>parseFloat(_0x44d08a[0x0]['value'])),Promise['resolve'](0x0);else{const _0x44bc72=await this['pgClient']['query'](_0x476779,_0x3ff247);return parseFloat(_0x44bc72['rows'][0x0]['value']);}}['_hincrbyfloat'](_0x10ac13,_0x58b00a,_0x456105){const _0xebc28a=this['tableForKey'](_0x10ac13,'hash'),_0x269a61=_0xebc28a['endsWith']('_jobs');let _0x13f8f1;const _0x78fd56=[_0x10ac13,_0x58b00a,_0x456105];if(_0x269a61){const _0x509468=this['deriveType'](_0x58b00a);_0x78fd56['push'](_0x509468),_0x13f8f1='\x0a\x20\x20\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0xebc28a+'\x20(key,\x20field,\x20value,\x20type)\x0a\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20($1,\x20$2,\x20($3)::text,\x20$4)\x0a\x20\x20\x20\x20\x20\x20\x20\x20ON\x20CONFLICT\x20(key,\x20field)\x20DO\x20UPDATE\x20SET\x20value\x20=\x20('+_0xebc28a+'.value::double\x20precision\x20+\x20$3::double\x20precision)::text\x0a\x20\x20\x20\x20\x20\x20\x20\x20RETURNING\x20value\x0a\x20\x20\x20\x20\x20\x20';}else _0x13f8f1='\x0a\x20\x20\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0xebc28a+'\x20(key,\x20field,\x20value)\x0a\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20($1,\x20$2,\x20($3)::text)\x0a\x20\x20\x20\x20\x20\x20\x20\x20ON\x20CONFLICT\x20(key,\x20field)\x20DO\x20UPDATE\x20SET\x20value\x20=\x20('+_0xebc28a+'.value::double\x20precision\x20+\x20$3::double\x20precision)::text\x0a\x20\x20\x20\x20\x20\x20\x20\x20RETURNING\x20value\x0a\x20\x20\x20\x20\x20\x20';return{'sql':_0x13f8f1,'params':_0x78fd56};}async['hscan'](_0x9c3e81,_0x50b09a,_0x456604=0xa,_0x45e94b,_0x99454f){const {sql:_0x172dea,params:_0x43c2d7}=this['_hscan'](_0x9c3e81,_0x50b09a,_0x456604,_0x45e94b);if(_0x99454f)return _0x99454f['addCommand'](_0x172dea,_0x43c2d7,'object',_0xa4f066=>{const _0xe15460={};for(const _0x161924 of _0xa4f066){_0xe15460[_0x161924['field']]=_0x161924['value'];}const _0x8221b=_0xa4f066['length']<_0x456604?0x0:Number(_0x50b09a)+_0xa4f066['length'];return{'cursor':_0x8221b['toString'](),'items':_0xe15460};}),Promise['resolve']({'cursor':'0','items':{}});else{const _0x459a73=await this['pgClient']['query'](_0x172dea,_0x43c2d7),_0x205337={};for(const _0xb864bb of _0x459a73['rows']){_0x205337[_0xb864bb['field']]=_0xb864bb['value'];}const _0x339abf=_0x459a73['rowCount']<_0x456604?0x0:Number(_0x50b09a)+_0x459a73['rowCount'];return{'cursor':_0x339abf['toString'](),'items':_0x205337};}}['_hscan'](_0x5b0da0,_0x10e09f,_0x50662f,_0x223b5e){const _0x289430=this['tableForKey'](_0x5b0da0,'hash'),_0x135d76=[_0x5b0da0];let _0x5b4d8a='\x0a\x20\x20\x20\x20\x20\x20SELECT\x20field,\x20value\x20FROM\x20'+_0x289430+'\x0a\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x20AND\x20(expiry\x20IS\x20NULL\x20OR\x20expiry\x20>\x20NOW())\x0a\x20\x20\x20\x20',_0x3ce304=0x2;if(_0x223b5e){const _0x5cb8f6=_0x223b5e['replace'](/\*/g,'%');_0x5b4d8a+='\x20AND\x20field\x20LIKE\x20$'+_0x3ce304,_0x135d76['push'](_0x5cb8f6),_0x3ce304++;}return _0x5b4d8a+='\x0a\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20field\x0a\x20\x20\x20\x20\x20\x20OFFSET\x20$'+_0x3ce304+'\x20LIMIT\x20$'+(_0x3ce304+0x1)+'\x0a\x20\x20\x20\x20',_0x135d76['push'](_0x10e09f['toString']()),_0x135d76['push'](_0x50662f['toString']()),{'sql':_0x5b4d8a,'params':_0x135d76};}async['lrange'](_0x2dafd0,_0x27c937,_0x28030c,_0xe06507){const {sql:_0x47906f,params:_0x3eba6d}=this['_lrange'](_0x2dafd0,_0x27c937,_0x28030c);if(_0xe06507)return _0xe06507['addCommand'](_0x47906f,_0x3eba6d,'array',_0x2b3021=>_0x2b3021['map'](_0x23d901=>_0x23d901['value'])),Promise['resolve']([]);else{const _0x313935=await this['pgClient']['query'](_0x47906f,_0x3eba6d);return _0x313935['rows']['map'](_0x5a8f32=>_0x5a8f32['value']);}}['_lrange'](_0x2c5b29,_0x1ac43a,_0x20484f){const _0x228727=this['tableForKey'](_0x2c5b29,'list'),_0x5cfb18='\x0a\x20\x20\x20\x20\x20\x20WITH\x20numbered\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20value,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ROW_NUMBER()\x20OVER\x20(ORDER\x20BY\x20\x22index\x22\x20ASC)\x20-\x201\x20AS\x20rn,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20COUNT(*)\x20OVER()\x20-\x201\x20AS\x20max_index\x0a\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0x228727+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x20AND\x20(expiry\x20IS\x20NULL\x20OR\x20expiry\x20>\x20NOW())\x0a\x20\x20\x20\x20\x20\x20),\x0a\x20\x20\x20\x20\x20\x20indices\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20LEAST(GREATEST(CASE\x20WHEN\x20$2\x20>=\x200\x20THEN\x20$2\x20ELSE\x20max_index\x20+\x20$2\x20+\x201\x20END,\x200),\x20max_index)\x20AS\x20adjusted_start,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20LEAST(GREATEST(CASE\x20WHEN\x20$3\x20>=\x200\x20THEN\x20$3\x20ELSE\x20max_index\x20+\x20$3\x20+\x201\x20END,\x200),\x20max_index)\x20AS\x20adjusted_end\x0a\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20(SELECT\x20max_index\x20FROM\x20numbered\x20LIMIT\x201)\x20AS\x20mi\x0a\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20SELECT\x20value\x0a\x20\x20\x20\x20\x20\x20FROM\x20numbered,\x20indices\x0a\x20\x20\x20\x20\x20\x20WHERE\x20rn\x20BETWEEN\x20indices.adjusted_start\x20AND\x20indices.adjusted_end\x0a\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20rn\x20ASC\x0a\x20\x20\x20\x20',_0x294e5e=[_0x2c5b29,_0x1ac43a,_0x20484f];return{'sql':_0x5cfb18,'params':_0x294e5e};}async['rpush'](_0x1867ca,_0x1fea74,_0x25748b){const {sql:_0x48c8fb,params:_0x1094d5}=this['_rpush'](_0x1867ca,_0x1fea74);if(_0x25748b)return _0x25748b['addCommand'](_0x48c8fb,_0x1094d5,'number',_0x375b97=>_0x375b97[0x0]?.['count']||0x0),Promise['resolve'](0x0);else{const _0x27d35b=await this['pgClient']['query'](_0x48c8fb,_0x1094d5);return Number(_0x27d35b['rows'][0x0]?.['count']||0x0);}}['_rpush'](_0x16d5de,_0xba7d97){const _0x44c7a6=this['tableForKey'](_0x16d5de,'list'),_0x1328b3=Array['isArray'](_0xba7d97)?_0xba7d97:[_0xba7d97],_0x1ec70b=_0x1328b3['map']((_0x3c8bad,_0x115add)=>'($1,\x20(SELECT\x20COALESCE(MAX(\x22index\x22),\x200)\x20+\x20'+(_0x115add+0x1)+'\x20FROM\x20'+_0x44c7a6+'\x20WHERE\x20key\x20=\x20$1),\x20$'+(_0x115add+0x2)+')')['join'](',\x20'),_0x131ec5='\x0a\x20\x20\x20\x20\x20\x20WITH\x20inserted\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x44c7a6+'\x20(key,\x20\x22index\x22,\x20value)\x0a\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20'+_0x1ec70b+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20RETURNING\x201\x0a\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20SELECT\x20COUNT(*)\x20as\x20count\x20FROM\x20inserted\x0a\x20\x20\x20\x20',_0x5b63f0=[_0x16d5de,..._0x1328b3];return{'sql':_0x131ec5,'params':_0x5b63f0};}async['lpush'](_0x4450cf,_0x327775,_0x3d1e53){const {sql:_0x443b65,params:_0xfe8ce0}=this['_lpush'](_0x4450cf,_0x327775);if(_0x3d1e53)return _0x3d1e53['addCommand'](_0x443b65,_0xfe8ce0,'number',_0x2a038d=>_0x2a038d[0x0]?.['count']||0x0),Promise['resolve'](0x0);else{const _0x2c7557=await this['pgClient']['query'](_0x443b65,_0xfe8ce0);return Number(_0x2c7557['rows'][0x0]?.['count']||0x0);}}['_lpush'](_0x542266,_0x48556c){const _0x39f1b7=this['tableForKey'](_0x542266,'list'),_0x193653=Array['isArray'](_0x48556c)?_0x48556c:[_0x48556c],_0x5a5ac6=_0x193653['map']((_0x10b322,_0x1a87ee)=>'($1,\x20(SELECT\x20COALESCE(MIN(\x22index\x22),\x200)\x20-\x20'+(_0x1a87ee+0x1)+'\x20FROM\x20'+_0x39f1b7+'\x20WHERE\x20key\x20=\x20$1),\x20$'+(_0x1a87ee+0x2)+')')['join'](',\x20'),_0x229f9f='\x0a\x20\x20\x20\x20\x20\x20WITH\x20inserted\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x39f1b7+'\x20(key,\x20\x22index\x22,\x20value)\x0a\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20'+_0x5a5ac6+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20RETURNING\x201\x0a\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20SELECT\x20COUNT(*)\x20as\x20count\x20FROM\x20inserted\x0a\x20\x20\x20\x20',_0x4ed5ad=[_0x542266,..._0x193653];return{'sql':_0x229f9f,'params':_0x4ed5ad};}async['lpop'](_0x593a98,_0x4d59df){const {sql:_0x1480a9,params:_0x4f8b4c}=this['_lpop'](_0x593a98);if(_0x4d59df)return _0x4d59df['addCommand'](_0x1480a9,_0x4f8b4c,'string'),Promise['resolve'](null);else{const _0x35b266=await this['pgClient']['query'](_0x1480a9,_0x4f8b4c);return _0x35b266['rows'][0x0]?.['value']||null;}}['_lpop'](_0x4f7ee5){const _0x30cbee=this['tableForKey'](_0x4f7ee5,'list'),_0x1b3b97='\x0a\x20\x20\x20\x20\x20\x20DELETE\x20FROM\x20'+_0x30cbee+'\x0a\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x20AND\x20\x22index\x22\x20=\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20MIN(\x22index\x22)\x20FROM\x20'+_0x30cbee+'\x20WHERE\x20key\x20=\x20$1\x20AND\x20(expiry\x20IS\x20NULL\x20OR\x20expiry\x20>\x20NOW())\x0a\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20RETURNING\x20value\x0a\x20\x20\x20\x20',_0x1d9edb=[_0x4f7ee5];return{'sql':_0x1b3b97,'params':_0x1d9edb};}async['lmove'](_0x4c44d3,_0xbd4776,_0x945602,_0x43329a,_0x4bbc3e){const {sql:_0x3109b7,params:_0x37da28}=this['_lmove'](_0x4c44d3,_0xbd4776,_0x945602,_0x43329a);if(_0x4bbc3e)return _0x4bbc3e['addCommand'](_0x3109b7,_0x37da28,'string'),Promise['resolve'](null);else{const _0x2c3ae6=this['pgClient'];try{await _0x2c3ae6['query']('BEGIN');const _0x166187=await _0x2c3ae6['query'](_0x3109b7,_0x37da28);return await _0x2c3ae6['query']('COMMIT'),_0x166187['rows'][0x0]?.['value']||null;}catch(_0x2207b3){await _0x2c3ae6['query']('ROLLBACK');throw _0x2207b3;}}}['_lmove'](_0x30db4d,_0x299461,_0x5c838a,_0xca053f){const _0x46ee06=this['tableForKey'](_0x30db4d,'list'),_0x51472e=_0x5c838a==='LEFT'?'ASC':'DESC',_0x50b407=_0xca053f==='LEFT'?'(SELECT\x20COALESCE(MIN(\x22index\x22),\x200)\x20-\x201\x20FROM\x20'+_0x46ee06+'\x20WHERE\x20key\x20=\x20$2)':'(SELECT\x20COALESCE(MAX(\x22index\x22),\x200)\x20+\x201\x20FROM\x20'+_0x46ee06+'\x20WHERE\x20key\x20=\x20$2)',_0x6ac31='\x0a\x20\x20\x20\x20\x20\x20WITH\x20moved\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20DELETE\x20FROM\x20'+_0x46ee06+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20ctid\x20IN\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20ctid\x20FROM\x20'+_0x46ee06+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x20AND\x20(expiry\x20IS\x20NULL\x20OR\x20expiry\x20>\x20NOW())\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20\x22index\x22\x20'+_0x51472e+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20LIMIT\x201\x0a\x20\x20\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20\x20\x20RETURNING\x20value\x0a\x20\x20\x20\x20\x20\x20),\x0a\x20\x20\x20\x20\x20\x20inserted\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x46ee06+'\x20(key,\x20\x22index\x22,\x20value)\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20$2,\x20'+_0x50b407+',\x20value\x20FROM\x20moved\x0a\x20\x20\x20\x20\x20\x20\x20\x20RETURNING\x20value\x0a\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20SELECT\x20value\x20FROM\x20inserted\x0a\x20\x20\x20\x20',_0x132fbd=[_0x30db4d,_0x299461];return{'sql':_0x6ac31,'params':_0x132fbd};}async['zadd'](_0x4870c0,_0x259903,_0x228c3c,_0x2a8937,_0x2ab2b9){const {sql:_0x1f14cd,params:_0x3080cb}=this['_zadd'](_0x4870c0,_0x259903,_0x228c3c,_0x2a8937);if(_0x2ab2b9)return _0x2ab2b9['addCommand'](_0x1f14cd,_0x3080cb,'number',_0x44c159=>_0x44c159[0x0]?.['count']||0x0),Promise['resolve'](0x0);else{const _0x21f2a5=await this['pgClient']['query'](_0x1f14cd,_0x3080cb);return Number(_0x21f2a5['rows'][0x0]?.['count']||0x0);}}['_zadd'](_0x32a7c1,_0x9d6b48,_0x156a68,_0x5633b7){const _0x3577a9=this['tableForKey'](_0x32a7c1,'sorted_set');let _0x5bc949='';const _0x22bdeb=[_0x32a7c1,_0x156a68,_0x9d6b48];return _0x5633b7?.['nx']?_0x5bc949='\x0a\x20\x20\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x3577a9+'\x20(key,\x20member,\x20score)\x0a\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20($1,\x20$2,\x20$3)\x0a\x20\x20\x20\x20\x20\x20\x20\x20ON\x20CONFLICT\x20DO\x20NOTHING\x0a\x20\x20\x20\x20\x20\x20\x20\x20RETURNING\x201\x20as\x20count\x0a\x20\x20\x20\x20\x20\x20':_0x5bc949='\x0a\x20\x20\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x3577a9+'\x20(key,\x20member,\x20score)\x0a\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20($1,\x20$2,\x20$3)\x0a\x20\x20\x20\x20\x20\x20\x20\x20ON\x20CONFLICT\x20(key,\x20member)\x20DO\x20UPDATE\x20SET\x20score\x20=\x20$3\x0a\x20\x20\x20\x20\x20\x20\x20\x20RETURNING\x201\x20as\x20count\x0a\x20\x20\x20\x20\x20\x20',{'sql':_0x5bc949,'params':_0x22bdeb};}async['zrange'](_0x30b2f3,_0xb8e242,_0x26c0a7,_0x159417,_0x2c6ed6){const {sql:_0x4b350a,params:_0x38e53e}=this['_zrange'](_0x30b2f3,_0xb8e242,_0x26c0a7,_0x159417);if(_0x2c6ed6)return _0x2c6ed6['addCommand'](_0x4b350a,_0x38e53e,'array',_0x1f8693=>{return _0x159417==='WITHSCORES'?_0x1f8693['flatMap'](_0x23c781=>[_0x23c781['member'],_0x23c781['score']['toString']()]):_0x1f8693['map'](_0x47f9af=>_0x47f9af['member']);}),Promise['resolve']([]);else{const _0x359257=await this['pgClient']['query'](_0x4b350a,_0x38e53e);return _0x159417==='WITHSCORES'?_0x359257['rows']['flatMap'](_0x58f929=>[_0x58f929['member'],_0x58f929['score']['toString']()]):_0x359257['rows']['map'](_0x261369=>_0x261369['member']);}}['_zrange'](_0x514406,_0x311f6f,_0xb68c3a,_0x45fd57){const _0x12ce49=this['tableForKey'](_0x514406,'sorted_set'),_0x2e1037=_0x45fd57==='WITHSCORES'?'member,\x20score':'member',_0x144297='\x0a\x20\x20\x20\x20\x20\x20WITH\x20total_entries\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20COUNT(*)\x20-\x201\x20AS\x20max_index\x20FROM\x20'+_0x12ce49+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x20AND\x20(expiry\x20IS\x20NULL\x20OR\x20expiry\x20>\x20NOW())\x0a\x20\x20\x20\x20\x20\x20),\x20ordered_entries\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20'+_0x2e1037+',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ROW_NUMBER()\x20OVER\x20(ORDER\x20BY\x20score\x20ASC,\x20member\x20ASC)\x20-\x201\x20AS\x20rn,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(SELECT\x20max_index\x20FROM\x20total_entries)\x20AS\x20max_index\x0a\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0x12ce49+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x20AND\x20(expiry\x20IS\x20NULL\x20OR\x20expiry\x20>\x20NOW())\x0a\x20\x20\x20\x20\x20\x20),\x20indices\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CASE\x20WHEN\x20$2\x20>=\x200\x20THEN\x20$2\x20ELSE\x20max_index\x20+\x20$2\x20+\x201\x20END\x20AS\x20adjusted_start,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CASE\x20WHEN\x20$3\x20>=\x200\x20THEN\x20$3\x20ELSE\x20max_index\x20+\x20$3\x20+\x201\x20END\x20AS\x20adjusted_stop\x0a\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20total_entries\x0a\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20SELECT\x20'+_0x2e1037+'\x0a\x20\x20\x20\x20\x20\x20FROM\x20ordered_entries,\x20indices\x0a\x20\x20\x20\x20\x20\x20WHERE\x20rn\x20BETWEEN\x20LEAST(GREATEST(adjusted_start,\x200),\x20max_index)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20AND\x20LEAST(GREATEST(adjusted_stop,\x200),\x20max_index)\x0a\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20rn\x20ASC;\x0a\x20\x20\x20\x20',_0x339ad4=[_0x514406,_0x311f6f,_0xb68c3a];return{'sql':_0x144297,'params':_0x339ad4};}async['zscore'](_0x296ed2,_0x20349f,_0x2d11b4){const {sql:_0x44f07d,params:_0x4cc157}=this['_zscore'](_0x296ed2,_0x20349f);if(_0x2d11b4)return _0x2d11b4['addCommand'](_0x44f07d,_0x4cc157,'single',_0x268df4=>{return _0x268df4?parseFloat(_0x268df4['score']):null;}),Promise['resolve'](null);else{const _0x5ece95=await this['pgClient']['query'](_0x44f07d,_0x4cc157);return _0x5ece95['rows']['length']?parseFloat(_0x5ece95['rows'][0x0]['score']):null;}}['_zscore'](_0x4125be,_0x277f1f){const _0x5698fb=this['tableForKey'](_0x4125be,'sorted_set'),_0x2156a4='\x0a\x20\x20\x20\x20\x20\x20SELECT\x20score\x0a\x20\x20\x20\x20\x20\x20FROM\x20'+_0x5698fb+'\x0a\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x20AND\x20member\x20=\x20$2\x0a\x20\x20\x20\x20\x20\x20\x20\x20AND\x20(expiry\x20IS\x20NULL\x20OR\x20expiry\x20>\x20NOW())\x0a\x20\x20\x20\x20\x20\x20LIMIT\x201\x0a\x20\x20\x20\x20',_0xdad67e=[_0x4125be,_0x277f1f];return{'sql':_0x2156a4,'params':_0xdad67e};}async['zrangebyscore'](_0x4fa0a6,_0x24c64e,_0x2187ee,_0x460f69){const {sql:_0x584ebe,params:_0x5c1057}=this['_zrangebyscore'](_0x4fa0a6,_0x24c64e,_0x2187ee);if(_0x460f69)return _0x460f69['addCommand'](_0x584ebe,_0x5c1057,'array',_0x563f89=>_0x563f89['map'](_0x2a5adf=>_0x2a5adf['member'])),Promise['resolve']([]);else{const _0x1789af=await this['pgClient']['query'](_0x584ebe,_0x5c1057);return _0x1789af['rows']['map'](_0x3e8860=>_0x3e8860['member']);}}['_zrangebyscore'](_0x4ff8d1,_0x10b11a,_0x2557cb){const _0x19f8ab=this['tableForKey'](_0x4ff8d1,'sorted_set'),_0x20d543='\x0a\x20\x20\x20\x20\x20\x20SELECT\x20member\x20FROM\x20'+_0x19f8ab+'\x0a\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x20AND\x20score\x20BETWEEN\x20$2\x20AND\x20$3\x20AND\x20(expiry\x20IS\x20NULL\x20OR\x20expiry\x20>\x20NOW())\x0a\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20score\x20ASC,\x20member\x20ASC\x0a\x20\x20\x20\x20',_0x39b66e=[_0x4ff8d1,_0x10b11a,_0x2557cb];return{'sql':_0x20d543,'params':_0x39b66e};}async['zrangebyscore_withscores'](_0x13ab71,_0x4ecf48,_0x371dff,_0x2060fd){const {sql:_0x337db4,params:_0x22e41d}=this['_zrangebyscore_withscores'](_0x13ab71,_0x4ecf48,_0x371dff);if(_0x2060fd)return _0x2060fd['addCommand'](_0x337db4,_0x22e41d,'array',_0x2751cf=>_0x2751cf['map'](_0x413a70=>({'member':_0x413a70['member'],'score':_0x413a70['score']}))),Promise['resolve']([]);else{const _0x1c5288=await this['pgClient']['query'](_0x337db4,_0x22e41d);return _0x1c5288['rows']['map'](_0x458d08=>({'member':_0x458d08['member'],'score':_0x458d08['score']}));}}['_zrangebyscore_withscores'](_0x4f8e06,_0x12b2ce,_0x3a58d){const _0x53b619=this['tableForKey'](_0x4f8e06,'sorted_set'),_0x1ca85a='\x0a\x20\x20\x20\x20\x20\x20SELECT\x20member,\x20score\x20FROM\x20'+_0x53b619+'\x0a\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x20AND\x20score\x20BETWEEN\x20$2\x20AND\x20$3\x20AND\x20(expiry\x20IS\x20NULL\x20OR\x20expiry\x20>\x20NOW())\x0a\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20score\x20ASC,\x20member\x20ASC\x0a\x20\x20\x20\x20',_0x2f27bd=[_0x4f8e06,_0x12b2ce,_0x3a58d];return{'sql':_0x1ca85a,'params':_0x2f27bd};}async['zrem'](_0x53d41c,_0x5a6f34,_0x2e3c87){const {sql:_0x52b6a8,params:_0x214294}=this['_zrem'](_0x53d41c,_0x5a6f34);if(_0x2e3c87)return _0x2e3c87['addCommand'](_0x52b6a8,_0x214294,'number',_0x4fbffb=>_0x4fbffb[0x0]?.['count']||0x0),Promise['resolve'](0x0);else{const _0x2bd8bb=await this['pgClient']['query'](_0x52b6a8,_0x214294);return Number(_0x2bd8bb['rows'][0x0]?.['count']||0x0);}}['_zrem'](_0x43bf61,_0x119257){const _0x483b08=this['tableForKey'](_0x43bf61,'sorted_set'),_0x3ebd98='\x0a\x20\x20\x20\x20\x20\x20WITH\x20deleted\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20DELETE\x20FROM\x20'+_0x483b08+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x20AND\x20member\x20=\x20$2\x0a\x20\x20\x20\x20\x20\x20\x20\x20RETURNING\x201\x0a\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20SELECT\x20COUNT(*)\x20as\x20count\x20FROM\x20deleted\x0a\x20\x20\x20\x20',_0x2d9779=[_0x43bf61,_0x119257];return{'sql':_0x3ebd98,'params':_0x2d9779};}async['zrank'](_0x4d65c6,_0x3b7fa7,_0x430c69){const {sql:_0x5b1941,params:_0x58031b}=this['_zrank'](_0x4d65c6,_0x3b7fa7);if(_0x430c69)return _0x430c69['addCommand'](_0x5b1941,_0x58031b,'number',_0x4d66f4=>_0x4d66f4[0x0]?.['rank']!==undefined?parseInt(_0x4d66f4[0x0]['rank'],0xa)-0x1:null),Promise['resolve'](null);else{const _0x4900cd=await this['pgClient']['query'](_0x5b1941,_0x58031b);return _0x4900cd['rows'][0x0]?.['rank']?parseInt(_0x4900cd['rows'][0x0]['rank'],0xa)>0x0?parseInt(_0x4900cd['rows'][0x0]['rank'],0xa)-0x1:null:null;}}['_zrank'](_0x48da31,_0xb0057c){const _0x421137=this['tableForKey'](_0x48da31,'sorted_set'),_0x1be598='\x0a\x20\x20\x20\x20\x20\x20WITH\x20member_score\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20score\x20FROM\x20'+_0x421137+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x20AND\x20member\x20=\x20$2\x20AND\x20(expiry\x20IS\x20NULL\x20OR\x20expiry\x20>\x20NOW())\x0a\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20SELECT\x20COUNT(*)\x20AS\x20rank\x20FROM\x20'+_0x421137+'\x20ms,\x20member_score\x0a\x20\x20\x20\x20\x20\x20WHERE\x20ms.key\x20=\x20$1\x20AND\x20(expiry\x20IS\x20NULL\x20OR\x20expiry\x20>\x20NOW())\x0a\x20\x20\x20\x20\x20\x20AND\x20(ms.score\x20<\x20member_score.score\x20OR\x20(ms.score\x20=\x20member_score.score\x20AND\x20ms.member\x20<\x20$2))\x0a\x20\x20\x20\x20',_0x56a86c=[_0x48da31,_0xb0057c];return{'sql':_0x1be598,'params':_0x56a86c};}async['scan'](_0x54c593,_0x15fa28=0xa,_0xa907ef,_0x5c929d){const {sql:_0x5b1704,params:_0x3fb0a5}=this['_scan'](_0x54c593,_0x15fa28,_0xa907ef);if(_0x5c929d)return _0x5c929d['addCommand'](_0x5b1704,_0x3fb0a5,'object',_0xedb8da=>{const _0x387665=_0xedb8da['map'](_0x138837=>_0x138837['key']),_0x5b977c=_0x54c593+_0xedb8da['length'];return{'cursor':_0x5b977c,'keys':_0x387665};}),Promise['resolve']({'cursor':0x0,'keys':[]});else{const _0xe3f70f=await this['pgClient']['query'](_0x5b1704,_0x3fb0a5),_0x584de1=_0xe3f70f['rows']['map'](_0x55e1ff=>_0x55e1ff['key']),_0xebc85d=_0x54c593+_0xe3f70f['rowCount'];return{'cursor':_0xebc85d,'keys':_0x584de1};}}['_scan'](_0x35bc2b,_0x495a54,_0x1ebd1c){const _0x55fdde=this['tableForKey']('_:'+this['appId']+':j:_');let _0x5910d5='\x0a\x20\x20\x20\x20\x20\x20SELECT\x20key\x20FROM\x20'+_0x55fdde+'\x0a\x20\x20\x20\x20\x20\x20WHERE\x20(expiry\x20IS\x20NULL\x20OR\x20expiry\x20>\x20NOW())\x0a\x20\x20\x20\x20';const _0x353ff6=[];return _0x1ebd1c&&(_0x5910d5+='\x20AND\x20key\x20LIKE\x20$1',_0x353ff6['push'](_0x1ebd1c['replace'](/\*/g,'%'))),_0x5910d5+='\x0a\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20key\x0a\x20\x20\x20\x20\x20\x20OFFSET\x20$'+(_0x353ff6['length']+0x1)+'\x20LIMIT\x20$'+(_0x353ff6['length']+0x2)+'\x0a\x20\x20\x20\x20',_0x353ff6['push'](_0x35bc2b['toString']()),_0x353ff6['push'](_0x495a54['toString']()),{'sql':_0x5910d5,'params':_0x353ff6};}async['rename'](_0x5d79c7,_0x23ee3c,_0x524d3b){const {sql:_0xc0d2da,params:_0x1483eb}=this['_rename'](_0x5d79c7,_0x23ee3c);if(_0x524d3b)return _0x524d3b['addCommand'](_0xc0d2da,_0x1483eb,'void'),Promise['resolve']();else{const _0x26f22d=this['pgClient'];try{await _0x26f22d['query']('BEGIN'),await _0x26f22d['query'](_0xc0d2da,_0x1483eb),await _0x26f22d['query']('COMMIT');}catch(_0x4261d2){await _0x26f22d['query']('ROLLBACK');throw _0x4261d2;}}}['_rename'](_0x508c12,_0x4c3652){const _0x4027eb=this['tableForKey'](_0x508c12,'list'),_0x4c5a60='\x0a\x20\x20\x20\x20\x20\x20UPDATE\x20'+_0x4027eb+'\x20SET\x20key\x20=\x20$2\x20WHERE\x20key\x20=\x20$1;\x0a\x20\x20\x20\x20',_0x36ef4c=[_0x508c12,_0x4c3652];return{'sql':_0x4c5a60,'params':_0x36ef4c};}async['exists'](_0x2a53c7){const {sql:_0x26e244,params:_0x100372}=this['_exists'](_0x2a53c7),_0x4df017=await this['pgClient']['query'](_0x26e244,_0x100372);return _0x4df017['rows']['length']?_0x4df017['rows'][0x0]['table_name']:0x0;}['_exists'](_0x4a78ba){const _0x4cd9cf=this['tableForKey'](_0x4a78ba),_0x329697='\x0a\x20\x20\x20\x20\x20\x20SELECT\x20FROM\x20'+_0x4cd9cf+'\x0a\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x0a\x20\x20\x20\x20\x20\x20\x20\x20AND\x20(expiry\x20IS\x20NULL\x20OR\x20expiry\x20>\x20NOW())\x0a\x20\x20\x20\x20\x20\x20LIMIT\x201;\x0a\x20\x20\x20\x20',_0x35704d=[_0x4a78ba];return{'sql':_0x329697,'params':_0x35704d};}}exports['KVSQL']=KVSQL;
|
|
@@ -99,7 +99,7 @@ declare class PostgresStoreService extends StoreService<ProviderClient, Provider
|
|
|
99
99
|
interrupt(topic: string, jobId: string, options?: JobInterruptOptions): Promise<void>;
|
|
100
100
|
scrub(jobId: string): Promise<void>;
|
|
101
101
|
findJobs(queryString?: string, limit?: number, batchSize?: number, cursor?: string): Promise<[string, string[]]>;
|
|
102
|
-
findJobFields(jobId: string, fieldMatchPattern?: string, limit?: number, batchSize?: number, cursor?: string): Promise<[string,
|
|
102
|
+
findJobFields(jobId: string, fieldMatchPattern?: string, limit?: number, batchSize?: number, cursor?: string): Promise<[string, Record<string, string>]>;
|
|
103
103
|
setThrottleRate(options: ThrottleOptions): Promise<void>;
|
|
104
104
|
getThrottleRates(): Promise<StringStringType>;
|
|
105
105
|
getThrottleRate(topic: string): Promise<number>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(_0x23ae0d,_0xc0cf46){const _0x42782=_0x1a74,_0x599df6=_0x23ae0d();while(!![]){try{const _0x11f379=-parseInt(_0x42782(0x1f9))/0x1*(parseInt(_0x42782(0x1f2))/0x2)+parseInt(_0x42782(0x1f5))/0x3+-parseInt(_0x42782(0x1f4))/0x4+parseInt(_0x42782(0x1fb))/0x5*(-parseInt(_0x42782(0x1f7))/0x6)+-parseInt(_0x42782(0x1f6))/0x7*(parseInt(_0x42782(0x1f8))/0x8)+-parseInt(_0x42782(0x1fa))/0x9+-parseInt(_0x42782(0x1f3))/0xa*(-parseInt(_0x42782(0x1f1))/0xb);if(_0x11f379===_0xc0cf46)break;else _0x599df6['push'](_0x599df6['shift']());}catch(_0xaf9229){_0x599df6['push'](_0x599df6['shift']());}}}(_0x328e,0x685db));function _0x1a74(_0x959dea,_0x31f279){const _0x328ef6=_0x328e();return _0x1a74=function(_0x1a745b,_0x1d77f7){_0x1a745b=_0x1a745b-0x1f1;let _0x2ca883=_0x328ef6[_0x1a745b];return _0x2ca883;},_0x1a74(_0x959dea,_0x31f279);}function _0x328e(){const _0x47f22d=['28674030XbLegh','2187772oxVaeJ','57498UfELDi','112VfVbmZ','6lXuvWW','256792oKwoRa','606413TjLBXV','5521581XlKGUg','893185jKaXLz','11KyxREH','2AlJNsI'];_0x328e=function(){return _0x47f22d;};return _0x328e();}var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x3db18c,_0x32967b,_0x1caf9a,_0x5a9f87){if(_0x5a9f87===undefined)_0x5a9f87=_0x1caf9a;var _0x4c3bca=Object['getOwnPropertyDescriptor'](_0x32967b,_0x1caf9a);(!_0x4c3bca||('get'in _0x4c3bca?!_0x32967b['__esModule']:_0x4c3bca['writable']||_0x4c3bca['configurable']))&&(_0x4c3bca={'enumerable':!![],'get':function(){return _0x32967b[_0x1caf9a];}}),Object['defineProperty'](_0x3db18c,_0x5a9f87,_0x4c3bca);}:function(_0x3b54af,_0x328601,_0x243b4e,_0x4afd7f){if(_0x4afd7f===undefined)_0x4afd7f=_0x243b4e;_0x3b54af[_0x4afd7f]=_0x328601[_0x243b4e];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x1042a6,_0x2dcba0){Object['defineProperty'](_0x1042a6,'default',{'enumerable':!![],'value':_0x2dcba0});}:function(_0x50fc27,_0x2a76b6){_0x50fc27['default']=_0x2a76b6;}),__importStar=this&&this['__importStar']||function(_0x582639){if(_0x582639&&_0x582639['__esModule'])return _0x582639;var _0x32913c={};if(_0x582639!=null){for(var _0x422298 in _0x582639)if(_0x422298!=='default'&&Object['prototype']['hasOwnProperty']['call'](_0x582639,_0x422298))__createBinding(_0x32913c,_0x582639,_0x422298);}return __setModuleDefault(_0x32913c,_0x582639),_0x32913c;};Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['PostgresStoreService']=void 0x0;const errors_1=require('../../../../modules/errors'),key_1=require('../../../../modules/key'),serializer_1=require('../../../serializer'),utils_1=require('../../../../modules/utils'),enums_1=require('../../../../modules/enums'),cache_1=require('../../cache'),__1=require('../..'),kvsql_1=require('./kvsql');class PostgresStoreService extends __1['StoreService']{['transact'](){return this['storeClient']['transact']();}constructor(_0x3bea59){super(_0x3bea59),this['pgClient']=_0x3bea59,this['storeClient']=new kvsql_1['KVSQL'](_0x3bea59,this['namespace'],this['appId']);}async['init'](_0x11bd53=key_1['HMNS'],_0x1c8c6d,_0xac8927){this['storeClient']['namespace']=this['namespace']=_0x11bd53,this['storeClient']['appId']=this['appId']=_0x1c8c6d,this['logger']=_0xac8927,await this['deploy'](_0x1c8c6d);const _0x32b628=await this['getSettings'](!![]);return this['cache']=new cache_1['Cache'](_0x1c8c6d,_0x32b628),this['serializer']=new serializer_1['SerializerService'](),await this['getApp'](_0x1c8c6d),this['cache']['getApps']();}async['deploy'](_0x1d39da){const _0x2a7151=this['pgClient'];try{const _0x1d3d21=this['getAdvisoryLockId'](_0x1d39da),_0x4db177=await _0x2a7151['query']('SELECT\x20pg_try_advisory_lock($1)\x20AS\x20locked',[_0x1d3d21]);if(_0x4db177['rows'][0x0]['locked']){await _0x2a7151['query']('BEGIN');const _0x364b9c=await this['checkIfTablesExist'](_0x2a7151,_0x1d39da);!_0x364b9c&&await this['createTables'](_0x2a7151,_0x1d39da),await _0x2a7151['query']('COMMIT'),await _0x2a7151['query']('SELECT\x20pg_advisory_unlock($1)',[_0x1d3d21]);}else await this['waitForTablesCreation'](_0x2a7151,_0x1d3d21,_0x1d39da);}catch(_0x475469){this['logger']['error']('Error\x20deploying\x20tables',{'error':_0x475469});throw _0x475469;}}['getAdvisoryLockId'](_0x2be04d){return this['hashStringToInt'](_0x2be04d);}['hashStringToInt'](_0x17e5af){let _0x71884b=0x0;for(let _0x5b9a15=0x0;_0x5b9a15<_0x17e5af['length'];_0x5b9a15++){_0x71884b=(_0x71884b<<0x5)-_0x71884b+_0x17e5af['charCodeAt'](_0x5b9a15),_0x71884b|=0x0;}return Math['abs'](_0x71884b);}async['waitForTablesCreation'](_0x4f055d,_0x351574,_0x17a55e){let _0x3513dc=0x0;const _0x2c0e44=0x14;while(_0x3513dc<_0x2c0e44){await(0x0,utils_1['sleepFor'])(0x96);const _0x383417=await _0x4f055d['query']('SELECT\x20NOT\x20EXISTS\x20(SELECT\x201\x20FROM\x20pg_locks\x20WHERE\x20locktype\x20=\x20\x27advisory\x27\x20AND\x20objid\x20=\x20$1::bigint)\x20AS\x20unlocked',[_0x351574]);if(_0x383417['rows'][0x0]['unlocked']){const _0x15a2a4=await this['checkIfTablesExist'](_0x4f055d,_0x17a55e);if(_0x15a2a4)return;}_0x3513dc++;}throw new Error('Timeout\x20waiting\x20for\x20table\x20creation');}async['checkIfTablesExist'](_0x621d79,_0xbb8040){const _0x465631=this['getTableNames'](_0xbb8040),_0x52ba60=_0x465631['map'](_0x248825=>_0x621d79['query']('SELECT\x20to_regclass(\x27public.'+_0x248825+'\x27)\x20AS\x20table')),_0x53ba63=await Promise['all'](_0x52ba60);return _0x53ba63['every'](_0x255289=>_0x255289['rows'][0x0]['table']!==null);}async['createTables'](_0x476b26,_0x4f1a1e){await _0x476b26['query']('BEGIN');const _0x24c59=this['getTableDefinitions'](this['storeClient']['safeName'](_0x4f1a1e));for(const _0x563b56 of _0x24c59){switch(_0x563b56['type']){case'string':await _0x476b26['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20'+_0x563b56['name']+'\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20key\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20value\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20expiry\x20TIMESTAMP\x20WITH\x20TIME\x20ZONE\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20');break;case'hash':await _0x476b26['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20'+_0x563b56['name']+'\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20key\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20field\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20value\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20expiry\x20TIMESTAMP\x20WITH\x20TIME\x20ZONE,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20PRIMARY\x20KEY\x20(key,\x20field)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20');break;case'list':await _0x476b26['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20'+_0x563b56['name']+'\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20key\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20index\x20BIGINT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20value\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20expiry\x20TIMESTAMP\x20WITH\x20TIME\x20ZONE,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20PRIMARY\x20KEY\x20(key,\x20index)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'),await _0x476b26['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_'+_0x563b56['name']+'_key_expiry\x20ON\x20'+_0x563b56['name']+'\x20(key,\x20expiry);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20');break;case'sorted_set':await _0x476b26['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20'+_0x563b56['name']+'\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20key\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20member\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20score\x20DOUBLE\x20PRECISION\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20expiry\x20TIMESTAMP\x20WITH\x20TIME\x20ZONE,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20PRIMARY\x20KEY\x20(key,\x20member)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'),await _0x476b26['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_'+_0x563b56['name']+'_key_score_member\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20'+_0x563b56['name']+'\x20(key,\x20score,\x20member);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20');break;default:this['logger']['warn']('Unknown\x20table\x20type\x20for\x20'+_0x563b56['name']);break;}}await _0x476b26['query']('COMMIT');}['getTableNames'](_0x4dccd0){const _0x5f36cb=[];_0x5f36cb['push']('hotmesh_applications','hotmesh_connections');const _0xbfea88=['throttles','roles','task_priorities','task_schedules','task_lists','events','jobs','stats_counted','stats_indexed','stats_ordered','versions','signal_patterns','signal_registry','symbols'];return _0xbfea88['forEach'](_0x1ecf7d=>{_0x5f36cb['push']('hotmesh_'+this['storeClient']['safeName'](_0x4dccd0)+'_'+_0x1ecf7d);}),_0x5f36cb;}['getTableDefinitions'](_0x3d88eb){const _0x42e8c6=[{'name':'hotmesh_applications','type':'hash'},{'name':'hotmesh_connections','type':'hash'},{'name':'hotmesh_'+_0x3d88eb+'_throttles','type':'hash'},{'name':'hotmesh_'+_0x3d88eb+'_roles','type':'string'},{'name':'hotmesh_'+_0x3d88eb+'_task_schedules','type':'sorted_set'},{'name':'hotmesh_'+_0x3d88eb+'_task_priorities','type':'sorted_set'},{'name':'hotmesh_'+_0x3d88eb+'_task_lists','type':'list'},{'name':'hotmesh_'+_0x3d88eb+'_events','type':'hash'},{'name':'hotmesh_'+_0x3d88eb+'_jobs','type':'hash'},{'name':'hotmesh_'+_0x3d88eb+'_stats_counted','type':'hash'},{'name':'hotmesh_'+_0x3d88eb+'_stats_ordered','type':'sorted_set'},{'name':'hotmesh_'+_0x3d88eb+'_stats_indexed','type':'list'},{'name':'hotmesh_'+_0x3d88eb+'_versions','type':'hash'},{'name':'hotmesh_'+_0x3d88eb+'_signal_patterns','type':'hash'},{'name':'hotmesh_'+_0x3d88eb+'_symbols','type':'hash'},{'name':'hotmesh_'+_0x3d88eb+'_signal_registry','type':'string'}];return _0x42e8c6;}['isSuccessful'](_0x3d43fd){return _0x3d43fd>0x0||_0x3d43fd==='OK'||_0x3d43fd===!![];}async['delistSignalKey'](_0x301d25,_0xb2a841){await this['kvsql']()['del'](_0x301d25+':'+_0xb2a841);}async['zAdd'](_0x5ea24a,_0x431d17,_0x1bf30e,_0x3ce08d){return await this['kvsql'](_0x3ce08d)['zadd'](_0x5ea24a,Number(_0x431d17),_0x1bf30e['toString']());}async['zRangeByScore'](_0x1f7d3a,_0x26e02f,_0x41e251){const _0x93623d=await this['kvsql']()['zrangebyscore'](_0x1f7d3a,Number(_0x26e02f),Number(_0x41e251));if(_0x93623d?.['length']>0x0)return _0x93623d[0x0];return null;}['mintKey'](_0xe6b214,_0x1c233d){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0xe6b214,_0x1c233d);}['kvsql'](_0x2e12b4){return _0x2e12b4||this['storeClient'];}['invalidateCache'](){this['cache']['invalidate']();}async['reserveScoutRole'](_0xede838,_0xf45100=enums_1['HMSH_SCOUT_INTERVAL_SECONDS']){const _0x3dc17f=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId'],'scoutType':_0xede838}),_0x1d0739=await this['kvsql']()['set'](_0x3dc17f,_0xede838+':'+(0x0,utils_1['formatISODate'])(new Date()),{'nx':!![],'ex':_0xf45100-0x1});return this['isSuccessful'](_0x1d0739);}async['releaseScoutRole'](_0x4e1769){const _0x45d0e4=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId'],'scoutType':_0x4e1769}),_0x8a5750=await this['kvsql']()['del'](_0x45d0e4);return this['isSuccessful'](_0x8a5750);}async['getSettings'](_0x1af088=![]){let _0x123020=this['cache']?.['getSettings']();if(_0x123020)return _0x123020;else{if(_0x1af088){const _0xa40afb=await Promise['resolve']()['then'](()=>__importStar(require('../../../../package.json'))),_0x2ecf3f=_0xa40afb['version']||'0.0.0';return _0x123020={'namespace':key_1['HMNS'],'version':_0x2ecf3f},await this['setSettings'](_0x123020),_0x123020;}}throw new Error('settings\x20not\x20found');}async['setSettings'](_0x3373bd){const _0x722b8b={},_0x5977e9=this['mintKey'](key_1['KeyType']['HOTMESH'],_0x722b8b);return await this['kvsql']()['hset'](_0x5977e9,_0x3373bd);}async['reserveSymbolRange'](_0xf2fa07,_0x3ec57f,_0x2bf099,_0xd80d47=0x1){const _0x5df317=this['mintKey'](key_1['KeyType']['SYMKEYS'],{'appId':this['appId']}),_0x563936=this['mintKey'](key_1['KeyType']['SYMKEYS'],{'activityId':_0xf2fa07,'appId':this['appId']}),_0x3fec0f=await this['kvsql']()['hsetnx'](_0x5df317,_0xf2fa07,'?:?');if(_0x3fec0f){const _0xb4284f=await this['kvsql']()['hincrbyfloat'](_0x5df317,':cursor',_0x3ec57f),_0x2183e3=_0xb4284f-_0x3ec57f,_0x50fbd3=_0x2183e3+':'+(_0xb4284f-0x1);await this['kvsql']()['hset'](_0x5df317,{[_0xf2fa07]:_0x50fbd3});const _0x425b14=this['seedSymbols'](_0xf2fa07,_0x2bf099,_0x2183e3);return await this['kvsql']()['hset'](_0x563936,_0x425b14),[_0x2183e3+serializer_1['MDATA_SYMBOLS']['SLOTS'],_0xb4284f-0x1,{}];}else{const _0x392414=await this['kvsql']()['hget'](_0x5df317,_0xf2fa07),[_0x477ffb]=_0x392414['split'](':');if(_0x477ffb==='?'){await(0x0,utils_1['sleepFor'])(_0xd80d47*0x3e8);if(_0xd80d47<0x5)return this['reserveSymbolRange'](_0xf2fa07,_0x3ec57f,_0x2bf099,_0xd80d47+0x1);else throw new Error('Symbol\x20range\x20reservation\x20failed\x20due\x20to\x20deployment\x20contention');}else{const _0x3b6b92=parseInt(_0x477ffb,0xa),_0x4b9a47=await this['kvsql']()['hgetall'](_0x563936),_0x4770a1=Object['keys'](_0x4b9a47)['length'],_0x2104a3=_0x3b6b92+serializer_1['MDATA_SYMBOLS']['SLOTS']+_0x4770a1,_0x1831ba=Number(_0x3b6b92+_0x3ec57f-0x1);return[_0x2104a3,_0x1831ba,_0x4b9a47];}}}async['getAllSymbols'](){const _0x3f7115=this['mintKey'](key_1['KeyType']['SYMKEYS'],{'appId':this['appId']}),_0x273e21=await this['kvsql']()['hgetall'](_0x3f7115),_0x1ee404=Object['keys'](_0x273e21)['sort']();delete _0x1ee404[':cursor'];const _0x5617d2=this['kvsql'](this['transact']());for(const _0x45335 of _0x1ee404){const _0x288d9a=this['mintKey'](key_1['KeyType']['SYMKEYS'],{'activityId':_0x45335,'appId':this['appId']});_0x5617d2['hgetall'](_0x288d9a);}const _0x23f1d0=await _0x5617d2['exec'](),_0x279fba={};return _0x23f1d0['forEach']((_0x20f299,_0x40aa2e)=>{if(_0x20f299){let _0x579e18;Array['isArray'](_0x20f299)&&_0x20f299['length']===0x2?_0x579e18=_0x20f299[0x1]:_0x579e18=_0x20f299;for(const [_0xb8fa86,_0x3232ab]of Object['entries'](_0x579e18)){_0x279fba[_0x3232ab]=_0xb8fa86['startsWith'](_0x1ee404[_0x40aa2e])?_0xb8fa86:_0x1ee404[_0x40aa2e]+'/'+_0xb8fa86;}}}),_0x279fba;}async['getSymbols'](_0x270854){let _0x38cc64=this['cache']['getSymbols'](this['appId'],_0x270854);if(_0x38cc64)return _0x38cc64;else{const _0x304312={'activityId':_0x270854,'appId':this['appId']},_0x178769=this['mintKey'](key_1['KeyType']['SYMKEYS'],_0x304312);return _0x38cc64=await this['kvsql']()['hgetall'](_0x178769),this['cache']['setSymbols'](this['appId'],_0x270854,_0x38cc64),_0x38cc64;}}async['addSymbols'](_0x3bae28,_0x59eb6e){if(!_0x59eb6e||!Object['keys'](_0x59eb6e)['length'])return![];const _0x2a7fa3={'activityId':_0x3bae28,'appId':this['appId']},_0x54640c=this['mintKey'](key_1['KeyType']['SYMKEYS'],_0x2a7fa3),_0xa562c0=await this['kvsql']()['hset'](_0x54640c,_0x59eb6e);return this['cache']['deleteSymbols'](this['appId'],_0x3bae28),_0xa562c0>0x0;}['seedSymbols'](_0x57b5df,_0x520691,_0x288000){if(_0x520691==='JOB')return this['seedJobSymbols'](_0x288000);return this['seedActivitySymbols'](_0x288000,_0x57b5df);}['seedJobSymbols'](_0xd90bf7){const _0x237a5d={};return serializer_1['MDATA_SYMBOLS']['JOB']['KEYS']['forEach'](_0xddf995=>{_0x237a5d['metadata/'+_0xddf995]=(0x0,utils_1['getSymKey'])(_0xd90bf7),_0xd90bf7++;}),_0x237a5d;}['seedActivitySymbols'](_0x976e62,_0x34b716){const _0x48012e={};return serializer_1['MDATA_SYMBOLS']['ACTIVITY']['KEYS']['forEach'](_0x3f4cdd=>{_0x48012e[_0x34b716+'/output/metadata/'+_0x3f4cdd]=(0x0,utils_1['getSymKey'])(_0x976e62),_0x976e62++;}),_0x48012e;}async['getSymbolValues'](){let _0x3e033c=this['cache']['getSymbolValues'](this['appId']);if(_0x3e033c)return _0x3e033c;else{const _0x4adab8=this['mintKey'](key_1['KeyType']['SYMVALS'],{'appId':this['appId']});return _0x3e033c=await this['kvsql']()['hgetall'](_0x4adab8),this['cache']['setSymbolValues'](this['appId'],_0x3e033c),_0x3e033c;}}async['addSymbolValues'](_0x21231f){if(!_0x21231f||!Object['keys'](_0x21231f)['length'])return![];const _0x3eea41=this['mintKey'](key_1['KeyType']['SYMVALS'],{'appId':this['appId']}),_0x186cc2=await this['kvsql']()['hset'](_0x3eea41,_0x21231f);return this['cache']['deleteSymbolValues'](this['appId']),this['isSuccessful'](_0x186cc2);}async['getSymbolKeys'](_0x49e3cc){const _0x33a6fd=[];for(const _0x12cf3d of _0x49e3cc){_0x33a6fd['push'](this['getSymbols'](_0x12cf3d));}const _0x493653=await Promise['all'](_0x33a6fd),_0x1768cf={};for(const _0x13a498 of _0x49e3cc){_0x1768cf[_0x13a498]=_0x493653['shift']();}return _0x1768cf;}async['getApp'](_0x46a7cb,_0x3ee7e4=![]){let _0x434ac9=this['cache']['getApp'](_0x46a7cb);if(_0x3ee7e4||!(_0x434ac9&&Object['keys'](_0x434ac9)['length']>0x0)){const _0x530f5e={'appId':_0x46a7cb},_0x37d510=this['mintKey'](key_1['KeyType']['APP'],_0x530f5e),_0x218c3a=await this['kvsql']()['hgetall'](_0x37d510);if(!_0x218c3a)return null;_0x434ac9={};for(const _0x582bd1 in _0x218c3a){try{_0x582bd1==='active'?_0x434ac9[_0x582bd1]=_0x218c3a[_0x582bd1]==='true':_0x434ac9[_0x582bd1]=_0x218c3a[_0x582bd1];}catch(_0x62eaed){_0x434ac9[_0x582bd1]=_0x218c3a[_0x582bd1];}}this['cache']['setApp'](_0x46a7cb,_0x434ac9);}return _0x434ac9;}async['setApp'](_0x2e29e3,_0x24589c){const _0x40e295={'appId':_0x2e29e3},_0x55c49c=this['mintKey'](key_1['KeyType']['APP'],_0x40e295),_0x446709='versions/'+_0x24589c,_0x4a6c46={'id':_0x2e29e3,'version':_0x24589c,[_0x446709]:'deployed:'+(0x0,utils_1['formatISODate'])(new Date())};return await this['kvsql']()['hset'](_0x55c49c,_0x4a6c46),this['cache']['setApp'](_0x2e29e3,_0x4a6c46),_0x4a6c46;}async['activateAppVersion'](_0x538ff8,_0x357c9e){const _0x360ecd={'appId':_0x538ff8},_0x4ef846=this['mintKey'](key_1['KeyType']['APP'],_0x360ecd),_0x4e6f19='versions/'+_0x357c9e,_0x2fb5e4=await this['getApp'](_0x538ff8,!![]);if(_0x2fb5e4&&_0x2fb5e4[_0x4e6f19]){const _0x3c41c1={'id':_0x538ff8,'version':_0x357c9e['toString'](),[_0x4e6f19]:'activated:'+(0x0,utils_1['formatISODate'])(new Date()),'active':!![]};return Object['entries'](_0x3c41c1)['forEach'](([_0x28f15e,_0x4219cf])=>{_0x3c41c1[_0x28f15e]=_0x4219cf['toString']();}),await this['kvsql']()['hset'](_0x4ef846,_0x3c41c1),!![];}throw new Error('Version\x20'+_0x357c9e+'\x20does\x20not\x20exist\x20for\x20app\x20'+_0x538ff8);}async['registerAppVersion'](_0x358c65,_0x5ea955){const _0x380ad1={'appId':_0x358c65},_0x3f6ff3=this['mintKey'](key_1['KeyType']['APP'],_0x380ad1),_0x17dcec={'id':_0x358c65,'version':_0x5ea955['toString'](),['versions/'+_0x5ea955]:(0x0,utils_1['formatISODate'])(new Date())};return await this['kvsql']()['hset'](_0x3f6ff3,_0x17dcec);}async['setStats'](_0x27b5f4,_0x4ea352,_0x1cd9dd,_0x213101,_0x15bd87,_0x31b723){const _0x1aac09={'appId':_0x15bd87['id'],'jobId':_0x4ea352,'jobKey':_0x27b5f4,'dateTime':_0x1cd9dd},_0x1b3f8c=_0x31b723||this['transact']();if(_0x213101['general']['length']){const _0x2a0422=this['mintKey'](key_1['KeyType']['JOB_STATS_GENERAL'],_0x1aac09);for(const {target:_0x5c71f3,value:_0xcf6533}of _0x213101['general']){this['kvsql'](_0x1b3f8c)['hincrbyfloat'](_0x2a0422,_0x5c71f3,_0xcf6533);}}for(const {target:_0x299ce3,value:_0x20a5e5}of _0x213101['index']){const _0x336a90={..._0x1aac09,'facet':_0x299ce3},_0x11f11f=this['mintKey'](key_1['KeyType']['JOB_STATS_INDEX'],_0x336a90);this['kvsql'](_0x1b3f8c)['rpush'](_0x11f11f,_0x20a5e5['toString']());}for(const {target:_0x437610,value:_0x2df0c9}of _0x213101['median']){const _0x3fb870={..._0x1aac09,'facet':_0x437610},_0xdf7f74=this['mintKey'](key_1['KeyType']['JOB_STATS_MEDIAN'],_0x3fb870);await this['kvsql'](_0x1b3f8c)['zadd'](_0xdf7f74,Number(_0x2df0c9),_0x437610);}if(!_0x31b723)return await _0x1b3f8c['exec']();}['hGetAllResult'](_0x288614){return _0x288614;}async['getJobStats'](_0x466043){const _0x3979a1=this['kvsql'](this['transact']());for(const _0x191962 of _0x466043){_0x3979a1['hgetall'](_0x191962);}const _0x5342bd=await _0x3979a1['exec'](),_0x8350c={};for(const [_0x4fef1a,_0x2f85d9]of _0x5342bd['entries']()){const _0x296aa9=_0x466043[_0x4fef1a],_0x55a6ed=_0x2f85d9;if(_0x55a6ed&&Object['keys'](_0x55a6ed)['length']>0x0){const _0x598a9f={..._0x55a6ed};for(const [_0x3a301b,_0x51fed9]of Object['entries'](_0x598a9f)){_0x598a9f[_0x3a301b]=Number(_0x51fed9);}_0x8350c[_0x296aa9]=_0x598a9f;}else _0x8350c[_0x296aa9]={};}return _0x8350c;}async['getJobIds'](_0x465ec7,_0x58cecc){const _0x36d089=this['kvsql'](this['transact']());for(const _0x4fd2f6 of _0x465ec7){_0x36d089['lrange'](_0x4fd2f6,_0x58cecc[0x0],_0x58cecc[0x1]);}const _0x19779c=await _0x36d089['exec'](),_0xd64739={};for(const [_0x4c17cf,_0x4aa6a8]of _0x19779c['entries']()){const _0x499cdc=_0x465ec7[_0x4c17cf],_0x3576c7=_0x4aa6a8[0x1]||_0x4aa6a8;_0x3576c7&&_0x3576c7['length']>0x0?_0xd64739[_0x499cdc]=_0x3576c7:_0xd64739[_0x499cdc]=[];}return _0xd64739;}async['setStatus'](_0x3cf61a,_0x13a991,_0x3fc66b,_0x3229d4){const _0x2829a6=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':_0x3fc66b,'jobId':_0x13a991});return await this['kvsql'](_0x3229d4)['hincrbyfloat'](_0x2829a6,':',_0x3cf61a);}async['getStatus'](_0x464632,_0x4e48d7){const _0x1f3d5e=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':_0x4e48d7,'jobId':_0x464632}),_0x204e62=await this['kvsql']()['hget'](_0x1f3d5e,':');if(_0x204e62===null)throw new Error('Job\x20'+_0x464632+'\x20not\x20found');return Number(_0x204e62);}async['setState']({..._0x56e5a7},_0x4fe0e6,_0x1f5e09,_0x28ade8,_0x3cc540,_0xed5597){delete _0x56e5a7['metadata/js'];const _0x59908d=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x1f5e09}),_0x5726c1=await this['getSymbolKeys'](_0x28ade8),_0x584e43=await this['getSymbolValues']();this['serializer']['resetSymbols'](_0x5726c1,_0x584e43,_0x3cc540);const _0x58108f=this['serializer']['package'](_0x56e5a7,_0x28ade8);return _0x4fe0e6!==null?_0x58108f[':']=_0x4fe0e6['toString']():delete _0x58108f[':'],await this['kvsql'](_0xed5597)['hset'](_0x59908d,_0x58108f),_0x1f5e09;}async['getQueryState'](_0x53c1f3,_0x43f1ca){const _0x522d6d=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x53c1f3}),_0x46b414=_0x43f1ca['map'](_0x5cba28=>{if(_0x5cba28['startsWith']('\x22'))return _0x5cba28['slice'](0x1,-0x1);return'_'+_0x5cba28;}),_0x1c7334=await this['kvsql']()['hmget'](_0x522d6d,_0x46b414),_0x1a9fb5={};return _0x43f1ca['forEach']((_0x33a9a8,_0x35c85d)=>{_0x33a9a8['startsWith']('\x22')&&(_0x33a9a8=_0x33a9a8['slice'](0x1,-0x1)),_0x1a9fb5[_0x33a9a8]=_0x1c7334[_0x35c85d];}),_0x1a9fb5;}async['getState'](_0x583db2,_0x1a2807,_0x69eb8a){const _0x26bdaa=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x583db2}),_0xd82f35=Object['keys'](_0x1a2807),_0x1e2d08=await this['getSymbolKeys'](_0xd82f35);this['serializer']['resetSymbols'](_0x1e2d08,{},_0x69eb8a);const _0x17b707=this['serializer']['abbreviate'](_0x1a2807,_0xd82f35,[':']),_0xe9def5=await this['kvsql']()['hmget'](_0x26bdaa,_0x17b707),_0x46ba4e={};let _0x352390=![];_0x17b707['forEach']((_0xfe3f3b,_0x2f302b)=>{_0xe9def5[_0x2f302b]&&(_0x352390=!![]),_0x46ba4e[_0xfe3f3b]=_0xe9def5[_0x2f302b];});if(_0x352390){const _0x344a45=await this['getSymbolValues']();this['serializer']['resetSymbols'](_0x1e2d08,_0x344a45,_0x69eb8a);const _0x3b6a30=this['serializer']['unpackage'](_0x46ba4e,_0xd82f35);let _0x498752=0x0;return _0x3b6a30[':']&&(_0x498752=Number(_0x3b6a30[':']),_0x3b6a30['metadata/js']=_0x498752,delete _0x3b6a30[':']),[_0x3b6a30,_0x498752];}else throw new errors_1['GetStateError'](_0x583db2);}async['getRaw'](_0x4c5cb1){const _0x168535=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x4c5cb1}),_0x31b9fa=await this['kvsql']()['hgetall'](_0x168535);if(!_0x31b9fa)throw new errors_1['GetStateError'](_0x4c5cb1);return _0x31b9fa;}async['collate'](_0x1a359f,_0x138db7,_0x3ad707,_0xfe01a8,_0x3c0d0e){const _0xdc11f7=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x1a359f}),_0x585276=_0x138db7+'/output/metadata/as',_0x1a2d90=[_0x138db7],_0x473d01=await this['getSymbolKeys'](_0x1a2d90),_0x165717=await this['getSymbolValues']();this['serializer']['resetSymbols'](_0x473d01,_0x165717,_0xfe01a8);const _0x1f08bc={[_0x585276]:_0x3ad707['toString']()},_0x362ce0=this['serializer']['package'](_0x1f08bc,_0x1a2d90),_0x456eba=Object['keys'](_0x362ce0)[0x0];return await this['kvsql'](_0x3c0d0e)['hincrbyfloat'](_0xdc11f7,_0x456eba,_0x3ad707);}async['collateSynthetic'](_0x2e3a35,_0x14d0c3,_0x3abf86,_0x2e710d){const _0x575dc1=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x2e3a35});return await this['kvsql'](_0x2e710d)['hincrbyfloat'](_0x575dc1,_0x14d0c3,_0x3abf86);}async['setStateNX'](_0x27ff49,_0x26a7d5,_0x1397fb){const _0x54955e=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':_0x26a7d5,'jobId':_0x27ff49}),_0x5bde6e=await this['kvsql']()['hsetnx'](_0x54955e,':',_0x1397fb?.['toString']()??'1');return this['isSuccessful'](_0x5bde6e);}async['getSchema'](_0x1b5d25,_0xfa4f18){const _0x4943c6=this['cache']['getSchema'](_0xfa4f18['id'],_0xfa4f18['version'],_0x1b5d25);if(_0x4943c6)return _0x4943c6;else{const _0x410c9b=await this['getSchemas'](_0xfa4f18);return _0x410c9b[_0x1b5d25];}}async['getSchemas'](_0x530f57){let _0x4b9f6f=this['cache']['getSchemas'](_0x530f57['id'],_0x530f57['version']);if(_0x4b9f6f&&Object['keys'](_0x4b9f6f)['length']>0x0)return _0x4b9f6f;else{const _0x2f12b9={'appId':_0x530f57['id'],'appVersion':_0x530f57['version']},_0x114851=this['mintKey'](key_1['KeyType']['SCHEMAS'],_0x2f12b9);_0x4b9f6f={};const _0x165d47=await this['kvsql']()['hgetall'](_0x114851);return Object['entries'](_0x165d47)['forEach'](([_0x310f9f,_0x3addc8])=>{_0x4b9f6f[_0x310f9f]=JSON['parse'](_0x3addc8);}),this['cache']['setSchemas'](_0x530f57['id'],_0x530f57['version'],_0x4b9f6f),_0x4b9f6f;}}async['setSchemas'](_0x57e275,_0x33a666){const _0x55e3e7={'appId':_0x33a666['id'],'appVersion':_0x33a666['version']},_0x5a1f92=this['mintKey'](key_1['KeyType']['SCHEMAS'],_0x55e3e7),_0x586c40={..._0x57e275};Object['entries'](_0x586c40)['forEach'](([_0x200bb0,_0x362e29])=>{_0x586c40[_0x200bb0]=JSON['stringify'](_0x362e29);});const _0xa739bb=await this['kvsql']()['hset'](_0x5a1f92,_0x586c40);return this['cache']['setSchemas'](_0x33a666['id'],_0x33a666['version'],_0x57e275),_0xa739bb;}async['setSubscriptions'](_0x198883,_0x438aa9){const _0x522755={'appId':_0x438aa9['id'],'appVersion':_0x438aa9['version']},_0x35c2f8=this['mintKey'](key_1['KeyType']['SUBSCRIPTIONS'],_0x522755),_0x41891e={..._0x198883};Object['entries'](_0x41891e)['forEach'](([_0x3af861,_0x158ec2])=>{_0x41891e[_0x3af861]=JSON['stringify'](_0x158ec2);});const _0x432639=await this['kvsql']()['hset'](_0x35c2f8,_0x41891e);return this['cache']['setSubscriptions'](_0x438aa9['id'],_0x438aa9['version'],_0x198883),this['isSuccessful'](_0x432639);}async['getSubscriptions'](_0x1b5f3a){let _0x2d8fd3=this['cache']['getSubscriptions'](_0x1b5f3a['id'],_0x1b5f3a['version']);if(_0x2d8fd3&&Object['keys'](_0x2d8fd3)['length']>0x0)return _0x2d8fd3;else{const _0x26f0da={'appId':_0x1b5f3a['id'],'appVersion':_0x1b5f3a['version']},_0x42de4a=this['mintKey'](key_1['KeyType']['SUBSCRIPTIONS'],_0x26f0da);return _0x2d8fd3=await this['kvsql']()['hgetall'](_0x42de4a)||{},Object['entries'](_0x2d8fd3)['forEach'](([_0x4ece07,_0xa8b6f3])=>{_0x2d8fd3[_0x4ece07]=JSON['parse'](_0xa8b6f3);}),this['cache']['setSubscriptions'](_0x1b5f3a['id'],_0x1b5f3a['version'],_0x2d8fd3),_0x2d8fd3;}}async['getSubscription'](_0x51dac2,_0x460f98){const _0x33a5fe=await this['getSubscriptions'](_0x460f98);return _0x33a5fe[_0x51dac2];}async['setTransitions'](_0x44c548,_0x5b6662){const _0x26f4e5={'appId':_0x5b6662['id'],'appVersion':_0x5b6662['version']},_0x5c898f=this['mintKey'](key_1['KeyType']['SUBSCRIPTION_PATTERNS'],_0x26f4e5),_0x33d649={..._0x44c548};Object['entries'](_0x33d649)['forEach'](([_0x2aef4b,_0x91072a])=>{_0x33d649[_0x2aef4b]=JSON['stringify'](_0x91072a);});if(Object['keys'](_0x33d649)['length']!==0x0){const _0x3737c7=await this['kvsql']()['hset'](_0x5c898f,_0x33d649);return this['cache']['setTransitions'](_0x5b6662['id'],_0x5b6662['version'],_0x44c548),_0x3737c7;}}async['getTransitions'](_0x1d24a1){let _0xe50f51=this['cache']['getTransitions'](_0x1d24a1['id'],_0x1d24a1['version']);if(_0xe50f51&&Object['keys'](_0xe50f51)['length']>0x0)return _0xe50f51;else{const _0xf65774={'appId':_0x1d24a1['id'],'appVersion':_0x1d24a1['version']},_0x5b994d=this['mintKey'](key_1['KeyType']['SUBSCRIPTION_PATTERNS'],_0xf65774);_0xe50f51={};const _0x90f318=await this['kvsql']()['hgetall'](_0x5b994d);return Object['entries'](_0x90f318)['forEach'](([_0x9f055c,_0x4991c2])=>{_0xe50f51[_0x9f055c]=JSON['parse'](_0x4991c2);}),this['cache']['setTransitions'](_0x1d24a1['id'],_0x1d24a1['version'],_0xe50f51),_0xe50f51;}}async['setHookRules'](_0x4903e3){const _0x52c500=this['mintKey'](key_1['KeyType']['HOOKS'],{'appId':this['appId']}),_0x407f38={};Object['entries'](_0x4903e3)['forEach'](([_0x424c2a,_0x1742d6])=>{_0x407f38[_0x424c2a['toString']()]=JSON['stringify'](_0x1742d6);});if(Object['keys'](_0x407f38)['length']!==0x0){const _0x4581a8=await this['kvsql']()['hset'](_0x52c500,_0x407f38);return this['cache']['setHookRules'](this['appId'],_0x4903e3),_0x4581a8;}}async['getHookRules'](){let _0x205c1b=this['cache']['getHookRules'](this['appId']);if(_0x205c1b&&Object['keys'](_0x205c1b)['length']>0x0)return _0x205c1b;else{const _0x5d864a=this['mintKey'](key_1['KeyType']['HOOKS'],{'appId':this['appId']}),_0x12723d=await this['kvsql']()['hgetall'](_0x5d864a);return _0x205c1b={},Object['entries'](_0x12723d)['forEach'](([_0x2c95ef,_0x39bc5f])=>{_0x205c1b[_0x2c95ef]=JSON['parse'](_0x39bc5f);}),this['cache']['setHookRules'](this['appId'],_0x205c1b),_0x205c1b;}}async['setHookSignal'](_0x15bdf5,_0x5bf3f8){const _0xcfa246=this['mintKey'](key_1['KeyType']['SIGNALS'],{'appId':this['appId']}),{topic:_0x26e9f0,resolved:_0x214e94,jobId:_0x1e6dde}=_0x15bdf5,_0x3fc7e5=_0x26e9f0+':'+_0x214e94;await this['kvsql'](_0x5bf3f8)['setnxex'](_0xcfa246+':'+_0x3fc7e5,_0x1e6dde,Math['max'](_0x15bdf5['expire'],enums_1['HMSH_SIGNAL_EXPIRE']));}async['getHookSignal'](_0x40565e,_0x53780f){const _0xeeb2a1=this['mintKey'](key_1['KeyType']['SIGNALS'],{'appId':this['appId']}),_0xf8bc35=await this['kvsql']()['get'](_0xeeb2a1+':'+_0x40565e+':'+_0x53780f);return _0xf8bc35?_0xf8bc35['toString']():undefined;}async['deleteHookSignal'](_0x5071e5,_0x23dc95){const _0x350f87=this['mintKey'](key_1['KeyType']['SIGNALS'],{'appId':this['appId']}),_0x21f9f4=await this['kvsql']()['del'](_0x350f87+':'+_0x5071e5+':'+_0x23dc95);return _0x21f9f4?Number(_0x21f9f4):undefined;}async['addTaskQueues'](_0x3697a9){const _0x49a2d1=this['kvsql'](this['transact']()),_0x2c1bb8=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId']});for(const _0x2f9c0b of _0x3697a9){_0x49a2d1['zadd'](_0x2c1bb8,Date['now'](),_0x2f9c0b,{'nx':!![]});}await _0x49a2d1['exec']();}async['getActiveTaskQueue'](){let _0x47fcab=this['cache']['getActiveTaskQueue'](this['appId'])||null;if(!_0x47fcab){const _0x435f0f=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId']}),_0x3fdd79=await this['kvsql']()['zrange'](_0x435f0f,0x0,0x0);_0x47fcab=_0x3fdd79['length']>0x0?_0x3fdd79[0x0]:null,_0x47fcab&&this['cache']['setWorkItem'](this['appId'],_0x47fcab);}return _0x47fcab;}async['deleteProcessedTaskQueue'](_0x4e7216,_0x3d2e31,_0x10848f,_0x4f76a4=![]){const _0x26048b=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId']}),_0x29801e=await this['kvsql']()['zrem'](_0x26048b,_0x4e7216);_0x29801e&&(_0x4f76a4?(this['kvsql']()['expire'](_0x10848f,0x0),this['kvsql']()['expire'](_0x3d2e31['split'](':')['slice'](0x0,0x5)['join'](':'),0x0)):await this['kvsql']()['rename'](_0x10848f,_0x3d2e31)),this['cache']['removeWorkItem'](this['appId']);}async['processTaskQueue'](_0x439a1c,_0x353623){return await this['kvsql']()['lmove'](_0x439a1c,_0x353623,'LEFT','RIGHT');}async['expireJob'](_0x2cd984,_0x17aba8,_0xf2c38d){if(!isNaN(_0x17aba8)&&_0x17aba8>0x0){const _0x150c07=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x2cd984});await this['kvsql'](_0xf2c38d)['expire'](_0x150c07,_0x17aba8);}}async['getDependencies'](_0x544688){const _0xd55fc={'appId':this['appId'],'jobId':_0x544688},_0x3cc229=this['mintKey'](key_1['KeyType']['JOB_DEPENDENTS'],_0xd55fc);return this['kvsql']()['lrange'](_0x3cc229,0x0,-0x1);}async['registerTimeHook'](_0x4d3644,_0x5af287,_0x11a8f5,_0x1ef589,_0x55aa27,_0x5594de,_0x4889bc){const _0x1ae01e=this['mintKey'](key_1['KeyType']['TIME_RANGE'],{'appId':this['appId'],'timeValue':_0x55aa27}),_0x59ef07=[_0x1ef589,_0x11a8f5,_0x5af287,_0x5594de,_0x4d3644]['join'](key_1['VALSEP']),_0x1216eb=await this['kvsql'](_0x4889bc)['rpush'](_0x1ae01e,_0x59ef07);if(_0x4889bc||_0x1216eb===0x1){const _0x4aa1aa=this['mintKey'](key_1['KeyType']['TIME_RANGE'],{'appId':this['appId']});await this['zAdd'](_0x4aa1aa,_0x55aa27['toString'](),_0x1ae01e,_0x4889bc);}}async['getNextTask'](_0x857525){const _0x5c5ac5=this['mintKey'](key_1['KeyType']['TIME_RANGE'],{'appId':this['appId']});_0x857525=_0x857525||await this['zRangeByScore'](_0x5c5ac5,0x0,Date['now']());if(_0x857525){let [_0x4758a2,_0x5bdb8a]=this['resolveTaskKeyContext'](_0x857525);const _0x354499=await this['kvsql']()['lpop'](_0x5bdb8a);if(_0x354499){let [_0x3c4804,_0x251f25,_0x157ffb,_0x250b10,..._0x4fa71d]=_0x354499['split'](key_1['VALSEP']);const _0x13904b=_0x4fa71d['join'](key_1['VALSEP']);if(_0x3c4804==='delist')_0x4758a2='delist';else{if(_0x3c4804==='child')_0x4758a2='child';else _0x3c4804==='expire-child'&&(_0x3c4804='expire');}return[_0x857525,_0x13904b,_0x157ffb,_0x251f25,_0x4758a2];}return await this['kvsql']()['zrem'](_0x5c5ac5,_0x857525),!![];}return![];}['resolveTaskKeyContext'](_0x204958){if(_0x204958['startsWith'](key_1['TYPSEP']+'INTERRUPT'))return['interrupt',_0x204958['split'](key_1['TYPSEP'])[0x2]];else return _0x204958['startsWith'](key_1['TYPSEP']+'EXPIRE')?['expire',_0x204958['split'](key_1['TYPSEP'])[0x2]]:['sleep',_0x204958];}async['interrupt'](_0x1fcf20,_0x5df3f9,_0x1cad7d={}){try{const _0x419398=await this['getStatus'](_0x5df3f9,this['appId']);if(_0x419398<=0x0)throw new Error('Job\x20'+_0x5df3f9+'\x20already\x20completed');const _0x4db9a5=-0x3b9aca00,_0x2e544b=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x5df3f9}),_0x1d108f=await this['kvsql']()['hincrbyfloat'](_0x2e544b,':',_0x4db9a5);if(_0x1d108f<=_0x4db9a5)throw new Error('Job\x20'+_0x5df3f9+'\x20already\x20completed');if(_0x1cad7d['throw']!==![]){const _0x2f2ee5='metadata/err',_0x14f30f=['$'+_0x1fcf20],_0xe908f=await this['getSymbolKeys'](_0x14f30f),_0x4febd2=await this['getSymbolValues']();this['serializer']['resetSymbols'](_0xe908f,_0x4febd2,{});const _0x2037cb=JSON['stringify']({'code':_0x1cad7d['code']??enums_1['HMSH_CODE_INTERRUPT'],'message':_0x1cad7d['reason']??'job\x20['+_0x5df3f9+']\x20interrupted','stack':_0x1cad7d['stack']??'','job_id':_0x5df3f9}),_0x4b7014={[_0x2f2ee5]:_0x4db9a5['toString']()},_0xd64df4=this['serializer']['package'](_0x4b7014,_0x14f30f),_0x108d74=Object['keys'](_0xd64df4)[0x0];await this['kvsql']()['hset'](_0x2e544b,{[_0x108d74]:_0x2037cb});}}catch(_0x4406e8){if(!_0x1cad7d['suppress'])throw _0x4406e8;else this['logger']['debug']('suppressed-interrupt',{'message':_0x4406e8['message']});}}async['scrub'](_0x27da13){const _0x45fa0e=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x27da13});await this['kvsql']()['del'](_0x45fa0e);}async['findJobs'](_0x798745='*',_0x1df8a3=0x3e8,_0x4e76b2=0x3e8,_0x20f654='0'){const _0x32d360=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x798745}),{cursor:_0x59f335,keys:_0x25832f}=await this['kvsql']()['scan'](Number(_0x20f654),_0x1df8a3,_0x32d360);return[_0x59f335['toPrecision'](),_0x25832f];}async['findJobFields'](_0x34074e,_0x3b5953='*',_0x385b9f=0x3e8,_0x31512e=0x3e8,_0xc67af8='0'){const _0xc8c48b={},_0x477910=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x34074e});let _0x13bf9b=0x0;do{const {cursor:_0x74cdfc,items:_0x417b4a}=await this['kvsql']()['hscan'](_0x477910,_0xc67af8,_0x31512e,_0x3b5953==='*'?undefined:_0x3b5953);_0xc67af8=_0x74cdfc;for(const _0x1e6887 in _0x417b4a){_0x13bf9b++,_0xc8c48b[_0x1e6887]=_0x417b4a[_0x1e6887];}if(_0xc67af8==='0'||_0x13bf9b>=_0x385b9f)break;}while(!![]);return[_0xc67af8,_0xc8c48b];}async['setThrottleRate'](_0x2c62e5){const _0x32f40a=this['mintKey'](key_1['KeyType']['THROTTLE_RATE'],{'appId':this['appId']});if(_0x2c62e5['guid'])return;const _0x154208=_0x2c62e5['throttle']['toString']();if(_0x2c62e5['topic'])await this['kvsql']()['hset'](_0x32f40a,{[_0x2c62e5['topic']]:_0x154208});else{const _0x266c4c=this['transact']();_0x266c4c['del'](_0x32f40a),_0x266c4c['hset'](_0x32f40a,{':':_0x154208}),await _0x266c4c['exec']();}}async['getThrottleRates'](){const _0x3eb2d3=this['mintKey'](key_1['KeyType']['THROTTLE_RATE'],{'appId':this['appId']}),_0x4ea05c=await this['kvsql']()['hgetall'](_0x3eb2d3);return _0x4ea05c??{};}async['getThrottleRate'](_0x4c279c){const _0xbaf9cb=(_0x52b9cc,_0x5cca0e)=>{const _0x31e002=_0x5cca0e in _0x52b9cc?Number(_0x52b9cc[_0x5cca0e]):0x0;if(isNaN(_0x31e002))return 0x0;if(_0x31e002==-0x1)return enums_1['MAX_DELAY'];return Math['max'](Math['min'](_0x31e002,enums_1['MAX_DELAY']),0x0);},_0x5c4382=await this['getThrottleRates'](),_0x3786d0=_0xbaf9cb(_0x5c4382,':');if(_0x4c279c===':'||!(_0x4c279c in _0x5c4382))return _0x3786d0;return _0xbaf9cb(_0x5c4382,_0x4c279c);}}exports['PostgresStoreService']=PostgresStoreService;
|
|
1
|
+
'use strict';(function(_0x1a51ac,_0x2ad316){const _0x2b75a0=_0xfb8f,_0x3f4281=_0x1a51ac();while(!![]){try{const _0x1cb506=parseInt(_0x2b75a0(0x196))/0x1*(parseInt(_0x2b75a0(0x19c))/0x2)+-parseInt(_0x2b75a0(0x198))/0x3+-parseInt(_0x2b75a0(0x197))/0x4*(parseInt(_0x2b75a0(0x199))/0x5)+parseInt(_0x2b75a0(0x192))/0x6*(parseInt(_0x2b75a0(0x19b))/0x7)+-parseInt(_0x2b75a0(0x19a))/0x8+parseInt(_0x2b75a0(0x193))/0x9+parseInt(_0x2b75a0(0x194))/0xa*(parseInt(_0x2b75a0(0x195))/0xb);if(_0x1cb506===_0x2ad316)break;else _0x3f4281['push'](_0x3f4281['shift']());}catch(_0x2b891c){_0x3f4281['push'](_0x3f4281['shift']());}}}(_0x1c92,0x67792));var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x4f493b,_0x247048,_0x13784f,_0x36c0e1){if(_0x36c0e1===undefined)_0x36c0e1=_0x13784f;var _0xf9a89c=Object['getOwnPropertyDescriptor'](_0x247048,_0x13784f);(!_0xf9a89c||('get'in _0xf9a89c?!_0x247048['__esModule']:_0xf9a89c['writable']||_0xf9a89c['configurable']))&&(_0xf9a89c={'enumerable':!![],'get':function(){return _0x247048[_0x13784f];}}),Object['defineProperty'](_0x4f493b,_0x36c0e1,_0xf9a89c);}:function(_0xe7b852,_0x331112,_0x555eac,_0x310e7d){if(_0x310e7d===undefined)_0x310e7d=_0x555eac;_0xe7b852[_0x310e7d]=_0x331112[_0x555eac];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x5e130f,_0x16f88f){Object['defineProperty'](_0x5e130f,'default',{'enumerable':!![],'value':_0x16f88f});}:function(_0x24545a,_0x4c6ce8){_0x24545a['default']=_0x4c6ce8;}),__importStar=this&&this['__importStar']||function(_0x179b79){if(_0x179b79&&_0x179b79['__esModule'])return _0x179b79;var _0x4c2d52={};if(_0x179b79!=null){for(var _0x213d57 in _0x179b79)if(_0x213d57!=='default'&&Object['prototype']['hasOwnProperty']['call'](_0x179b79,_0x213d57))__createBinding(_0x4c2d52,_0x179b79,_0x213d57);}return __setModuleDefault(_0x4c2d52,_0x179b79),_0x4c2d52;};function _0xfb8f(_0x52d9f0,_0x152de1){const _0x1c927a=_0x1c92();return _0xfb8f=function(_0xfb8fc,_0x258451){_0xfb8fc=_0xfb8fc-0x192;let _0x8d2d59=_0x1c927a[_0xfb8fc];return _0x8d2d59;},_0xfb8f(_0x52d9f0,_0x152de1);}function _0x1c92(){const _0x2ddde5=['10pFKtlt','5625736DVHtuD','4327561VijrVv','706708bwJNBj','6LgQQca','4807107apouum','2028770SptQcj','11puwfeK','1FkwdrB','53588qJSYFu','1664220MPIjQe'];_0x1c92=function(){return _0x2ddde5;};return _0x1c92();}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['PostgresStoreService']=void 0x0;const errors_1=require('../../../../modules/errors'),key_1=require('../../../../modules/key'),serializer_1=require('../../../serializer'),utils_1=require('../../../../modules/utils'),enums_1=require('../../../../modules/enums'),cache_1=require('../../cache'),__1=require('../..'),kvsql_1=require('./kvsql');class PostgresStoreService extends __1['StoreService']{['transact'](){return this['storeClient']['transact']();}constructor(_0x1a01fe){super(_0x1a01fe),this['pgClient']=_0x1a01fe,this['storeClient']=new kvsql_1['KVSQL'](_0x1a01fe,this['namespace'],this['appId']);}async['init'](_0x36b045=key_1['HMNS'],_0x1c16a3,_0x385ae9){this['storeClient']['namespace']=this['namespace']=_0x36b045,this['storeClient']['appId']=this['appId']=_0x1c16a3,this['logger']=_0x385ae9,await this['deploy'](_0x1c16a3);const _0x142a68=await this['getSettings'](!![]);return this['cache']=new cache_1['Cache'](_0x1c16a3,_0x142a68),this['serializer']=new serializer_1['SerializerService'](),await this['getApp'](_0x1c16a3),this['cache']['getApps']();}async['deploy'](_0x37cd1d){const _0x4ba9e1=this['pgClient'];try{const _0x7cb1ae=this['getAdvisoryLockId'](_0x37cd1d),_0x51ab26=await _0x4ba9e1['query']('SELECT\x20pg_try_advisory_lock($1)\x20AS\x20locked',[_0x7cb1ae]);if(_0x51ab26['rows'][0x0]['locked']){await _0x4ba9e1['query']('BEGIN');const _0xfdc06=await this['checkIfTablesExist'](_0x4ba9e1,_0x37cd1d);!_0xfdc06&&await this['createTables'](_0x4ba9e1,_0x37cd1d),await _0x4ba9e1['query']('COMMIT'),await _0x4ba9e1['query']('SELECT\x20pg_advisory_unlock($1)',[_0x7cb1ae]);}else await this['waitForTablesCreation'](_0x4ba9e1,_0x7cb1ae,_0x37cd1d);}catch(_0x18b8b3){this['logger']['error']('Error\x20deploying\x20tables',{'error':_0x18b8b3});throw _0x18b8b3;}}['getAdvisoryLockId'](_0x263705){return this['hashStringToInt'](_0x263705);}['hashStringToInt'](_0x5a43dd){let _0x23cff8=0x0;for(let _0x1b707e=0x0;_0x1b707e<_0x5a43dd['length'];_0x1b707e++){_0x23cff8=(_0x23cff8<<0x5)-_0x23cff8+_0x5a43dd['charCodeAt'](_0x1b707e),_0x23cff8|=0x0;}return Math['abs'](_0x23cff8);}async['waitForTablesCreation'](_0x589a9a,_0xc7502,_0x409dc6){let _0x4c1bf4=0x0;const _0x4caeb3=0x14;while(_0x4c1bf4<_0x4caeb3){await(0x0,utils_1['sleepFor'])(0x96);const _0x59948e=await _0x589a9a['query']('SELECT\x20NOT\x20EXISTS\x20(SELECT\x201\x20FROM\x20pg_locks\x20WHERE\x20locktype\x20=\x20\x27advisory\x27\x20AND\x20objid\x20=\x20$1::bigint)\x20AS\x20unlocked',[_0xc7502]);if(_0x59948e['rows'][0x0]['unlocked']){const _0x53f805=await this['checkIfTablesExist'](_0x589a9a,_0x409dc6);if(_0x53f805)return;}_0x4c1bf4++;}throw new Error('Timeout\x20waiting\x20for\x20table\x20creation');}async['checkIfTablesExist'](_0x48f2b0,_0x3536ed){const _0x380ba3=this['getTableNames'](_0x3536ed),_0x4e0039=_0x380ba3['map'](_0x2c2185=>_0x48f2b0['query']('SELECT\x20to_regclass(\x27public.'+_0x2c2185+'\x27)\x20AS\x20table')),_0x155fa4=await Promise['all'](_0x4e0039);return _0x155fa4['every'](_0xa690e4=>_0xa690e4['rows'][0x0]['table']!==null);}async['createTables'](_0x4cee9e,_0xaf70b7){await _0x4cee9e['query']('BEGIN');const _0x53c826=this['getTableDefinitions'](this['storeClient']['safeName'](_0xaf70b7));for(const _0x57a134 of _0x53c826){switch(_0x57a134['type']){case'string':await _0x4cee9e['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20'+_0x57a134['name']+'\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20key\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20value\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20expiry\x20TIMESTAMP\x20WITH\x20TIME\x20ZONE\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20');break;case'hash':await _0x4cee9e['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20'+_0x57a134['name']+'\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20key\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20field\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20value\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20expiry\x20TIMESTAMP\x20WITH\x20TIME\x20ZONE,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20PRIMARY\x20KEY\x20(key,\x20field)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20');break;case'jobhash':await _0x4cee9e['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20DO\x20$$\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20BEGIN\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20IF\x20NOT\x20EXISTS\x20(SELECT\x201\x20FROM\x20pg_type\x20WHERE\x20typname\x20=\x20\x27type_enum\x27)\x20THEN\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TYPE\x20type_enum\x20AS\x20ENUM\x20(\x27jmark\x27,\x20\x27hmark\x27,\x20\x27status\x27,\x20\x27jdata\x27,\x20\x27adata\x27,\x20\x27udata\x27,\x20\x27other\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20END\x20IF;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20END$$;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'),await _0x4cee9e['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20'+_0x57a134['name']+'\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20key\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20field\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20value\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type\x20type_enum,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20expiry\x20TIMESTAMP\x20WITH\x20TIME\x20ZONE,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20PRIMARY\x20KEY\x20(key,\x20field)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20)\x20PARTITION\x20BY\x20HASH\x20(key);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20');for(let _0x57c019=0x0;_0x57c019<0x8;_0x57c019++){await _0x4cee9e['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20'+_0x57a134['name']+'_part_'+_0x57c019+'\x20PARTITION\x20OF\x20'+_0x57a134['name']+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FOR\x20VALUES\x20WITH\x20(modulus\x208,\x20remainder\x20'+_0x57c019+');\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20');}await _0x4cee9e['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_'+_0x57a134['name']+'_key_type\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20'+_0x57a134['name']+'\x20(key,\x20type);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'),await _0x4cee9e['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_'+_0x57a134['name']+'_type\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20'+_0x57a134['name']+'\x20(type);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'),await _0x4cee9e['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_'+_0x57a134['name']+'_key_x_type_jmark\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20'+_0x57a134['name']+'\x20(key,\x20type)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20\x27x\x27\x20AND\x20type\x20=\x20\x27jmark\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20');break;case'list':await _0x4cee9e['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20'+_0x57a134['name']+'\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20key\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20index\x20BIGINT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20value\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20expiry\x20TIMESTAMP\x20WITH\x20TIME\x20ZONE,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20PRIMARY\x20KEY\x20(key,\x20index)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'),await _0x4cee9e['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_'+_0x57a134['name']+'_key_expiry\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20'+_0x57a134['name']+'\x20(key,\x20expiry);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20');break;case'sorted_set':await _0x4cee9e['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20'+_0x57a134['name']+'\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20key\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20member\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20score\x20DOUBLE\x20PRECISION\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20expiry\x20TIMESTAMP\x20WITH\x20TIME\x20ZONE,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20PRIMARY\x20KEY\x20(key,\x20member)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'),await _0x4cee9e['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_'+_0x57a134['name']+'_key_score_member\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20'+_0x57a134['name']+'\x20(key,\x20score,\x20member);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20');break;default:this['logger']['warn']('Unknown\x20table\x20type\x20for\x20'+_0x57a134['name']);break;}}await _0x4cee9e['query']('COMMIT');}['getTableNames'](_0x5c1063){const _0x593d6b=[];_0x593d6b['push']('hotmesh_applications','hotmesh_connections');const _0xde127f=['throttles','roles','task_priorities','task_schedules','task_lists','events','jobs','stats_counted','stats_indexed','stats_ordered','versions','signal_patterns','signal_registry','symbols'];return _0xde127f['forEach'](_0x5d5b63=>{_0x593d6b['push']('hotmesh_'+this['storeClient']['safeName'](_0x5c1063)+'_'+_0x5d5b63);}),_0x593d6b;}['getTableDefinitions'](_0x18e227){const _0x1fba83=[{'name':'hotmesh_applications','type':'hash'},{'name':'hotmesh_connections','type':'hash'},{'name':'hotmesh_'+_0x18e227+'_throttles','type':'hash'},{'name':'hotmesh_'+_0x18e227+'_roles','type':'string'},{'name':'hotmesh_'+_0x18e227+'_task_schedules','type':'sorted_set'},{'name':'hotmesh_'+_0x18e227+'_task_priorities','type':'sorted_set'},{'name':'hotmesh_'+_0x18e227+'_task_lists','type':'list'},{'name':'hotmesh_'+_0x18e227+'_events','type':'hash'},{'name':'hotmesh_'+_0x18e227+'_jobs','type':'jobhash'},{'name':'hotmesh_'+_0x18e227+'_stats_counted','type':'hash'},{'name':'hotmesh_'+_0x18e227+'_stats_ordered','type':'sorted_set'},{'name':'hotmesh_'+_0x18e227+'_stats_indexed','type':'list'},{'name':'hotmesh_'+_0x18e227+'_versions','type':'hash'},{'name':'hotmesh_'+_0x18e227+'_signal_patterns','type':'hash'},{'name':'hotmesh_'+_0x18e227+'_symbols','type':'hash'},{'name':'hotmesh_'+_0x18e227+'_signal_registry','type':'string'}];return _0x1fba83;}['isSuccessful'](_0x390c2e){return _0x390c2e>0x0||_0x390c2e==='OK'||_0x390c2e===!![];}async['delistSignalKey'](_0x336dd6,_0x235613){await this['kvsql']()['del'](_0x336dd6+':'+_0x235613);}async['zAdd'](_0x3be716,_0xf023dc,_0x10cc76,_0x58834e){return await this['kvsql'](_0x58834e)['zadd'](_0x3be716,Number(_0xf023dc),_0x10cc76['toString']());}async['zRangeByScore'](_0x7a84e6,_0x5a0f7b,_0x20646){const _0x3fbc9d=await this['kvsql']()['zrangebyscore'](_0x7a84e6,Number(_0x5a0f7b),Number(_0x20646));if(_0x3fbc9d?.['length']>0x0)return _0x3fbc9d[0x0];return null;}['mintKey'](_0xb35eaf,_0x256b85){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0xb35eaf,_0x256b85);}['kvsql'](_0x591764){return _0x591764||this['storeClient'];}['invalidateCache'](){this['cache']['invalidate']();}async['reserveScoutRole'](_0x4b66b2,_0x3d8cae=enums_1['HMSH_SCOUT_INTERVAL_SECONDS']){const _0x140d76=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId'],'scoutType':_0x4b66b2}),_0x526ad6=await this['kvsql']()['set'](_0x140d76,_0x4b66b2+':'+(0x0,utils_1['formatISODate'])(new Date()),{'nx':!![],'ex':_0x3d8cae-0x1});return this['isSuccessful'](_0x526ad6);}async['releaseScoutRole'](_0x2882c3){const _0x4d0be5=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId'],'scoutType':_0x2882c3}),_0x39332d=await this['kvsql']()['del'](_0x4d0be5);return this['isSuccessful'](_0x39332d);}async['getSettings'](_0x569e21=![]){let _0x5d62a7=this['cache']?.['getSettings']();if(_0x5d62a7)return _0x5d62a7;else{if(_0x569e21){const _0x1e9e01=await Promise['resolve']()['then'](()=>__importStar(require('../../../../package.json'))),_0xa10ff4=_0x1e9e01['version']||'0.0.0';return _0x5d62a7={'namespace':key_1['HMNS'],'version':_0xa10ff4},await this['setSettings'](_0x5d62a7),_0x5d62a7;}}throw new Error('settings\x20not\x20found');}async['setSettings'](_0x560bef){const _0x2a4bd6={},_0x528f42=this['mintKey'](key_1['KeyType']['HOTMESH'],_0x2a4bd6);return await this['kvsql']()['hset'](_0x528f42,_0x560bef);}async['reserveSymbolRange'](_0x4f3e4f,_0x10900d,_0x10eebf,_0x49edf5=0x1){const _0x37532c=this['mintKey'](key_1['KeyType']['SYMKEYS'],{'appId':this['appId']}),_0x139a9f=this['mintKey'](key_1['KeyType']['SYMKEYS'],{'activityId':_0x4f3e4f,'appId':this['appId']}),_0x46b357=await this['kvsql']()['hsetnx'](_0x37532c,_0x4f3e4f,'?:?');if(_0x46b357){const _0x2c00b6=await this['kvsql']()['hincrbyfloat'](_0x37532c,':cursor',_0x10900d),_0x2760c2=_0x2c00b6-_0x10900d,_0x44885d=_0x2760c2+':'+(_0x2c00b6-0x1);await this['kvsql']()['hset'](_0x37532c,{[_0x4f3e4f]:_0x44885d});const _0x51f431=this['seedSymbols'](_0x4f3e4f,_0x10eebf,_0x2760c2);return await this['kvsql']()['hset'](_0x139a9f,_0x51f431),[_0x2760c2+serializer_1['MDATA_SYMBOLS']['SLOTS'],_0x2c00b6-0x1,{}];}else{const _0x2d9dbb=await this['kvsql']()['hget'](_0x37532c,_0x4f3e4f),[_0x30cc2f]=_0x2d9dbb['split'](':');if(_0x30cc2f==='?'){await(0x0,utils_1['sleepFor'])(_0x49edf5*0x3e8);if(_0x49edf5<0x5)return this['reserveSymbolRange'](_0x4f3e4f,_0x10900d,_0x10eebf,_0x49edf5+0x1);else throw new Error('Symbol\x20range\x20reservation\x20failed\x20due\x20to\x20deployment\x20contention');}else{const _0x2808a9=parseInt(_0x30cc2f,0xa),_0x4af420=await this['kvsql']()['hgetall'](_0x139a9f),_0x3597ca=Object['keys'](_0x4af420)['length'],_0xb0833b=_0x2808a9+serializer_1['MDATA_SYMBOLS']['SLOTS']+_0x3597ca,_0x177653=Number(_0x2808a9+_0x10900d-0x1);return[_0xb0833b,_0x177653,_0x4af420];}}}async['getAllSymbols'](){const _0x5add84=this['mintKey'](key_1['KeyType']['SYMKEYS'],{'appId':this['appId']}),_0x4556ab=await this['kvsql']()['hgetall'](_0x5add84),_0x13a273=Object['keys'](_0x4556ab)['sort']();delete _0x13a273[':cursor'];const _0x2ac4bc=this['kvsql'](this['transact']());for(const _0x20619d of _0x13a273){const _0x78c576=this['mintKey'](key_1['KeyType']['SYMKEYS'],{'activityId':_0x20619d,'appId':this['appId']});_0x2ac4bc['hgetall'](_0x78c576);}const _0x2e471c=await _0x2ac4bc['exec'](),_0x5131ee={};return _0x2e471c['forEach']((_0x11c65b,_0x5d7d69)=>{if(_0x11c65b){let _0x5b05cd;Array['isArray'](_0x11c65b)&&_0x11c65b['length']===0x2?_0x5b05cd=_0x11c65b[0x1]:_0x5b05cd=_0x11c65b;for(const [_0x3386cd,_0x573297]of Object['entries'](_0x5b05cd)){_0x5131ee[_0x573297]=_0x3386cd['startsWith'](_0x13a273[_0x5d7d69])?_0x3386cd:_0x13a273[_0x5d7d69]+'/'+_0x3386cd;}}}),_0x5131ee;}async['getSymbols'](_0x1f3284){let _0x6ba8d=this['cache']['getSymbols'](this['appId'],_0x1f3284);if(_0x6ba8d)return _0x6ba8d;else{const _0x2900af={'activityId':_0x1f3284,'appId':this['appId']},_0x184827=this['mintKey'](key_1['KeyType']['SYMKEYS'],_0x2900af);return _0x6ba8d=await this['kvsql']()['hgetall'](_0x184827),this['cache']['setSymbols'](this['appId'],_0x1f3284,_0x6ba8d),_0x6ba8d;}}async['addSymbols'](_0x47e22e,_0x15fcf5){if(!_0x15fcf5||!Object['keys'](_0x15fcf5)['length'])return![];const _0x22484c={'activityId':_0x47e22e,'appId':this['appId']},_0x540dbd=this['mintKey'](key_1['KeyType']['SYMKEYS'],_0x22484c),_0x39decb=await this['kvsql']()['hset'](_0x540dbd,_0x15fcf5);return this['cache']['deleteSymbols'](this['appId'],_0x47e22e),_0x39decb>0x0;}['seedSymbols'](_0x5c2757,_0x520ac9,_0x1d3087){if(_0x520ac9==='JOB')return this['seedJobSymbols'](_0x1d3087);return this['seedActivitySymbols'](_0x1d3087,_0x5c2757);}['seedJobSymbols'](_0x52e2b3){const _0x41fd36={};return serializer_1['MDATA_SYMBOLS']['JOB']['KEYS']['forEach'](_0x457ad9=>{_0x41fd36['metadata/'+_0x457ad9]=(0x0,utils_1['getSymKey'])(_0x52e2b3),_0x52e2b3++;}),_0x41fd36;}['seedActivitySymbols'](_0x49b179,_0x4c6bf0){const _0x1e32ee={};return serializer_1['MDATA_SYMBOLS']['ACTIVITY']['KEYS']['forEach'](_0xdd7489=>{_0x1e32ee[_0x4c6bf0+'/output/metadata/'+_0xdd7489]=(0x0,utils_1['getSymKey'])(_0x49b179),_0x49b179++;}),_0x1e32ee;}async['getSymbolValues'](){let _0x177c68=this['cache']['getSymbolValues'](this['appId']);if(_0x177c68)return _0x177c68;else{const _0x5b0a86=this['mintKey'](key_1['KeyType']['SYMVALS'],{'appId':this['appId']});return _0x177c68=await this['kvsql']()['hgetall'](_0x5b0a86),this['cache']['setSymbolValues'](this['appId'],_0x177c68),_0x177c68;}}async['addSymbolValues'](_0xb8417a){if(!_0xb8417a||!Object['keys'](_0xb8417a)['length'])return![];const _0x1022f5=this['mintKey'](key_1['KeyType']['SYMVALS'],{'appId':this['appId']}),_0x5de2c7=await this['kvsql']()['hset'](_0x1022f5,_0xb8417a);return this['cache']['deleteSymbolValues'](this['appId']),this['isSuccessful'](_0x5de2c7);}async['getSymbolKeys'](_0x16b9a4){const _0x4b3817=[];for(const _0x41f767 of _0x16b9a4){_0x4b3817['push'](this['getSymbols'](_0x41f767));}const _0xfcd498=await Promise['all'](_0x4b3817),_0x47009d={};for(const _0x5d98ad of _0x16b9a4){_0x47009d[_0x5d98ad]=_0xfcd498['shift']();}return _0x47009d;}async['getApp'](_0x27aefe,_0x56a591=![]){let _0x1689f6=this['cache']['getApp'](_0x27aefe);if(_0x56a591||!(_0x1689f6&&Object['keys'](_0x1689f6)['length']>0x0)){const _0x133ca9={'appId':_0x27aefe},_0x142586=this['mintKey'](key_1['KeyType']['APP'],_0x133ca9),_0x435106=await this['kvsql']()['hgetall'](_0x142586);if(!_0x435106)return null;_0x1689f6={};for(const _0x1be4c7 in _0x435106){try{_0x1be4c7==='active'?_0x1689f6[_0x1be4c7]=_0x435106[_0x1be4c7]==='true':_0x1689f6[_0x1be4c7]=_0x435106[_0x1be4c7];}catch(_0x5caffa){_0x1689f6[_0x1be4c7]=_0x435106[_0x1be4c7];}}this['cache']['setApp'](_0x27aefe,_0x1689f6);}return _0x1689f6;}async['setApp'](_0x185495,_0x5897fe){const _0x43a74a={'appId':_0x185495},_0x3f1ee2=this['mintKey'](key_1['KeyType']['APP'],_0x43a74a),_0x5879f3='versions/'+_0x5897fe,_0x3cc458={'id':_0x185495,'version':_0x5897fe,[_0x5879f3]:'deployed:'+(0x0,utils_1['formatISODate'])(new Date())};return await this['kvsql']()['hset'](_0x3f1ee2,_0x3cc458),this['cache']['setApp'](_0x185495,_0x3cc458),_0x3cc458;}async['activateAppVersion'](_0x59b190,_0x50f655){const _0x1d6c2e={'appId':_0x59b190},_0x33e46f=this['mintKey'](key_1['KeyType']['APP'],_0x1d6c2e),_0x36243a='versions/'+_0x50f655,_0x2824b3=await this['getApp'](_0x59b190,!![]);if(_0x2824b3&&_0x2824b3[_0x36243a]){const _0x26dfbc={'id':_0x59b190,'version':_0x50f655['toString'](),[_0x36243a]:'activated:'+(0x0,utils_1['formatISODate'])(new Date()),'active':!![]};return Object['entries'](_0x26dfbc)['forEach'](([_0x1e776f,_0x4062d8])=>{_0x26dfbc[_0x1e776f]=_0x4062d8['toString']();}),await this['kvsql']()['hset'](_0x33e46f,_0x26dfbc),!![];}throw new Error('Version\x20'+_0x50f655+'\x20does\x20not\x20exist\x20for\x20app\x20'+_0x59b190);}async['registerAppVersion'](_0x1150d8,_0x4a8d5){const _0x363505={'appId':_0x1150d8},_0x1d09e1=this['mintKey'](key_1['KeyType']['APP'],_0x363505),_0x1c4690={'id':_0x1150d8,'version':_0x4a8d5['toString'](),['versions/'+_0x4a8d5]:(0x0,utils_1['formatISODate'])(new Date())};return await this['kvsql']()['hset'](_0x1d09e1,_0x1c4690);}async['setStats'](_0x175f77,_0x27ae3a,_0x56973f,_0x1ea91c,_0xee6003,_0x153b0b){const _0x3a2bba={'appId':_0xee6003['id'],'jobId':_0x27ae3a,'jobKey':_0x175f77,'dateTime':_0x56973f},_0x7a6a5b=_0x153b0b||this['transact']();if(_0x1ea91c['general']['length']){const _0x2df352=this['mintKey'](key_1['KeyType']['JOB_STATS_GENERAL'],_0x3a2bba);for(const {target:_0x2d41a1,value:_0xe89e2c}of _0x1ea91c['general']){this['kvsql'](_0x7a6a5b)['hincrbyfloat'](_0x2df352,_0x2d41a1,_0xe89e2c);}}for(const {target:_0x32236f,value:_0x290f46}of _0x1ea91c['index']){const _0x3efbfa={..._0x3a2bba,'facet':_0x32236f},_0x141e85=this['mintKey'](key_1['KeyType']['JOB_STATS_INDEX'],_0x3efbfa);this['kvsql'](_0x7a6a5b)['rpush'](_0x141e85,_0x290f46['toString']());}for(const {target:_0x442133,value:_0x3aa99b}of _0x1ea91c['median']){const _0x5e7d86={..._0x3a2bba,'facet':_0x442133},_0x369d41=this['mintKey'](key_1['KeyType']['JOB_STATS_MEDIAN'],_0x5e7d86);await this['kvsql'](_0x7a6a5b)['zadd'](_0x369d41,Number(_0x3aa99b),_0x442133);}if(!_0x153b0b)return await _0x7a6a5b['exec']();}['hGetAllResult'](_0x11e071){return _0x11e071;}async['getJobStats'](_0x352437){const _0x15c6a4=this['kvsql'](this['transact']());for(const _0x3ca9e0 of _0x352437){_0x15c6a4['hgetall'](_0x3ca9e0);}const _0x2c85b7=await _0x15c6a4['exec'](),_0x23574c={};for(const [_0x556c40,_0xb72cbc]of _0x2c85b7['entries']()){const _0x32637b=_0x352437[_0x556c40],_0x4e41fb=_0xb72cbc;if(_0x4e41fb&&Object['keys'](_0x4e41fb)['length']>0x0){const _0x1198ec={..._0x4e41fb};for(const [_0x232e2e,_0x24d623]of Object['entries'](_0x1198ec)){_0x1198ec[_0x232e2e]=Number(_0x24d623);}_0x23574c[_0x32637b]=_0x1198ec;}else _0x23574c[_0x32637b]={};}return _0x23574c;}async['getJobIds'](_0x52e36b,_0x2104c5){const _0x186f6c=this['kvsql'](this['transact']());for(const _0x1a2678 of _0x52e36b){_0x186f6c['lrange'](_0x1a2678,_0x2104c5[0x0],_0x2104c5[0x1]);}const _0x1f3393=await _0x186f6c['exec'](),_0x143745={};for(const [_0x5e0e56,_0x32db61]of _0x1f3393['entries']()){const _0x284064=_0x52e36b[_0x5e0e56],_0x2e3966=_0x32db61[0x1]||_0x32db61;_0x2e3966&&_0x2e3966['length']>0x0?_0x143745[_0x284064]=_0x2e3966:_0x143745[_0x284064]=[];}return _0x143745;}async['setStatus'](_0x3ebbfe,_0xbf5bb0,_0x56a957,_0x1de7fe){const _0x217fa8=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':_0x56a957,'jobId':_0xbf5bb0});return await this['kvsql'](_0x1de7fe)['hincrbyfloat'](_0x217fa8,':',_0x3ebbfe);}async['getStatus'](_0x517b8b,_0x59e7aa){const _0x10fd56=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':_0x59e7aa,'jobId':_0x517b8b}),_0x37f3fe=await this['kvsql']()['hget'](_0x10fd56,':');if(_0x37f3fe===null)throw new Error('Job\x20'+_0x517b8b+'\x20not\x20found');return Number(_0x37f3fe);}async['setState']({..._0x3aa13c},_0x54485f,_0x129046,_0xbe8ea1,_0x4f183d,_0x3b1226){delete _0x3aa13c['metadata/js'];const _0x5ea9f1=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x129046}),_0x3db6d7=await this['getSymbolKeys'](_0xbe8ea1),_0x37f1fc=await this['getSymbolValues']();this['serializer']['resetSymbols'](_0x3db6d7,_0x37f1fc,_0x4f183d);const _0x3780dd=this['serializer']['package'](_0x3aa13c,_0xbe8ea1);return _0x54485f!==null?_0x3780dd[':']=_0x54485f['toString']():delete _0x3780dd[':'],await this['kvsql'](_0x3b1226)['hset'](_0x5ea9f1,_0x3780dd),_0x129046;}async['getQueryState'](_0xc6db29,_0x5dd2c4){const _0x42fb7f=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0xc6db29}),_0x5a16b3=_0x5dd2c4['map'](_0x46339c=>{if(_0x46339c['startsWith']('\x22'))return _0x46339c['slice'](0x1,-0x1);return'_'+_0x46339c;}),_0x155f64=await this['kvsql']()['hmget'](_0x42fb7f,_0x5a16b3),_0x500947={};return _0x5dd2c4['forEach']((_0x9ffeff,_0xc026f4)=>{_0x9ffeff['startsWith']('\x22')&&(_0x9ffeff=_0x9ffeff['slice'](0x1,-0x1)),_0x500947[_0x9ffeff]=_0x155f64[_0xc026f4];}),_0x500947;}async['getState'](_0x5a6939,_0x5ada2d,_0x41348b){const _0x51afdc=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x5a6939}),_0x850870=Object['keys'](_0x5ada2d),_0x29c4fa=await this['getSymbolKeys'](_0x850870);this['serializer']['resetSymbols'](_0x29c4fa,{},_0x41348b);const _0xf3c52=this['serializer']['abbreviate'](_0x5ada2d,_0x850870,[':']),_0x75f049=await this['kvsql']()['hmget'](_0x51afdc,_0xf3c52),_0xdcfd70={};let _0x2f2e92=![];_0xf3c52['forEach']((_0xdb32d4,_0x1209b0)=>{_0x75f049[_0x1209b0]&&(_0x2f2e92=!![]),_0xdcfd70[_0xdb32d4]=_0x75f049[_0x1209b0];});if(_0x2f2e92){const _0x27824c=await this['getSymbolValues']();this['serializer']['resetSymbols'](_0x29c4fa,_0x27824c,_0x41348b);const _0x3f4b7a=this['serializer']['unpackage'](_0xdcfd70,_0x850870);let _0x3b2418=0x0;return _0x3f4b7a[':']&&(_0x3b2418=Number(_0x3f4b7a[':']),_0x3f4b7a['metadata/js']=_0x3b2418,delete _0x3f4b7a[':']),[_0x3f4b7a,_0x3b2418];}else throw new errors_1['GetStateError'](_0x5a6939);}async['getRaw'](_0x3be07f){const _0x8a29b=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x3be07f}),_0x2391ee=await this['kvsql']()['hgetall'](_0x8a29b);if(!_0x2391ee)throw new errors_1['GetStateError'](_0x3be07f);return _0x2391ee;}async['collate'](_0x32880c,_0x13af79,_0xa33f8d,_0x445523,_0x178925){const _0xb73bd8=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x32880c}),_0xa39404=_0x13af79+'/output/metadata/as',_0x2a205d=[_0x13af79],_0x235988=await this['getSymbolKeys'](_0x2a205d),_0x1103bd=await this['getSymbolValues']();this['serializer']['resetSymbols'](_0x235988,_0x1103bd,_0x445523);const _0xf89fcb={[_0xa39404]:_0xa33f8d['toString']()},_0x1b3852=this['serializer']['package'](_0xf89fcb,_0x2a205d),_0x15b797=Object['keys'](_0x1b3852)[0x0];return await this['kvsql'](_0x178925)['hincrbyfloat'](_0xb73bd8,_0x15b797,_0xa33f8d);}async['collateSynthetic'](_0x5c9aab,_0x1b18eb,_0x25c4f7,_0x4839d3){const _0x249815=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x5c9aab});return await this['kvsql'](_0x4839d3)['hincrbyfloat'](_0x249815,_0x1b18eb,_0x25c4f7);}async['setStateNX'](_0x730333,_0x4f5446,_0x258893){const _0x5efb7e=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':_0x4f5446,'jobId':_0x730333}),_0xb53b66=await this['kvsql']()['hsetnx'](_0x5efb7e,':',_0x258893?.['toString']()??'1');return this['isSuccessful'](_0xb53b66);}async['getSchema'](_0x3c75b9,_0x7ccb67){const _0x16fde6=this['cache']['getSchema'](_0x7ccb67['id'],_0x7ccb67['version'],_0x3c75b9);if(_0x16fde6)return _0x16fde6;else{const _0x380c27=await this['getSchemas'](_0x7ccb67);return _0x380c27[_0x3c75b9];}}async['getSchemas'](_0x1bf8bc){let _0x45db97=this['cache']['getSchemas'](_0x1bf8bc['id'],_0x1bf8bc['version']);if(_0x45db97&&Object['keys'](_0x45db97)['length']>0x0)return _0x45db97;else{const _0x553fa3={'appId':_0x1bf8bc['id'],'appVersion':_0x1bf8bc['version']},_0xc53765=this['mintKey'](key_1['KeyType']['SCHEMAS'],_0x553fa3);_0x45db97={};const _0x588a1e=await this['kvsql']()['hgetall'](_0xc53765);return Object['entries'](_0x588a1e)['forEach'](([_0x47059e,_0x1e9fc9])=>{_0x45db97[_0x47059e]=JSON['parse'](_0x1e9fc9);}),this['cache']['setSchemas'](_0x1bf8bc['id'],_0x1bf8bc['version'],_0x45db97),_0x45db97;}}async['setSchemas'](_0x592bab,_0x14583a){const _0x516d88={'appId':_0x14583a['id'],'appVersion':_0x14583a['version']},_0x3fb262=this['mintKey'](key_1['KeyType']['SCHEMAS'],_0x516d88),_0x551c91={..._0x592bab};Object['entries'](_0x551c91)['forEach'](([_0x123515,_0x4c6774])=>{_0x551c91[_0x123515]=JSON['stringify'](_0x4c6774);});const _0x5cf267=await this['kvsql']()['hset'](_0x3fb262,_0x551c91);return this['cache']['setSchemas'](_0x14583a['id'],_0x14583a['version'],_0x592bab),_0x5cf267;}async['setSubscriptions'](_0x4a8762,_0x248a89){const _0x581936={'appId':_0x248a89['id'],'appVersion':_0x248a89['version']},_0x36868d=this['mintKey'](key_1['KeyType']['SUBSCRIPTIONS'],_0x581936),_0x2a1d19={..._0x4a8762};Object['entries'](_0x2a1d19)['forEach'](([_0x3a9c72,_0x354ccb])=>{_0x2a1d19[_0x3a9c72]=JSON['stringify'](_0x354ccb);});const _0x1ea3b3=await this['kvsql']()['hset'](_0x36868d,_0x2a1d19);return this['cache']['setSubscriptions'](_0x248a89['id'],_0x248a89['version'],_0x4a8762),this['isSuccessful'](_0x1ea3b3);}async['getSubscriptions'](_0x4b872a){let _0x175df7=this['cache']['getSubscriptions'](_0x4b872a['id'],_0x4b872a['version']);if(_0x175df7&&Object['keys'](_0x175df7)['length']>0x0)return _0x175df7;else{const _0x12b57b={'appId':_0x4b872a['id'],'appVersion':_0x4b872a['version']},_0x215920=this['mintKey'](key_1['KeyType']['SUBSCRIPTIONS'],_0x12b57b);return _0x175df7=await this['kvsql']()['hgetall'](_0x215920)||{},Object['entries'](_0x175df7)['forEach'](([_0xe4368f,_0x236350])=>{_0x175df7[_0xe4368f]=JSON['parse'](_0x236350);}),this['cache']['setSubscriptions'](_0x4b872a['id'],_0x4b872a['version'],_0x175df7),_0x175df7;}}async['getSubscription'](_0x3ca534,_0xe4ce87){const _0x440cc0=await this['getSubscriptions'](_0xe4ce87);return _0x440cc0[_0x3ca534];}async['setTransitions'](_0x25a17d,_0x1f65d2){const _0x35663a={'appId':_0x1f65d2['id'],'appVersion':_0x1f65d2['version']},_0xa3632b=this['mintKey'](key_1['KeyType']['SUBSCRIPTION_PATTERNS'],_0x35663a),_0xb1f64d={..._0x25a17d};Object['entries'](_0xb1f64d)['forEach'](([_0x3393db,_0x120089])=>{_0xb1f64d[_0x3393db]=JSON['stringify'](_0x120089);});if(Object['keys'](_0xb1f64d)['length']!==0x0){const _0x56e9d8=await this['kvsql']()['hset'](_0xa3632b,_0xb1f64d);return this['cache']['setTransitions'](_0x1f65d2['id'],_0x1f65d2['version'],_0x25a17d),_0x56e9d8;}}async['getTransitions'](_0x499134){let _0x2554ea=this['cache']['getTransitions'](_0x499134['id'],_0x499134['version']);if(_0x2554ea&&Object['keys'](_0x2554ea)['length']>0x0)return _0x2554ea;else{const _0x55bca1={'appId':_0x499134['id'],'appVersion':_0x499134['version']},_0x5d92b9=this['mintKey'](key_1['KeyType']['SUBSCRIPTION_PATTERNS'],_0x55bca1);_0x2554ea={};const _0x1f9b28=await this['kvsql']()['hgetall'](_0x5d92b9);return Object['entries'](_0x1f9b28)['forEach'](([_0x1e2cc2,_0x3e05cd])=>{_0x2554ea[_0x1e2cc2]=JSON['parse'](_0x3e05cd);}),this['cache']['setTransitions'](_0x499134['id'],_0x499134['version'],_0x2554ea),_0x2554ea;}}async['setHookRules'](_0x315414){const _0x3d291d=this['mintKey'](key_1['KeyType']['HOOKS'],{'appId':this['appId']}),_0x4e3744={};Object['entries'](_0x315414)['forEach'](([_0x308b56,_0x3ee43d])=>{_0x4e3744[_0x308b56['toString']()]=JSON['stringify'](_0x3ee43d);});if(Object['keys'](_0x4e3744)['length']!==0x0){const _0x45885a=await this['kvsql']()['hset'](_0x3d291d,_0x4e3744);return this['cache']['setHookRules'](this['appId'],_0x315414),_0x45885a;}}async['getHookRules'](){let _0x14ed2f=this['cache']['getHookRules'](this['appId']);if(_0x14ed2f&&Object['keys'](_0x14ed2f)['length']>0x0)return _0x14ed2f;else{const _0x533927=this['mintKey'](key_1['KeyType']['HOOKS'],{'appId':this['appId']}),_0x4fb371=await this['kvsql']()['hgetall'](_0x533927);return _0x14ed2f={},Object['entries'](_0x4fb371)['forEach'](([_0x42612a,_0x2e0534])=>{_0x14ed2f[_0x42612a]=JSON['parse'](_0x2e0534);}),this['cache']['setHookRules'](this['appId'],_0x14ed2f),_0x14ed2f;}}async['setHookSignal'](_0x5ccc5e,_0x1c76d2){const _0x1a4314=this['mintKey'](key_1['KeyType']['SIGNALS'],{'appId':this['appId']}),{topic:_0x2cdd80,resolved:_0x3986c9,jobId:_0x3d2a0c}=_0x5ccc5e,_0x31afdc=_0x2cdd80+':'+_0x3986c9;await this['kvsql'](_0x1c76d2)['setnxex'](_0x1a4314+':'+_0x31afdc,_0x3d2a0c,Math['max'](_0x5ccc5e['expire'],enums_1['HMSH_SIGNAL_EXPIRE']));}async['getHookSignal'](_0x4d5d33,_0x1aff13){const _0x756924=this['mintKey'](key_1['KeyType']['SIGNALS'],{'appId':this['appId']}),_0x4ec3f2=await this['kvsql']()['get'](_0x756924+':'+_0x4d5d33+':'+_0x1aff13);return _0x4ec3f2?_0x4ec3f2['toString']():undefined;}async['deleteHookSignal'](_0x1e7d08,_0x1b2867){const _0x593e20=this['mintKey'](key_1['KeyType']['SIGNALS'],{'appId':this['appId']}),_0x323495=await this['kvsql']()['del'](_0x593e20+':'+_0x1e7d08+':'+_0x1b2867);return _0x323495?Number(_0x323495):undefined;}async['addTaskQueues'](_0xd34c35){const _0x5a1f62=this['kvsql'](this['transact']()),_0x2f6d2d=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId']});for(const _0xba0768 of _0xd34c35){_0x5a1f62['zadd'](_0x2f6d2d,Date['now'](),_0xba0768,{'nx':!![]});}await _0x5a1f62['exec']();}async['getActiveTaskQueue'](){let _0x2ab870=this['cache']['getActiveTaskQueue'](this['appId'])||null;if(!_0x2ab870){const _0x2ed828=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId']}),_0x3eaf28=await this['kvsql']()['zrange'](_0x2ed828,0x0,0x0);_0x2ab870=_0x3eaf28['length']>0x0?_0x3eaf28[0x0]:null,_0x2ab870&&this['cache']['setWorkItem'](this['appId'],_0x2ab870);}return _0x2ab870;}async['deleteProcessedTaskQueue'](_0x10df78,_0x5e6ca1,_0x3b0bd7,_0x3f40cb=![]){const _0x1a82c4=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId']}),_0x53ea4d=await this['kvsql']()['zrem'](_0x1a82c4,_0x10df78);_0x53ea4d&&(_0x3f40cb?(this['kvsql']()['expire'](_0x3b0bd7,0x0),this['kvsql']()['expire'](_0x5e6ca1['split'](':')['slice'](0x0,0x5)['join'](':'),0x0)):await this['kvsql']()['rename'](_0x3b0bd7,_0x5e6ca1)),this['cache']['removeWorkItem'](this['appId']);}async['processTaskQueue'](_0x41639e,_0xc2d61f){return await this['kvsql']()['lmove'](_0x41639e,_0xc2d61f,'LEFT','RIGHT');}async['expireJob'](_0x1b5ba5,_0x1f326a,_0x2a8332){if(!isNaN(_0x1f326a)&&_0x1f326a>0x0){const _0x3d73d2=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x1b5ba5});await this['kvsql'](_0x2a8332)['expire'](_0x3d73d2,_0x1f326a);}}async['getDependencies'](_0x38253a){const _0x418732={'appId':this['appId'],'jobId':_0x38253a},_0x1a6ebb=this['mintKey'](key_1['KeyType']['JOB_DEPENDENTS'],_0x418732);return this['kvsql']()['lrange'](_0x1a6ebb,0x0,-0x1);}async['registerTimeHook'](_0x482fe2,_0x12d04a,_0x2eae00,_0x5ede99,_0x15d3b6,_0x472fdc,_0x211a24){const _0x41235f=this['mintKey'](key_1['KeyType']['TIME_RANGE'],{'appId':this['appId'],'timeValue':_0x15d3b6}),_0x9e74c5=[_0x5ede99,_0x2eae00,_0x12d04a,_0x472fdc,_0x482fe2]['join'](key_1['VALSEP']),_0x10755c=await this['kvsql'](_0x211a24)['rpush'](_0x41235f,_0x9e74c5);if(_0x211a24||_0x10755c===0x1){const _0x3c4904=this['mintKey'](key_1['KeyType']['TIME_RANGE'],{'appId':this['appId']});await this['zAdd'](_0x3c4904,_0x15d3b6['toString'](),_0x41235f,_0x211a24);}}async['getNextTask'](_0x35ffaa){const _0x256226=this['mintKey'](key_1['KeyType']['TIME_RANGE'],{'appId':this['appId']});_0x35ffaa=_0x35ffaa||await this['zRangeByScore'](_0x256226,0x0,Date['now']());if(_0x35ffaa){let [_0x44cdb4,_0x3cbe03]=this['resolveTaskKeyContext'](_0x35ffaa);const _0x4db6e4=await this['kvsql']()['lpop'](_0x3cbe03);if(_0x4db6e4){let [_0x262691,_0x8da526,_0x30c8a0,_0x4dfb12,..._0x24e0ac]=_0x4db6e4['split'](key_1['VALSEP']);const _0x4c850b=_0x24e0ac['join'](key_1['VALSEP']);if(_0x262691==='delist')_0x44cdb4='delist';else{if(_0x262691==='child')_0x44cdb4='child';else _0x262691==='expire-child'&&(_0x262691='expire');}return[_0x35ffaa,_0x4c850b,_0x30c8a0,_0x8da526,_0x44cdb4];}return await this['kvsql']()['zrem'](_0x256226,_0x35ffaa),!![];}return![];}['resolveTaskKeyContext'](_0x4d979c){if(_0x4d979c['startsWith'](key_1['TYPSEP']+'INTERRUPT'))return['interrupt',_0x4d979c['split'](key_1['TYPSEP'])[0x2]];else return _0x4d979c['startsWith'](key_1['TYPSEP']+'EXPIRE')?['expire',_0x4d979c['split'](key_1['TYPSEP'])[0x2]]:['sleep',_0x4d979c];}async['interrupt'](_0x14b139,_0x386c4c,_0x2d8a42={}){try{const _0x3ea58f=await this['getStatus'](_0x386c4c,this['appId']);if(_0x3ea58f<=0x0)throw new Error('Job\x20'+_0x386c4c+'\x20already\x20completed');const _0x1d3f94=-0x3b9aca00,_0x4899b9=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x386c4c}),_0x29bb86=await this['kvsql']()['hincrbyfloat'](_0x4899b9,':',_0x1d3f94);if(_0x29bb86<=_0x1d3f94)throw new Error('Job\x20'+_0x386c4c+'\x20already\x20completed');if(_0x2d8a42['throw']!==![]){const _0x39181d='metadata/err',_0x291d0f=['$'+_0x14b139],_0x22765c=await this['getSymbolKeys'](_0x291d0f),_0x8ace43=await this['getSymbolValues']();this['serializer']['resetSymbols'](_0x22765c,_0x8ace43,{});const _0x4201d5=JSON['stringify']({'code':_0x2d8a42['code']??enums_1['HMSH_CODE_INTERRUPT'],'message':_0x2d8a42['reason']??'job\x20['+_0x386c4c+']\x20interrupted','stack':_0x2d8a42['stack']??'','job_id':_0x386c4c}),_0x5308af={[_0x39181d]:_0x1d3f94['toString']()},_0x56b586=this['serializer']['package'](_0x5308af,_0x291d0f),_0x54e18f=Object['keys'](_0x56b586)[0x0];await this['kvsql']()['hset'](_0x4899b9,{[_0x54e18f]:_0x4201d5});}}catch(_0xde35bd){if(!_0x2d8a42['suppress'])throw _0xde35bd;else this['logger']['debug']('suppressed-interrupt',{'message':_0xde35bd['message']});}}async['scrub'](_0xde336d){const _0x2749d0=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0xde336d});await this['kvsql']()['del'](_0x2749d0);}async['findJobs'](_0x2aabeb='*',_0x277c56=0x3e8,_0x280d65=0x3e8,_0x5f42be='0'){const _0x48d355=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x2aabeb}),{cursor:_0x5c4385,keys:_0x51609c}=await this['kvsql']()['scan'](Number(_0x5f42be),_0x277c56,_0x48d355);return[_0x5c4385['toPrecision'](),_0x51609c];}async['findJobFields'](_0x275656,_0x238ce0='*',_0x19c77c=0x3e8,_0x4b92e7=0x3e8,_0x437382='0'){const _0x2fe712={},_0x517fec=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x275656});let _0x17af63,_0x5fb576;if(_0x238ce0['includes'](',')){const _0x542a6a=/\d[^-]+-/gi,_0x11a2e6=_0x238ce0['match'](_0x542a6a);_0x5fb576=','+(_0x11a2e6?.[0x0]??''),_0x17af63='hmark';}else _0x17af63='jmark';const _0x5ad540=parseInt(_0x437382,0xa)||0x0,_0x56874c=this['kvsql']()['tableForKey'](_0x517fec,'hash'),_0x5d2269=[_0x517fec,_0x17af63,_0x19c77c,_0x5ad540],_0x511da7='\x0a\x20\x20\x20\x20\x20\x20SELECT\x20field,\x20value\x0a\x20\x20\x20\x20\x20\x20FROM\x20'+_0x56874c+'\x0a\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x20AND\x20type\x20=\x20$2\x0a\x20\x20\x20\x20\x20\x20LIMIT\x20$3\x20OFFSET\x20$4\x0a\x20\x20\x20\x20',_0x385b94=await this['pgClient']['query'](_0x511da7,_0x5d2269);if(_0x17af63==='hmark')for(const _0x3118f8 of _0x385b94['rows']){_0x3118f8['field']['includes'](_0x5fb576)&&(_0x2fe712[_0x3118f8['field']]=_0x3118f8['value']);}else for(const _0x237f6a of _0x385b94['rows']){_0x2fe712[_0x237f6a['field']]=_0x237f6a['value'];}const _0x3c239b=_0x385b94['rows']['length']<_0x19c77c?'0':String(_0x5ad540+_0x385b94['rows']['length']);return[_0x3c239b,_0x2fe712];}async['setThrottleRate'](_0x4a3b28){const _0x4f9eb1=this['mintKey'](key_1['KeyType']['THROTTLE_RATE'],{'appId':this['appId']});if(_0x4a3b28['guid'])return;const _0x52284b=_0x4a3b28['throttle']['toString']();if(_0x4a3b28['topic'])await this['kvsql']()['hset'](_0x4f9eb1,{[_0x4a3b28['topic']]:_0x52284b});else{const _0x271c29=this['transact']();_0x271c29['del'](_0x4f9eb1),_0x271c29['hset'](_0x4f9eb1,{':':_0x52284b}),await _0x271c29['exec']();}}async['getThrottleRates'](){const _0x58f8d2=this['mintKey'](key_1['KeyType']['THROTTLE_RATE'],{'appId':this['appId']}),_0x9dcc16=await this['kvsql']()['hgetall'](_0x58f8d2);return _0x9dcc16??{};}async['getThrottleRate'](_0x10b8d7){const _0x152478=(_0x2add2b,_0x4b3df3)=>{const _0x510fec=_0x4b3df3 in _0x2add2b?Number(_0x2add2b[_0x4b3df3]):0x0;if(isNaN(_0x510fec))return 0x0;if(_0x510fec==-0x1)return enums_1['MAX_DELAY'];return Math['max'](Math['min'](_0x510fec,enums_1['MAX_DELAY']),0x0);},_0x51b216=await this['getThrottleRates'](),_0x1e807e=_0x152478(_0x51b216,':');if(_0x10b8d7===':'||!(_0x10b8d7 in _0x51b216))return _0x1e807e;return _0x152478(_0x51b216,_0x10b8d7);}}exports['PostgresStoreService']=PostgresStoreService;
|