@hotmeshio/hotmesh 0.3.8 → 0.3.10
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 +7 -13
- package/build/index.d.ts +5 -2
- package/build/index.js +8 -3
- package/build/modules/key.js +1 -1
- package/build/modules/utils.d.ts +12 -4
- package/build/modules/utils.js +1 -1
- package/build/package.json +15 -8
- package/build/services/activities/activity.d.ts +9 -9
- package/build/services/activities/activity.js +1 -1
- package/build/services/activities/await.d.ts +2 -2
- package/build/services/activities/await.js +1 -1
- package/build/services/activities/cycle.d.ts +2 -2
- package/build/services/activities/cycle.js +1 -1
- package/build/services/activities/hook.d.ts +2 -2
- 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.d.ts +3 -3
- package/build/services/activities/trigger.js +1 -1
- package/build/services/activities/worker.d.ts +2 -2
- package/build/services/activities/worker.js +1 -1
- package/build/services/collator/index.d.ts +9 -9
- package/build/services/collator/index.js +1 -1
- package/build/services/compiler/deployer.d.ts +4 -4
- package/build/services/compiler/deployer.js +1 -1
- package/build/services/compiler/index.d.ts +4 -4
- package/build/services/compiler/index.js +1 -1
- package/build/services/compiler/validator.d.ts +3 -3
- package/build/services/compiler/validator.js +1 -1
- package/build/services/connector/factory.d.ts +7 -0
- package/build/services/connector/factory.js +65 -0
- package/build/services/connector/index.d.ts +13 -4
- package/build/services/connector/index.js +30 -23
- package/build/services/connector/providers/ioredis.d.ts +9 -0
- package/build/services/connector/providers/ioredis.js +26 -0
- package/build/services/connector/providers/nats.d.ts +9 -0
- package/build/services/connector/providers/nats.js +26 -0
- package/build/services/connector/providers/postgres.d.ts +9 -0
- package/build/services/connector/providers/postgres.js +44 -0
- package/build/services/connector/providers/redis.d.ts +9 -0
- package/build/services/connector/providers/redis.js +38 -0
- package/build/services/engine/index.d.ts +12 -12
- package/build/services/engine/index.js +1 -1
- package/build/services/exporter/index.d.ts +3 -3
- package/build/services/exporter/index.js +1 -1
- package/build/services/hotmesh/index.js +4 -4
- package/build/services/mapper/index.js +1 -1
- package/build/services/meshcall/index.d.ts +5 -4
- package/build/services/meshcall/index.js +31 -14
- package/build/services/meshdata/index.d.ts +6 -6
- package/build/services/meshdata/index.js +7 -15
- package/build/services/meshflow/connection.d.ts +3 -2
- package/build/services/meshflow/exporter.d.ts +3 -3
- package/build/services/meshflow/exporter.js +1 -1
- package/build/services/meshflow/search.js +12 -4
- package/build/services/meshflow/worker.js +7 -7
- package/build/services/meshos/index.d.ts +1 -4
- package/build/services/meshos/index.js +11 -44
- 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.d.ts +2 -0
- 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.d.ts +5 -5
- package/build/services/quorum/index.js +1 -1
- package/build/services/reporter/index.d.ts +2 -2
- package/build/services/reporter/index.js +1 -1
- package/build/services/router/index.d.ts +8 -13
- package/build/services/router/index.js +1 -1
- package/build/services/search/factory.d.ts +2 -2
- package/build/services/search/factory.js +1 -1
- package/build/services/search/index.d.ts +5 -4
- 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/factory.d.ts +3 -3
- package/build/services/store/factory.js +1 -1
- package/build/services/store/index.d.ts +18 -17
- package/build/services/store/providers/redis/_base.d.ts +13 -15
- package/build/services/store/providers/redis/_base.js +1 -1
- package/build/services/store/providers/redis/ioredis.d.ts +2 -2
- package/build/services/store/providers/redis/ioredis.js +1 -1
- package/build/services/store/providers/redis/redis.d.ts +2 -2
- package/build/services/store/providers/redis/redis.js +1 -1
- package/build/services/store/providers/store-initializable.js +1 -1
- package/build/services/stream/factory.d.ts +3 -3
- package/build/services/stream/factory.js +16 -4
- package/build/services/stream/index.d.ts +57 -18
- package/build/services/stream/index.js +2 -1
- package/build/services/stream/providers/nats/nats.d.ts +59 -0
- package/build/services/stream/providers/nats/nats.js +1 -0
- package/build/services/stream/providers/postgres/postgres.d.ts +68 -0
- package/build/services/stream/providers/postgres/postgres.js +1 -0
- package/build/services/stream/providers/redis/ioredis.d.ts +53 -14
- package/build/services/stream/providers/redis/ioredis.js +1 -1
- package/build/services/stream/providers/redis/redis.d.ts +54 -15
- package/build/services/stream/providers/redis/redis.js +1 -1
- package/build/services/stream/providers/stream-initializable.d.ts +1 -2
- package/build/services/stream/providers/stream-initializable.js +1 -1
- package/build/services/sub/factory.d.ts +2 -2
- package/build/services/sub/factory.js +1 -1
- package/build/services/sub/index.d.ts +6 -5
- package/build/services/sub/providers/redis/ioredis.d.ts +1 -1
- package/build/services/sub/providers/redis/ioredis.js +1 -1
- package/build/services/sub/providers/redis/redis.d.ts +4 -4
- package/build/services/sub/providers/redis/redis.js +1 -1
- package/build/services/task/index.d.ts +5 -5
- package/build/services/task/index.js +1 -1
- package/build/services/telemetry/index.js +1 -1
- package/build/services/worker/index.d.ts +9 -9
- package/build/services/worker/index.js +1 -1
- package/build/types/hotmesh.d.ts +26 -14
- package/build/types/index.d.ts +8 -5
- package/build/types/manifest.d.ts +1 -9
- package/build/types/meshcall.d.ts +12 -7
- package/build/types/meshflow.d.ts +3 -7
- package/build/types/nats.d.ts +150 -0
- package/build/types/nats.js +2 -0
- package/build/types/postgres.d.ts +70 -0
- package/build/types/postgres.js +2 -0
- package/build/types/provider.d.ts +26 -0
- package/build/types/provider.js +2 -0
- package/build/types/redis.d.ts +33 -15
- package/build/types/stream.d.ts +65 -1
- package/index.ts +10 -5
- package/package.json +15 -8
- package/typedoc.json +6 -0
- package/types/hotmesh.ts +139 -22
- package/types/index.ts +80 -17
- package/types/manifest.ts +1 -10
- package/types/meshcall.ts +38 -13
- package/types/meshflow.ts +2 -7
- package/types/nats.ts +236 -0
- package/types/postgres.ts +85 -0
- package/types/provider.ts +71 -0
- package/types/redis.ts +63 -18
- package/types/stream.ts +85 -1
- package/build/services/connector/clients/ioredis.d.ts +0 -13
- package/build/services/connector/clients/ioredis.js +0 -48
- package/build/services/connector/clients/redis.d.ts +0 -13
- package/build/services/connector/clients/redis.js +0 -60
- package/build/services/stream/providers/postgres/_deploy.d.ts +0 -4
- package/build/services/stream/providers/postgres/_deploy.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(_0x5ded63,_0xbd454f){const _0x4f2eab=_0x120b,_0x2dffaf=_0x5ded63();while(!![]){try{const _0xd716c=parseInt(_0x4f2eab(0x7e))/0x1*(parseInt(_0x4f2eab(0x78))/0x2)+-parseInt(_0x4f2eab(0x7b))/0x3*(parseInt(_0x4f2eab(0x7d))/0x4)+-parseInt(_0x4f2eab(0x79))/0x5*(parseInt(_0x4f2eab(0x80))/0x6)+-parseInt(_0x4f2eab(0x82))/0x7*(-parseInt(_0x4f2eab(0x77))/0x8)+-parseInt(_0x4f2eab(0x7f))/0x9*(-parseInt(_0x4f2eab(0x7a))/0xa)+-parseInt(_0x4f2eab(0x7c))/0xb+parseInt(_0x4f2eab(0x81))/0xc;if(_0xd716c===_0xbd454f)break;else _0x2dffaf['push'](_0x2dffaf['shift']());}catch(_0x332097){_0x2dffaf['push'](_0x2dffaf['shift']());}}}(_0x34fc,0xf21bc));function _0x120b(_0x41a5e9,_0x1d4470){const _0x34fcc3=_0x34fc();return _0x120b=function(_0x120bd9,_0x32a1e0){_0x120bd9=_0x120bd9-0x77;let _0x27c875=_0x34fcc3[_0x120bd9];return _0x27c875;},_0x120b(_0x41a5e9,_0x1d4470);}function _0x34fc(){const _0x27d9f4=['8HakkLO','24994EUtsYJ','549415RuyLay','50ZUQujg','3CIayJD','17901136pszSbH','1203352FGgBWV','33zOtXHn','147213XBZtCu','24SivcOf','10652412oLTKQt','13842745AptmeN'];_0x34fc=function(){return _0x27d9f4;};return _0x34fc();}var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x1510bb,_0x57a6b3,_0x5428d2,_0x22e918){if(_0x22e918===undefined)_0x22e918=_0x5428d2;var _0x3f1741=Object['getOwnPropertyDescriptor'](_0x57a6b3,_0x5428d2);(!_0x3f1741||('get'in _0x3f1741?!_0x57a6b3['__esModule']:_0x3f1741['writable']||_0x3f1741['configurable']))&&(_0x3f1741={'enumerable':!![],'get':function(){return _0x57a6b3[_0x5428d2];}}),Object['defineProperty'](_0x1510bb,_0x22e918,_0x3f1741);}:function(_0x4397c4,_0x46bca1,_0x18a4f0,_0x163c04){if(_0x163c04===undefined)_0x163c04=_0x18a4f0;_0x4397c4[_0x163c04]=_0x46bca1[_0x18a4f0];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x5bf245,_0x51fd0a){Object['defineProperty'](_0x5bf245,'default',{'enumerable':!![],'value':_0x51fd0a});}:function(_0xea52f4,_0x3e1f24){_0xea52f4['default']=_0x3e1f24;}),__importStar=this&&this['__importStar']||function(_0x4c2e09){if(_0x4c2e09&&_0x4c2e09['__esModule'])return _0x4c2e09;var _0x4f4ac2={};if(_0x4c2e09!=null){for(var _0x1087e1 in _0x4c2e09)if(_0x1087e1!=='default'&&Object['prototype']['hasOwnProperty']['call'](_0x4c2e09,_0x1087e1))__createBinding(_0x4f4ac2,_0x4c2e09,_0x1087e1);}return __setModuleDefault(_0x4f4ac2,_0x4c2e09),_0x4f4ac2;};Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['RedisStoreBase']=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('../..');class RedisStoreBase extends __1['StoreService']{constructor(_0x90f4b){super(_0x90f4b),this['commands']={},this['storeClient']=_0x90f4b;}async['init'](_0x42a2b8=key_1['HMNS'],_0x412893,_0x442fe4){this['namespace']=_0x42a2b8,this['appId']=_0x412893,this['logger']=_0x442fe4;const _0x6cbb75=await this['getSettings'](!![]);return this['cache']=new cache_1['Cache'](_0x412893,_0x6cbb75),this['serializer']=new serializer_1['SerializerService'](),await this['getApp'](_0x412893),this['cache']['getApps']();}['isSuccessful'](_0xcea7f0){return _0xcea7f0>0x0||_0xcea7f0==='OK'||_0xcea7f0===!![];}async['delistSignalKey'](_0xd5cddd,_0xe1f0a2){await this['storeClient'][this['commands']['del']](_0xd5cddd+':'+_0xe1f0a2);}async['zAdd'](_0xec354f,_0x465b6e,_0x5bcb28,_0x2ca5db){return await(_0x2ca5db||this['storeClient'])[this['commands']['zadd']](_0xec354f,_0x465b6e,_0x5bcb28);}async['zRangeByScoreWithScores'](_0x38d16c,_0x49dfa2,_0x582fb5){const _0x111658=await this['storeClient'][this['commands']['zrangebyscore_withscores']](_0x38d16c,_0x49dfa2,_0x582fb5,'WITHSCORES');if(_0x111658?.['length']>0x0)return _0x111658[0x0];return null;}async['zRangeByScore'](_0x1526df,_0x236d1b,_0x1071c7){const _0x11f5b9=await this['storeClient'][this['commands']['zrangebyscore']](_0x1526df,_0x236d1b,_0x1071c7);if(_0x11f5b9?.['length']>0x0)return _0x11f5b9[0x0];return null;}['mintKey'](_0x231746,_0xf66474){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x231746,_0xf66474);}['invalidateCache'](){this['cache']['invalidate']();}async['reserveScoutRole'](_0x12720c,_0x3f5c5b=enums_1['HMSH_SCOUT_INTERVAL_SECONDS']){const _0x2e4a7c=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId'],'scoutType':_0x12720c}),_0xd266e6=await this['exec']('SET',_0x2e4a7c,_0x12720c+':'+(0x0,utils_1['formatISODate'])(new Date()),'NX','EX',''+(_0x3f5c5b-0x1));return this['isSuccessful'](_0xd266e6);}async['releaseScoutRole'](_0x409ec0){const _0x100f1d=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId'],'scoutType':_0x409ec0}),_0x430147=await this['exec']('DEL',_0x100f1d);return this['isSuccessful'](_0x430147);}async['getSettings'](_0x4e5092=![]){let _0x3f028c=this['cache']?.['getSettings']();if(_0x3f028c)return _0x3f028c;else{if(_0x4e5092){const _0x4bc615=await Promise['resolve']()['then'](()=>__importStar(require('../../../../package.json'))),_0x41c8d9=_0x4bc615['version']||'0.0.0';return _0x3f028c={'namespace':key_1['HMNS'],'version':_0x41c8d9},await this['setSettings'](_0x3f028c),_0x3f028c;}}throw new Error('settings\x20not\x20found');}async['setSettings'](_0x49fec7){const _0x310743={},_0x34256e=this['mintKey'](key_1['KeyType']['HOTMESH'],_0x310743);return await this['storeClient'][this['commands']['hset']](_0x34256e,_0x49fec7);}async['reserveSymbolRange'](_0x59453f,_0x1ae705,_0x1da15f,_0x58db21=0x1){const _0x421c85=this['mintKey'](key_1['KeyType']['SYMKEYS'],{'appId':this['appId']}),_0x243233=this['mintKey'](key_1['KeyType']['SYMKEYS'],{'activityId':_0x59453f,'appId':this['appId']}),_0x5c64a2=await this['storeClient'][this['commands']['hsetnx']](_0x421c85,_0x59453f,'?:?');if(_0x5c64a2){const _0x471c7e=await this['storeClient'][this['commands']['hincrby']](_0x421c85,':cursor',_0x1ae705),_0x11cba2=_0x471c7e-_0x1ae705,_0x19717f=_0x11cba2+':'+(_0x471c7e-0x1);await this['storeClient'][this['commands']['hset']](_0x421c85,_0x59453f,_0x19717f);const _0x404f51=this['seedSymbols'](_0x59453f,_0x1da15f,_0x11cba2);return await this['storeClient'][this['commands']['hset']](_0x243233,_0x404f51),[_0x11cba2+serializer_1['MDATA_SYMBOLS']['SLOTS'],_0x471c7e-0x1,{}];}else{const _0x4ad67d=await this['storeClient'][this['commands']['hget']](_0x421c85,_0x59453f),[_0x2501b4]=_0x4ad67d['split'](':');if(_0x2501b4==='?'){await(0x0,utils_1['sleepFor'])(_0x58db21*0x3e8);if(_0x58db21<0x5)return this['reserveSymbolRange'](_0x59453f,_0x1ae705,_0x1da15f,_0x58db21+0x1);else throw new Error('Symbol\x20range\x20reservation\x20failed\x20due\x20to\x20deployment\x20contention');}else{const _0x3e768d=parseInt(_0x2501b4,0xa),_0x3eaa23=await this['storeClient'][this['commands']['hgetall']](_0x243233),_0xd1b3ab=Object['keys'](_0x3eaa23)['length'],_0x58f7be=_0x3e768d+serializer_1['MDATA_SYMBOLS']['SLOTS']+_0xd1b3ab,_0x15e0a4=Number(_0x3e768d+_0x1ae705-0x1);return[_0x58f7be,_0x15e0a4,_0x3eaa23];}}}async['getAllSymbols'](){const _0x39d4e2=this['mintKey'](key_1['KeyType']['SYMKEYS'],{'appId':this['appId']}),_0x335faa=await this['storeClient'][this['commands']['hgetall']](_0x39d4e2),_0x545c04=Object['keys'](_0x335faa)['sort']();delete _0x545c04[':cursor'];const _0x2c9c71=this['getMulti']();for(const _0x4c891f of _0x545c04){const _0x5c4e71=this['mintKey'](key_1['KeyType']['SYMKEYS'],{'activityId':_0x4c891f,'appId':this['appId']});_0x2c9c71[this['commands']['hgetall']](_0x5c4e71);}const _0x42c98e=await _0x2c9c71['exec'](),_0x2e8fb5={};return _0x42c98e['forEach']((_0x551639,_0x4fbb80)=>{if(_0x551639){let _0xf0dd91;Array['isArray'](_0x551639)&&_0x551639['length']===0x2?_0xf0dd91=_0x551639[0x1]:_0xf0dd91=_0x551639;for(const [_0x215f29,_0x118454]of Object['entries'](_0xf0dd91)){_0x2e8fb5[_0x118454]=_0x215f29['startsWith'](_0x545c04[_0x4fbb80])?_0x215f29:_0x545c04[_0x4fbb80]+'/'+_0x215f29;}}}),_0x2e8fb5;}async['getSymbols'](_0x1713aa){let _0x2db760=this['cache']['getSymbols'](this['appId'],_0x1713aa);if(_0x2db760)return _0x2db760;else{const _0xb23f5c={'activityId':_0x1713aa,'appId':this['appId']},_0x613290=this['mintKey'](key_1['KeyType']['SYMKEYS'],_0xb23f5c);return _0x2db760=await this['storeClient'][this['commands']['hgetall']](_0x613290),this['cache']['setSymbols'](this['appId'],_0x1713aa,_0x2db760),_0x2db760;}}async['addSymbols'](_0x42c481,_0x4f1365){if(!_0x4f1365||!Object['keys'](_0x4f1365)['length'])return![];const _0x57b010={'activityId':_0x42c481,'appId':this['appId']},_0x7a15af=this['mintKey'](key_1['KeyType']['SYMKEYS'],_0x57b010),_0x42d808=await this['storeClient'][this['commands']['hset']](_0x7a15af,_0x4f1365);return this['cache']['deleteSymbols'](this['appId'],_0x42c481),_0x42d808>0x0;}['seedSymbols'](_0xf18b23,_0x2d7f5f,_0x24ac34){if(_0x2d7f5f==='JOB')return this['seedJobSymbols'](_0x24ac34);return this['seedActivitySymbols'](_0x24ac34,_0xf18b23);}['seedJobSymbols'](_0x2c12b6){const _0x535f45={};return serializer_1['MDATA_SYMBOLS']['JOB']['KEYS']['forEach'](_0x537d76=>{_0x535f45['metadata/'+_0x537d76]=(0x0,utils_1['getSymKey'])(_0x2c12b6),_0x2c12b6++;}),_0x535f45;}['seedActivitySymbols'](_0x4c58e2,_0x3079bc){const _0x1854b2={};return serializer_1['MDATA_SYMBOLS']['ACTIVITY']['KEYS']['forEach'](_0x3d0813=>{_0x1854b2[_0x3079bc+'/output/metadata/'+_0x3d0813]=(0x0,utils_1['getSymKey'])(_0x4c58e2),_0x4c58e2++;}),_0x1854b2;}async['getSymbolValues'](){let _0x40ed14=this['cache']['getSymbolValues'](this['appId']);if(_0x40ed14)return _0x40ed14;else{const _0x4d40ff=this['mintKey'](key_1['KeyType']['SYMVALS'],{'appId':this['appId']});return _0x40ed14=await this['storeClient'][this['commands']['hgetall']](_0x4d40ff),this['cache']['setSymbolValues'](this['appId'],_0x40ed14),_0x40ed14;}}async['addSymbolValues'](_0x15c2bf){if(!_0x15c2bf||!Object['keys'](_0x15c2bf)['length'])return![];const _0x24f325=this['mintKey'](key_1['KeyType']['SYMVALS'],{'appId':this['appId']}),_0xf5763c=await this['storeClient'][this['commands']['hset']](_0x24f325,_0x15c2bf);return this['cache']['deleteSymbolValues'](this['appId']),this['isSuccessful'](_0xf5763c);}async['getSymbolKeys'](_0xe72329){const _0x2bf9b9=[];for(const _0x37f84b of _0xe72329){_0x2bf9b9['push'](this['getSymbols'](_0x37f84b));}const _0x5ac6b5=await Promise['all'](_0x2bf9b9),_0x5e1bfe={};for(const _0x2b5645 of _0xe72329){_0x5e1bfe[_0x2b5645]=_0x5ac6b5['shift']();}return _0x5e1bfe;}async['getApp'](_0x4c8b5a,_0x64b981=![]){let _0x1c638b=this['cache']['getApp'](_0x4c8b5a);if(_0x64b981||!(_0x1c638b&&Object['keys'](_0x1c638b)['length']>0x0)){const _0x31ede8={'appId':_0x4c8b5a},_0x557e9f=this['mintKey'](key_1['KeyType']['APP'],_0x31ede8),_0x3cd5f3=await this['storeClient'][this['commands']['hgetall']](_0x557e9f);if(!_0x3cd5f3)return null;_0x1c638b={};for(const _0x171d02 in _0x3cd5f3){try{_0x171d02==='active'?_0x1c638b[_0x171d02]=_0x3cd5f3[_0x171d02]==='true':_0x1c638b[_0x171d02]=_0x3cd5f3[_0x171d02];}catch(_0x30a542){_0x1c638b[_0x171d02]=_0x3cd5f3[_0x171d02];}}this['cache']['setApp'](_0x4c8b5a,_0x1c638b);}return _0x1c638b;}async['setApp'](_0x512333,_0x3e48a5){const _0x474902={'appId':_0x512333},_0x3387ff=this['mintKey'](key_1['KeyType']['APP'],_0x474902),_0x1d93e7='versions/'+_0x3e48a5,_0x26aa29={'id':_0x512333,'version':_0x3e48a5,[_0x1d93e7]:'deployed:'+(0x0,utils_1['formatISODate'])(new Date())};return await this['storeClient'][this['commands']['hset']](_0x3387ff,_0x26aa29),this['cache']['setApp'](_0x512333,_0x26aa29),_0x26aa29;}async['activateAppVersion'](_0x418c1c,_0x449c13){const _0x163f09={'appId':_0x418c1c},_0x4ef4f4=this['mintKey'](key_1['KeyType']['APP'],_0x163f09),_0x2a70d1='versions/'+_0x449c13,_0x44ee93=await this['getApp'](_0x418c1c,!![]);if(_0x44ee93&&_0x44ee93[_0x2a70d1]){const _0x2c3cdd={'id':_0x418c1c,'version':_0x449c13['toString'](),[_0x2a70d1]:'activated:'+(0x0,utils_1['formatISODate'])(new Date()),'active':!![]};return Object['entries'](_0x2c3cdd)['forEach'](([_0x2d056a,_0x27054f])=>{_0x2c3cdd[_0x2d056a]=_0x27054f['toString']();}),await this['storeClient'][this['commands']['hset']](_0x4ef4f4,_0x2c3cdd),!![];}throw new Error('Version\x20'+_0x449c13+'\x20does\x20not\x20exist\x20for\x20app\x20'+_0x418c1c);}async['registerAppVersion'](_0xf021ba,_0x2eafac){const _0x4192f6={'appId':_0xf021ba},_0x4648d4=this['mintKey'](key_1['KeyType']['APP'],_0x4192f6),_0xc8554f={'id':_0xf021ba,'version':_0x2eafac['toString'](),['versions/'+_0x2eafac]:(0x0,utils_1['formatISODate'])(new Date())};return await this['storeClient'][this['commands']['hset']](_0x4648d4,_0xc8554f);}async['setStats'](_0x5cf49a,_0xef0059,_0x209927,_0x59a993,_0x4f2044,_0x2273fd){const _0x1d0b04={'appId':_0x4f2044['id'],'jobId':_0xef0059,'jobKey':_0x5cf49a,'dateTime':_0x209927},_0xa34d4b=_0x2273fd||this['getMulti']();if(_0x59a993['general']['length']){const _0x4acb7f=this['mintKey'](key_1['KeyType']['JOB_STATS_GENERAL'],_0x1d0b04);for(const {target:_0x38eca6,value:_0x3bfb6f}of _0x59a993['general']){_0xa34d4b[this['commands']['hincrbyfloat']](_0x4acb7f,_0x38eca6,_0x3bfb6f);}}for(const {target:_0x5e65cf,value:_0x4b0285}of _0x59a993['index']){const _0x39e5cd={..._0x1d0b04,'facet':_0x5e65cf},_0x1db97a=this['mintKey'](key_1['KeyType']['JOB_STATS_INDEX'],_0x39e5cd);_0xa34d4b[this['commands']['rpush']](_0x1db97a,_0x4b0285['toString']());}for(const {target:_0x1aa3f5,value:_0x3b08c8}of _0x59a993['median']){const _0x26c950={..._0x1d0b04,'facet':_0x1aa3f5},_0x324123=this['mintKey'](key_1['KeyType']['JOB_STATS_MEDIAN'],_0x26c950);this['zAdd'](_0x324123,_0x3b08c8,_0x1aa3f5,_0xa34d4b);}if(!_0x2273fd)return await _0xa34d4b['exec']();}['hGetAllResult'](_0x4889c6){return _0x4889c6;}async['getJobStats'](_0x12620a){const _0x3c664d=this['getMulti']();for(const _0x4c0336 of _0x12620a){_0x3c664d[this['commands']['hgetall']](_0x4c0336);}const _0xc64a33=await _0x3c664d['exec'](),_0x32da87={};for(const [_0x15735e,_0x48ee17]of _0xc64a33['entries']()){const _0x3c4036=_0x12620a[_0x15735e],_0x26aa21=this['hGetAllResult'](_0x48ee17);if(_0x26aa21&&Object['keys'](_0x26aa21)['length']>0x0){const _0x10dd67={..._0x26aa21};for(const [_0x449297,_0x35b677]of Object['entries'](_0x10dd67)){_0x10dd67[_0x449297]=Number(_0x35b677);}_0x32da87[_0x3c4036]=_0x10dd67;}else _0x32da87[_0x3c4036]={};}return _0x32da87;}async['getJobIds'](_0x12c41d,_0x489abc){const _0x375732=this['getMulti']();for(const _0x5db8f4 of _0x12c41d){_0x375732[this['commands']['lrange']](_0x5db8f4,_0x489abc[0x0],_0x489abc[0x1]);}const _0x2d5a8c=await _0x375732['exec'](),_0x42b056={};for(const [_0x2aa150,_0xa14c25]of _0x2d5a8c['entries']()){const _0x397efb=_0x12c41d[_0x2aa150],_0x541f66=_0xa14c25[0x1]||_0xa14c25;_0x541f66&&_0x541f66['length']>0x0?_0x42b056[_0x397efb]=_0x541f66:_0x42b056[_0x397efb]=[];}return _0x42b056;}async['setStatus'](_0x3cb46b,_0x3e7d33,_0xb85198,_0x599a74){const _0x22a259=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':_0xb85198,'jobId':_0x3e7d33});return await(_0x599a74||this['storeClient'])[this['commands']['hincrbyfloat']](_0x22a259,':',_0x3cb46b);}async['getStatus'](_0x18d9d7,_0x270d9c){const _0x5bbbc2=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':_0x270d9c,'jobId':_0x18d9d7}),_0x3f32b1=await this['storeClient'][this['commands']['hget']](_0x5bbbc2,':');if(_0x3f32b1===null)throw new Error('Job\x20'+_0x18d9d7+'\x20not\x20found');return Number(_0x3f32b1);}async['setState']({..._0x4331c6},_0x1fc513,_0x83be80,_0x32054a,_0x3a3e03,_0x223b56){delete _0x4331c6['metadata/js'];const _0x16a6a8=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x83be80}),_0x1299aa=await this['getSymbolKeys'](_0x32054a),_0x3bef83=await this['getSymbolValues']();this['serializer']['resetSymbols'](_0x1299aa,_0x3bef83,_0x3a3e03);const _0x4fec36=this['serializer']['package'](_0x4331c6,_0x32054a);return _0x1fc513!==null?_0x4fec36[':']=_0x1fc513['toString']():delete _0x4fec36[':'],await(_0x223b56||this['storeClient'])[this['commands']['hset']](_0x16a6a8,_0x4fec36),_0x83be80;}async['getQueryState'](_0x12ed02,_0x44cb98){const _0x576508=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x12ed02}),_0x1ca464=_0x44cb98['map'](_0x46cc5c=>{if(_0x46cc5c['startsWith']('\x22'))return _0x46cc5c['slice'](0x1,-0x1);return'_'+_0x46cc5c;}),_0x1102a5=await this['storeClient'][this['commands']['hmget']](_0x576508,_0x1ca464),_0x51016e={};return _0x44cb98['forEach']((_0x18bb00,_0x5385ed)=>{_0x18bb00['startsWith']('\x22')&&(_0x18bb00=_0x18bb00['slice'](0x1,-0x1)),_0x51016e[_0x18bb00]=_0x1102a5[_0x5385ed];}),_0x51016e;}async['getState'](_0x5a09d6,_0x59cf49,_0x169a45){const _0x373bf5=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x5a09d6}),_0x520901=Object['keys'](_0x59cf49),_0x5b3037=await this['getSymbolKeys'](_0x520901);this['serializer']['resetSymbols'](_0x5b3037,{},_0x169a45);const _0x16e987=this['serializer']['abbreviate'](_0x59cf49,_0x520901,[':']),_0x408149=await this['storeClient'][this['commands']['hmget']](_0x373bf5,_0x16e987),_0x4e42db={};let _0x5d997c=![];_0x16e987['forEach']((_0x104ce1,_0x579ec5)=>{_0x408149[_0x579ec5]&&(_0x5d997c=!![]),_0x4e42db[_0x104ce1]=_0x408149[_0x579ec5];});if(_0x5d997c){const _0x295c53=await this['getSymbolValues']();this['serializer']['resetSymbols'](_0x5b3037,_0x295c53,_0x169a45);const _0x57d500=this['serializer']['unpackage'](_0x4e42db,_0x520901);let _0x9f4700=0x0;return _0x57d500[':']&&(_0x9f4700=Number(_0x57d500[':']),_0x57d500['metadata/js']=_0x9f4700,delete _0x57d500[':']),[_0x57d500,_0x9f4700];}else throw new errors_1['GetStateError'](_0x5a09d6);}async['getRaw'](_0xebb32){const _0x3d6b21=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0xebb32}),_0x5db25b=await this['storeClient'][this['commands']['hgetall']](_0x3d6b21);if(!_0x5db25b)throw new errors_1['GetStateError'](_0xebb32);return _0x5db25b;}async['collate'](_0x4f3420,_0x3f335a,_0x1e97c1,_0x3b7e4a,_0x3b98bb){const _0x37380e=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x4f3420}),_0x58e8e2=_0x3f335a+'/output/metadata/as',_0x3faf69=[_0x3f335a],_0x19af63=await this['getSymbolKeys'](_0x3faf69),_0x5b5f2c=await this['getSymbolValues']();this['serializer']['resetSymbols'](_0x19af63,_0x5b5f2c,_0x3b7e4a);const _0x72a029={[_0x58e8e2]:_0x1e97c1['toString']()},_0x2e504a=this['serializer']['package'](_0x72a029,_0x3faf69),_0x112793=Object['keys'](_0x2e504a)[0x0];return await(_0x3b98bb||this['storeClient'])[this['commands']['hincrbyfloat']](_0x37380e,_0x112793,_0x1e97c1);}async['collateSynthetic'](_0x1fb59f,_0x5e3e91,_0x5dccb0,_0x9b676){const _0xf9fa96=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x1fb59f});return await(_0x9b676||this['storeClient'])[this['commands']['hincrbyfloat']](_0xf9fa96,_0x5e3e91,_0x5dccb0['toString']());}async['setStateNX'](_0x1a1163,_0x449047,_0x10e393){const _0x20e65e=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':_0x449047,'jobId':_0x1a1163}),_0x228d45=await this['storeClient'][this['commands']['hsetnx']](_0x20e65e,':',_0x10e393?.['toString']()??'1');return this['isSuccessful'](_0x228d45);}async['getSchema'](_0x10e0bd,_0x59e797){const _0x218739=this['cache']['getSchema'](_0x59e797['id'],_0x59e797['version'],_0x10e0bd);if(_0x218739)return _0x218739;else{const _0x1397a6=await this['getSchemas'](_0x59e797);return _0x1397a6[_0x10e0bd];}}async['getSchemas'](_0x4bce38){let _0x120ba2=this['cache']['getSchemas'](_0x4bce38['id'],_0x4bce38['version']);if(_0x120ba2&&Object['keys'](_0x120ba2)['length']>0x0)return _0x120ba2;else{const _0x45152b={'appId':_0x4bce38['id'],'appVersion':_0x4bce38['version']},_0x36e6ab=this['mintKey'](key_1['KeyType']['SCHEMAS'],_0x45152b);_0x120ba2={};const _0x181b45=await this['storeClient'][this['commands']['hgetall']](_0x36e6ab);return Object['entries'](_0x181b45)['forEach'](([_0x5cde8a,_0x3e59f1])=>{_0x120ba2[_0x5cde8a]=JSON['parse'](_0x3e59f1);}),this['cache']['setSchemas'](_0x4bce38['id'],_0x4bce38['version'],_0x120ba2),_0x120ba2;}}async['setSchemas'](_0x3bedf1,_0x5a23d4){const _0x5f07b1={'appId':_0x5a23d4['id'],'appVersion':_0x5a23d4['version']},_0x3dcd68=this['mintKey'](key_1['KeyType']['SCHEMAS'],_0x5f07b1),_0x2c4a59={..._0x3bedf1};Object['entries'](_0x2c4a59)['forEach'](([_0x3608eb,_0xb52551])=>{_0x2c4a59[_0x3608eb]=JSON['stringify'](_0xb52551);});const _0xc501a4=await this['storeClient'][this['commands']['hset']](_0x3dcd68,_0x2c4a59);return this['cache']['setSchemas'](_0x5a23d4['id'],_0x5a23d4['version'],_0x3bedf1),_0xc501a4;}async['setSubscriptions'](_0x54c298,_0x37fd31){const _0x452ad3={'appId':_0x37fd31['id'],'appVersion':_0x37fd31['version']},_0x5d7843=this['mintKey'](key_1['KeyType']['SUBSCRIPTIONS'],_0x452ad3),_0x169167={..._0x54c298};Object['entries'](_0x169167)['forEach'](([_0x35d1c8,_0x1b638e])=>{_0x169167[_0x35d1c8]=JSON['stringify'](_0x1b638e);});const _0x270f77=await this['storeClient'][this['commands']['hset']](_0x5d7843,_0x169167);return this['cache']['setSubscriptions'](_0x37fd31['id'],_0x37fd31['version'],_0x54c298),this['isSuccessful'](_0x270f77);}async['getSubscriptions'](_0x275588){let _0x9a6cac=this['cache']['getSubscriptions'](_0x275588['id'],_0x275588['version']);if(_0x9a6cac&&Object['keys'](_0x9a6cac)['length']>0x0)return _0x9a6cac;else{const _0x24689d={'appId':_0x275588['id'],'appVersion':_0x275588['version']},_0x8d787a=this['mintKey'](key_1['KeyType']['SUBSCRIPTIONS'],_0x24689d);return _0x9a6cac=await this['storeClient'][this['commands']['hgetall']](_0x8d787a)||{},Object['entries'](_0x9a6cac)['forEach'](([_0x25bd8e,_0x5008ae])=>{_0x9a6cac[_0x25bd8e]=JSON['parse'](_0x5008ae);}),this['cache']['setSubscriptions'](_0x275588['id'],_0x275588['version'],_0x9a6cac),_0x9a6cac;}}async['getSubscription'](_0x4394ad,_0x45a5be){const _0x178810=await this['getSubscriptions'](_0x45a5be);return _0x178810[_0x4394ad];}async['setTransitions'](_0x4b9e04,_0x1a9a7c){const _0x211a1f={'appId':_0x1a9a7c['id'],'appVersion':_0x1a9a7c['version']},_0xb52154=this['mintKey'](key_1['KeyType']['SUBSCRIPTION_PATTERNS'],_0x211a1f),_0x112f1e={..._0x4b9e04};Object['entries'](_0x112f1e)['forEach'](([_0x105518,_0x213518])=>{_0x112f1e[_0x105518]=JSON['stringify'](_0x213518);});if(Object['keys'](_0x112f1e)['length']!==0x0){const _0x528bcc=await this['storeClient'][this['commands']['hset']](_0xb52154,_0x112f1e);return this['cache']['setTransitions'](_0x1a9a7c['id'],_0x1a9a7c['version'],_0x4b9e04),_0x528bcc;}}async['getTransitions'](_0x476f61){let _0x447240=this['cache']['getTransitions'](_0x476f61['id'],_0x476f61['version']);if(_0x447240&&Object['keys'](_0x447240)['length']>0x0)return _0x447240;else{const _0x225776={'appId':_0x476f61['id'],'appVersion':_0x476f61['version']},_0x228583=this['mintKey'](key_1['KeyType']['SUBSCRIPTION_PATTERNS'],_0x225776);_0x447240={};const _0x172be7=await this['storeClient'][this['commands']['hgetall']](_0x228583);return Object['entries'](_0x172be7)['forEach'](([_0x3a46e4,_0x1453ce])=>{_0x447240[_0x3a46e4]=JSON['parse'](_0x1453ce);}),this['cache']['setTransitions'](_0x476f61['id'],_0x476f61['version'],_0x447240),_0x447240;}}async['setHookRules'](_0x2fa198){const _0x3d670d=this['mintKey'](key_1['KeyType']['HOOKS'],{'appId':this['appId']}),_0x59ff2f={};Object['entries'](_0x2fa198)['forEach'](([_0xf6389a,_0x5d7f02])=>{_0x59ff2f[_0xf6389a['toString']()]=JSON['stringify'](_0x5d7f02);});if(Object['keys'](_0x59ff2f)['length']!==0x0){const _0x28061f=await this['storeClient'][this['commands']['hset']](_0x3d670d,_0x59ff2f);return this['cache']['setHookRules'](this['appId'],_0x2fa198),_0x28061f;}}async['getHookRules'](){let _0x3e41e5=this['cache']['getHookRules'](this['appId']);if(_0x3e41e5&&Object['keys'](_0x3e41e5)['length']>0x0)return _0x3e41e5;else{const _0x4307ff=this['mintKey'](key_1['KeyType']['HOOKS'],{'appId':this['appId']}),_0x227e48=await this['storeClient'][this['commands']['hgetall']](_0x4307ff);return _0x3e41e5={},Object['entries'](_0x227e48)['forEach'](([_0x10375c,_0x32a9f8])=>{_0x3e41e5[_0x10375c]=JSON['parse'](_0x32a9f8);}),this['cache']['setHookRules'](this['appId'],_0x3e41e5),_0x3e41e5;}}async['setHookSignal'](_0x32a0d3,_0x3852b6){const _0x51d01c=this['mintKey'](key_1['KeyType']['SIGNALS'],{'appId':this['appId']}),{topic:_0x1e94d6,resolved:_0x2e69c8,jobId:_0x4b1c48}=_0x32a0d3,_0x152b93=_0x1e94d6+':'+_0x2e69c8;await this['setnxex'](_0x51d01c+':'+_0x152b93,_0x4b1c48,Math['max'](_0x32a0d3['expire'],enums_1['HMSH_SIGNAL_EXPIRE']));}async['getHookSignal'](_0x23710f,_0x19015e){const _0x19d170=this['mintKey'](key_1['KeyType']['SIGNALS'],{'appId':this['appId']}),_0x2227b6=await this['storeClient'][this['commands']['get']](_0x19d170+':'+_0x23710f+':'+_0x19015e);return _0x2227b6?_0x2227b6['toString']():undefined;}async['deleteHookSignal'](_0x4396b2,_0x10ed76){const _0x35c124=this['mintKey'](key_1['KeyType']['SIGNALS'],{'appId':this['appId']}),_0x1d5bba=await this['storeClient'][this['commands']['del']](_0x35c124+':'+_0x4396b2+':'+_0x10ed76);return _0x1d5bba?Number(_0x1d5bba):undefined;}async['addTaskQueues'](_0x14691c){const _0x291277=this['getMulti'](),_0x521b9e=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId']});for(const _0x44b390 of _0x14691c){_0x291277[this['commands']['zadd']](_0x521b9e,{'score':Date['now']()['toString'](),'value':_0x44b390},{'NX':!![]});}await _0x291277['exec']();}async['getActiveTaskQueue'](){let _0x1b074b=this['cache']['getActiveTaskQueue'](this['appId'])||null;if(!_0x1b074b){const _0x117ec2=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId']}),_0x1bd3e=await this['storeClient'][this['commands']['zrange']](_0x117ec2,0x0,0x0);_0x1b074b=_0x1bd3e['length']>0x0?_0x1bd3e[0x0]:null,_0x1b074b&&this['cache']['setWorkItem'](this['appId'],_0x1b074b);}return _0x1b074b;}async['deleteProcessedTaskQueue'](_0x54e9f2,_0x3e1e75,_0x7a2510,_0x20a403=![]){const _0x595084=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId']}),_0x34bf2e=await this['storeClient'][this['commands']['zrem']](_0x595084,_0x54e9f2);_0x34bf2e&&(_0x20a403?(this['storeClient'][this['commands']['expire']](_0x7a2510,0x0),this['storeClient'][this['commands']['expire']](_0x3e1e75['split'](':')['slice'](0x0,0x5)['join'](':'),0x0)):await this['storeClient'][this['commands']['rename']](_0x7a2510,_0x3e1e75)),this['cache']['removeWorkItem'](this['appId']);}async['processTaskQueue'](_0x4a588e,_0x167c5b){return await this['storeClient'][this['commands']['lmove']](_0x4a588e,_0x167c5b,'LEFT','RIGHT');}async['expireJob'](_0x56651d,_0x499c98,_0x188d2e){if(!isNaN(_0x499c98)&&_0x499c98>0x0){const _0x2962d3=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x56651d});await(_0x188d2e||this['storeClient'])[this['commands']['expire']](_0x2962d3,_0x499c98);}}async['getDependencies'](_0x1b1a1c){const _0x489933={'appId':this['appId'],'jobId':_0x1b1a1c},_0x4eec71=this['mintKey'](key_1['KeyType']['JOB_DEPENDENTS'],_0x489933);return this['storeClient'][this['commands']['lrange']](_0x4eec71,0x0,-0x1);}async['registerTimeHook'](_0x1f9b84,_0x1c1adc,_0x354551,_0x139848,_0x1151b2,_0x211158,_0x1e7b18){const _0x388ae1=this['mintKey'](key_1['KeyType']['TIME_RANGE'],{'appId':this['appId'],'timeValue':_0x1151b2}),_0x1d2856=[_0x139848,_0x354551,_0x1c1adc,_0x211158,_0x1f9b84]['join'](key_1['VALSEP']),_0x23fd9a=await(_0x1e7b18||this['storeClient'])[this['commands']['rpush']](_0x388ae1,_0x1d2856);if(_0x1e7b18||_0x23fd9a===0x1){const _0x50ec90=this['mintKey'](key_1['KeyType']['TIME_RANGE'],{'appId':this['appId']});await this['zAdd'](_0x50ec90,_0x1151b2['toString'](),_0x388ae1,_0x1e7b18);}}async['getNextTask'](_0x85178a){const _0x64d06e=this['mintKey'](key_1['KeyType']['TIME_RANGE'],{'appId':this['appId']});_0x85178a=_0x85178a||await this['zRangeByScore'](_0x64d06e,0x0,Date['now']());if(_0x85178a){let [_0x4271db,_0x122417]=this['resolveTaskKeyContext'](_0x85178a);const _0x564e56=await this['storeClient'][this['commands']['lpop']](_0x122417);if(_0x564e56){let [_0x5c995c,_0x121dfd,_0x4ad4c9,_0x5aeafe,..._0x2adc62]=_0x564e56['split'](key_1['VALSEP']);const _0x49c770=_0x2adc62['join'](key_1['VALSEP']);if(_0x5c995c==='delist')_0x4271db='delist';else{if(_0x5c995c==='child')_0x4271db='child';else _0x5c995c==='expire-child'&&(_0x5c995c='expire');}return[_0x85178a,_0x49c770,_0x4ad4c9,_0x121dfd,_0x4271db];}return await this['storeClient'][this['commands']['zrem']](_0x64d06e,_0x85178a),!![];}return![];}['resolveTaskKeyContext'](_0x30db36){if(_0x30db36['startsWith'](key_1['TYPSEP']+'INTERRUPT'))return['interrupt',_0x30db36['split'](key_1['TYPSEP'])[0x2]];else return _0x30db36['startsWith'](key_1['TYPSEP']+'EXPIRE')?['expire',_0x30db36['split'](key_1['TYPSEP'])[0x2]]:['sleep',_0x30db36];}async['interrupt'](_0x3c3252,_0x5b1e6b,_0x162d37={}){try{const _0x35be22=await this['getStatus'](_0x5b1e6b,this['appId']);if(_0x35be22<=0x0)throw new Error('Job\x20'+_0x5b1e6b+'\x20already\x20completed');const _0xe7f765=-0x3b9aca00,_0x16d2c6=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x5b1e6b}),_0x5b371c=await this['storeClient'][this['commands']['hincrbyfloat']](_0x16d2c6,':',_0xe7f765);if(_0x5b371c<=_0xe7f765)throw new Error('Job\x20'+_0x5b1e6b+'\x20already\x20completed');if(_0x162d37['throw']!==![]){const _0x2aa6b8='metadata/err',_0x3999c6=['$'+_0x3c3252],_0x473ae0=await this['getSymbolKeys'](_0x3999c6),_0x40f966=await this['getSymbolValues']();this['serializer']['resetSymbols'](_0x473ae0,_0x40f966,{});const _0x5f35db=JSON['stringify']({'code':_0x162d37['code']??enums_1['HMSH_CODE_INTERRUPT'],'message':_0x162d37['reason']??'job\x20['+_0x5b1e6b+']\x20interrupted','stack':_0x162d37['stack']??'','job_id':_0x5b1e6b}),_0x17e602={[_0x2aa6b8]:_0xe7f765['toString']()},_0x117af1=this['serializer']['package'](_0x17e602,_0x3999c6),_0x10788d=Object['keys'](_0x117af1)[0x0];await this['storeClient'][this['commands']['hset']](_0x16d2c6,_0x10788d,_0x5f35db);}}catch(_0x2b979a){if(!_0x162d37['suppress'])throw _0x2b979a;else this['logger']['debug']('suppressed-interrupt',{'message':_0x2b979a['message']});}}async['scrub'](_0xb44659){const _0x52e4c7=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0xb44659});await this['storeClient'][this['commands']['del']](_0x52e4c7);}async['findJobs'](_0x5b4b43='*',_0x545e43=0x3e8,_0x161258=0x3e8,_0x25f95f='0'){const _0x339ca4=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x5b4b43});let _0x509b49;const _0x498386=[];do{const _0x343131=await this['exec']('SCAN',_0x25f95f,'MATCH',_0x339ca4,'COUNT',_0x161258['toString']());if(Array['isArray'](_0x343131)){[_0x25f95f,_0x509b49]=_0x343131;for(const _0x45c06d of[..._0x509b49]){_0x498386['push'](_0x45c06d);}if(_0x498386['length']>=_0x545e43)break;}else break;}while(_0x25f95f!=='0');return[_0x25f95f,_0x498386];}async['findJobFields'](_0x54942f,_0x59057e='*',_0x11ed29=0x3e8,_0xe6fd8d=0x3e8,_0x54c074='0'){let _0x537c99=[];const _0x254163={},_0x371f80=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x54942f});let _0x1347f6=0x0;do{const _0x563f02=await this['exec']('HSCAN',_0x371f80,_0x54c074,'MATCH',_0x59057e,'COUNT',_0xe6fd8d['toString']());if(Array['isArray'](_0x563f02)){[_0x54c074,_0x537c99]=_0x563f02;for(let _0x4df2fc=0x0;_0x4df2fc<_0x537c99['length'];_0x4df2fc+=0x2){_0x1347f6++,_0x254163[_0x537c99[_0x4df2fc]]=_0x537c99[_0x4df2fc+0x1];}}else break;}while(_0x54c074!=='0'&&_0x1347f6<_0x11ed29);return[_0x54c074,_0x254163];}async['setThrottleRate'](_0x1d789a){const _0x83b43f=this['mintKey'](key_1['KeyType']['THROTTLE_RATE'],{'appId':this['appId']});if(_0x1d789a['guid'])return;const _0x4ecce9=_0x1d789a['throttle']['toString']();if(_0x1d789a['topic'])await this['storeClient'][this['commands']['hset']](_0x83b43f,{[_0x1d789a['topic']]:_0x4ecce9});else{const _0x387e2d=this['getMulti']();_0x387e2d[this['commands']['del']](_0x83b43f),_0x387e2d[this['commands']['hset']](_0x83b43f,{':':_0x4ecce9}),await _0x387e2d['exec']();}}async['getThrottleRates'](){const _0x275cdc=this['mintKey'](key_1['KeyType']['THROTTLE_RATE'],{'appId':this['appId']}),_0x5a7d54=await this['storeClient'][this['commands']['hgetall']](_0x275cdc);return _0x5a7d54??{};}async['getThrottleRate'](_0x36d42c){const _0x475df2=(_0x49f482,_0x262fce)=>{const _0x5e9960=_0x262fce in _0x49f482?Number(_0x49f482[_0x262fce]):0x0;if(isNaN(_0x5e9960))return 0x0;if(_0x5e9960==-0x1)return enums_1['MAX_DELAY'];return Math['max'](Math['min'](_0x5e9960,enums_1['MAX_DELAY']),0x0);},_0x3fac70=await this['getThrottleRates'](),_0x489dfe=_0x475df2(_0x3fac70,':');if(_0x36d42c===':'||!(_0x36d42c in _0x3fac70))return _0x489dfe;return _0x475df2(_0x3fac70,_0x36d42c);}}exports['RedisStoreBase']=RedisStoreBase;
|
|
1
|
+
'use strict';(function(_0x368893,_0x12f45d){const _0x392da3=_0x4a64,_0x4c9dbd=_0x368893();while(!![]){try{const _0x3844d6=parseInt(_0x392da3(0x10e))/0x1+-parseInt(_0x392da3(0x108))/0x2+parseInt(_0x392da3(0x10a))/0x3+parseInt(_0x392da3(0x110))/0x4+parseInt(_0x392da3(0x10b))/0x5*(parseInt(_0x392da3(0x10f))/0x6)+parseInt(_0x392da3(0x10d))/0x7+-parseInt(_0x392da3(0x109))/0x8*(parseInt(_0x392da3(0x10c))/0x9);if(_0x3844d6===_0x12f45d)break;else _0x4c9dbd['push'](_0x4c9dbd['shift']());}catch(_0x17756d){_0x4c9dbd['push'](_0x4c9dbd['shift']());}}}(_0x18ad,0x6bf72));var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x26bb8e,_0x10de18,_0x3245ca,_0x4e460a){if(_0x4e460a===undefined)_0x4e460a=_0x3245ca;var _0x2a4e9f=Object['getOwnPropertyDescriptor'](_0x10de18,_0x3245ca);(!_0x2a4e9f||('get'in _0x2a4e9f?!_0x10de18['__esModule']:_0x2a4e9f['writable']||_0x2a4e9f['configurable']))&&(_0x2a4e9f={'enumerable':!![],'get':function(){return _0x10de18[_0x3245ca];}}),Object['defineProperty'](_0x26bb8e,_0x4e460a,_0x2a4e9f);}:function(_0x17ec15,_0x534459,_0x37453c,_0x5215b1){if(_0x5215b1===undefined)_0x5215b1=_0x37453c;_0x17ec15[_0x5215b1]=_0x534459[_0x37453c];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x3a1ea3,_0x43e966){Object['defineProperty'](_0x3a1ea3,'default',{'enumerable':!![],'value':_0x43e966});}:function(_0x225480,_0x1b24e3){_0x225480['default']=_0x1b24e3;}),__importStar=this&&this['__importStar']||function(_0x3009cc){if(_0x3009cc&&_0x3009cc['__esModule'])return _0x3009cc;var _0x1a6165={};if(_0x3009cc!=null){for(var _0x33d5e5 in _0x3009cc)if(_0x33d5e5!=='default'&&Object['prototype']['hasOwnProperty']['call'](_0x3009cc,_0x33d5e5))__createBinding(_0x1a6165,_0x3009cc,_0x33d5e5);}return __setModuleDefault(_0x1a6165,_0x3009cc),_0x1a6165;};Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['RedisStoreBase']=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('../..');function _0x18ad(){const _0x348da6=['144pLupRm','6152825DxlKlc','558838VvjejI','14382VTjHoj','165156vnBIuu','1665950vjnGAE','292256vyVAKm','990822SoUbZs','105wkmKyH'];_0x18ad=function(){return _0x348da6;};return _0x18ad();}function _0x4a64(_0x5b6795,_0x3a1595){const _0x18adc6=_0x18ad();return _0x4a64=function(_0x4a64b9,_0x4eb11e){_0x4a64b9=_0x4a64b9-0x108;let _0x3b16dd=_0x18adc6[_0x4a64b9];return _0x3b16dd;},_0x4a64(_0x5b6795,_0x3a1595);}class RedisStoreBase extends __1['StoreService']{constructor(_0xeae4){super(_0xeae4),this['commands']={},this['storeClient']=_0xeae4;}async['init'](_0x3a9286=key_1['HMNS'],_0x3ab405,_0x15bcee){this['namespace']=_0x3a9286,this['appId']=_0x3ab405,this['logger']=_0x15bcee;const _0x4a0867=await this['getSettings'](!![]);return this['cache']=new cache_1['Cache'](_0x3ab405,_0x4a0867),this['serializer']=new serializer_1['SerializerService'](),await this['getApp'](_0x3ab405),this['cache']['getApps']();}['isSuccessful'](_0x4ec693){return _0x4ec693>0x0||_0x4ec693==='OK'||_0x4ec693===!![];}async['delistSignalKey'](_0x4adaee,_0x8a57fa){await this['storeClient'][this['commands']['del']](_0x4adaee+':'+_0x8a57fa);}async['zAdd'](_0x5de4cb,_0x34c0c3,_0x1bf374,_0x5d3781){return await(_0x5d3781||this['storeClient'])[this['commands']['zadd']](_0x5de4cb,_0x34c0c3,_0x1bf374);}async['zRangeByScoreWithScores'](_0x71c5f7,_0x37298e,_0x38c323){const _0x32b2ff=await this['storeClient'][this['commands']['zrangebyscore_withscores']](_0x71c5f7,_0x37298e,_0x38c323,'WITHSCORES');if(_0x32b2ff?.['length']>0x0)return _0x32b2ff[0x0];return null;}async['zRangeByScore'](_0x3b9866,_0x147636,_0x554897){const _0x2a562c=await this['storeClient'][this['commands']['zrangebyscore']](_0x3b9866,_0x147636,_0x554897);if(_0x2a562c?.['length']>0x0)return _0x2a562c[0x0];return null;}['mintKey'](_0x25e176,_0x9876cf){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x25e176,_0x9876cf);}['invalidateCache'](){this['cache']['invalidate']();}async['reserveScoutRole'](_0x2c0d46,_0x359633=enums_1['HMSH_SCOUT_INTERVAL_SECONDS']){const _0x56e967=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId'],'scoutType':_0x2c0d46}),_0x4feea1=await this['exec']('SET',_0x56e967,_0x2c0d46+':'+(0x0,utils_1['formatISODate'])(new Date()),'NX','EX',''+(_0x359633-0x1));return this['isSuccessful'](_0x4feea1);}async['releaseScoutRole'](_0x40636b){const _0x8d9098=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId'],'scoutType':_0x40636b}),_0x411f2b=await this['exec']('DEL',_0x8d9098);return this['isSuccessful'](_0x411f2b);}async['getSettings'](_0xba67d4=![]){let _0x43cee6=this['cache']?.['getSettings']();if(_0x43cee6)return _0x43cee6;else{if(_0xba67d4){const _0x435c54=await Promise['resolve']()['then'](()=>__importStar(require('../../../../package.json'))),_0x503578=_0x435c54['version']||'0.0.0';return _0x43cee6={'namespace':key_1['HMNS'],'version':_0x503578},await this['setSettings'](_0x43cee6),_0x43cee6;}}throw new Error('settings\x20not\x20found');}async['setSettings'](_0x10d535){const _0x2a9dcc={},_0x411ee4=this['mintKey'](key_1['KeyType']['HOTMESH'],_0x2a9dcc);return await this['storeClient'][this['commands']['hset']](_0x411ee4,_0x10d535);}async['reserveSymbolRange'](_0x3d41d6,_0x2af99b,_0x59bec8,_0x57dcfd=0x1){const _0x27e52c=this['mintKey'](key_1['KeyType']['SYMKEYS'],{'appId':this['appId']}),_0x43c697=this['mintKey'](key_1['KeyType']['SYMKEYS'],{'activityId':_0x3d41d6,'appId':this['appId']}),_0x3db28a=await this['storeClient'][this['commands']['hsetnx']](_0x27e52c,_0x3d41d6,'?:?');if(_0x3db28a){const _0x5a1f68=await this['storeClient'][this['commands']['hincrby']](_0x27e52c,':cursor',_0x2af99b),_0x5215e8=_0x5a1f68-_0x2af99b,_0x329092=_0x5215e8+':'+(_0x5a1f68-0x1);await this['storeClient'][this['commands']['hset']](_0x27e52c,_0x3d41d6,_0x329092);const _0x74115=this['seedSymbols'](_0x3d41d6,_0x59bec8,_0x5215e8);return await this['storeClient'][this['commands']['hset']](_0x43c697,_0x74115),[_0x5215e8+serializer_1['MDATA_SYMBOLS']['SLOTS'],_0x5a1f68-0x1,{}];}else{const _0x4f0c69=await this['storeClient'][this['commands']['hget']](_0x27e52c,_0x3d41d6),[_0x462a28]=_0x4f0c69['split'](':');if(_0x462a28==='?'){await(0x0,utils_1['sleepFor'])(_0x57dcfd*0x3e8);if(_0x57dcfd<0x5)return this['reserveSymbolRange'](_0x3d41d6,_0x2af99b,_0x59bec8,_0x57dcfd+0x1);else throw new Error('Symbol\x20range\x20reservation\x20failed\x20due\x20to\x20deployment\x20contention');}else{const _0x77884e=parseInt(_0x462a28,0xa),_0x247939=await this['storeClient'][this['commands']['hgetall']](_0x43c697),_0x59adfa=Object['keys'](_0x247939)['length'],_0x4d9932=_0x77884e+serializer_1['MDATA_SYMBOLS']['SLOTS']+_0x59adfa,_0x12cb2e=Number(_0x77884e+_0x2af99b-0x1);return[_0x4d9932,_0x12cb2e,_0x247939];}}}async['getAllSymbols'](){const _0x3a9c7e=this['mintKey'](key_1['KeyType']['SYMKEYS'],{'appId':this['appId']}),_0x352b3a=await this['storeClient'][this['commands']['hgetall']](_0x3a9c7e),_0x26dbcc=Object['keys'](_0x352b3a)['sort']();delete _0x26dbcc[':cursor'];const _0x5d02cf=this['transact']();for(const _0x4a1677 of _0x26dbcc){const _0x4de6c3=this['mintKey'](key_1['KeyType']['SYMKEYS'],{'activityId':_0x4a1677,'appId':this['appId']});_0x5d02cf[this['commands']['hgetall']](_0x4de6c3);}const _0x24bfa0=await _0x5d02cf['exec'](),_0x39bc03={};return _0x24bfa0['forEach']((_0x5e866b,_0x220fcb)=>{if(_0x5e866b){let _0x3837c0;Array['isArray'](_0x5e866b)&&_0x5e866b['length']===0x2?_0x3837c0=_0x5e866b[0x1]:_0x3837c0=_0x5e866b;for(const [_0x4bd263,_0x110125]of Object['entries'](_0x3837c0)){_0x39bc03[_0x110125]=_0x4bd263['startsWith'](_0x26dbcc[_0x220fcb])?_0x4bd263:_0x26dbcc[_0x220fcb]+'/'+_0x4bd263;}}}),_0x39bc03;}async['getSymbols'](_0x56078e){let _0x231bb5=this['cache']['getSymbols'](this['appId'],_0x56078e);if(_0x231bb5)return _0x231bb5;else{const _0x43b965={'activityId':_0x56078e,'appId':this['appId']},_0x202676=this['mintKey'](key_1['KeyType']['SYMKEYS'],_0x43b965);return _0x231bb5=await this['storeClient'][this['commands']['hgetall']](_0x202676),this['cache']['setSymbols'](this['appId'],_0x56078e,_0x231bb5),_0x231bb5;}}async['addSymbols'](_0x169163,_0x4404a4){if(!_0x4404a4||!Object['keys'](_0x4404a4)['length'])return![];const _0x3995a7={'activityId':_0x169163,'appId':this['appId']},_0x3b107d=this['mintKey'](key_1['KeyType']['SYMKEYS'],_0x3995a7),_0x4fc1bf=await this['storeClient'][this['commands']['hset']](_0x3b107d,_0x4404a4);return this['cache']['deleteSymbols'](this['appId'],_0x169163),_0x4fc1bf>0x0;}['seedSymbols'](_0x3d0710,_0x1e4b5b,_0x1d5efa){if(_0x1e4b5b==='JOB')return this['seedJobSymbols'](_0x1d5efa);return this['seedActivitySymbols'](_0x1d5efa,_0x3d0710);}['seedJobSymbols'](_0x25a380){const _0xa407a={};return serializer_1['MDATA_SYMBOLS']['JOB']['KEYS']['forEach'](_0x222e31=>{_0xa407a['metadata/'+_0x222e31]=(0x0,utils_1['getSymKey'])(_0x25a380),_0x25a380++;}),_0xa407a;}['seedActivitySymbols'](_0x4be61a,_0x3d9f4a){const _0xf0a88e={};return serializer_1['MDATA_SYMBOLS']['ACTIVITY']['KEYS']['forEach'](_0x540cbf=>{_0xf0a88e[_0x3d9f4a+'/output/metadata/'+_0x540cbf]=(0x0,utils_1['getSymKey'])(_0x4be61a),_0x4be61a++;}),_0xf0a88e;}async['getSymbolValues'](){let _0x4909b6=this['cache']['getSymbolValues'](this['appId']);if(_0x4909b6)return _0x4909b6;else{const _0x4dd817=this['mintKey'](key_1['KeyType']['SYMVALS'],{'appId':this['appId']});return _0x4909b6=await this['storeClient'][this['commands']['hgetall']](_0x4dd817),this['cache']['setSymbolValues'](this['appId'],_0x4909b6),_0x4909b6;}}async['addSymbolValues'](_0x998f4b){if(!_0x998f4b||!Object['keys'](_0x998f4b)['length'])return![];const _0x5a571b=this['mintKey'](key_1['KeyType']['SYMVALS'],{'appId':this['appId']}),_0xb7a62a=await this['storeClient'][this['commands']['hset']](_0x5a571b,_0x998f4b);return this['cache']['deleteSymbolValues'](this['appId']),this['isSuccessful'](_0xb7a62a);}async['getSymbolKeys'](_0x1720f4){const _0x4608a5=[];for(const _0x18fdc3 of _0x1720f4){_0x4608a5['push'](this['getSymbols'](_0x18fdc3));}const _0x382574=await Promise['all'](_0x4608a5),_0x15b777={};for(const _0x5ec6d3 of _0x1720f4){_0x15b777[_0x5ec6d3]=_0x382574['shift']();}return _0x15b777;}async['getApp'](_0x5da7fe,_0x11630c=![]){let _0x3ea90c=this['cache']['getApp'](_0x5da7fe);if(_0x11630c||!(_0x3ea90c&&Object['keys'](_0x3ea90c)['length']>0x0)){const _0x19f5b1={'appId':_0x5da7fe},_0x5b78b5=this['mintKey'](key_1['KeyType']['APP'],_0x19f5b1),_0x2def49=await this['storeClient'][this['commands']['hgetall']](_0x5b78b5);if(!_0x2def49)return null;_0x3ea90c={};for(const _0x1cd4cc in _0x2def49){try{_0x1cd4cc==='active'?_0x3ea90c[_0x1cd4cc]=_0x2def49[_0x1cd4cc]==='true':_0x3ea90c[_0x1cd4cc]=_0x2def49[_0x1cd4cc];}catch(_0x520fec){_0x3ea90c[_0x1cd4cc]=_0x2def49[_0x1cd4cc];}}this['cache']['setApp'](_0x5da7fe,_0x3ea90c);}return _0x3ea90c;}async['setApp'](_0xf66963,_0x202c86){const _0x214d7b={'appId':_0xf66963},_0x24bb44=this['mintKey'](key_1['KeyType']['APP'],_0x214d7b),_0x334ed5='versions/'+_0x202c86,_0xa4d2a5={'id':_0xf66963,'version':_0x202c86,[_0x334ed5]:'deployed:'+(0x0,utils_1['formatISODate'])(new Date())};return await this['storeClient'][this['commands']['hset']](_0x24bb44,_0xa4d2a5),this['cache']['setApp'](_0xf66963,_0xa4d2a5),_0xa4d2a5;}async['activateAppVersion'](_0x436cec,_0x2a79a0){const _0x514c1d={'appId':_0x436cec},_0x2e1de1=this['mintKey'](key_1['KeyType']['APP'],_0x514c1d),_0x579e9a='versions/'+_0x2a79a0,_0x16a007=await this['getApp'](_0x436cec,!![]);if(_0x16a007&&_0x16a007[_0x579e9a]){const _0x5de3ae={'id':_0x436cec,'version':_0x2a79a0['toString'](),[_0x579e9a]:'activated:'+(0x0,utils_1['formatISODate'])(new Date()),'active':!![]};return Object['entries'](_0x5de3ae)['forEach'](([_0x4c2a23,_0x5f199d])=>{_0x5de3ae[_0x4c2a23]=_0x5f199d['toString']();}),await this['storeClient'][this['commands']['hset']](_0x2e1de1,_0x5de3ae),!![];}throw new Error('Version\x20'+_0x2a79a0+'\x20does\x20not\x20exist\x20for\x20app\x20'+_0x436cec);}async['registerAppVersion'](_0x10bb31,_0x19b32c){const _0x2a94cc={'appId':_0x10bb31},_0x5990e3=this['mintKey'](key_1['KeyType']['APP'],_0x2a94cc),_0x1eec6f={'id':_0x10bb31,'version':_0x19b32c['toString'](),['versions/'+_0x19b32c]:(0x0,utils_1['formatISODate'])(new Date())};return await this['storeClient'][this['commands']['hset']](_0x5990e3,_0x1eec6f);}async['setStats'](_0x1813fc,_0x1c37a2,_0x601a50,_0x3d18d8,_0x380d18,_0x3ec6a3){const _0x32e866={'appId':_0x380d18['id'],'jobId':_0x1c37a2,'jobKey':_0x1813fc,'dateTime':_0x601a50},_0x14e718=_0x3ec6a3||this['transact']();if(_0x3d18d8['general']['length']){const _0x2403c9=this['mintKey'](key_1['KeyType']['JOB_STATS_GENERAL'],_0x32e866);for(const {target:_0x13888a,value:_0x3cb1e9}of _0x3d18d8['general']){_0x14e718[this['commands']['hincrbyfloat']](_0x2403c9,_0x13888a,_0x3cb1e9);}}for(const {target:_0x12431a,value:_0x1f1fef}of _0x3d18d8['index']){const _0x10b3f6={..._0x32e866,'facet':_0x12431a},_0x51bbbd=this['mintKey'](key_1['KeyType']['JOB_STATS_INDEX'],_0x10b3f6);_0x14e718[this['commands']['rpush']](_0x51bbbd,_0x1f1fef['toString']());}for(const {target:_0x41df24,value:_0x1d6c6b}of _0x3d18d8['median']){const _0x3e3fea={..._0x32e866,'facet':_0x41df24},_0x590f4c=this['mintKey'](key_1['KeyType']['JOB_STATS_MEDIAN'],_0x3e3fea);this['zAdd'](_0x590f4c,_0x1d6c6b,_0x41df24,_0x14e718);}if(!_0x3ec6a3)return await _0x14e718['exec']();}['hGetAllResult'](_0x1787e8){return _0x1787e8;}async['getJobStats'](_0x2be5f2){const _0x2e6ef1=this['transact']();for(const _0x4e747e of _0x2be5f2){_0x2e6ef1[this['commands']['hgetall']](_0x4e747e);}const _0x4aac9d=await _0x2e6ef1['exec'](),_0x3da6d4={};for(const [_0x58fc0f,_0x2b876d]of _0x4aac9d['entries']()){const _0x50822a=_0x2be5f2[_0x58fc0f],_0x367d88=this['hGetAllResult'](_0x2b876d);if(_0x367d88&&Object['keys'](_0x367d88)['length']>0x0){const _0x5bef50={..._0x367d88};for(const [_0x220839,_0x4f3c67]of Object['entries'](_0x5bef50)){_0x5bef50[_0x220839]=Number(_0x4f3c67);}_0x3da6d4[_0x50822a]=_0x5bef50;}else _0x3da6d4[_0x50822a]={};}return _0x3da6d4;}async['getJobIds'](_0x318ef7,_0x2c4415){const _0x1fc390=this['transact']();for(const _0x3841b4 of _0x318ef7){_0x1fc390[this['commands']['lrange']](_0x3841b4,_0x2c4415[0x0],_0x2c4415[0x1]);}const _0x2d32ae=await _0x1fc390['exec'](),_0x23a9ac={};for(const [_0x4bbf0a,_0x157bbb]of _0x2d32ae['entries']()){const _0x5e6649=_0x318ef7[_0x4bbf0a],_0x63e267=_0x157bbb[0x1]||_0x157bbb;_0x63e267&&_0x63e267['length']>0x0?_0x23a9ac[_0x5e6649]=_0x63e267:_0x23a9ac[_0x5e6649]=[];}return _0x23a9ac;}async['setStatus'](_0x1611ab,_0x46dceb,_0x405dd5,_0xa37f85){const _0x34a0d1=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':_0x405dd5,'jobId':_0x46dceb});return await(_0xa37f85||this['storeClient'])[this['commands']['hincrbyfloat']](_0x34a0d1,':',_0x1611ab);}async['getStatus'](_0x19142e,_0x1caebb){const _0x599fc9=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':_0x1caebb,'jobId':_0x19142e}),_0x3b46fc=await this['storeClient'][this['commands']['hget']](_0x599fc9,':');if(_0x3b46fc===null)throw new Error('Job\x20'+_0x19142e+'\x20not\x20found');return Number(_0x3b46fc);}async['setState']({..._0x9689d3},_0x6e1b1d,_0x1b8212,_0x1a0d59,_0x5ce215,_0x50d19d){delete _0x9689d3['metadata/js'];const _0x2f6e8c=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x1b8212}),_0x542bed=await this['getSymbolKeys'](_0x1a0d59),_0x3a30ae=await this['getSymbolValues']();this['serializer']['resetSymbols'](_0x542bed,_0x3a30ae,_0x5ce215);const _0x26ae15=this['serializer']['package'](_0x9689d3,_0x1a0d59);return _0x6e1b1d!==null?_0x26ae15[':']=_0x6e1b1d['toString']():delete _0x26ae15[':'],await(_0x50d19d||this['storeClient'])[this['commands']['hset']](_0x2f6e8c,_0x26ae15),_0x1b8212;}async['getQueryState'](_0x5a415f,_0x435dd1){const _0x34621e=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x5a415f}),_0x3da70d=_0x435dd1['map'](_0x53db0e=>{if(_0x53db0e['startsWith']('\x22'))return _0x53db0e['slice'](0x1,-0x1);return'_'+_0x53db0e;}),_0x3166ce=await this['storeClient'][this['commands']['hmget']](_0x34621e,_0x3da70d),_0x367f54={};return _0x435dd1['forEach']((_0xdb5e26,_0x841ed)=>{_0xdb5e26['startsWith']('\x22')&&(_0xdb5e26=_0xdb5e26['slice'](0x1,-0x1)),_0x367f54[_0xdb5e26]=_0x3166ce[_0x841ed];}),_0x367f54;}async['getState'](_0x4c746c,_0x2ad029,_0x26366d){const _0x46fe01=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x4c746c}),_0x28aed1=Object['keys'](_0x2ad029),_0x2858f5=await this['getSymbolKeys'](_0x28aed1);this['serializer']['resetSymbols'](_0x2858f5,{},_0x26366d);const _0x594aae=this['serializer']['abbreviate'](_0x2ad029,_0x28aed1,[':']),_0x45e576=await this['storeClient'][this['commands']['hmget']](_0x46fe01,_0x594aae),_0x3f3b59={};let _0x2f93ce=![];_0x594aae['forEach']((_0x34b539,_0x29044d)=>{_0x45e576[_0x29044d]&&(_0x2f93ce=!![]),_0x3f3b59[_0x34b539]=_0x45e576[_0x29044d];});if(_0x2f93ce){const _0x3f9ad4=await this['getSymbolValues']();this['serializer']['resetSymbols'](_0x2858f5,_0x3f9ad4,_0x26366d);const _0x5efbb3=this['serializer']['unpackage'](_0x3f3b59,_0x28aed1);let _0x398f10=0x0;return _0x5efbb3[':']&&(_0x398f10=Number(_0x5efbb3[':']),_0x5efbb3['metadata/js']=_0x398f10,delete _0x5efbb3[':']),[_0x5efbb3,_0x398f10];}else throw new errors_1['GetStateError'](_0x4c746c);}async['getRaw'](_0xae3107){const _0x1787d2=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0xae3107}),_0x5b2ce8=await this['storeClient'][this['commands']['hgetall']](_0x1787d2);if(!_0x5b2ce8)throw new errors_1['GetStateError'](_0xae3107);return _0x5b2ce8;}async['collate'](_0x41fab1,_0x422abc,_0x1e5bf2,_0xc2468c,_0x50bc30){const _0x4ead94=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x41fab1}),_0x55fd71=_0x422abc+'/output/metadata/as',_0x3846b5=[_0x422abc],_0x2e96f0=await this['getSymbolKeys'](_0x3846b5),_0x3d2102=await this['getSymbolValues']();this['serializer']['resetSymbols'](_0x2e96f0,_0x3d2102,_0xc2468c);const _0x5e0988={[_0x55fd71]:_0x1e5bf2['toString']()},_0x177f3e=this['serializer']['package'](_0x5e0988,_0x3846b5),_0x495728=Object['keys'](_0x177f3e)[0x0];return await(_0x50bc30||this['storeClient'])[this['commands']['hincrbyfloat']](_0x4ead94,_0x495728,_0x1e5bf2);}async['collateSynthetic'](_0x3548fe,_0x11d67b,_0x246eb9,_0x526d94){const _0x232d1b=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x3548fe});return await(_0x526d94||this['storeClient'])[this['commands']['hincrbyfloat']](_0x232d1b,_0x11d67b,_0x246eb9['toString']());}async['setStateNX'](_0x5a7fb6,_0x2dfe55,_0x4f5d6b){const _0x102707=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':_0x2dfe55,'jobId':_0x5a7fb6}),_0x58fc81=await this['storeClient'][this['commands']['hsetnx']](_0x102707,':',_0x4f5d6b?.['toString']()??'1');return this['isSuccessful'](_0x58fc81);}async['getSchema'](_0x3c2358,_0x2f7661){const _0x4c03a1=this['cache']['getSchema'](_0x2f7661['id'],_0x2f7661['version'],_0x3c2358);if(_0x4c03a1)return _0x4c03a1;else{const _0x350249=await this['getSchemas'](_0x2f7661);return _0x350249[_0x3c2358];}}async['getSchemas'](_0x137205){let _0x4ec88e=this['cache']['getSchemas'](_0x137205['id'],_0x137205['version']);if(_0x4ec88e&&Object['keys'](_0x4ec88e)['length']>0x0)return _0x4ec88e;else{const _0x9c76e0={'appId':_0x137205['id'],'appVersion':_0x137205['version']},_0x5197c6=this['mintKey'](key_1['KeyType']['SCHEMAS'],_0x9c76e0);_0x4ec88e={};const _0x4da5e7=await this['storeClient'][this['commands']['hgetall']](_0x5197c6);return Object['entries'](_0x4da5e7)['forEach'](([_0x1df572,_0x55809d])=>{_0x4ec88e[_0x1df572]=JSON['parse'](_0x55809d);}),this['cache']['setSchemas'](_0x137205['id'],_0x137205['version'],_0x4ec88e),_0x4ec88e;}}async['setSchemas'](_0x5b66e0,_0x2d013c){const _0x131af4={'appId':_0x2d013c['id'],'appVersion':_0x2d013c['version']},_0x350764=this['mintKey'](key_1['KeyType']['SCHEMAS'],_0x131af4),_0x297db0={..._0x5b66e0};Object['entries'](_0x297db0)['forEach'](([_0x853622,_0x52ee41])=>{_0x297db0[_0x853622]=JSON['stringify'](_0x52ee41);});const _0x5d4340=await this['storeClient'][this['commands']['hset']](_0x350764,_0x297db0);return this['cache']['setSchemas'](_0x2d013c['id'],_0x2d013c['version'],_0x5b66e0),_0x5d4340;}async['setSubscriptions'](_0x49f5f2,_0x3195e1){const _0x577465={'appId':_0x3195e1['id'],'appVersion':_0x3195e1['version']},_0x56ce73=this['mintKey'](key_1['KeyType']['SUBSCRIPTIONS'],_0x577465),_0x2054ec={..._0x49f5f2};Object['entries'](_0x2054ec)['forEach'](([_0x2908a2,_0x451ae9])=>{_0x2054ec[_0x2908a2]=JSON['stringify'](_0x451ae9);});const _0x22a5d5=await this['storeClient'][this['commands']['hset']](_0x56ce73,_0x2054ec);return this['cache']['setSubscriptions'](_0x3195e1['id'],_0x3195e1['version'],_0x49f5f2),this['isSuccessful'](_0x22a5d5);}async['getSubscriptions'](_0x4e84fc){let _0x574280=this['cache']['getSubscriptions'](_0x4e84fc['id'],_0x4e84fc['version']);if(_0x574280&&Object['keys'](_0x574280)['length']>0x0)return _0x574280;else{const _0x532925={'appId':_0x4e84fc['id'],'appVersion':_0x4e84fc['version']},_0x44c7f9=this['mintKey'](key_1['KeyType']['SUBSCRIPTIONS'],_0x532925);return _0x574280=await this['storeClient'][this['commands']['hgetall']](_0x44c7f9)||{},Object['entries'](_0x574280)['forEach'](([_0x453d9d,_0x430c70])=>{_0x574280[_0x453d9d]=JSON['parse'](_0x430c70);}),this['cache']['setSubscriptions'](_0x4e84fc['id'],_0x4e84fc['version'],_0x574280),_0x574280;}}async['getSubscription'](_0x39103c,_0x2304df){const _0x3d0382=await this['getSubscriptions'](_0x2304df);return _0x3d0382[_0x39103c];}async['setTransitions'](_0x16c7b2,_0x21ed64){const _0x306dfd={'appId':_0x21ed64['id'],'appVersion':_0x21ed64['version']},_0x56afe7=this['mintKey'](key_1['KeyType']['SUBSCRIPTION_PATTERNS'],_0x306dfd),_0x59cb00={..._0x16c7b2};Object['entries'](_0x59cb00)['forEach'](([_0x44d117,_0x1037d6])=>{_0x59cb00[_0x44d117]=JSON['stringify'](_0x1037d6);});if(Object['keys'](_0x59cb00)['length']!==0x0){const _0x84b453=await this['storeClient'][this['commands']['hset']](_0x56afe7,_0x59cb00);return this['cache']['setTransitions'](_0x21ed64['id'],_0x21ed64['version'],_0x16c7b2),_0x84b453;}}async['getTransitions'](_0x269e6c){let _0x80ebbb=this['cache']['getTransitions'](_0x269e6c['id'],_0x269e6c['version']);if(_0x80ebbb&&Object['keys'](_0x80ebbb)['length']>0x0)return _0x80ebbb;else{const _0x54f3ee={'appId':_0x269e6c['id'],'appVersion':_0x269e6c['version']},_0x38132d=this['mintKey'](key_1['KeyType']['SUBSCRIPTION_PATTERNS'],_0x54f3ee);_0x80ebbb={};const _0x300a66=await this['storeClient'][this['commands']['hgetall']](_0x38132d);return Object['entries'](_0x300a66)['forEach'](([_0x3ccb9f,_0x3bfa85])=>{_0x80ebbb[_0x3ccb9f]=JSON['parse'](_0x3bfa85);}),this['cache']['setTransitions'](_0x269e6c['id'],_0x269e6c['version'],_0x80ebbb),_0x80ebbb;}}async['setHookRules'](_0x4efb4b){const _0x316169=this['mintKey'](key_1['KeyType']['HOOKS'],{'appId':this['appId']}),_0x207d5c={};Object['entries'](_0x4efb4b)['forEach'](([_0x282280,_0x6d3b6d])=>{_0x207d5c[_0x282280['toString']()]=JSON['stringify'](_0x6d3b6d);});if(Object['keys'](_0x207d5c)['length']!==0x0){const _0x2daf52=await this['storeClient'][this['commands']['hset']](_0x316169,_0x207d5c);return this['cache']['setHookRules'](this['appId'],_0x4efb4b),_0x2daf52;}}async['getHookRules'](){let _0x2ae352=this['cache']['getHookRules'](this['appId']);if(_0x2ae352&&Object['keys'](_0x2ae352)['length']>0x0)return _0x2ae352;else{const _0x489598=this['mintKey'](key_1['KeyType']['HOOKS'],{'appId':this['appId']}),_0x1f113b=await this['storeClient'][this['commands']['hgetall']](_0x489598);return _0x2ae352={},Object['entries'](_0x1f113b)['forEach'](([_0x17f8db,_0x2db5c8])=>{_0x2ae352[_0x17f8db]=JSON['parse'](_0x2db5c8);}),this['cache']['setHookRules'](this['appId'],_0x2ae352),_0x2ae352;}}async['setHookSignal'](_0x55d656,_0x33a1da){const _0x54d4b7=this['mintKey'](key_1['KeyType']['SIGNALS'],{'appId':this['appId']}),{topic:_0x54c5ed,resolved:_0x490e8a,jobId:_0x362764}=_0x55d656,_0xd656db=_0x54c5ed+':'+_0x490e8a;await this['setnxex'](_0x54d4b7+':'+_0xd656db,_0x362764,Math['max'](_0x55d656['expire'],enums_1['HMSH_SIGNAL_EXPIRE']));}async['getHookSignal'](_0x2afa49,_0x3f750e){const _0x5e9319=this['mintKey'](key_1['KeyType']['SIGNALS'],{'appId':this['appId']}),_0x28a6b4=await this['storeClient'][this['commands']['get']](_0x5e9319+':'+_0x2afa49+':'+_0x3f750e);return _0x28a6b4?_0x28a6b4['toString']():undefined;}async['deleteHookSignal'](_0x3f135f,_0x2075df){const _0x2b77d5=this['mintKey'](key_1['KeyType']['SIGNALS'],{'appId':this['appId']}),_0x25e585=await this['storeClient'][this['commands']['del']](_0x2b77d5+':'+_0x3f135f+':'+_0x2075df);return _0x25e585?Number(_0x25e585):undefined;}async['addTaskQueues'](_0x5d5528){const _0x522f97=this['transact'](),_0xed07c5=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId']});for(const _0x350cbb of _0x5d5528){_0x522f97[this['commands']['zadd']](_0xed07c5,{'score':Date['now']()['toString'](),'value':_0x350cbb},{'NX':!![]});}await _0x522f97['exec']();}async['getActiveTaskQueue'](){let _0x2c329e=this['cache']['getActiveTaskQueue'](this['appId'])||null;if(!_0x2c329e){const _0x391e50=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId']}),_0x20d333=await this['storeClient'][this['commands']['zrange']](_0x391e50,0x0,0x0);_0x2c329e=_0x20d333['length']>0x0?_0x20d333[0x0]:null,_0x2c329e&&this['cache']['setWorkItem'](this['appId'],_0x2c329e);}return _0x2c329e;}async['deleteProcessedTaskQueue'](_0x267a6c,_0x25055f,_0xee23e1,_0x4b279a=![]){const _0x49f81a=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId']}),_0x478491=await this['storeClient'][this['commands']['zrem']](_0x49f81a,_0x267a6c);_0x478491&&(_0x4b279a?(this['storeClient'][this['commands']['expire']](_0xee23e1,0x0),this['storeClient'][this['commands']['expire']](_0x25055f['split'](':')['slice'](0x0,0x5)['join'](':'),0x0)):await this['storeClient'][this['commands']['rename']](_0xee23e1,_0x25055f)),this['cache']['removeWorkItem'](this['appId']);}async['processTaskQueue'](_0x3d3dff,_0x596756){return await this['storeClient'][this['commands']['lmove']](_0x3d3dff,_0x596756,'LEFT','RIGHT');}async['expireJob'](_0x37377d,_0x4e00b4,_0x4ba9f8){if(!isNaN(_0x4e00b4)&&_0x4e00b4>0x0){const _0x52a850=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x37377d});await(_0x4ba9f8||this['storeClient'])[this['commands']['expire']](_0x52a850,_0x4e00b4);}}async['getDependencies'](_0x1ef71a){const _0x52fc59={'appId':this['appId'],'jobId':_0x1ef71a},_0x923d34=this['mintKey'](key_1['KeyType']['JOB_DEPENDENTS'],_0x52fc59);return this['storeClient'][this['commands']['lrange']](_0x923d34,0x0,-0x1);}async['registerTimeHook'](_0x2095bf,_0xf5b0fa,_0x3a4685,_0x4ad644,_0xe24862,_0x36ecca,_0x882082){const _0xad88fb=this['mintKey'](key_1['KeyType']['TIME_RANGE'],{'appId':this['appId'],'timeValue':_0xe24862}),_0x268466=[_0x4ad644,_0x3a4685,_0xf5b0fa,_0x36ecca,_0x2095bf]['join'](key_1['VALSEP']),_0x44d9d7=await(_0x882082||this['storeClient'])[this['commands']['rpush']](_0xad88fb,_0x268466);if(_0x882082||_0x44d9d7===0x1){const _0x3b6866=this['mintKey'](key_1['KeyType']['TIME_RANGE'],{'appId':this['appId']});await this['zAdd'](_0x3b6866,_0xe24862['toString'](),_0xad88fb,_0x882082);}}async['getNextTask'](_0xf7598b){const _0x352659=this['mintKey'](key_1['KeyType']['TIME_RANGE'],{'appId':this['appId']});_0xf7598b=_0xf7598b||await this['zRangeByScore'](_0x352659,0x0,Date['now']());if(_0xf7598b){let [_0x37bbf6,_0xfe602]=this['resolveTaskKeyContext'](_0xf7598b);const _0x52f973=await this['storeClient'][this['commands']['lpop']](_0xfe602);if(_0x52f973){let [_0xa546e8,_0x36d64f,_0x524ead,_0x218594,..._0x99bdfa]=_0x52f973['split'](key_1['VALSEP']);const _0x4b94d8=_0x99bdfa['join'](key_1['VALSEP']);if(_0xa546e8==='delist')_0x37bbf6='delist';else{if(_0xa546e8==='child')_0x37bbf6='child';else _0xa546e8==='expire-child'&&(_0xa546e8='expire');}return[_0xf7598b,_0x4b94d8,_0x524ead,_0x36d64f,_0x37bbf6];}return await this['storeClient'][this['commands']['zrem']](_0x352659,_0xf7598b),!![];}return![];}['resolveTaskKeyContext'](_0x1ce60c){if(_0x1ce60c['startsWith'](key_1['TYPSEP']+'INTERRUPT'))return['interrupt',_0x1ce60c['split'](key_1['TYPSEP'])[0x2]];else return _0x1ce60c['startsWith'](key_1['TYPSEP']+'EXPIRE')?['expire',_0x1ce60c['split'](key_1['TYPSEP'])[0x2]]:['sleep',_0x1ce60c];}async['interrupt'](_0x5b1ecd,_0x3b46af,_0x4e9a7a={}){try{const _0x1ac3f6=await this['getStatus'](_0x3b46af,this['appId']);if(_0x1ac3f6<=0x0)throw new Error('Job\x20'+_0x3b46af+'\x20already\x20completed');const _0x2108df=-0x3b9aca00,_0x124b45=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x3b46af}),_0x56d940=await this['storeClient'][this['commands']['hincrbyfloat']](_0x124b45,':',_0x2108df);if(_0x56d940<=_0x2108df)throw new Error('Job\x20'+_0x3b46af+'\x20already\x20completed');if(_0x4e9a7a['throw']!==![]){const _0x4d9a28='metadata/err',_0x4f1381=['$'+_0x5b1ecd],_0x3ea5a4=await this['getSymbolKeys'](_0x4f1381),_0x1523b8=await this['getSymbolValues']();this['serializer']['resetSymbols'](_0x3ea5a4,_0x1523b8,{});const _0x400d3b=JSON['stringify']({'code':_0x4e9a7a['code']??enums_1['HMSH_CODE_INTERRUPT'],'message':_0x4e9a7a['reason']??'job\x20['+_0x3b46af+']\x20interrupted','stack':_0x4e9a7a['stack']??'','job_id':_0x3b46af}),_0xc34dbd={[_0x4d9a28]:_0x2108df['toString']()},_0x49ee8e=this['serializer']['package'](_0xc34dbd,_0x4f1381),_0x19c37e=Object['keys'](_0x49ee8e)[0x0];await this['storeClient'][this['commands']['hset']](_0x124b45,_0x19c37e,_0x400d3b);}}catch(_0x3dc5d7){if(!_0x4e9a7a['suppress'])throw _0x3dc5d7;else this['logger']['debug']('suppressed-interrupt',{'message':_0x3dc5d7['message']});}}async['scrub'](_0x37896e){const _0x43df5a=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x37896e});await this['storeClient'][this['commands']['del']](_0x43df5a);}async['findJobs'](_0xb7c8ca='*',_0x261687=0x3e8,_0x3810c7=0x3e8,_0x44f77f='0'){const _0x50430b=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0xb7c8ca});let _0x36aa85;const _0x258155=[];do{const _0x5a6be2=await this['exec']('SCAN',_0x44f77f,'MATCH',_0x50430b,'COUNT',_0x3810c7['toString']());if(Array['isArray'](_0x5a6be2)){[_0x44f77f,_0x36aa85]=_0x5a6be2;for(const _0x1d5689 of[..._0x36aa85]){_0x258155['push'](_0x1d5689);}if(_0x258155['length']>=_0x261687)break;}else break;}while(_0x44f77f!=='0');return[_0x44f77f,_0x258155];}async['findJobFields'](_0x1c5ff7,_0x2bf3e1='*',_0xa464d2=0x3e8,_0x411f26=0x3e8,_0x24b6b3='0'){let _0x557c60=[];const _0x5cbd48={},_0x4829e6=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x1c5ff7});let _0x1e4a38=0x0;do{const _0x254610=await this['exec']('HSCAN',_0x4829e6,_0x24b6b3,'MATCH',_0x2bf3e1,'COUNT',_0x411f26['toString']());if(Array['isArray'](_0x254610)){[_0x24b6b3,_0x557c60]=_0x254610;for(let _0x33cf94=0x0;_0x33cf94<_0x557c60['length'];_0x33cf94+=0x2){_0x1e4a38++,_0x5cbd48[_0x557c60[_0x33cf94]]=_0x557c60[_0x33cf94+0x1];}}else break;}while(_0x24b6b3!=='0'&&_0x1e4a38<_0xa464d2);return[_0x24b6b3,_0x5cbd48];}async['setThrottleRate'](_0x530ee7){const _0x2e43c7=this['mintKey'](key_1['KeyType']['THROTTLE_RATE'],{'appId':this['appId']});if(_0x530ee7['guid'])return;const _0x49d8b1=_0x530ee7['throttle']['toString']();if(_0x530ee7['topic'])await this['storeClient'][this['commands']['hset']](_0x2e43c7,{[_0x530ee7['topic']]:_0x49d8b1});else{const _0x370454=this['transact']();_0x370454[this['commands']['del']](_0x2e43c7),_0x370454[this['commands']['hset']](_0x2e43c7,{':':_0x49d8b1}),await _0x370454['exec']();}}async['getThrottleRates'](){const _0x58af90=this['mintKey'](key_1['KeyType']['THROTTLE_RATE'],{'appId':this['appId']}),_0x38c262=await this['storeClient'][this['commands']['hgetall']](_0x58af90);return _0x38c262??{};}async['getThrottleRate'](_0x340a9e){const _0x16ab40=(_0x4a144f,_0x3c8a8b)=>{const _0x37f270=_0x3c8a8b in _0x4a144f?Number(_0x4a144f[_0x3c8a8b]):0x0;if(isNaN(_0x37f270))return 0x0;if(_0x37f270==-0x1)return enums_1['MAX_DELAY'];return Math['max'](Math['min'](_0x37f270,enums_1['MAX_DELAY']),0x0);},_0x14fb11=await this['getThrottleRates'](),_0x820a4c=_0x16ab40(_0x14fb11,':');if(_0x340a9e===':'||!(_0x340a9e in _0x14fb11))return _0x820a4c;return _0x16ab40(_0x14fb11,_0x340a9e);}}exports['RedisStoreBase']=RedisStoreBase;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { IORedisClientType as RedisClientType, IORedisMultiType as RedisMultiType } from '../../../../types/redis';
|
|
2
|
-
import { RedisStoreBase } from './_base';
|
|
3
2
|
import { StoreInitializable } from '../store-initializable';
|
|
3
|
+
import { RedisStoreBase } from './_base';
|
|
4
4
|
declare class IORedisStoreService extends RedisStoreBase<RedisClientType, RedisMultiType> implements StoreInitializable {
|
|
5
5
|
constructor(storeClient: RedisClientType);
|
|
6
|
-
|
|
6
|
+
transact(): RedisMultiType;
|
|
7
7
|
exec(...args: any[]): Promise<string | string[] | string[][]>;
|
|
8
8
|
setnxex(key: string, value: string, expireSeconds: number): Promise<boolean>;
|
|
9
9
|
hGetAllResult(result: any): any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';
|
|
1
|
+
'use strict';(function(_0x3a32e0,_0x458974){const _0x127b7b=_0x2499,_0xd35f42=_0x3a32e0();while(!![]){try{const _0xa56876=parseInt(_0x127b7b(0x154))/0x1+parseInt(_0x127b7b(0x151))/0x2*(parseInt(_0x127b7b(0x14f))/0x3)+-parseInt(_0x127b7b(0x14d))/0x4*(parseInt(_0x127b7b(0x14e))/0x5)+-parseInt(_0x127b7b(0x155))/0x6*(parseInt(_0x127b7b(0x153))/0x7)+parseInt(_0x127b7b(0x150))/0x8+parseInt(_0x127b7b(0x156))/0x9+-parseInt(_0x127b7b(0x152))/0xa;if(_0xa56876===_0x458974)break;else _0xd35f42['push'](_0xd35f42['shift']());}catch(_0x30bf08){_0xd35f42['push'](_0xd35f42['shift']());}}}(_0x1125,0x3b79d));function _0x2499(_0x575bae,_0x3f54eb){const _0x112539=_0x1125();return _0x2499=function(_0x249989,_0x1bb2bc){_0x249989=_0x249989-0x14d;let _0x5cafbd=_0x112539[_0x249989];return _0x5cafbd;},_0x2499(_0x575bae,_0x3f54eb);}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['IORedisStoreService']=void 0x0;const key_1=require('../../../../modules/key'),enums_1=require('../../../../modules/enums'),_base_1=require('./_base');function _0x1125(){const _0x387f67=['57533CpdwHY','372565oVZsJg','60qDuCNa','493110HBNIWF','4uomAjZ','820465dPElzQ','1269327TdvUZy','1958824ZPNJOy','2OWnQDJ','6054210LSXsqr'];_0x1125=function(){return _0x387f67;};return _0x1125();}class IORedisStoreService extends _base_1['RedisStoreBase']{constructor(_0x3c8590){super(_0x3c8590),this['commands']={'get':'get','set':'set','setnx':'setnx','del':'del','expire':'expire','hset':'hset','hscan':'hscan','hsetnx':'hsetnx','hincrby':'hincrby','hdel':'hdel','hget':'hget','hmget':'hmget','hgetall':'hgetall','hincrbyfloat':'hincrbyfloat','zrank':'zrank','zrange':'zrange','zrangebyscore_withscores':'zrangebyscore','zrangebyscore':'zrangebyscore','zrem':'zrem','zadd':'zadd','lmove':'lmove','lpop':'lpop','lrange':'lrange','rename':'rename','rpush':'rpush','scan':'scan','xack':'xack','xdel':'xdel'};}['transact'](){const _0x3d8e69=this;if(enums_1['HMSH_IS_CLUSTER']){const _0x240bfe=[],_0x564d9e=(_0x41c8a7,_0x276a37)=>{return _0x240bfe['push']({'command':_0x41c8a7,'args':_0x276a37}),_0x170f8f;},_0x170f8f={'sendCommand'(_0x3d8d23){return _0x3d8e69['storeClient']['sendCommand'](_0x3d8d23);},async 'exec'(){if(_0x240bfe['length']===0x0)return[];const _0x34602b=_0x240bfe['every'](_0x31d530=>{return _0x31d530['args'][0x0]===_0x240bfe[0x0]['args'][0x0];});if(_0x34602b){const _0x5343b0=_0x3d8e69['storeClient']['multi']();_0x240bfe['forEach'](_0x2ef53d=>_0x5343b0[_0x2ef53d['command']](..._0x2ef53d['args']));const _0x3bef80=await _0x5343b0['exec']();return _0x3bef80['map'](_0x2bc3b4=>_0x2bc3b4);}else return Promise['all'](_0x240bfe['map'](_0x3a2839=>_0x3d8e69['storeClient'][_0x3a2839['command']](..._0x3a2839['args'])));},'xadd'(_0x2bee51,_0x2861c9,_0x255562,_0x39a5fd){return _0x564d9e('xadd',[_0x2bee51,_0x2861c9,_0x255562,_0x39a5fd]);},'xack'(_0x2e0d24,_0x3bf71d,_0x3aaa54){return _0x564d9e('xack',[_0x2e0d24,_0x3bf71d,_0x3aaa54]);},'xdel'(_0x57366d,_0x3054a4){return _0x564d9e('xdel',[_0x57366d,_0x3054a4]);},'xlen'(_0x58ba3f){return _0x564d9e('xlen',[_0x58ba3f]);},'xpending'(_0x5f3039,_0x4d7fba,_0x3ecb47,_0x1d77fb,_0x4a499d,_0x1baf2e){return _0x564d9e('xpending',[_0x5f3039,_0x4d7fba,_0x3ecb47,_0x1d77fb,_0x4a499d,_0x1baf2e]);},'xclaim'(_0xd5bef2,_0x2053f9,_0x2c3fcb,_0x4031fa,_0x2c9e62,..._0x28bfd1){return _0x564d9e('xclaim',[_0xd5bef2,_0x2053f9,_0x2c3fcb,_0x4031fa,_0x2c9e62,..._0x28bfd1]);},'del'(_0x14ebfb){return _0x564d9e('del',[_0x14ebfb]);},'expire':function(_0x30e792,_0xdbcb74){return _0x564d9e('expire',[_0x30e792,_0xdbcb74]);},'hdel'(_0x3ce031,_0x2dfd3e){return _0x564d9e('hdel',[_0x3ce031,_0x2dfd3e]);},'hget'(_0x12f927,_0x41bbd3){return _0x564d9e('hget',[_0x12f927,_0x41bbd3]);},'hgetall'(_0x4a0237){return _0x564d9e('hgetall',[_0x4a0237]);},'hincrbyfloat'(_0x8a1e49,_0x40c282,_0x4b14fa){return _0x564d9e('hincrbyfloat',[_0x8a1e49,_0x40c282,_0x4b14fa]);},'hmget'(_0x1425d6,_0x244c16){return _0x564d9e('hmget',[_0x1425d6,_0x244c16]);},'hset'(_0x3ad7d6,_0x216216){return _0x564d9e('hset',[_0x3ad7d6,_0x216216]);},'lrange'(_0x494df2,_0x208526,_0xb0e108){return _0x564d9e('lrange',[_0x494df2,_0x208526,_0xb0e108]);},'rpush'(_0x3a35b1,_0x174776){return _0x564d9e('rpush',[_0x3a35b1,_0x174776]);},'zadd'(..._0x3ad2ae){return _0x564d9e('zadd',_0x3ad2ae);},'xgroup'(_0x4cb2a0,_0x454e41,_0x3182ef,_0x3acb05,_0x25c0a0){return _0x564d9e('xgroup',[_0x4cb2a0,_0x454e41,_0x3182ef,_0x3acb05,_0x25c0a0]);}};return _0x170f8f;}return this['storeClient']['multi']();}async['exec'](..._0x3d7ec3){const _0x585bbe=await this['storeClient']['call']['apply'](this['storeClient'],_0x3d7ec3);if(typeof _0x585bbe==='string')return _0x585bbe;else{if(Array['isArray'](_0x585bbe)){if(Array['isArray'](_0x585bbe[0x0]))return _0x585bbe;return _0x585bbe;}}return _0x585bbe;}async['setnxex'](_0x593aad,_0x48b750,_0x1b2be1){const _0x4754eb=await this['storeClient'][this['commands']['set']](_0x593aad,_0x48b750,'NX','EX',_0x1b2be1['toString']());return this['isSuccessful'](_0x4754eb);}['hGetAllResult'](_0x29d530){return _0x29d530[0x1];}async['addTaskQueues'](_0x1c40a8){const _0x2b2747=this['storeClient']['multi'](),_0x491638=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId']});for(const _0x2d76a0 of _0x1c40a8){_0x2b2747['zadd'](_0x491638,'NX',Date['now'](),_0x2d76a0);}await _0x2b2747['exec']();}}exports['IORedisStoreService']=IORedisStoreService;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { RedisStoreBase } from './_base';
|
|
2
1
|
import { StoreInitializable } from '../store-initializable';
|
|
3
2
|
import { RedisRedisClientType as RedisClientType, RedisRedisMultiType as RedisMultiType } from '../../../../types/redis';
|
|
3
|
+
import { RedisStoreBase } from './_base';
|
|
4
4
|
declare class RedisStoreService extends RedisStoreBase<RedisClientType, RedisMultiType> implements StoreInitializable {
|
|
5
5
|
constructor(storeClient: RedisClientType);
|
|
6
|
-
|
|
6
|
+
transact(): RedisMultiType;
|
|
7
7
|
exec(...args: any[]): Promise<string | string[] | string[][]>;
|
|
8
8
|
setnxex(key: string, value: string, expireSeconds: number): Promise<boolean>;
|
|
9
9
|
zAdd(key: string, score: number | string, value: string | number, redisMulti?: RedisMultiType): Promise<any>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';(function(_0x47566c,_0x54c17f){const _0x28bf30=_0x2bd6,_0x5c5fc5=_0x47566c();while(!![]){try{const _0x438b69=-parseInt(_0x28bf30(0xd8))/0x1+parseInt(_0x28bf30(0xd5))/0x2+-parseInt(_0x28bf30(0xdb))/0x3*(-parseInt(_0x28bf30(0xd4))/0x4)+parseInt(_0x28bf30(0xd6))/0x5*(parseInt(_0x28bf30(0xd7))/0x6)+-parseInt(_0x28bf30(0xd3))/0x7+-parseInt(_0x28bf30(0xd9))/0x8+parseInt(_0x28bf30(0xda))/0x9;if(_0x438b69===_0x54c17f)break;else _0x5c5fc5['push'](_0x5c5fc5['shift']());}catch(_0x1b33cc){_0x5c5fc5['push'](_0x5c5fc5['shift']());}}}(_0x4218,0x565c6));Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['RedisStoreService']=void 0x0;const enums_1=require('../../../../modules/enums'),_base_1=require('./_base');class RedisStoreService extends _base_1['RedisStoreBase']{constructor(_0x4a2e5d){super(_0x4a2e5d),this['commands']={'get':'GET','set':'SET','setnx':'SETNX','del':'DEL','expire':'EXPIRE','hscan':'HSCAN','hset':'HSET','hsetnx':'HSETNX','hincrby':'HINCRBY','hdel':'HDEL','hget':'HGET','hmget':'HMGET','hgetall':'HGETALL','hincrbyfloat':'HINCRBYFLOAT','zrange':'ZRANGE','zrangebyscore_withscores':'ZRANGEBYSCORE_WITHSCORES','zrangebyscore':'ZRANGEBYSCORE','zrem':'ZREM','zadd':'ZADD','lmove':'LMOVE','lrange':'LRANGE','lpop':'LPOP','rename':'RENAME','rpush':'RPUSH','scan':'SCAN','xack':'XACK','xdel':'XDEL','xlen':'XLEN'};}['transact'](){const _0x6de65d=this;if(enums_1['HMSH_IS_CLUSTER']){const _0x4202c5=[],_0x5adcbe=(_0x421871,_0x39539f)=>{return _0x4202c5['push']({'command':_0x421871['toUpperCase'](),'args':_0x39539f}),_0x44ef22;},_0x44ef22={'sendCommand'(_0x37045b,..._0x5514b3){return _0x6de65d['storeClient']['sendCommand']([_0x37045b,..._0x5514b3]);},async 'exec'(){if(_0x4202c5['length']===0x0)return[];const _0x490f16=_0x4202c5['every'](_0x3779f2=>{return _0x3779f2['args'][0x0]===_0x4202c5[0x0]['args'][0x0];});if(_0x490f16){const _0x531e3b=_0x6de65d['storeClient']['multi']();_0x4202c5['forEach'](_0x970fee=>{if(_0x970fee['command']==='ZADD')return _0x531e3b['ZADD'](_0x970fee['args'][0x0],_0x970fee['args'][0x1],_0x970fee['args'][0x2]);return _0x531e3b[_0x970fee['command']](..._0x970fee['args']);});const _0xf4048c=await _0x531e3b['exec']();return _0xf4048c['map'](_0x3675a2=>_0x3675a2);}else return Promise['all'](_0x4202c5['map'](_0x3c6dc1=>{if(_0x3c6dc1['command']==='ZADD')return _0x6de65d['storeClient']['ZADD'](_0x3c6dc1['args'][0x0],_0x3c6dc1['args'][0x1],_0x3c6dc1['args'][0x2]);return _0x6de65d['storeClient'][_0x3c6dc1['command']](..._0x3c6dc1['args']);}));},'XADD'(_0x3a0bc1,_0x1a3896,_0x201ed5,_0x4222a3){return _0x5adcbe('XADD',[_0x3a0bc1,_0x1a3896,_0x201ed5,_0x4222a3]);},'XACK'(_0x1fb57d,_0x5f15b2,_0x52e722){return _0x5adcbe('XACK',[_0x1fb57d,_0x5f15b2,_0x52e722]);},'XDEL'(_0x6d0839,_0x32ea69){return _0x5adcbe('XDEL',[_0x6d0839,_0x32ea69]);},'XLEN'(_0x3a7fb2){return _0x5adcbe('XLEN',[_0x3a7fb2]);},'XCLAIM'(_0x42213a,_0x470f55,_0x5006ff,_0x368682,_0x365d61,..._0x13dc3d){return _0x5adcbe('XCLAIM',[_0x42213a,_0x470f55,_0x5006ff,_0x368682,_0x365d61,..._0x13dc3d]);},'XPENDING'(_0x4a2c7c,_0x445ad2,_0x2967af,_0x5f3262,_0x3cc3c0,_0x4b14be){return _0x5adcbe('XPENDING',[_0x4a2c7c,_0x445ad2,_0x2967af,_0x5f3262,_0x3cc3c0,_0x4b14be]);},'DEL':function(_0x3994cd){return _0x5adcbe('DEL',[_0x3994cd]);},'EXPIRE':function(_0x206e8a,_0x2cb372){return _0x5adcbe('EXPIRE',[_0x206e8a,_0x2cb372]);},'HDEL'(_0x2a2f8e,_0x172400){return _0x5adcbe('HDEL',[_0x2a2f8e,_0x172400]);},'HGET'(_0x4b711a,_0x3af8ed){return _0x5adcbe('HGET',[_0x4b711a,_0x3af8ed]);},'HGETALL'(_0x1be4ca){return _0x5adcbe('HGETALL',[_0x1be4ca]);},'HINCRBYFLOAT'(_0xdcbb7e,_0x2c3259,_0x579502){return _0x5adcbe('HINCRBYFLOAT',[_0xdcbb7e,_0x2c3259,_0x579502]);},'HMGET'(_0x4177b9,_0x34fdbb){return _0x5adcbe('HMGET',[_0x4177b9,_0x34fdbb]);},'HSET'(_0x50462b,_0x49fe77){return _0x5adcbe('HSET',[_0x50462b,_0x49fe77]);},'LRANGE'(_0xbb2d67,_0x3a39f4,_0x388bfb){return _0x5adcbe('LRANGE',[_0xbb2d67,_0x3a39f4,_0x388bfb]);},'RPUSH'(_0x1588e7,_0x258386){return _0x5adcbe('RPUSH',[_0x1588e7,_0x258386]);},'ZADD'(_0x461603,_0x2999d8,_0x47fd5b){return _0x5adcbe('ZADD',[_0x461603,_0x2999d8,_0x47fd5b]);},'XGROUP'(_0x54e19c,_0x1c4156,_0x2bdecc,_0x357b20,_0x30a6ca){return _0x5adcbe('XGROUP',[_0x54e19c,_0x1c4156,_0x2bdecc,_0x357b20,_0x30a6ca]);},'EXISTS':function(_0x17a666){throw new Error('Function\x20not\x20implemented.');},'HMPUSH':function(_0x4b535d,_0x551388){throw new Error('Function\x20not\x20implemented.');},'LPUSH':function(_0x3a4583,_0x25cd26){throw new Error('Function\x20not\x20implemented.');},'SET':function(_0x24f30d,_0x12547e){throw new Error('Function\x20not\x20implemented.');},'ZRANGE_WITHSCORES':function(_0x16e889,_0x1db601,_0x5dbb79){throw new Error('Function\x20not\x20implemented.');},'ZRANK':function(_0x1a4fee,_0x5ad3e1){throw new Error('Function\x20not\x20implemented.');},'ZSCORE':function(_0x32df11,_0x488d40){throw new Error('Function\x20not\x20implemented.');}};return _0x44ef22;}return this['storeClient']['multi']();}async['exec'](..._0x48ea4b){return await this['storeClient']['sendCommand'](_0x48ea4b);}async['setnxex'](_0x1bdf86,_0x4ffb75,_0x1b6501){const _0x5ce4e6=await this['storeClient'][this['commands']['set']](_0x1bdf86,_0x4ffb75,{'NX':!![],'EX':_0x1b6501});return this['isSuccessful'](_0x5ce4e6);}async['zAdd'](_0xc35719,_0x145668,_0x510d6b,_0x1f4fbb){return await(_0x1f4fbb||this['storeClient'])[this['commands']['zadd']](_0xc35719,{'score':_0x145668,'value':_0x510d6b['toString']()});}async['zRangeByScoreWithScores'](_0x18f634,_0x5f0aae,_0x3dc18c){const _0x1fe108=await this['storeClient'][this['commands']['zrangebyscore_withscores']](_0x18f634,_0x5f0aae,_0x3dc18c);if(_0x1fe108?.['length']>0x0)return _0x1fe108[0x0];return null;}async['zRangeByScore'](_0x265e7a,_0x2c1625,_0xa7dd4a){const _0x3a8a0a=await this['storeClient'][this['commands']['zrangebyscore']](_0x265e7a,_0x2c1625,_0xa7dd4a);if(_0x3a8a0a?.['length']>0x0)return _0x3a8a0a[0x0];return null;}}exports['RedisStoreService']=RedisStoreService;function _0x2bd6(_0x45a0b6,_0x404baa){const _0x4218cc=_0x4218();return _0x2bd6=function(_0x2bd63e,_0x21b14c){_0x2bd63e=_0x2bd63e-0xd3;let _0x3bd350=_0x4218cc[_0x2bd63e];return _0x3bd350;},_0x2bd6(_0x45a0b6,_0x404baa);}function _0x4218(){const _0x222754=['4250896WCoVhr','12645207PTwfVc','3HKIaxd','4333700qsirZV','1038668QLQXQt','39466OZgbAb','1117885fBuQeG','12CKIxJt','627381umEiPp'];_0x4218=function(){return _0x222754;};return _0x4218();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';(function(_0x243116,_0x4ac273){var _0x40ccf3=_0x286b,_0x4fd5c4=_0x243116();while(!![]){try{var _0x29c17a=parseInt(_0x40ccf3(0xba))/0x1*(-parseInt(_0x40ccf3(0xb8))/0x2)+-parseInt(_0x40ccf3(0xb1))/0x3*(-parseInt(_0x40ccf3(0xb5))/0x4)+parseInt(_0x40ccf3(0xbc))/0x5*(-parseInt(_0x40ccf3(0xb2))/0x6)+parseInt(_0x40ccf3(0xb9))/0x7*(-parseInt(_0x40ccf3(0xb4))/0x8)+-parseInt(_0x40ccf3(0xb7))/0x9*(parseInt(_0x40ccf3(0xaf))/0xa)+parseInt(_0x40ccf3(0xb6))/0xb*(-parseInt(_0x40ccf3(0xb0))/0xc)+-parseInt(_0x40ccf3(0xb3))/0xd*(-parseInt(_0x40ccf3(0xbb))/0xe);if(_0x29c17a===_0x4ac273)break;else _0x4fd5c4['push'](_0x4fd5c4['shift']());}catch(_0x400f18){_0x4fd5c4['push'](_0x4fd5c4['shift']());}}}(_0x17bc,0xbce9e));function _0x286b(_0x286190,_0x267acb){var _0x17bca7=_0x17bc();return _0x286b=function(_0x286b7b,_0x1813b0){_0x286b7b=_0x286b7b-0xaf;var _0xbe3afd=_0x17bca7[_0x286b7b];return _0xbe3afd;},_0x286b(_0x286190,_0x267acb);}Object['defineProperty'](exports,'__esModule',{'value':!![]});function _0x17bc(){var _0x3622a9=['27jQAMuM','508ZPpWYg','38024icKRnO','3691IemYqu','7784cTvlUN','5EqrvBE','2795740PevnPQ','2004RgNsCZ','81150tfxYOp','6026556eBcSWp','94107wIOgQq','1760jODBaM','172MrDKlw','28886JvKoAA'];_0x17bc=function(){return _0x3622a9;};return _0x17bc();}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { RedisClient } from '../../types/redis';
|
|
2
1
|
import { ILogger } from '../logger';
|
|
3
|
-
import {
|
|
2
|
+
import { ProviderClient, ProviderTransaction } from '../../types/provider';
|
|
4
3
|
import { StreamInitializable } from './providers/stream-initializable';
|
|
4
|
+
import { StreamService } from './index';
|
|
5
5
|
declare class StreamServiceFactory {
|
|
6
|
-
static init(
|
|
6
|
+
static init(provider: ProviderClient, storeProvider: ProviderClient, namespace: string, appId: string, logger: ILogger): Promise<StreamService<ProviderClient, ProviderTransaction> & StreamInitializable>;
|
|
7
7
|
}
|
|
8
8
|
export { StreamServiceFactory };
|
|
@@ -4,14 +4,26 @@ exports.StreamServiceFactory = void 0;
|
|
|
4
4
|
const utils_1 = require("../../modules/utils");
|
|
5
5
|
const ioredis_1 = require("./providers/redis/ioredis");
|
|
6
6
|
const redis_1 = require("./providers/redis/redis");
|
|
7
|
+
const nats_1 = require("./providers/nats/nats");
|
|
7
8
|
class StreamServiceFactory {
|
|
8
|
-
static async init(
|
|
9
|
+
static async init(provider, storeProvider, namespace, appId, logger) {
|
|
9
10
|
let service;
|
|
10
|
-
|
|
11
|
-
|
|
11
|
+
const providerType = (0, utils_1.identifyProvider)(provider);
|
|
12
|
+
if (providerType === 'nats') {
|
|
13
|
+
let storeProvider;
|
|
14
|
+
if ((0, utils_1.identifyProvider)(storeProvider) === 'redis') {
|
|
15
|
+
storeProvider = storeProvider;
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
storeProvider = storeProvider;
|
|
19
|
+
}
|
|
20
|
+
service = new nats_1.NatsStreamService(provider, storeProvider);
|
|
21
|
+
}
|
|
22
|
+
else if (providerType === 'redis') {
|
|
23
|
+
service = new redis_1.RedisStreamService(provider, storeProvider);
|
|
12
24
|
}
|
|
13
25
|
else {
|
|
14
|
-
service = new ioredis_1.IORedisStreamService(
|
|
26
|
+
service = new ioredis_1.IORedisStreamService(provider, storeProvider);
|
|
15
27
|
}
|
|
16
28
|
await service.init(namespace, appId, logger);
|
|
17
29
|
return service;
|
|
@@ -1,21 +1,60 @@
|
|
|
1
|
-
import { ReclaimedMessageType } from '../../types/stream';
|
|
2
1
|
import { ILogger } from '../logger';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
2
|
+
import { PublishMessageConfig, StreamConfig, StreamMessage, StreamStats } from '../../types/stream';
|
|
3
|
+
import { StringAnyType } from '../../types';
|
|
4
|
+
import { KeyStoreParams, KeyType } from '../../modules/key';
|
|
5
|
+
import { ProviderClient, ProviderTransaction } from '../../types/provider';
|
|
6
|
+
export declare abstract class StreamService<ClientProvider extends ProviderClient, TransactionProvider extends ProviderTransaction> {
|
|
7
|
+
protected streamClient: ClientProvider;
|
|
8
|
+
protected storeClient: ProviderClient;
|
|
9
|
+
protected namespace: string;
|
|
10
|
+
protected logger: ILogger;
|
|
11
|
+
protected appId: string;
|
|
12
|
+
protected config: StreamConfig;
|
|
13
|
+
constructor(streamClient: ClientProvider, storeClient: ProviderClient, config?: StreamConfig);
|
|
10
14
|
abstract init(namespace: string, appId: string, logger: ILogger): Promise<void>;
|
|
11
|
-
abstract
|
|
12
|
-
abstract
|
|
13
|
-
abstract
|
|
14
|
-
abstract
|
|
15
|
-
abstract
|
|
16
|
-
abstract
|
|
17
|
-
abstract
|
|
18
|
-
|
|
19
|
-
|
|
15
|
+
abstract mintKey(type: KeyType, params: KeyStoreParams): string;
|
|
16
|
+
abstract createStream(streamName: string): Promise<boolean>;
|
|
17
|
+
abstract deleteStream(streamName: string): Promise<boolean>;
|
|
18
|
+
abstract createConsumerGroup(streamName: string, groupName: string): Promise<boolean>;
|
|
19
|
+
abstract deleteConsumerGroup(streamName: string, groupName: string): Promise<boolean>;
|
|
20
|
+
abstract publishMessages(streamName: string, messages: string[], options?: PublishMessageConfig): Promise<string[] | ProviderTransaction>;
|
|
21
|
+
abstract consumeMessages(streamName: string, groupName: string, consumerName: string, options?: {
|
|
22
|
+
batchSize?: number;
|
|
23
|
+
blockTimeout?: number;
|
|
24
|
+
autoAck?: boolean;
|
|
25
|
+
}): Promise<StreamMessage[]>;
|
|
26
|
+
abstract transact(): ProviderTransaction;
|
|
27
|
+
abstract ackAndDelete(streamName: string, groupName: string, messageIds: string[], options?: StringAnyType): Promise<number>;
|
|
28
|
+
abstract acknowledgeMessages(streamName: string, groupName: string, messageIds: string[], options?: StringAnyType): Promise<number | TransactionProvider>;
|
|
29
|
+
abstract deleteMessages(streamName: string, groupName: string, messageIds: string[], options?: StringAnyType): Promise<number | TransactionProvider>;
|
|
30
|
+
abstract retryMessages(streamName: string, groupName: string, options?: {
|
|
31
|
+
consumerName?: string;
|
|
32
|
+
minIdleTime?: number;
|
|
33
|
+
messageIds?: string[];
|
|
34
|
+
delay?: number;
|
|
35
|
+
maxRetries?: number;
|
|
36
|
+
limit?: number;
|
|
37
|
+
}): Promise<StreamMessage[]>;
|
|
38
|
+
abstract getStreamStats(streamName: string): Promise<StreamStats>;
|
|
39
|
+
abstract getStreamDepth(streamName: string): Promise<number>;
|
|
40
|
+
abstract getStreamDepths(streamName: {
|
|
41
|
+
stream: string;
|
|
42
|
+
}[]): Promise<{
|
|
43
|
+
stream: string;
|
|
44
|
+
depth: number;
|
|
45
|
+
}[]>;
|
|
46
|
+
abstract trimStream(streamName: string, options: {
|
|
47
|
+
maxLen?: number;
|
|
48
|
+
maxAge?: number;
|
|
49
|
+
exactLimit?: boolean;
|
|
50
|
+
}): Promise<number>;
|
|
51
|
+
abstract getProviderSpecificFeatures(): {
|
|
52
|
+
supportsBatching: boolean;
|
|
53
|
+
supportsDeadLetterQueue: boolean;
|
|
54
|
+
supportsOrdering: boolean;
|
|
55
|
+
supportsTrimming: boolean;
|
|
56
|
+
supportsRetry: boolean;
|
|
57
|
+
maxMessageSize: number;
|
|
58
|
+
maxBatchSize: number;
|
|
59
|
+
};
|
|
20
60
|
}
|
|
21
|
-
export { StreamService };
|
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.StreamService = void 0;
|
|
4
4
|
class StreamService {
|
|
5
|
-
constructor(streamClient, storeClient) {
|
|
5
|
+
constructor(streamClient, storeClient, config = {}) {
|
|
6
6
|
this.streamClient = streamClient;
|
|
7
7
|
this.storeClient = storeClient;
|
|
8
|
+
this.config = config;
|
|
8
9
|
}
|
|
9
10
|
}
|
|
10
11
|
exports.StreamService = StreamService;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { ILogger } from '../../../logger';
|
|
2
|
+
import { StreamService } from '../../index';
|
|
3
|
+
import { PublishMessageConfig, StreamConfig, StreamMessage, StreamStats } from '../../../../types/stream';
|
|
4
|
+
import { KeyStoreParams, StringAnyType } from '../../../../types';
|
|
5
|
+
import { NatsJetStreamType, NatsJetStreamManager as NatsJetStreamManagerType, NatsPubAckType, NatsClientType } from '../../../../types/nats';
|
|
6
|
+
import { KeyType } from '../../../../modules/key';
|
|
7
|
+
import { ProviderClient, ProviderTransaction } from '../../../../types/provider';
|
|
8
|
+
declare class NatsStreamService extends StreamService<NatsClientType, NatsPubAckType> {
|
|
9
|
+
jetstream: NatsJetStreamType;
|
|
10
|
+
jsm: NatsJetStreamManagerType;
|
|
11
|
+
constructor(streamClient: NatsClientType, storeClient: ProviderClient, config?: StreamConfig);
|
|
12
|
+
init(namespace: string, appId: string, logger: ILogger): Promise<void>;
|
|
13
|
+
mintKey(type: KeyType, params: KeyStoreParams): string;
|
|
14
|
+
transact(): ProviderTransaction;
|
|
15
|
+
createStream(streamName: string): Promise<boolean>;
|
|
16
|
+
deleteStream(streamName: string): Promise<boolean>;
|
|
17
|
+
createConsumerGroup(streamName: string, groupName: string): Promise<boolean>;
|
|
18
|
+
deleteConsumerGroup(streamName: string, groupName: string): Promise<boolean>;
|
|
19
|
+
publishMessages(streamName: string, messages: string[], options?: PublishMessageConfig): Promise<string[] | ProviderTransaction>;
|
|
20
|
+
consumeMessages(streamName: string, groupName: string, consumerName: string, options?: {
|
|
21
|
+
batchSize?: number;
|
|
22
|
+
blockTimeout?: number;
|
|
23
|
+
autoAck?: boolean;
|
|
24
|
+
}): Promise<StreamMessage[]>;
|
|
25
|
+
ackAndDelete(streamName: string, groupName: string, messageIds: string[]): Promise<number>;
|
|
26
|
+
acknowledgeMessages(streamName: string, groupName: string, messageIds: string[], options?: StringAnyType): Promise<number>;
|
|
27
|
+
deleteMessages(streamName: string, groupName: string, messageIds: string[], options?: StringAnyType): Promise<number>;
|
|
28
|
+
retryMessages(streamName: string, groupName: string, options?: {
|
|
29
|
+
consumerName?: string;
|
|
30
|
+
minIdleTime?: number;
|
|
31
|
+
messageIds?: string[];
|
|
32
|
+
delay?: number;
|
|
33
|
+
maxRetries?: number;
|
|
34
|
+
limit?: number;
|
|
35
|
+
}): Promise<StreamMessage[]>;
|
|
36
|
+
getStreamStats(streamName: string): Promise<StreamStats>;
|
|
37
|
+
getStreamDepth(streamName: string): Promise<number>;
|
|
38
|
+
getStreamDepths(streamNames: {
|
|
39
|
+
stream: string;
|
|
40
|
+
}[]): Promise<{
|
|
41
|
+
stream: string;
|
|
42
|
+
depth: number;
|
|
43
|
+
}[]>;
|
|
44
|
+
trimStream(streamName: string, options: {
|
|
45
|
+
maxLen?: number;
|
|
46
|
+
maxAge?: number;
|
|
47
|
+
exactLimit?: boolean;
|
|
48
|
+
}): Promise<number>;
|
|
49
|
+
getProviderSpecificFeatures(): {
|
|
50
|
+
supportsBatching: boolean;
|
|
51
|
+
supportsDeadLetterQueue: boolean;
|
|
52
|
+
supportsOrdering: boolean;
|
|
53
|
+
supportsTrimming: boolean;
|
|
54
|
+
supportsRetry: boolean;
|
|
55
|
+
maxMessageSize: number;
|
|
56
|
+
maxBatchSize: number;
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
export { NatsStreamService };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';function _0x451e(){const _0x3817af=['10hCUvkt','1523634MChtNU','24Roffco','2lhFsjr','3485141ZWCSgK','830210bsGnHI','1805340soXItC','5fOTYSb','1690263ueALGT','3540012xZVabd','412899WMMuGq'];_0x451e=function(){return _0x3817af;};return _0x451e();}(function(_0x4d6e07,_0x5b1d55){const _0x85fe7=_0xca93,_0x5d1f18=_0x4d6e07();while(!![]){try{const _0x47ddae=-parseInt(_0x85fe7(0xe0))/0x1+-parseInt(_0x85fe7(0xde))/0x2*(parseInt(_0x85fe7(0xda))/0x3)+parseInt(_0x85fe7(0xd6))/0x4+parseInt(_0x85fe7(0xd7))/0x5*(parseInt(_0x85fe7(0xdc))/0x6)+parseInt(_0x85fe7(0xd9))/0x7+parseInt(_0x85fe7(0xdd))/0x8*(parseInt(_0x85fe7(0xd8))/0x9)+-parseInt(_0x85fe7(0xdb))/0xa*(parseInt(_0x85fe7(0xdf))/0xb);if(_0x47ddae===_0x5b1d55)break;else _0x5d1f18['push'](_0x5d1f18['shift']());}catch(_0x4135d0){_0x5d1f18['push'](_0x5d1f18['shift']());}}}(_0x451e,0x77909));Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['NatsStreamService']=void 0x0;const index_1=require('../../index'),key_1=require('../../../../modules/key'),enums_1=require('../../../../modules/enums'),utils_1=require('../../../../modules/utils');class NatsStreamService extends index_1['StreamService']{constructor(_0x4a5ad8,_0x5892b6,_0x5c1638={}){super(_0x4a5ad8,_0x5892b6,_0x5c1638),this['jetstream']=_0x4a5ad8['jetstream']();}async['init'](_0x4fcb7b,_0x1c5361,_0x798ddd){this['namespace']=_0x4fcb7b,this['logger']=_0x798ddd,this['appId']=_0x1c5361,this['jsm']=await this['jetstream']['jetstreamManager']();}['mintKey'](_0x579d33,_0x20f1b1){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x579d33,{..._0x20f1b1,'appId':this['appId']});}['transact'](){return{};}async['createStream'](_0x5c6228){try{const _0x41cd68={'name':_0x5c6228,'subjects':[_0x5c6228+'.*'],'retention':'workqueue','storage':'memory','num_replicas':0x1};return await this['jsm']['streams']['add'](_0x41cd68),!![];}catch(_0x1b2fc0){this['logger']['error']('Error\x20creating\x20stream\x20'+_0x5c6228,{'error':_0x1b2fc0});throw _0x1b2fc0;}}async['deleteStream'](_0x4674f2){try{return await this['jsm']['streams']['delete'](_0x4674f2),!![];}catch(_0x1aaa69){this['logger']['error']('Error\x20deleting\x20stream\x20'+_0x4674f2,{'error':_0x1aaa69});throw _0x1aaa69;}}async['createConsumerGroup'](_0x4dc56f,_0x2bca72){try{const _0x4b3e22={'durable_name':_0x2bca72,'deliver_group':_0x2bca72,'ack_policy':'explicit','ack_wait':0x1e*0x3e8,'max_deliver':0xa};return await this['jsm']['consumers']['add'](_0x4dc56f,_0x4b3e22),!![];}catch(_0x299286){this['logger']['error']('Error\x20creating\x20consumer\x20group\x20'+_0x2bca72+'\x20for\x20stream\x20'+_0x4dc56f,{'error':_0x299286});throw _0x299286;}}async['deleteConsumerGroup'](_0x3dfe03,_0x59b365){try{return await this['jsm']['consumers']['delete'](_0x3dfe03,_0x59b365),!![];}catch(_0x17a3fe){this['logger']['error']('Error\x20deleting\x20consumer\x20group\x20'+_0x59b365+'\x20for\x20stream\x20'+_0x3dfe03,{'error':_0x17a3fe});throw _0x17a3fe;}}async['publishMessages'](_0x36619b,_0x995bf4,_0x8b7d96){try{const _0x3b5fad=_0x995bf4['map'](async _0x2669c=>{const _0x51624e=_0x36619b+'.message',_0x221a33=await this['jetstream']['publish'](_0x51624e,Buffer['from'](_0x2669c));return _0x221a33;}),_0x4b57b8=await Promise['all'](_0x3b5fad);return _0x4b57b8['map'](_0x202997=>_0x202997['seq']['toString']());}catch(_0x58ba67){this['logger']['error']('Error\x20publishing\x20messages\x20to\x20'+_0x36619b,{'error':_0x58ba67});throw _0x58ba67;}}async['consumeMessages'](_0x1d3e49,_0x365899,_0x471e77,_0x27db0e){try{const _0x2cc802=await this['jetstream']['consumers']['get'](_0x1d3e49,_0x365899),_0xaeae0f=[],_0x1527fd={'max_messages':_0x27db0e?.['batchSize']||0x1,'expires':_0x27db0e?.['blockTimeout']||enums_1['HMSH_BLOCK_TIME_MS']},_0x2a9e74=await _0x2cc802['fetch'](_0x1527fd);for await(const _0x5b3c2d of _0x2a9e74){_0xaeae0f['push']({'id':_0x5b3c2d['seq']['toString'](),'data':(0x0,utils_1['parseStreamMessage'])(_0x5b3c2d['string']())});}return _0xaeae0f;}catch(_0x4c42ac){this['logger']['error']('Error\x20consuming\x20messages\x20from\x20'+_0x1d3e49,{'error':_0x4c42ac});throw _0x4c42ac;}}async['ackAndDelete'](_0x16844f,_0x2d361a,_0x536f03){try{return await this['acknowledgeMessages'](_0x16844f,_0x2d361a,_0x536f03),_0x536f03['length'];}catch(_0x18c4d9){this['logger']['error']('Error\x20in\x20ack\x20and\x20delete\x20for\x20stream\x20'+_0x16844f,{'error':_0x18c4d9});throw _0x18c4d9;}}async['acknowledgeMessages'](_0x404f21,_0x14c3d0,_0x33d520,_0xa22e22){return _0x33d520['length'];}async['deleteMessages'](_0x1747b6,_0x31e228,_0xd3d6a6,_0x539f04){try{return await Promise['all'](_0xd3d6a6['map'](_0x3843d6=>this['jsm']['streams']['deleteMessage'](_0x1747b6,parseInt(_0x3843d6)))),_0xd3d6a6['length'];}catch(_0xe91a9b){this['logger']['error']('Error\x20deleting\x20messages\x20from\x20'+_0x1747b6,{'error':_0xe91a9b});throw _0xe91a9b;}}async['retryMessages'](_0x3dc416,_0x2a31cf,_0x73a396){return[];}async['getStreamStats'](_0x4f4b90){try{const _0x7ca0ac=await this['jsm']['streams']['info'](_0x4f4b90);return{'messageCount':_0x7ca0ac['state']['messages']};}catch(_0x3f4bd1){this['logger']['error']('Error\x20getting\x20stats\x20for\x20'+_0x4f4b90,{'error':_0x3f4bd1});throw _0x3f4bd1;}}async['getStreamDepth'](_0x427119){try{const _0x1ed36a=await this['jsm']['streams']['info'](_0x427119);return _0x1ed36a['state']['messages'];}catch(_0x2b179d){this['logger']['error']('Error\x20getting\x20depth\x20for\x20'+_0x427119,{'error':_0x2b179d});throw _0x2b179d;}}async['getStreamDepths'](_0x3c1e61){try{const _0x46efc0=await Promise['all'](_0x3c1e61['map'](async({stream:_0x23a9e9})=>({'stream':_0x23a9e9,'depth':await this['getStreamDepth'](_0x23a9e9)})));return _0x46efc0;}catch(_0x108a44){this['logger']['error']('Error\x20getting\x20multiple\x20stream\x20depths',{'error':_0x108a44});throw _0x108a44;}}async['trimStream'](_0x253b2e,_0x3b6894){try{const _0x235c19=await this['jsm']['streams']['info'](_0x253b2e),_0x657818={..._0x235c19['config']};return _0x3b6894['maxLen']!==undefined&&(_0x657818['max_msgs']=_0x3b6894['maxLen']),_0x3b6894['maxAge']!==undefined&&(_0x657818['max_age']=_0x3b6894['maxAge']*0x3b9aca00),await this['jsm']['streams']['update'](_0x253b2e,_0x657818),0x0;}catch(_0x36511a){this['logger']['error']('Error\x20trimming\x20stream\x20'+_0x253b2e,{'error':_0x36511a});throw _0x36511a;}}['getProviderSpecificFeatures'](){return{'supportsBatching':!![],'supportsDeadLetterQueue':!![],'supportsOrdering':!![],'supportsTrimming':!![],'supportsRetry':![],'maxMessageSize':0x400*0x400,'maxBatchSize':0x100};}}function _0xca93(_0x2fa4e5,_0x3fa0e7){const _0x451e04=_0x451e();return _0xca93=function(_0xca9319,_0xdb5e15){_0xca9319=_0xca9319-0xd6;let _0xa99bbd=_0x451e04[_0xca9319];return _0xa99bbd;},_0xca93(_0x2fa4e5,_0x3fa0e7);}exports['NatsStreamService']=NatsStreamService;
|