@hotmeshio/hotmesh 0.3.8 → 0.3.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. package/README.md +2 -17
  2. package/build/index.d.ts +4 -2
  3. package/build/index.js +6 -3
  4. package/build/modules/key.js +1 -1
  5. package/build/modules/utils.d.ts +12 -4
  6. package/build/modules/utils.js +1 -1
  7. package/build/package.json +14 -7
  8. package/build/services/activities/activity.d.ts +9 -9
  9. package/build/services/activities/activity.js +1 -1
  10. package/build/services/activities/await.d.ts +2 -2
  11. package/build/services/activities/await.js +1 -1
  12. package/build/services/activities/cycle.d.ts +2 -2
  13. package/build/services/activities/cycle.js +1 -1
  14. package/build/services/activities/hook.d.ts +2 -2
  15. package/build/services/activities/hook.js +1 -1
  16. package/build/services/activities/index.js +1 -1
  17. package/build/services/activities/interrupt.js +1 -1
  18. package/build/services/activities/signal.js +1 -1
  19. package/build/services/activities/trigger.d.ts +3 -3
  20. package/build/services/activities/trigger.js +1 -1
  21. package/build/services/activities/worker.d.ts +2 -2
  22. package/build/services/activities/worker.js +1 -1
  23. package/build/services/collator/index.d.ts +9 -9
  24. package/build/services/collator/index.js +1 -1
  25. package/build/services/compiler/deployer.d.ts +4 -4
  26. package/build/services/compiler/deployer.js +1 -1
  27. package/build/services/compiler/index.d.ts +4 -4
  28. package/build/services/compiler/index.js +1 -1
  29. package/build/services/compiler/validator.d.ts +3 -3
  30. package/build/services/compiler/validator.js +1 -1
  31. package/build/services/connector/factory.d.ts +6 -0
  32. package/build/services/connector/factory.js +56 -0
  33. package/build/services/connector/index.d.ts +13 -4
  34. package/build/services/connector/index.js +30 -23
  35. package/build/services/connector/providers/ioredis.d.ts +9 -0
  36. package/build/services/connector/providers/ioredis.js +26 -0
  37. package/build/services/connector/providers/nats.d.ts +9 -0
  38. package/build/services/connector/providers/nats.js +26 -0
  39. package/build/services/connector/providers/postgres.d.ts +9 -0
  40. package/build/services/connector/providers/postgres.js +39 -0
  41. package/build/services/connector/providers/redis.d.ts +9 -0
  42. package/build/services/connector/providers/redis.js +38 -0
  43. package/build/services/engine/index.d.ts +12 -12
  44. package/build/services/engine/index.js +1 -1
  45. package/build/services/exporter/index.d.ts +3 -3
  46. package/build/services/exporter/index.js +1 -1
  47. package/build/services/hotmesh/index.js +4 -4
  48. package/build/services/mapper/index.js +1 -1
  49. package/build/services/meshcall/index.d.ts +5 -4
  50. package/build/services/meshcall/index.js +31 -14
  51. package/build/services/meshdata/index.d.ts +6 -6
  52. package/build/services/meshdata/index.js +7 -15
  53. package/build/services/meshflow/connection.d.ts +3 -2
  54. package/build/services/meshflow/exporter.d.ts +3 -3
  55. package/build/services/meshflow/exporter.js +1 -1
  56. package/build/services/meshflow/search.js +12 -4
  57. package/build/services/meshflow/worker.js +7 -7
  58. package/build/services/meshos/index.d.ts +1 -4
  59. package/build/services/meshos/index.js +11 -44
  60. package/build/services/pipe/functions/array.js +1 -1
  61. package/build/services/pipe/functions/bitwise.js +1 -1
  62. package/build/services/pipe/functions/conditional.js +1 -1
  63. package/build/services/pipe/functions/cron.d.ts +2 -0
  64. package/build/services/pipe/functions/cron.js +1 -1
  65. package/build/services/pipe/functions/date.js +1 -1
  66. package/build/services/pipe/functions/index.js +1 -1
  67. package/build/services/pipe/functions/json.js +1 -1
  68. package/build/services/pipe/functions/logical.js +1 -1
  69. package/build/services/pipe/functions/math.js +1 -1
  70. package/build/services/pipe/functions/number.js +1 -1
  71. package/build/services/pipe/functions/object.js +1 -1
  72. package/build/services/pipe/functions/string.js +1 -1
  73. package/build/services/pipe/functions/symbol.js +1 -1
  74. package/build/services/pipe/functions/unary.js +1 -1
  75. package/build/services/pipe/index.js +1 -1
  76. package/build/services/quorum/index.d.ts +5 -5
  77. package/build/services/quorum/index.js +1 -1
  78. package/build/services/reporter/index.d.ts +2 -2
  79. package/build/services/reporter/index.js +1 -1
  80. package/build/services/router/index.d.ts +8 -13
  81. package/build/services/router/index.js +1 -1
  82. package/build/services/search/factory.d.ts +2 -2
  83. package/build/services/search/factory.js +1 -1
  84. package/build/services/search/index.d.ts +5 -4
  85. package/build/services/search/providers/redis/ioredis.js +1 -1
  86. package/build/services/search/providers/redis/redis.js +1 -1
  87. package/build/services/serializer/index.js +1 -1
  88. package/build/services/store/factory.d.ts +3 -3
  89. package/build/services/store/factory.js +1 -1
  90. package/build/services/store/index.d.ts +18 -17
  91. package/build/services/store/providers/redis/_base.d.ts +13 -15
  92. package/build/services/store/providers/redis/_base.js +1 -1
  93. package/build/services/store/providers/redis/ioredis.d.ts +2 -2
  94. package/build/services/store/providers/redis/ioredis.js +1 -1
  95. package/build/services/store/providers/redis/redis.d.ts +2 -2
  96. package/build/services/store/providers/redis/redis.js +1 -1
  97. package/build/services/store/providers/store-initializable.js +1 -1
  98. package/build/services/stream/factory.d.ts +3 -3
  99. package/build/services/stream/factory.js +16 -4
  100. package/build/services/stream/index.d.ts +57 -18
  101. package/build/services/stream/index.js +2 -1
  102. package/build/services/stream/providers/nats/nats.d.ts +59 -0
  103. package/build/services/stream/providers/nats/nats.js +1 -0
  104. package/build/services/stream/providers/postgres/_deploy.d.ts +2 -1
  105. package/build/services/stream/providers/postgres/_deploy.js +1 -1
  106. package/build/services/stream/providers/postgres/postgres.d.ts +0 -0
  107. package/build/services/stream/providers/postgres/postgres.js +0 -0
  108. package/build/services/stream/providers/redis/ioredis.d.ts +53 -14
  109. package/build/services/stream/providers/redis/ioredis.js +1 -1
  110. package/build/services/stream/providers/redis/redis.d.ts +54 -15
  111. package/build/services/stream/providers/redis/redis.js +1 -1
  112. package/build/services/stream/providers/stream-initializable.d.ts +1 -2
  113. package/build/services/stream/providers/stream-initializable.js +1 -1
  114. package/build/services/sub/factory.d.ts +2 -2
  115. package/build/services/sub/factory.js +1 -1
  116. package/build/services/sub/index.d.ts +6 -5
  117. package/build/services/sub/providers/redis/ioredis.d.ts +1 -1
  118. package/build/services/sub/providers/redis/ioredis.js +1 -1
  119. package/build/services/sub/providers/redis/redis.d.ts +4 -4
  120. package/build/services/sub/providers/redis/redis.js +1 -1
  121. package/build/services/task/index.d.ts +5 -5
  122. package/build/services/task/index.js +1 -1
  123. package/build/services/telemetry/index.js +1 -1
  124. package/build/services/worker/index.d.ts +9 -9
  125. package/build/services/worker/index.js +1 -1
  126. package/build/types/hotmesh.d.ts +26 -14
  127. package/build/types/index.d.ts +6 -5
  128. package/build/types/manifest.d.ts +1 -9
  129. package/build/types/meshcall.d.ts +12 -7
  130. package/build/types/meshflow.d.ts +3 -7
  131. package/build/types/nats.d.ts +150 -0
  132. package/build/types/nats.js +2 -0
  133. package/build/types/postgres.d.ts +48 -0
  134. package/build/types/postgres.js +2 -0
  135. package/build/types/provider.d.ts +26 -0
  136. package/build/types/provider.js +2 -0
  137. package/build/types/redis.d.ts +33 -15
  138. package/build/types/stream.d.ts +65 -1
  139. package/index.ts +8 -5
  140. package/package.json +14 -7
  141. package/types/hotmesh.ts +139 -22
  142. package/types/index.ts +26 -17
  143. package/types/manifest.ts +1 -10
  144. package/types/meshcall.ts +38 -13
  145. package/types/meshflow.ts +2 -7
  146. package/types/nats.ts +231 -0
  147. package/types/postgres.ts +54 -0
  148. package/types/provider.ts +71 -0
  149. package/types/redis.ts +63 -18
  150. package/types/stream.ts +85 -1
  151. package/build/services/connector/clients/ioredis.d.ts +0 -13
  152. package/build/services/connector/clients/ioredis.js +0 -48
  153. package/build/services/connector/clients/redis.d.ts +0 -13
  154. package/build/services/connector/clients/redis.js +0 -60
@@ -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(_0x4012cc,_0x264dab){const _0x50461f=_0x4682,_0x3da5ec=_0x4012cc();while(!![]){try{const _0x36474b=-parseInt(_0x50461f(0x7d))/0x1*(-parseInt(_0x50461f(0x82))/0x2)+parseInt(_0x50461f(0x80))/0x3+-parseInt(_0x50461f(0x83))/0x4+parseInt(_0x50461f(0x84))/0x5+parseInt(_0x50461f(0x7e))/0x6+-parseInt(_0x50461f(0x81))/0x7*(-parseInt(_0x50461f(0x7c))/0x8)+-parseInt(_0x50461f(0x7f))/0x9*(parseInt(_0x50461f(0x7b))/0xa);if(_0x36474b===_0x264dab)break;else _0x3da5ec['push'](_0x3da5ec['shift']());}catch(_0x468d7d){_0x3da5ec['push'](_0x3da5ec['shift']());}}}(_0x1955,0x7efd8));function _0x4682(_0x5e8ba8,_0x1642b7){const _0x1955c4=_0x1955();return _0x4682=function(_0x468262,_0x42888c){_0x468262=_0x468262-0x7b;let _0x56b90b=_0x1955c4[_0x468262];return _0x56b90b;},_0x4682(_0x5e8ba8,_0x1642b7);}var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x51c18d,_0x18b1a5,_0xb42133,_0x1f1069){if(_0x1f1069===undefined)_0x1f1069=_0xb42133;var _0x183ce5=Object['getOwnPropertyDescriptor'](_0x18b1a5,_0xb42133);(!_0x183ce5||('get'in _0x183ce5?!_0x18b1a5['__esModule']:_0x183ce5['writable']||_0x183ce5['configurable']))&&(_0x183ce5={'enumerable':!![],'get':function(){return _0x18b1a5[_0xb42133];}}),Object['defineProperty'](_0x51c18d,_0x1f1069,_0x183ce5);}:function(_0x15e1eb,_0x325d4c,_0x1aedb,_0x3fee21){if(_0x3fee21===undefined)_0x3fee21=_0x1aedb;_0x15e1eb[_0x3fee21]=_0x325d4c[_0x1aedb];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x54ac6f,_0x1db3b6){Object['defineProperty'](_0x54ac6f,'default',{'enumerable':!![],'value':_0x1db3b6});}:function(_0x43f6d5,_0x115fb9){_0x43f6d5['default']=_0x115fb9;}),__importStar=this&&this['__importStar']||function(_0x421703){if(_0x421703&&_0x421703['__esModule'])return _0x421703;var _0xb0ae48={};if(_0x421703!=null){for(var _0x31d259 in _0x421703)if(_0x31d259!=='default'&&Object['prototype']['hasOwnProperty']['call'](_0x421703,_0x31d259))__createBinding(_0xb0ae48,_0x421703,_0x31d259);}return __setModuleDefault(_0xb0ae48,_0x421703),_0xb0ae48;};Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['RedisStoreBase']=void 0x0;function _0x1955(){const _0x492c2b=['9499PLCfZh','77534cEOaas','995980rXHsMk','1988395qSqmyZ','4390Qzcsrc','3464SNuzZp','7LFzvDm','270924wKIxhd','20673NewTtW','1427241qDofgo'];_0x1955=function(){return _0x492c2b;};return _0x1955();}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(_0x5161d0){super(_0x5161d0),this['commands']={},this['storeClient']=_0x5161d0;}async['init'](_0x164b2b=key_1['HMNS'],_0x20c4a7,_0x43c471){this['namespace']=_0x164b2b,this['appId']=_0x20c4a7,this['logger']=_0x43c471;const _0x513778=await this['getSettings'](!![]);return this['cache']=new cache_1['Cache'](_0x20c4a7,_0x513778),this['serializer']=new serializer_1['SerializerService'](),await this['getApp'](_0x20c4a7),this['cache']['getApps']();}['isSuccessful'](_0x386ba3){return _0x386ba3>0x0||_0x386ba3==='OK'||_0x386ba3===!![];}async['delistSignalKey'](_0x48730d,_0x1ace27){await this['storeClient'][this['commands']['del']](_0x48730d+':'+_0x1ace27);}async['zAdd'](_0x3d8224,_0x345f83,_0x1dcc4d,_0x3398c6){return await(_0x3398c6||this['storeClient'])[this['commands']['zadd']](_0x3d8224,_0x345f83,_0x1dcc4d);}async['zRangeByScoreWithScores'](_0x26e0da,_0x436308,_0x38fe65){const _0x1c7a74=await this['storeClient'][this['commands']['zrangebyscore_withscores']](_0x26e0da,_0x436308,_0x38fe65,'WITHSCORES');if(_0x1c7a74?.['length']>0x0)return _0x1c7a74[0x0];return null;}async['zRangeByScore'](_0x40703e,_0xe56647,_0x586891){const _0x2a8c65=await this['storeClient'][this['commands']['zrangebyscore']](_0x40703e,_0xe56647,_0x586891);if(_0x2a8c65?.['length']>0x0)return _0x2a8c65[0x0];return null;}['mintKey'](_0x1ba885,_0xaaa50b){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x1ba885,_0xaaa50b);}['invalidateCache'](){this['cache']['invalidate']();}async['reserveScoutRole'](_0x58ffc6,_0x4994b6=enums_1['HMSH_SCOUT_INTERVAL_SECONDS']){const _0x49f303=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId'],'scoutType':_0x58ffc6}),_0x2b1304=await this['exec']('SET',_0x49f303,_0x58ffc6+':'+(0x0,utils_1['formatISODate'])(new Date()),'NX','EX',''+(_0x4994b6-0x1));return this['isSuccessful'](_0x2b1304);}async['releaseScoutRole'](_0x6c4da1){const _0x5c1bc8=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId'],'scoutType':_0x6c4da1}),_0x35ad96=await this['exec']('DEL',_0x5c1bc8);return this['isSuccessful'](_0x35ad96);}async['getSettings'](_0x59a536=![]){let _0x213ca3=this['cache']?.['getSettings']();if(_0x213ca3)return _0x213ca3;else{if(_0x59a536){const _0x3f21da=await Promise['resolve']()['then'](()=>__importStar(require('../../../../package.json'))),_0x2a0eb2=_0x3f21da['version']||'0.0.0';return _0x213ca3={'namespace':key_1['HMNS'],'version':_0x2a0eb2},await this['setSettings'](_0x213ca3),_0x213ca3;}}throw new Error('settings\x20not\x20found');}async['setSettings'](_0x34244){const _0x9ae6ad={},_0x18814c=this['mintKey'](key_1['KeyType']['HOTMESH'],_0x9ae6ad);return await this['storeClient'][this['commands']['hset']](_0x18814c,_0x34244);}async['reserveSymbolRange'](_0x2eaa17,_0x12deea,_0x2796a1,_0x38fcd9=0x1){const _0x506c81=this['mintKey'](key_1['KeyType']['SYMKEYS'],{'appId':this['appId']}),_0x2ab4a8=this['mintKey'](key_1['KeyType']['SYMKEYS'],{'activityId':_0x2eaa17,'appId':this['appId']}),_0x38bb46=await this['storeClient'][this['commands']['hsetnx']](_0x506c81,_0x2eaa17,'?:?');if(_0x38bb46){const _0x10cf35=await this['storeClient'][this['commands']['hincrby']](_0x506c81,':cursor',_0x12deea),_0x22ecd9=_0x10cf35-_0x12deea,_0x2d2629=_0x22ecd9+':'+(_0x10cf35-0x1);await this['storeClient'][this['commands']['hset']](_0x506c81,_0x2eaa17,_0x2d2629);const _0x5bac62=this['seedSymbols'](_0x2eaa17,_0x2796a1,_0x22ecd9);return await this['storeClient'][this['commands']['hset']](_0x2ab4a8,_0x5bac62),[_0x22ecd9+serializer_1['MDATA_SYMBOLS']['SLOTS'],_0x10cf35-0x1,{}];}else{const _0xc1e675=await this['storeClient'][this['commands']['hget']](_0x506c81,_0x2eaa17),[_0x3943a4]=_0xc1e675['split'](':');if(_0x3943a4==='?'){await(0x0,utils_1['sleepFor'])(_0x38fcd9*0x3e8);if(_0x38fcd9<0x5)return this['reserveSymbolRange'](_0x2eaa17,_0x12deea,_0x2796a1,_0x38fcd9+0x1);else throw new Error('Symbol\x20range\x20reservation\x20failed\x20due\x20to\x20deployment\x20contention');}else{const _0x126b9d=parseInt(_0x3943a4,0xa),_0x4586b0=await this['storeClient'][this['commands']['hgetall']](_0x2ab4a8),_0x4d66ff=Object['keys'](_0x4586b0)['length'],_0x1f960d=_0x126b9d+serializer_1['MDATA_SYMBOLS']['SLOTS']+_0x4d66ff,_0x514a33=Number(_0x126b9d+_0x12deea-0x1);return[_0x1f960d,_0x514a33,_0x4586b0];}}}async['getAllSymbols'](){const _0x3b663b=this['mintKey'](key_1['KeyType']['SYMKEYS'],{'appId':this['appId']}),_0x1cdb3f=await this['storeClient'][this['commands']['hgetall']](_0x3b663b),_0x389f42=Object['keys'](_0x1cdb3f)['sort']();delete _0x389f42[':cursor'];const _0x2e8e76=this['transact']();for(const _0x483973 of _0x389f42){const _0x4418ba=this['mintKey'](key_1['KeyType']['SYMKEYS'],{'activityId':_0x483973,'appId':this['appId']});_0x2e8e76[this['commands']['hgetall']](_0x4418ba);}const _0x1c0547=await _0x2e8e76['exec'](),_0x12a7a1={};return _0x1c0547['forEach']((_0x246f57,_0x5d47ed)=>{if(_0x246f57){let _0x5d33cf;Array['isArray'](_0x246f57)&&_0x246f57['length']===0x2?_0x5d33cf=_0x246f57[0x1]:_0x5d33cf=_0x246f57;for(const [_0x454e05,_0x2814f7]of Object['entries'](_0x5d33cf)){_0x12a7a1[_0x2814f7]=_0x454e05['startsWith'](_0x389f42[_0x5d47ed])?_0x454e05:_0x389f42[_0x5d47ed]+'/'+_0x454e05;}}}),_0x12a7a1;}async['getSymbols'](_0x47e18b){let _0x59c0d3=this['cache']['getSymbols'](this['appId'],_0x47e18b);if(_0x59c0d3)return _0x59c0d3;else{const _0x2063d1={'activityId':_0x47e18b,'appId':this['appId']},_0x1f5a97=this['mintKey'](key_1['KeyType']['SYMKEYS'],_0x2063d1);return _0x59c0d3=await this['storeClient'][this['commands']['hgetall']](_0x1f5a97),this['cache']['setSymbols'](this['appId'],_0x47e18b,_0x59c0d3),_0x59c0d3;}}async['addSymbols'](_0x1989f0,_0x435631){if(!_0x435631||!Object['keys'](_0x435631)['length'])return![];const _0x448d96={'activityId':_0x1989f0,'appId':this['appId']},_0x143cdd=this['mintKey'](key_1['KeyType']['SYMKEYS'],_0x448d96),_0x2140ca=await this['storeClient'][this['commands']['hset']](_0x143cdd,_0x435631);return this['cache']['deleteSymbols'](this['appId'],_0x1989f0),_0x2140ca>0x0;}['seedSymbols'](_0x17c5c2,_0x1136d4,_0x459848){if(_0x1136d4==='JOB')return this['seedJobSymbols'](_0x459848);return this['seedActivitySymbols'](_0x459848,_0x17c5c2);}['seedJobSymbols'](_0x376e77){const _0x5d4b3c={};return serializer_1['MDATA_SYMBOLS']['JOB']['KEYS']['forEach'](_0x294887=>{_0x5d4b3c['metadata/'+_0x294887]=(0x0,utils_1['getSymKey'])(_0x376e77),_0x376e77++;}),_0x5d4b3c;}['seedActivitySymbols'](_0x3ccbb2,_0x410df9){const _0x13eaf2={};return serializer_1['MDATA_SYMBOLS']['ACTIVITY']['KEYS']['forEach'](_0xbafd93=>{_0x13eaf2[_0x410df9+'/output/metadata/'+_0xbafd93]=(0x0,utils_1['getSymKey'])(_0x3ccbb2),_0x3ccbb2++;}),_0x13eaf2;}async['getSymbolValues'](){let _0x285c22=this['cache']['getSymbolValues'](this['appId']);if(_0x285c22)return _0x285c22;else{const _0x2a2ada=this['mintKey'](key_1['KeyType']['SYMVALS'],{'appId':this['appId']});return _0x285c22=await this['storeClient'][this['commands']['hgetall']](_0x2a2ada),this['cache']['setSymbolValues'](this['appId'],_0x285c22),_0x285c22;}}async['addSymbolValues'](_0x205059){if(!_0x205059||!Object['keys'](_0x205059)['length'])return![];const _0x469c36=this['mintKey'](key_1['KeyType']['SYMVALS'],{'appId':this['appId']}),_0x4a04a7=await this['storeClient'][this['commands']['hset']](_0x469c36,_0x205059);return this['cache']['deleteSymbolValues'](this['appId']),this['isSuccessful'](_0x4a04a7);}async['getSymbolKeys'](_0x41df20){const _0x21a3e7=[];for(const _0x3e9d8f of _0x41df20){_0x21a3e7['push'](this['getSymbols'](_0x3e9d8f));}const _0x46e450=await Promise['all'](_0x21a3e7),_0x33b381={};for(const _0x56a00c of _0x41df20){_0x33b381[_0x56a00c]=_0x46e450['shift']();}return _0x33b381;}async['getApp'](_0x234b14,_0x2370b6=![]){let _0x48e256=this['cache']['getApp'](_0x234b14);if(_0x2370b6||!(_0x48e256&&Object['keys'](_0x48e256)['length']>0x0)){const _0x3a56b6={'appId':_0x234b14},_0x546606=this['mintKey'](key_1['KeyType']['APP'],_0x3a56b6),_0xcbb3fb=await this['storeClient'][this['commands']['hgetall']](_0x546606);if(!_0xcbb3fb)return null;_0x48e256={};for(const _0x36a070 in _0xcbb3fb){try{_0x36a070==='active'?_0x48e256[_0x36a070]=_0xcbb3fb[_0x36a070]==='true':_0x48e256[_0x36a070]=_0xcbb3fb[_0x36a070];}catch(_0x1a3a77){_0x48e256[_0x36a070]=_0xcbb3fb[_0x36a070];}}this['cache']['setApp'](_0x234b14,_0x48e256);}return _0x48e256;}async['setApp'](_0x55b665,_0x3b1b0a){const _0x39c70b={'appId':_0x55b665},_0x4bc5ac=this['mintKey'](key_1['KeyType']['APP'],_0x39c70b),_0x47a4bd='versions/'+_0x3b1b0a,_0x1b24b0={'id':_0x55b665,'version':_0x3b1b0a,[_0x47a4bd]:'deployed:'+(0x0,utils_1['formatISODate'])(new Date())};return await this['storeClient'][this['commands']['hset']](_0x4bc5ac,_0x1b24b0),this['cache']['setApp'](_0x55b665,_0x1b24b0),_0x1b24b0;}async['activateAppVersion'](_0x5475cb,_0x170444){const _0x3274e6={'appId':_0x5475cb},_0x10ed79=this['mintKey'](key_1['KeyType']['APP'],_0x3274e6),_0x36d1e6='versions/'+_0x170444,_0xde2ebb=await this['getApp'](_0x5475cb,!![]);if(_0xde2ebb&&_0xde2ebb[_0x36d1e6]){const _0x56c3bd={'id':_0x5475cb,'version':_0x170444['toString'](),[_0x36d1e6]:'activated:'+(0x0,utils_1['formatISODate'])(new Date()),'active':!![]};return Object['entries'](_0x56c3bd)['forEach'](([_0x533a3a,_0xda510f])=>{_0x56c3bd[_0x533a3a]=_0xda510f['toString']();}),await this['storeClient'][this['commands']['hset']](_0x10ed79,_0x56c3bd),!![];}throw new Error('Version\x20'+_0x170444+'\x20does\x20not\x20exist\x20for\x20app\x20'+_0x5475cb);}async['registerAppVersion'](_0x3eb438,_0x3ba012){const _0x4558aa={'appId':_0x3eb438},_0x50843b=this['mintKey'](key_1['KeyType']['APP'],_0x4558aa),_0x5c36d5={'id':_0x3eb438,'version':_0x3ba012['toString'](),['versions/'+_0x3ba012]:(0x0,utils_1['formatISODate'])(new Date())};return await this['storeClient'][this['commands']['hset']](_0x50843b,_0x5c36d5);}async['setStats'](_0x201c06,_0x3ed854,_0x56d8e6,_0x39b442,_0x58ca23,_0x2e12fd){const _0x1fde0e={'appId':_0x58ca23['id'],'jobId':_0x3ed854,'jobKey':_0x201c06,'dateTime':_0x56d8e6},_0x25fc3f=_0x2e12fd||this['transact']();if(_0x39b442['general']['length']){const _0x497dd7=this['mintKey'](key_1['KeyType']['JOB_STATS_GENERAL'],_0x1fde0e);for(const {target:_0x4066d4,value:_0x20943a}of _0x39b442['general']){_0x25fc3f[this['commands']['hincrbyfloat']](_0x497dd7,_0x4066d4,_0x20943a);}}for(const {target:_0x388cc5,value:_0x4231e0}of _0x39b442['index']){const _0x358a5e={..._0x1fde0e,'facet':_0x388cc5},_0x11dca3=this['mintKey'](key_1['KeyType']['JOB_STATS_INDEX'],_0x358a5e);_0x25fc3f[this['commands']['rpush']](_0x11dca3,_0x4231e0['toString']());}for(const {target:_0x41371c,value:_0x1c2a79}of _0x39b442['median']){const _0x76f6c7={..._0x1fde0e,'facet':_0x41371c},_0x17e2a7=this['mintKey'](key_1['KeyType']['JOB_STATS_MEDIAN'],_0x76f6c7);this['zAdd'](_0x17e2a7,_0x1c2a79,_0x41371c,_0x25fc3f);}if(!_0x2e12fd)return await _0x25fc3f['exec']();}['hGetAllResult'](_0x1b230c){return _0x1b230c;}async['getJobStats'](_0x3a288d){const _0x5d0a12=this['transact']();for(const _0xeead01 of _0x3a288d){_0x5d0a12[this['commands']['hgetall']](_0xeead01);}const _0x246a89=await _0x5d0a12['exec'](),_0x169495={};for(const [_0x45fb53,_0x4507ab]of _0x246a89['entries']()){const _0x2f698f=_0x3a288d[_0x45fb53],_0x3d8ba3=this['hGetAllResult'](_0x4507ab);if(_0x3d8ba3&&Object['keys'](_0x3d8ba3)['length']>0x0){const _0x3376a1={..._0x3d8ba3};for(const [_0x5a2ee0,_0x288e7c]of Object['entries'](_0x3376a1)){_0x3376a1[_0x5a2ee0]=Number(_0x288e7c);}_0x169495[_0x2f698f]=_0x3376a1;}else _0x169495[_0x2f698f]={};}return _0x169495;}async['getJobIds'](_0x5762b2,_0x3f6bca){const _0x27707c=this['transact']();for(const _0x3246df of _0x5762b2){_0x27707c[this['commands']['lrange']](_0x3246df,_0x3f6bca[0x0],_0x3f6bca[0x1]);}const _0x4dfd06=await _0x27707c['exec'](),_0x25a35d={};for(const [_0x4a9b89,_0x5f4b81]of _0x4dfd06['entries']()){const _0x2fd5c2=_0x5762b2[_0x4a9b89],_0x19ad0d=_0x5f4b81[0x1]||_0x5f4b81;_0x19ad0d&&_0x19ad0d['length']>0x0?_0x25a35d[_0x2fd5c2]=_0x19ad0d:_0x25a35d[_0x2fd5c2]=[];}return _0x25a35d;}async['setStatus'](_0x5f3643,_0x3e7225,_0x535e36,_0x2c0c26){const _0x517634=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':_0x535e36,'jobId':_0x3e7225});return await(_0x2c0c26||this['storeClient'])[this['commands']['hincrbyfloat']](_0x517634,':',_0x5f3643);}async['getStatus'](_0x14fbea,_0x649e47){const _0x20abe6=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':_0x649e47,'jobId':_0x14fbea}),_0x3d52a4=await this['storeClient'][this['commands']['hget']](_0x20abe6,':');if(_0x3d52a4===null)throw new Error('Job\x20'+_0x14fbea+'\x20not\x20found');return Number(_0x3d52a4);}async['setState']({..._0x3b726e},_0x520a54,_0x1201e9,_0x4f3fe1,_0x5bf02c,_0xc75d44){delete _0x3b726e['metadata/js'];const _0xbaddb8=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x1201e9}),_0x5eb014=await this['getSymbolKeys'](_0x4f3fe1),_0xdcffae=await this['getSymbolValues']();this['serializer']['resetSymbols'](_0x5eb014,_0xdcffae,_0x5bf02c);const _0x29bea2=this['serializer']['package'](_0x3b726e,_0x4f3fe1);return _0x520a54!==null?_0x29bea2[':']=_0x520a54['toString']():delete _0x29bea2[':'],await(_0xc75d44||this['storeClient'])[this['commands']['hset']](_0xbaddb8,_0x29bea2),_0x1201e9;}async['getQueryState'](_0x23091c,_0x5e12cd){const _0x3c1bee=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x23091c}),_0x5ea820=_0x5e12cd['map'](_0x28a736=>{if(_0x28a736['startsWith']('\x22'))return _0x28a736['slice'](0x1,-0x1);return'_'+_0x28a736;}),_0x5a65d5=await this['storeClient'][this['commands']['hmget']](_0x3c1bee,_0x5ea820),_0xf2fde6={};return _0x5e12cd['forEach']((_0x8650f,_0x5e6a38)=>{_0x8650f['startsWith']('\x22')&&(_0x8650f=_0x8650f['slice'](0x1,-0x1)),_0xf2fde6[_0x8650f]=_0x5a65d5[_0x5e6a38];}),_0xf2fde6;}async['getState'](_0x334538,_0x4d53d1,_0x3aad59){const _0x481a55=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x334538}),_0x44ab22=Object['keys'](_0x4d53d1),_0x657d4e=await this['getSymbolKeys'](_0x44ab22);this['serializer']['resetSymbols'](_0x657d4e,{},_0x3aad59);const _0x3d1a06=this['serializer']['abbreviate'](_0x4d53d1,_0x44ab22,[':']),_0xd7dd4a=await this['storeClient'][this['commands']['hmget']](_0x481a55,_0x3d1a06),_0x15cea6={};let _0x41fd90=![];_0x3d1a06['forEach']((_0x4428ef,_0x5f5c63)=>{_0xd7dd4a[_0x5f5c63]&&(_0x41fd90=!![]),_0x15cea6[_0x4428ef]=_0xd7dd4a[_0x5f5c63];});if(_0x41fd90){const _0x2bc9e1=await this['getSymbolValues']();this['serializer']['resetSymbols'](_0x657d4e,_0x2bc9e1,_0x3aad59);const _0x394c1b=this['serializer']['unpackage'](_0x15cea6,_0x44ab22);let _0x6b06d4=0x0;return _0x394c1b[':']&&(_0x6b06d4=Number(_0x394c1b[':']),_0x394c1b['metadata/js']=_0x6b06d4,delete _0x394c1b[':']),[_0x394c1b,_0x6b06d4];}else throw new errors_1['GetStateError'](_0x334538);}async['getRaw'](_0x2be18e){const _0x228377=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x2be18e}),_0x278267=await this['storeClient'][this['commands']['hgetall']](_0x228377);if(!_0x278267)throw new errors_1['GetStateError'](_0x2be18e);return _0x278267;}async['collate'](_0x16e403,_0x2b5bf4,_0x5203bc,_0x47bd50,_0x5b883b){const _0x2d613f=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x16e403}),_0x21c7e7=_0x2b5bf4+'/output/metadata/as',_0x579ad1=[_0x2b5bf4],_0x1be451=await this['getSymbolKeys'](_0x579ad1),_0x781a9=await this['getSymbolValues']();this['serializer']['resetSymbols'](_0x1be451,_0x781a9,_0x47bd50);const _0x230de8={[_0x21c7e7]:_0x5203bc['toString']()},_0x500ac8=this['serializer']['package'](_0x230de8,_0x579ad1),_0x35be3=Object['keys'](_0x500ac8)[0x0];return await(_0x5b883b||this['storeClient'])[this['commands']['hincrbyfloat']](_0x2d613f,_0x35be3,_0x5203bc);}async['collateSynthetic'](_0x46ca19,_0x946a3e,_0x5f19c8,_0x243382){const _0x5e5c0c=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x46ca19});return await(_0x243382||this['storeClient'])[this['commands']['hincrbyfloat']](_0x5e5c0c,_0x946a3e,_0x5f19c8['toString']());}async['setStateNX'](_0x558613,_0x420b74,_0x56d42b){const _0x233557=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':_0x420b74,'jobId':_0x558613}),_0x1fc0df=await this['storeClient'][this['commands']['hsetnx']](_0x233557,':',_0x56d42b?.['toString']()??'1');return this['isSuccessful'](_0x1fc0df);}async['getSchema'](_0x9b1ffe,_0x39642a){const _0x3ff917=this['cache']['getSchema'](_0x39642a['id'],_0x39642a['version'],_0x9b1ffe);if(_0x3ff917)return _0x3ff917;else{const _0xc26047=await this['getSchemas'](_0x39642a);return _0xc26047[_0x9b1ffe];}}async['getSchemas'](_0x141bc9){let _0x33b2ba=this['cache']['getSchemas'](_0x141bc9['id'],_0x141bc9['version']);if(_0x33b2ba&&Object['keys'](_0x33b2ba)['length']>0x0)return _0x33b2ba;else{const _0x13e770={'appId':_0x141bc9['id'],'appVersion':_0x141bc9['version']},_0x46c276=this['mintKey'](key_1['KeyType']['SCHEMAS'],_0x13e770);_0x33b2ba={};const _0x430c42=await this['storeClient'][this['commands']['hgetall']](_0x46c276);return Object['entries'](_0x430c42)['forEach'](([_0x5e7aa8,_0x79a303])=>{_0x33b2ba[_0x5e7aa8]=JSON['parse'](_0x79a303);}),this['cache']['setSchemas'](_0x141bc9['id'],_0x141bc9['version'],_0x33b2ba),_0x33b2ba;}}async['setSchemas'](_0x1e7d63,_0x3f898c){const _0x303cb4={'appId':_0x3f898c['id'],'appVersion':_0x3f898c['version']},_0x498ffd=this['mintKey'](key_1['KeyType']['SCHEMAS'],_0x303cb4),_0x329da0={..._0x1e7d63};Object['entries'](_0x329da0)['forEach'](([_0x580729,_0x5aa26a])=>{_0x329da0[_0x580729]=JSON['stringify'](_0x5aa26a);});const _0x30ecc4=await this['storeClient'][this['commands']['hset']](_0x498ffd,_0x329da0);return this['cache']['setSchemas'](_0x3f898c['id'],_0x3f898c['version'],_0x1e7d63),_0x30ecc4;}async['setSubscriptions'](_0x3d4903,_0x1b5e81){const _0x3c7fbb={'appId':_0x1b5e81['id'],'appVersion':_0x1b5e81['version']},_0x1bcb51=this['mintKey'](key_1['KeyType']['SUBSCRIPTIONS'],_0x3c7fbb),_0x11080d={..._0x3d4903};Object['entries'](_0x11080d)['forEach'](([_0x5caef4,_0x590018])=>{_0x11080d[_0x5caef4]=JSON['stringify'](_0x590018);});const _0xb0f025=await this['storeClient'][this['commands']['hset']](_0x1bcb51,_0x11080d);return this['cache']['setSubscriptions'](_0x1b5e81['id'],_0x1b5e81['version'],_0x3d4903),this['isSuccessful'](_0xb0f025);}async['getSubscriptions'](_0x4fe59b){let _0x45e1c2=this['cache']['getSubscriptions'](_0x4fe59b['id'],_0x4fe59b['version']);if(_0x45e1c2&&Object['keys'](_0x45e1c2)['length']>0x0)return _0x45e1c2;else{const _0x2741fa={'appId':_0x4fe59b['id'],'appVersion':_0x4fe59b['version']},_0x5dd9c5=this['mintKey'](key_1['KeyType']['SUBSCRIPTIONS'],_0x2741fa);return _0x45e1c2=await this['storeClient'][this['commands']['hgetall']](_0x5dd9c5)||{},Object['entries'](_0x45e1c2)['forEach'](([_0x9e93b0,_0x23640a])=>{_0x45e1c2[_0x9e93b0]=JSON['parse'](_0x23640a);}),this['cache']['setSubscriptions'](_0x4fe59b['id'],_0x4fe59b['version'],_0x45e1c2),_0x45e1c2;}}async['getSubscription'](_0x2f2d03,_0x208a12){const _0x1b0136=await this['getSubscriptions'](_0x208a12);return _0x1b0136[_0x2f2d03];}async['setTransitions'](_0x49c1d9,_0x7ce632){const _0x53e300={'appId':_0x7ce632['id'],'appVersion':_0x7ce632['version']},_0x32138=this['mintKey'](key_1['KeyType']['SUBSCRIPTION_PATTERNS'],_0x53e300),_0x3e7f47={..._0x49c1d9};Object['entries'](_0x3e7f47)['forEach'](([_0x3efb7c,_0x1d8703])=>{_0x3e7f47[_0x3efb7c]=JSON['stringify'](_0x1d8703);});if(Object['keys'](_0x3e7f47)['length']!==0x0){const _0x227538=await this['storeClient'][this['commands']['hset']](_0x32138,_0x3e7f47);return this['cache']['setTransitions'](_0x7ce632['id'],_0x7ce632['version'],_0x49c1d9),_0x227538;}}async['getTransitions'](_0x163731){let _0x3d602e=this['cache']['getTransitions'](_0x163731['id'],_0x163731['version']);if(_0x3d602e&&Object['keys'](_0x3d602e)['length']>0x0)return _0x3d602e;else{const _0x65a756={'appId':_0x163731['id'],'appVersion':_0x163731['version']},_0x4c70f6=this['mintKey'](key_1['KeyType']['SUBSCRIPTION_PATTERNS'],_0x65a756);_0x3d602e={};const _0x4a6675=await this['storeClient'][this['commands']['hgetall']](_0x4c70f6);return Object['entries'](_0x4a6675)['forEach'](([_0x3492b1,_0x37f99d])=>{_0x3d602e[_0x3492b1]=JSON['parse'](_0x37f99d);}),this['cache']['setTransitions'](_0x163731['id'],_0x163731['version'],_0x3d602e),_0x3d602e;}}async['setHookRules'](_0x18310c){const _0xf1d414=this['mintKey'](key_1['KeyType']['HOOKS'],{'appId':this['appId']}),_0x120728={};Object['entries'](_0x18310c)['forEach'](([_0x575e43,_0x389f0b])=>{_0x120728[_0x575e43['toString']()]=JSON['stringify'](_0x389f0b);});if(Object['keys'](_0x120728)['length']!==0x0){const _0xbd1c09=await this['storeClient'][this['commands']['hset']](_0xf1d414,_0x120728);return this['cache']['setHookRules'](this['appId'],_0x18310c),_0xbd1c09;}}async['getHookRules'](){let _0x1b24be=this['cache']['getHookRules'](this['appId']);if(_0x1b24be&&Object['keys'](_0x1b24be)['length']>0x0)return _0x1b24be;else{const _0x3aa5f6=this['mintKey'](key_1['KeyType']['HOOKS'],{'appId':this['appId']}),_0x253608=await this['storeClient'][this['commands']['hgetall']](_0x3aa5f6);return _0x1b24be={},Object['entries'](_0x253608)['forEach'](([_0x365157,_0x4b1c5c])=>{_0x1b24be[_0x365157]=JSON['parse'](_0x4b1c5c);}),this['cache']['setHookRules'](this['appId'],_0x1b24be),_0x1b24be;}}async['setHookSignal'](_0x3126a2,_0x13ec81){const _0x2247c5=this['mintKey'](key_1['KeyType']['SIGNALS'],{'appId':this['appId']}),{topic:_0xff120e,resolved:_0x3d5003,jobId:_0x56a774}=_0x3126a2,_0x1652ab=_0xff120e+':'+_0x3d5003;await this['setnxex'](_0x2247c5+':'+_0x1652ab,_0x56a774,Math['max'](_0x3126a2['expire'],enums_1['HMSH_SIGNAL_EXPIRE']));}async['getHookSignal'](_0x332cf7,_0x1b6345){const _0x140cf0=this['mintKey'](key_1['KeyType']['SIGNALS'],{'appId':this['appId']}),_0x36c2af=await this['storeClient'][this['commands']['get']](_0x140cf0+':'+_0x332cf7+':'+_0x1b6345);return _0x36c2af?_0x36c2af['toString']():undefined;}async['deleteHookSignal'](_0x2a7b73,_0x366d74){const _0x4084d3=this['mintKey'](key_1['KeyType']['SIGNALS'],{'appId':this['appId']}),_0x32fe2f=await this['storeClient'][this['commands']['del']](_0x4084d3+':'+_0x2a7b73+':'+_0x366d74);return _0x32fe2f?Number(_0x32fe2f):undefined;}async['addTaskQueues'](_0x3efbdf){const _0x3d1842=this['transact'](),_0x3bcb1b=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId']});for(const _0x3afbaf of _0x3efbdf){_0x3d1842[this['commands']['zadd']](_0x3bcb1b,{'score':Date['now']()['toString'](),'value':_0x3afbaf},{'NX':!![]});}await _0x3d1842['exec']();}async['getActiveTaskQueue'](){let _0x21d86f=this['cache']['getActiveTaskQueue'](this['appId'])||null;if(!_0x21d86f){const _0x85812b=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId']}),_0x1d6506=await this['storeClient'][this['commands']['zrange']](_0x85812b,0x0,0x0);_0x21d86f=_0x1d6506['length']>0x0?_0x1d6506[0x0]:null,_0x21d86f&&this['cache']['setWorkItem'](this['appId'],_0x21d86f);}return _0x21d86f;}async['deleteProcessedTaskQueue'](_0x5aea37,_0x5a27aa,_0x121abb,_0x1fe578=![]){const _0x4c4a3b=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId']}),_0x2e242a=await this['storeClient'][this['commands']['zrem']](_0x4c4a3b,_0x5aea37);_0x2e242a&&(_0x1fe578?(this['storeClient'][this['commands']['expire']](_0x121abb,0x0),this['storeClient'][this['commands']['expire']](_0x5a27aa['split'](':')['slice'](0x0,0x5)['join'](':'),0x0)):await this['storeClient'][this['commands']['rename']](_0x121abb,_0x5a27aa)),this['cache']['removeWorkItem'](this['appId']);}async['processTaskQueue'](_0x3284f1,_0x36cc63){return await this['storeClient'][this['commands']['lmove']](_0x3284f1,_0x36cc63,'LEFT','RIGHT');}async['expireJob'](_0x144532,_0x23cf68,_0x38ee4a){if(!isNaN(_0x23cf68)&&_0x23cf68>0x0){const _0x1fa4cd=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x144532});await(_0x38ee4a||this['storeClient'])[this['commands']['expire']](_0x1fa4cd,_0x23cf68);}}async['getDependencies'](_0x3a8b84){const _0x45f993={'appId':this['appId'],'jobId':_0x3a8b84},_0x19d2c4=this['mintKey'](key_1['KeyType']['JOB_DEPENDENTS'],_0x45f993);return this['storeClient'][this['commands']['lrange']](_0x19d2c4,0x0,-0x1);}async['registerTimeHook'](_0x22c797,_0x25b8c6,_0x13b1f4,_0x53efd7,_0x2ef00e,_0x389299,_0x42167f){const _0x57d3f8=this['mintKey'](key_1['KeyType']['TIME_RANGE'],{'appId':this['appId'],'timeValue':_0x2ef00e}),_0x460043=[_0x53efd7,_0x13b1f4,_0x25b8c6,_0x389299,_0x22c797]['join'](key_1['VALSEP']),_0x2e9d8b=await(_0x42167f||this['storeClient'])[this['commands']['rpush']](_0x57d3f8,_0x460043);if(_0x42167f||_0x2e9d8b===0x1){const _0x29bc0a=this['mintKey'](key_1['KeyType']['TIME_RANGE'],{'appId':this['appId']});await this['zAdd'](_0x29bc0a,_0x2ef00e['toString'](),_0x57d3f8,_0x42167f);}}async['getNextTask'](_0x51e059){const _0x4c32fa=this['mintKey'](key_1['KeyType']['TIME_RANGE'],{'appId':this['appId']});_0x51e059=_0x51e059||await this['zRangeByScore'](_0x4c32fa,0x0,Date['now']());if(_0x51e059){let [_0x34597d,_0x811b07]=this['resolveTaskKeyContext'](_0x51e059);const _0x13254f=await this['storeClient'][this['commands']['lpop']](_0x811b07);if(_0x13254f){let [_0x5abc7f,_0xa665e0,_0x77a3d5,_0x30b35b,..._0x3afe28]=_0x13254f['split'](key_1['VALSEP']);const _0x2aa553=_0x3afe28['join'](key_1['VALSEP']);if(_0x5abc7f==='delist')_0x34597d='delist';else{if(_0x5abc7f==='child')_0x34597d='child';else _0x5abc7f==='expire-child'&&(_0x5abc7f='expire');}return[_0x51e059,_0x2aa553,_0x77a3d5,_0xa665e0,_0x34597d];}return await this['storeClient'][this['commands']['zrem']](_0x4c32fa,_0x51e059),!![];}return![];}['resolveTaskKeyContext'](_0x3b5090){if(_0x3b5090['startsWith'](key_1['TYPSEP']+'INTERRUPT'))return['interrupt',_0x3b5090['split'](key_1['TYPSEP'])[0x2]];else return _0x3b5090['startsWith'](key_1['TYPSEP']+'EXPIRE')?['expire',_0x3b5090['split'](key_1['TYPSEP'])[0x2]]:['sleep',_0x3b5090];}async['interrupt'](_0x1b3476,_0x5f6d96,_0x46da14={}){try{const _0x5742bb=await this['getStatus'](_0x5f6d96,this['appId']);if(_0x5742bb<=0x0)throw new Error('Job\x20'+_0x5f6d96+'\x20already\x20completed');const _0xe51478=-0x3b9aca00,_0x1d8b2a=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x5f6d96}),_0x559cac=await this['storeClient'][this['commands']['hincrbyfloat']](_0x1d8b2a,':',_0xe51478);if(_0x559cac<=_0xe51478)throw new Error('Job\x20'+_0x5f6d96+'\x20already\x20completed');if(_0x46da14['throw']!==![]){const _0x2ab35d='metadata/err',_0x59b94d=['$'+_0x1b3476],_0xf999d8=await this['getSymbolKeys'](_0x59b94d),_0x5e0210=await this['getSymbolValues']();this['serializer']['resetSymbols'](_0xf999d8,_0x5e0210,{});const _0x5e90ad=JSON['stringify']({'code':_0x46da14['code']??enums_1['HMSH_CODE_INTERRUPT'],'message':_0x46da14['reason']??'job\x20['+_0x5f6d96+']\x20interrupted','stack':_0x46da14['stack']??'','job_id':_0x5f6d96}),_0x2f62d3={[_0x2ab35d]:_0xe51478['toString']()},_0x41a000=this['serializer']['package'](_0x2f62d3,_0x59b94d),_0x555c4f=Object['keys'](_0x41a000)[0x0];await this['storeClient'][this['commands']['hset']](_0x1d8b2a,_0x555c4f,_0x5e90ad);}}catch(_0x50bf55){if(!_0x46da14['suppress'])throw _0x50bf55;else this['logger']['debug']('suppressed-interrupt',{'message':_0x50bf55['message']});}}async['scrub'](_0x440283){const _0x279746=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x440283});await this['storeClient'][this['commands']['del']](_0x279746);}async['findJobs'](_0x22dced='*',_0x225565=0x3e8,_0x52f722=0x3e8,_0x3ff9ca='0'){const _0x35b3b9=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x22dced});let _0x4ee4e3;const _0x5082cf=[];do{const _0x26f2ba=await this['exec']('SCAN',_0x3ff9ca,'MATCH',_0x35b3b9,'COUNT',_0x52f722['toString']());if(Array['isArray'](_0x26f2ba)){[_0x3ff9ca,_0x4ee4e3]=_0x26f2ba;for(const _0x4b0885 of[..._0x4ee4e3]){_0x5082cf['push'](_0x4b0885);}if(_0x5082cf['length']>=_0x225565)break;}else break;}while(_0x3ff9ca!=='0');return[_0x3ff9ca,_0x5082cf];}async['findJobFields'](_0x2347ec,_0x225bf2='*',_0x3836ed=0x3e8,_0x18b3db=0x3e8,_0x26d6ad='0'){let _0x59edae=[];const _0x188d0e={},_0x4f46c3=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x2347ec});let _0x4275fa=0x0;do{const _0x290cff=await this['exec']('HSCAN',_0x4f46c3,_0x26d6ad,'MATCH',_0x225bf2,'COUNT',_0x18b3db['toString']());if(Array['isArray'](_0x290cff)){[_0x26d6ad,_0x59edae]=_0x290cff;for(let _0x257cdb=0x0;_0x257cdb<_0x59edae['length'];_0x257cdb+=0x2){_0x4275fa++,_0x188d0e[_0x59edae[_0x257cdb]]=_0x59edae[_0x257cdb+0x1];}}else break;}while(_0x26d6ad!=='0'&&_0x4275fa<_0x3836ed);return[_0x26d6ad,_0x188d0e];}async['setThrottleRate'](_0x495446){const _0x525ca3=this['mintKey'](key_1['KeyType']['THROTTLE_RATE'],{'appId':this['appId']});if(_0x495446['guid'])return;const _0x1c583c=_0x495446['throttle']['toString']();if(_0x495446['topic'])await this['storeClient'][this['commands']['hset']](_0x525ca3,{[_0x495446['topic']]:_0x1c583c});else{const _0x35f7ea=this['transact']();_0x35f7ea[this['commands']['del']](_0x525ca3),_0x35f7ea[this['commands']['hset']](_0x525ca3,{':':_0x1c583c}),await _0x35f7ea['exec']();}}async['getThrottleRates'](){const _0x4e39d9=this['mintKey'](key_1['KeyType']['THROTTLE_RATE'],{'appId':this['appId']}),_0x2a4bbf=await this['storeClient'][this['commands']['hgetall']](_0x4e39d9);return _0x2a4bbf??{};}async['getThrottleRate'](_0x5c5054){const _0x376358=(_0x542db1,_0x585bc7)=>{const _0x268018=_0x585bc7 in _0x542db1?Number(_0x542db1[_0x585bc7]):0x0;if(isNaN(_0x268018))return 0x0;if(_0x268018==-0x1)return enums_1['MAX_DELAY'];return Math['max'](Math['min'](_0x268018,enums_1['MAX_DELAY']),0x0);},_0xc800f2=await this['getThrottleRates'](),_0x443cfa=_0x376358(_0xc800f2,':');if(_0x5c5054===':'||!(_0x5c5054 in _0xc800f2))return _0x443cfa;return _0x376358(_0xc800f2,_0x5c5054);}}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
- getMulti(): RedisMultiType;
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';function _0x57cb(){const _0x34ef5c=['1565hcvIwH','115770XovzDH','1211280DQXXAo','720aPYovx','18165UBQudD','870496eXfkTW','43310OkvkPj','901572kppiNc','6kFaWeJ','1388XUxXbr'];_0x57cb=function(){return _0x34ef5c;};return _0x57cb();}(function(_0x4b5c18,_0x2a0216){const _0x520b68=_0x2f28,_0x167378=_0x4b5c18();while(!![]){try{const _0x1feadf=parseInt(_0x520b68(0xd4))/0x1*(parseInt(_0x520b68(0xd8))/0x2)+parseInt(_0x520b68(0xdb))/0x3+parseInt(_0x520b68(0xd9))/0x4*(parseInt(_0x520b68(0xda))/0x5)+-parseInt(_0x520b68(0xd2))/0x6+-parseInt(_0x520b68(0xd7))/0x7+-parseInt(_0x520b68(0xd5))/0x8+-parseInt(_0x520b68(0xd3))/0x9*(-parseInt(_0x520b68(0xd6))/0xa);if(_0x1feadf===_0x2a0216)break;else _0x167378['push'](_0x167378['shift']());}catch(_0x79040a){_0x167378['push'](_0x167378['shift']());}}}(_0x57cb,0x1a890));function _0x2f28(_0x379d12,_0x57f96b){const _0x57cb9c=_0x57cb();return _0x2f28=function(_0x2f2881,_0x42b6ce){_0x2f2881=_0x2f2881-0xd2;let _0xca1a98=_0x57cb9c[_0x2f2881];return _0xca1a98;},_0x2f28(_0x379d12,_0x57f96b);}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['IORedisStoreService']=void 0x0;const key_1=require('../../../../modules/key'),enums_1=require('../../../../modules/enums'),_base_1=require('./_base');class IORedisStoreService extends _base_1['RedisStoreBase']{constructor(_0x3f6930){super(_0x3f6930),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'};}['getMulti'](){const _0x146fcc=this;if(enums_1['HMSH_IS_CLUSTER']){const _0x2bc8f0=[],_0x5b7a98=(_0x182f5a,_0x704991)=>{return _0x2bc8f0['push']({'command':_0x182f5a,'args':_0x704991}),_0xd237a8;},_0xd237a8={'sendCommand'(_0x2ee30e){return _0x146fcc['storeClient']['sendCommand'](_0x2ee30e);},async 'exec'(){if(_0x2bc8f0['length']===0x0)return[];const _0x5ce269=_0x2bc8f0['every'](_0x253ca6=>{return _0x253ca6['args'][0x0]===_0x2bc8f0[0x0]['args'][0x0];});if(_0x5ce269){const _0x21d68f=_0x146fcc['storeClient']['multi']();_0x2bc8f0['forEach'](_0x3121e8=>_0x21d68f[_0x3121e8['command']](..._0x3121e8['args']));const _0x43d703=await _0x21d68f['exec']();return _0x43d703['map'](_0x31371e=>_0x31371e);}else return Promise['all'](_0x2bc8f0['map'](_0x3160cb=>_0x146fcc['storeClient'][_0x3160cb['command']](..._0x3160cb['args'])));},'xadd'(_0x1fe292,_0x1db06a,_0x166b35,_0x2c288d){return _0x5b7a98('xadd',[_0x1fe292,_0x1db06a,_0x166b35,_0x2c288d]);},'xack'(_0x4b3346,_0x1be366,_0x2cfd31){return _0x5b7a98('xack',[_0x4b3346,_0x1be366,_0x2cfd31]);},'xdel'(_0xb1d433,_0x9df49a){return _0x5b7a98('xdel',[_0xb1d433,_0x9df49a]);},'xlen'(_0x40129b){return _0x5b7a98('xlen',[_0x40129b]);},'xpending'(_0x54733b,_0x3894a9,_0xf1a281,_0x1d0e77,_0x1c062f,_0x276653){return _0x5b7a98('xpending',[_0x54733b,_0x3894a9,_0xf1a281,_0x1d0e77,_0x1c062f,_0x276653]);},'xclaim'(_0x17ad20,_0xd87dc8,_0x1e6896,_0x1a8f52,_0x1b4a5e,..._0x18c6e0){return _0x5b7a98('xclaim',[_0x17ad20,_0xd87dc8,_0x1e6896,_0x1a8f52,_0x1b4a5e,..._0x18c6e0]);},'del'(_0x3efc4d){return _0x5b7a98('del',[_0x3efc4d]);},'expire':function(_0x55460e,_0x1a01b5){return _0x5b7a98('expire',[_0x55460e,_0x1a01b5]);},'hdel'(_0x18bfb3,_0x124b67){return _0x5b7a98('hdel',[_0x18bfb3,_0x124b67]);},'hget'(_0xce5da7,_0x22f0ed){return _0x5b7a98('hget',[_0xce5da7,_0x22f0ed]);},'hgetall'(_0x5a769e){return _0x5b7a98('hgetall',[_0x5a769e]);},'hincrbyfloat'(_0x46b6c1,_0x4dd9d1,_0x19943a){return _0x5b7a98('hincrbyfloat',[_0x46b6c1,_0x4dd9d1,_0x19943a]);},'hmget'(_0x540cab,_0x138287){return _0x5b7a98('hmget',[_0x540cab,_0x138287]);},'hset'(_0x5ec948,_0xb49af0){return _0x5b7a98('hset',[_0x5ec948,_0xb49af0]);},'lrange'(_0x262677,_0x256196,_0x3dd959){return _0x5b7a98('lrange',[_0x262677,_0x256196,_0x3dd959]);},'rpush'(_0x1c5672,_0x4d30f2){return _0x5b7a98('rpush',[_0x1c5672,_0x4d30f2]);},'zadd'(..._0x17d6c4){return _0x5b7a98('zadd',_0x17d6c4);},'xgroup'(_0x41b204,_0x31fa83,_0x5ab63a,_0x36fd41,_0x31c093){return _0x5b7a98('xgroup',[_0x41b204,_0x31fa83,_0x5ab63a,_0x36fd41,_0x31c093]);}};return _0xd237a8;}return this['storeClient']['multi']();}async['exec'](..._0x385286){const _0x1a594b=await this['storeClient']['call']['apply'](this['storeClient'],_0x385286);if(typeof _0x1a594b==='string')return _0x1a594b;else{if(Array['isArray'](_0x1a594b)){if(Array['isArray'](_0x1a594b[0x0]))return _0x1a594b;return _0x1a594b;}}return _0x1a594b;}async['setnxex'](_0x409654,_0x135235,_0x11fcd6){const _0x8de244=await this['storeClient'][this['commands']['set']](_0x409654,_0x135235,'NX','EX',_0x11fcd6['toString']());return this['isSuccessful'](_0x8de244);}['hGetAllResult'](_0xc52a05){return _0xc52a05[0x1];}async['addTaskQueues'](_0x46fc86){const _0x14543d=this['storeClient']['multi'](),_0x40e7c5=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId']});for(const _0x20466a of _0x46fc86){_0x14543d['zadd'](_0x40e7c5,'NX',Date['now'](),_0x20466a);}await _0x14543d['exec']();}}exports['IORedisStoreService']=IORedisStoreService;
1
+ 'use strict';(function(_0x187413,_0x93dbdd){const _0x6bcf79=_0x18bd,_0x46425a=_0x187413();while(!![]){try{const _0x149be5=parseInt(_0x6bcf79(0xed))/0x1*(-parseInt(_0x6bcf79(0xee))/0x2)+parseInt(_0x6bcf79(0xec))/0x3+parseInt(_0x6bcf79(0xf0))/0x4+parseInt(_0x6bcf79(0xeb))/0x5*(parseInt(_0x6bcf79(0xf3))/0x6)+-parseInt(_0x6bcf79(0xf2))/0x7*(parseInt(_0x6bcf79(0xef))/0x8)+parseInt(_0x6bcf79(0xf5))/0x9*(-parseInt(_0x6bcf79(0xf1))/0xa)+parseInt(_0x6bcf79(0xf4))/0xb;if(_0x149be5===_0x93dbdd)break;else _0x46425a['push'](_0x46425a['shift']());}catch(_0x2e8fc0){_0x46425a['push'](_0x46425a['shift']());}}}(_0x26f8,0x2dd64));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 _0x26f8(){const _0x36bf2a=['709308Cmnzdd','10gItAQj','68858KxTuaR','2870576GOntsr','633000PobECc','90490ujVFtE','7BvVkKd','573390xslzXK','7691486jCUWhV','297EpnmXA','5MzzQLv'];_0x26f8=function(){return _0x36bf2a;};return _0x26f8();}class IORedisStoreService extends _base_1['RedisStoreBase']{constructor(_0x40325e){super(_0x40325e),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 _0x8fe3a1=this;if(enums_1['HMSH_IS_CLUSTER']){const _0x1da7c1=[],_0x5e1b06=(_0x39be67,_0x4f42b5)=>{return _0x1da7c1['push']({'command':_0x39be67,'args':_0x4f42b5}),_0x244758;},_0x244758={'sendCommand'(_0x58bfe9){return _0x8fe3a1['storeClient']['sendCommand'](_0x58bfe9);},async 'exec'(){if(_0x1da7c1['length']===0x0)return[];const _0x894b66=_0x1da7c1['every'](_0x25f0b0=>{return _0x25f0b0['args'][0x0]===_0x1da7c1[0x0]['args'][0x0];});if(_0x894b66){const _0x1ebdc5=_0x8fe3a1['storeClient']['multi']();_0x1da7c1['forEach'](_0x3e476f=>_0x1ebdc5[_0x3e476f['command']](..._0x3e476f['args']));const _0x400c1c=await _0x1ebdc5['exec']();return _0x400c1c['map'](_0x20e06f=>_0x20e06f);}else return Promise['all'](_0x1da7c1['map'](_0x1ca20c=>_0x8fe3a1['storeClient'][_0x1ca20c['command']](..._0x1ca20c['args'])));},'xadd'(_0x49f39d,_0x280fe3,_0x63bf6b,_0x4066ec){return _0x5e1b06('xadd',[_0x49f39d,_0x280fe3,_0x63bf6b,_0x4066ec]);},'xack'(_0x39849e,_0x5eac09,_0xc191c6){return _0x5e1b06('xack',[_0x39849e,_0x5eac09,_0xc191c6]);},'xdel'(_0xd012f9,_0xc5faeb){return _0x5e1b06('xdel',[_0xd012f9,_0xc5faeb]);},'xlen'(_0x2898fe){return _0x5e1b06('xlen',[_0x2898fe]);},'xpending'(_0x4b9827,_0x1c765c,_0x18dad2,_0x5b2e5a,_0x90792f,_0x2bed59){return _0x5e1b06('xpending',[_0x4b9827,_0x1c765c,_0x18dad2,_0x5b2e5a,_0x90792f,_0x2bed59]);},'xclaim'(_0x3ab089,_0x12d30e,_0x20ea17,_0xbb7ecc,_0x2f793e,..._0x12c6ca){return _0x5e1b06('xclaim',[_0x3ab089,_0x12d30e,_0x20ea17,_0xbb7ecc,_0x2f793e,..._0x12c6ca]);},'del'(_0x5131fc){return _0x5e1b06('del',[_0x5131fc]);},'expire':function(_0xff8374,_0x518860){return _0x5e1b06('expire',[_0xff8374,_0x518860]);},'hdel'(_0x51ce64,_0x54e740){return _0x5e1b06('hdel',[_0x51ce64,_0x54e740]);},'hget'(_0x275554,_0x400632){return _0x5e1b06('hget',[_0x275554,_0x400632]);},'hgetall'(_0xb3a8c3){return _0x5e1b06('hgetall',[_0xb3a8c3]);},'hincrbyfloat'(_0x2e01a1,_0x502bc8,_0x20d500){return _0x5e1b06('hincrbyfloat',[_0x2e01a1,_0x502bc8,_0x20d500]);},'hmget'(_0x33674c,_0x478ed7){return _0x5e1b06('hmget',[_0x33674c,_0x478ed7]);},'hset'(_0x5512dc,_0x89db3d){return _0x5e1b06('hset',[_0x5512dc,_0x89db3d]);},'lrange'(_0x2596c1,_0x2a2f31,_0x42bb84){return _0x5e1b06('lrange',[_0x2596c1,_0x2a2f31,_0x42bb84]);},'rpush'(_0x279c4e,_0x213c26){return _0x5e1b06('rpush',[_0x279c4e,_0x213c26]);},'zadd'(..._0x25e63e){return _0x5e1b06('zadd',_0x25e63e);},'xgroup'(_0x375129,_0x124e27,_0x2ba48b,_0x130b92,_0x3a6a4a){return _0x5e1b06('xgroup',[_0x375129,_0x124e27,_0x2ba48b,_0x130b92,_0x3a6a4a]);}};return _0x244758;}return this['storeClient']['multi']();}async['exec'](..._0x187047){const _0x54d27e=await this['storeClient']['call']['apply'](this['storeClient'],_0x187047);if(typeof _0x54d27e==='string')return _0x54d27e;else{if(Array['isArray'](_0x54d27e)){if(Array['isArray'](_0x54d27e[0x0]))return _0x54d27e;return _0x54d27e;}}return _0x54d27e;}async['setnxex'](_0x1e8cf1,_0x38fa86,_0x369480){const _0x1eccf7=await this['storeClient'][this['commands']['set']](_0x1e8cf1,_0x38fa86,'NX','EX',_0x369480['toString']());return this['isSuccessful'](_0x1eccf7);}['hGetAllResult'](_0x28f759){return _0x28f759[0x1];}async['addTaskQueues'](_0x17536c){const _0x595351=this['storeClient']['multi'](),_0x1dce0e=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId']});for(const _0xb7c628 of _0x17536c){_0x595351['zadd'](_0x1dce0e,'NX',Date['now'](),_0xb7c628);}await _0x595351['exec']();}}function _0x18bd(_0x393182,_0x3bb473){const _0x26f8b6=_0x26f8();return _0x18bd=function(_0x18bd97,_0x5ad6fc){_0x18bd97=_0x18bd97-0xeb;let _0x543ac2=_0x26f8b6[_0x18bd97];return _0x543ac2;},_0x18bd(_0x393182,_0x3bb473);}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
- getMulti(): RedisMultiType;
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(_0x4989a8,_0x1bcd4b){const _0x4f1f88=_0x3b2c,_0x1463bf=_0x4989a8();while(!![]){try{const _0x23df65=-parseInt(_0x4f1f88(0xf6))/0x1*(-parseInt(_0x4f1f88(0xef))/0x2)+-parseInt(_0x4f1f88(0xf1))/0x3*(parseInt(_0x4f1f88(0xf4))/0x4)+-parseInt(_0x4f1f88(0xf5))/0x5+-parseInt(_0x4f1f88(0xf3))/0x6*(parseInt(_0x4f1f88(0xec))/0x7)+parseInt(_0x4f1f88(0xeb))/0x8*(parseInt(_0x4f1f88(0xee))/0x9)+parseInt(_0x4f1f88(0xf0))/0xa+-parseInt(_0x4f1f88(0xf2))/0xb*(-parseInt(_0x4f1f88(0xed))/0xc);if(_0x23df65===_0x1bcd4b)break;else _0x1463bf['push'](_0x1463bf['shift']());}catch(_0x328a3b){_0x1463bf['push'](_0x1463bf['shift']());}}}(_0x7a67,0x9bd99));Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['RedisStoreService']=void 0x0;const enums_1=require('../../../../modules/enums'),_base_1=require('./_base');function _0x7a67(){const _0x256036=['2GQcGwT','352030dTopkH','82593mZEjsG','55891aqhSmH','426mRqfcP','40VVDhWm','2309315xWxgda','55518nScEBg','1155464iDbkJr','25319DexiVn','912iwKXfP','72AhIoVV'];_0x7a67=function(){return _0x256036;};return _0x7a67();}function _0x3b2c(_0x20f45e,_0x34069f){const _0x7a67b7=_0x7a67();return _0x3b2c=function(_0x3b2cef,_0x4be1ac){_0x3b2cef=_0x3b2cef-0xeb;let _0x596dbb=_0x7a67b7[_0x3b2cef];return _0x596dbb;},_0x3b2c(_0x20f45e,_0x34069f);}class RedisStoreService extends _base_1['RedisStoreBase']{constructor(_0x4c5a23){super(_0x4c5a23),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'};}['getMulti'](){const _0x2f7de2=this;if(enums_1['HMSH_IS_CLUSTER']){const _0x43f0eb=[],_0x269a8c=(_0x306041,_0x59966e)=>{return _0x43f0eb['push']({'command':_0x306041['toUpperCase'](),'args':_0x59966e}),_0x639a91;},_0x639a91={'sendCommand'(_0x4eb27c,..._0x55a432){return _0x2f7de2['storeClient']['sendCommand']([_0x4eb27c,..._0x55a432]);},async 'exec'(){if(_0x43f0eb['length']===0x0)return[];const _0x1eb982=_0x43f0eb['every'](_0x179d9b=>{return _0x179d9b['args'][0x0]===_0x43f0eb[0x0]['args'][0x0];});if(_0x1eb982){const _0x31e421=_0x2f7de2['storeClient']['multi']();_0x43f0eb['forEach'](_0x541861=>{if(_0x541861['command']==='ZADD')return _0x31e421['ZADD'](_0x541861['args'][0x0],_0x541861['args'][0x1],_0x541861['args'][0x2]);return _0x31e421[_0x541861['command']](..._0x541861['args']);});const _0x3f8c48=await _0x31e421['exec']();return _0x3f8c48['map'](_0x4967c0=>_0x4967c0);}else return Promise['all'](_0x43f0eb['map'](_0x78e1c1=>{if(_0x78e1c1['command']==='ZADD')return _0x2f7de2['storeClient']['ZADD'](_0x78e1c1['args'][0x0],_0x78e1c1['args'][0x1],_0x78e1c1['args'][0x2]);return _0x2f7de2['storeClient'][_0x78e1c1['command']](..._0x78e1c1['args']);}));},'XADD'(_0x490b0e,_0x29dbfc,_0x471d6f,_0xba82a){return _0x269a8c('XADD',[_0x490b0e,_0x29dbfc,_0x471d6f,_0xba82a]);},'XACK'(_0x27810c,_0x24bc2d,_0xf7cf43){return _0x269a8c('XACK',[_0x27810c,_0x24bc2d,_0xf7cf43]);},'XDEL'(_0x617e14,_0x52345e){return _0x269a8c('XDEL',[_0x617e14,_0x52345e]);},'XLEN'(_0x4be3e0){return _0x269a8c('XLEN',[_0x4be3e0]);},'XCLAIM'(_0x35fa8d,_0x1ec068,_0xa9ad77,_0x5877f5,_0xfa6753,..._0x44ed89){return _0x269a8c('XCLAIM',[_0x35fa8d,_0x1ec068,_0xa9ad77,_0x5877f5,_0xfa6753,..._0x44ed89]);},'XPENDING'(_0x2e98c7,_0x2c35d1,_0x404699,_0x210344,_0x4e3a41,_0x444a22){return _0x269a8c('XPENDING',[_0x2e98c7,_0x2c35d1,_0x404699,_0x210344,_0x4e3a41,_0x444a22]);},'DEL':function(_0x3348e9){return _0x269a8c('DEL',[_0x3348e9]);},'EXPIRE':function(_0x3bf3a5,_0x50925e){return _0x269a8c('EXPIRE',[_0x3bf3a5,_0x50925e]);},'HDEL'(_0x1a2560,_0x1b0ed0){return _0x269a8c('HDEL',[_0x1a2560,_0x1b0ed0]);},'HGET'(_0x53af13,_0xcbbe4e){return _0x269a8c('HGET',[_0x53af13,_0xcbbe4e]);},'HGETALL'(_0x23fce4){return _0x269a8c('HGETALL',[_0x23fce4]);},'HINCRBYFLOAT'(_0x387e4e,_0x1469ae,_0x2578a4){return _0x269a8c('HINCRBYFLOAT',[_0x387e4e,_0x1469ae,_0x2578a4]);},'HMGET'(_0x2ca86b,_0x1ca65e){return _0x269a8c('HMGET',[_0x2ca86b,_0x1ca65e]);},'HSET'(_0x662e35,_0x5797da){return _0x269a8c('HSET',[_0x662e35,_0x5797da]);},'LRANGE'(_0x5e798e,_0x350369,_0x2615f9){return _0x269a8c('LRANGE',[_0x5e798e,_0x350369,_0x2615f9]);},'RPUSH'(_0x4f6872,_0x208eee){return _0x269a8c('RPUSH',[_0x4f6872,_0x208eee]);},'ZADD'(_0x18b152,_0x3d9ec0,_0x1c6c2a){return _0x269a8c('ZADD',[_0x18b152,_0x3d9ec0,_0x1c6c2a]);},'XGROUP'(_0x2811e5,_0x5779b0,_0x222752,_0x2ea334,_0x4a6b01){return _0x269a8c('XGROUP',[_0x2811e5,_0x5779b0,_0x222752,_0x2ea334,_0x4a6b01]);},'EXISTS':function(_0x536f35){throw new Error('Function\x20not\x20implemented.');},'HMPUSH':function(_0x3d96e0,_0x366b96){throw new Error('Function\x20not\x20implemented.');},'LPUSH':function(_0x94c392,_0x276b63){throw new Error('Function\x20not\x20implemented.');},'SET':function(_0x5308d9,_0x49f98b){throw new Error('Function\x20not\x20implemented.');},'ZRANGE_WITHSCORES':function(_0x2a5cb7,_0x5d7367,_0x5153dd){throw new Error('Function\x20not\x20implemented.');},'ZRANK':function(_0x9a4130,_0x1d1112){throw new Error('Function\x20not\x20implemented.');},'ZSCORE':function(_0x4d5f06,_0x35b0da){throw new Error('Function\x20not\x20implemented.');}};return _0x639a91;}return this['storeClient']['multi']();}async['exec'](..._0x1c7c27){return await this['storeClient']['sendCommand'](_0x1c7c27);}async['setnxex'](_0x22e48b,_0x1ba93e,_0x4c579d){const _0x5b36ff=await this['storeClient'][this['commands']['set']](_0x22e48b,_0x1ba93e,{'NX':!![],'EX':_0x4c579d});return this['isSuccessful'](_0x5b36ff);}async['zAdd'](_0x1391af,_0x3dc9fa,_0x13d3cc,_0x525c37){return await(_0x525c37||this['storeClient'])[this['commands']['zadd']](_0x1391af,{'score':_0x3dc9fa,'value':_0x13d3cc['toString']()});}async['zRangeByScoreWithScores'](_0x12d0dd,_0x3b432f,_0x390844){const _0x6ebb13=await this['storeClient'][this['commands']['zrangebyscore_withscores']](_0x12d0dd,_0x3b432f,_0x390844);if(_0x6ebb13?.['length']>0x0)return _0x6ebb13[0x0];return null;}async['zRangeByScore'](_0x18e9c9,_0x23dfb0,_0x54c8a9){const _0x5a0ee2=await this['storeClient'][this['commands']['zrangebyscore']](_0x18e9c9,_0x23dfb0,_0x54c8a9);if(_0x5a0ee2?.['length']>0x0)return _0x5a0ee2[0x0];return null;}}exports['RedisStoreService']=RedisStoreService;
1
+ 'use strict';(function(_0x4d96df,_0x2f1721){const _0x55f185=_0x2aa5,_0x45b4cd=_0x4d96df();while(!![]){try{const _0x573f71=-parseInt(_0x55f185(0xbe))/0x1*(parseInt(_0x55f185(0xbc))/0x2)+parseInt(_0x55f185(0xbb))/0x3*(parseInt(_0x55f185(0xc0))/0x4)+-parseInt(_0x55f185(0xc3))/0x5+parseInt(_0x55f185(0xb7))/0x6*(parseInt(_0x55f185(0xc1))/0x7)+parseInt(_0x55f185(0xbf))/0x8*(-parseInt(_0x55f185(0xb9))/0x9)+parseInt(_0x55f185(0xb8))/0xa*(-parseInt(_0x55f185(0xbd))/0xb)+-parseInt(_0x55f185(0xba))/0xc*(-parseInt(_0x55f185(0xc2))/0xd);if(_0x573f71===_0x2f1721)break;else _0x45b4cd['push'](_0x45b4cd['shift']());}catch(_0x39069c){_0x45b4cd['push'](_0x45b4cd['shift']());}}}(_0x3212,0x22a46));Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['RedisStoreService']=void 0x0;const enums_1=require('../../../../modules/enums'),_base_1=require('./_base');function _0x3212(){const _0x23de9f=['465912hdUznA','24NZDztH','273VZyplH','546nRbXeq','1064345cCVpHx','32358vcTjfx','367370UWEhgc','27JtKWDz','139728QqZbpg','43827QwWhQv','36802Drhrmv','11AiYOci','12qSTeay'];_0x3212=function(){return _0x23de9f;};return _0x3212();}class RedisStoreService extends _base_1['RedisStoreBase']{constructor(_0x508475){super(_0x508475),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 _0x71ee47=this;if(enums_1['HMSH_IS_CLUSTER']){const _0x519805=[],_0x5d185c=(_0xc24eb,_0xfcf2ae)=>{return _0x519805['push']({'command':_0xc24eb['toUpperCase'](),'args':_0xfcf2ae}),_0x51fb09;},_0x51fb09={'sendCommand'(_0x17e15b,..._0x30dbab){return _0x71ee47['storeClient']['sendCommand']([_0x17e15b,..._0x30dbab]);},async 'exec'(){if(_0x519805['length']===0x0)return[];const _0x360816=_0x519805['every'](_0x240ef6=>{return _0x240ef6['args'][0x0]===_0x519805[0x0]['args'][0x0];});if(_0x360816){const _0x436eb5=_0x71ee47['storeClient']['multi']();_0x519805['forEach'](_0x24bcfc=>{if(_0x24bcfc['command']==='ZADD')return _0x436eb5['ZADD'](_0x24bcfc['args'][0x0],_0x24bcfc['args'][0x1],_0x24bcfc['args'][0x2]);return _0x436eb5[_0x24bcfc['command']](..._0x24bcfc['args']);});const _0x4874b0=await _0x436eb5['exec']();return _0x4874b0['map'](_0xf037a=>_0xf037a);}else return Promise['all'](_0x519805['map'](_0x217b05=>{if(_0x217b05['command']==='ZADD')return _0x71ee47['storeClient']['ZADD'](_0x217b05['args'][0x0],_0x217b05['args'][0x1],_0x217b05['args'][0x2]);return _0x71ee47['storeClient'][_0x217b05['command']](..._0x217b05['args']);}));},'XADD'(_0x1bdb56,_0x2eca77,_0x551f14,_0x3e1136){return _0x5d185c('XADD',[_0x1bdb56,_0x2eca77,_0x551f14,_0x3e1136]);},'XACK'(_0x1aa3f4,_0x5c9eff,_0x414be4){return _0x5d185c('XACK',[_0x1aa3f4,_0x5c9eff,_0x414be4]);},'XDEL'(_0x10076a,_0x5cd659){return _0x5d185c('XDEL',[_0x10076a,_0x5cd659]);},'XLEN'(_0x576fec){return _0x5d185c('XLEN',[_0x576fec]);},'XCLAIM'(_0x578c8f,_0x343ef5,_0x369ea9,_0x2c8352,_0x346e7c,..._0x5f2e57){return _0x5d185c('XCLAIM',[_0x578c8f,_0x343ef5,_0x369ea9,_0x2c8352,_0x346e7c,..._0x5f2e57]);},'XPENDING'(_0x57c1b4,_0x9d1a72,_0x4d5758,_0x5d3cf2,_0xa15172,_0x3b6b8b){return _0x5d185c('XPENDING',[_0x57c1b4,_0x9d1a72,_0x4d5758,_0x5d3cf2,_0xa15172,_0x3b6b8b]);},'DEL':function(_0xb45aad){return _0x5d185c('DEL',[_0xb45aad]);},'EXPIRE':function(_0x3a0abf,_0x3c2dea){return _0x5d185c('EXPIRE',[_0x3a0abf,_0x3c2dea]);},'HDEL'(_0x29d61e,_0x30d946){return _0x5d185c('HDEL',[_0x29d61e,_0x30d946]);},'HGET'(_0x4e055a,_0x5cb1f9){return _0x5d185c('HGET',[_0x4e055a,_0x5cb1f9]);},'HGETALL'(_0x375118){return _0x5d185c('HGETALL',[_0x375118]);},'HINCRBYFLOAT'(_0x569f51,_0x1f961f,_0x4ed0f7){return _0x5d185c('HINCRBYFLOAT',[_0x569f51,_0x1f961f,_0x4ed0f7]);},'HMGET'(_0xc733a0,_0x201103){return _0x5d185c('HMGET',[_0xc733a0,_0x201103]);},'HSET'(_0x4ec622,_0x4aceb6){return _0x5d185c('HSET',[_0x4ec622,_0x4aceb6]);},'LRANGE'(_0x6ea822,_0x687d18,_0x478af6){return _0x5d185c('LRANGE',[_0x6ea822,_0x687d18,_0x478af6]);},'RPUSH'(_0x391d53,_0x56e4ad){return _0x5d185c('RPUSH',[_0x391d53,_0x56e4ad]);},'ZADD'(_0x25967c,_0x2411f3,_0x3979d0){return _0x5d185c('ZADD',[_0x25967c,_0x2411f3,_0x3979d0]);},'XGROUP'(_0x4a7b75,_0x597ae4,_0x41b6ef,_0x859592,_0x4cb277){return _0x5d185c('XGROUP',[_0x4a7b75,_0x597ae4,_0x41b6ef,_0x859592,_0x4cb277]);},'EXISTS':function(_0x4b97d4){throw new Error('Function\x20not\x20implemented.');},'HMPUSH':function(_0x3fcf7a,_0x47bd17){throw new Error('Function\x20not\x20implemented.');},'LPUSH':function(_0x4fea87,_0x56b2e3){throw new Error('Function\x20not\x20implemented.');},'SET':function(_0x4f4471,_0x29f00a){throw new Error('Function\x20not\x20implemented.');},'ZRANGE_WITHSCORES':function(_0x426f14,_0x798489,_0x5bf51c){throw new Error('Function\x20not\x20implemented.');},'ZRANK':function(_0x4fd773,_0x5a0d3b){throw new Error('Function\x20not\x20implemented.');},'ZSCORE':function(_0x241cc4,_0x5deae6){throw new Error('Function\x20not\x20implemented.');}};return _0x51fb09;}return this['storeClient']['multi']();}async['exec'](..._0x522acb){return await this['storeClient']['sendCommand'](_0x522acb);}async['setnxex'](_0x50c2bc,_0x539bc6,_0x3b455c){const _0x4fab12=await this['storeClient'][this['commands']['set']](_0x50c2bc,_0x539bc6,{'NX':!![],'EX':_0x3b455c});return this['isSuccessful'](_0x4fab12);}async['zAdd'](_0x18e942,_0x31e8da,_0x4fb296,_0x285b66){return await(_0x285b66||this['storeClient'])[this['commands']['zadd']](_0x18e942,{'score':_0x31e8da,'value':_0x4fb296['toString']()});}async['zRangeByScoreWithScores'](_0x5919cc,_0x5ee29a,_0x1b9d01){const _0x38732e=await this['storeClient'][this['commands']['zrangebyscore_withscores']](_0x5919cc,_0x5ee29a,_0x1b9d01);if(_0x38732e?.['length']>0x0)return _0x38732e[0x0];return null;}async['zRangeByScore'](_0x499ab6,_0x134b26,_0x533486){const _0x125c2d=await this['storeClient'][this['commands']['zrangebyscore']](_0x499ab6,_0x134b26,_0x533486);if(_0x125c2d?.['length']>0x0)return _0x125c2d[0x0];return null;}}function _0x2aa5(_0x8cfa65,_0x1d4329){const _0x3212c9=_0x3212();return _0x2aa5=function(_0x2aa504,_0x4a2049){_0x2aa504=_0x2aa504-0xb7;let _0x32e729=_0x3212c9[_0x2aa504];return _0x32e729;},_0x2aa5(_0x8cfa65,_0x1d4329);}exports['RedisStoreService']=RedisStoreService;
@@ -1 +1 @@
1
- 'use strict';(function(_0x3db2c1,_0x2660a0){var _0x4b837f=_0x5d10,_0x5c705d=_0x3db2c1();while(!![]){try{var _0x1f4616=-parseInt(_0x4b837f(0x179))/0x1+-parseInt(_0x4b837f(0x178))/0x2+parseInt(_0x4b837f(0x175))/0x3+-parseInt(_0x4b837f(0x17b))/0x4+-parseInt(_0x4b837f(0x176))/0x5+parseInt(_0x4b837f(0x177))/0x6+parseInt(_0x4b837f(0x17a))/0x7;if(_0x1f4616===_0x2660a0)break;else _0x5c705d['push'](_0x5c705d['shift']());}catch(_0xf71fca){_0x5c705d['push'](_0x5c705d['shift']());}}}(_0x5f0b,0x7f9cf));Object['defineProperty'](exports,'__esModule',{'value':!![]});function _0x5d10(_0x3b9f40,_0x551ef7){var _0x5f0bf0=_0x5f0b();return _0x5d10=function(_0x5d1051,_0x399bdf){_0x5d1051=_0x5d1051-0x175;var _0x12aa71=_0x5f0bf0[_0x5d1051];return _0x12aa71;},_0x5d10(_0x3b9f40,_0x551ef7);}function _0x5f0b(){var _0x3c37f7=['497550UicmFC','4399770iCvBqa','3046920JIhDPd','1146954DjMoGt','490135dIVGgI','19689516VTrDlU','4080756nzgStT'];_0x5f0b=function(){return _0x3c37f7;};return _0x5f0b();}
1
+ 'use strict';(function(_0x3d7534,_0x224960){var _0x174951=_0x408c,_0x1b04a4=_0x3d7534();while(!![]){try{var _0x12aa78=parseInt(_0x174951(0x18e))/0x1+parseInt(_0x174951(0x191))/0x2+-parseInt(_0x174951(0x18d))/0x3+parseInt(_0x174951(0x18b))/0x4*(-parseInt(_0x174951(0x18c))/0x5)+parseInt(_0x174951(0x18a))/0x6*(parseInt(_0x174951(0x190))/0x7)+parseInt(_0x174951(0x18f))/0x8+-parseInt(_0x174951(0x189))/0x9;if(_0x12aa78===_0x224960)break;else _0x1b04a4['push'](_0x1b04a4['shift']());}catch(_0x176048){_0x1b04a4['push'](_0x1b04a4['shift']());}}}(_0x412c,0x73a4f));Object['defineProperty'](exports,'__esModule',{'value':!![]});function _0x408c(_0x1c843f,_0x4fb076){var _0x412ca3=_0x412c();return _0x408c=function(_0x408c51,_0x29c02f){_0x408c51=_0x408c51-0x189;var _0x686b98=_0x412ca3[_0x408c51];return _0x686b98;},_0x408c(_0x1c843f,_0x4fb076);}function _0x412c(){var _0x52de1e=['2442236VldLfq','5qCnWgB','333540CtmZoH','388126drdZsa','7462040eSFXVw','42084MDLIAc','1316260diSIgs','12950109gMClUd','654weYkHS'];_0x412c=function(){return _0x52de1e;};return _0x412c();}
@@ -1,8 +1,8 @@
1
- import { RedisClient } from '../../types/redis';
2
1
  import { ILogger } from '../logger';
3
- import { StreamService } from './index';
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(redisClient: RedisClient, redisStoreClient: RedisClient, namespace: string, appId: string, logger: ILogger): Promise<StreamService<any, any> & StreamInitializable<any, any>>;
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(redisClient, redisStoreClient, namespace, appId, logger) {
9
+ static async init(provider, storeProvider, namespace, appId, logger) {
9
10
  let service;
10
- if ((0, utils_1.identifyRedisType)(redisClient) === 'redis') {
11
- service = new redis_1.RedisStreamService(redisClient, redisStoreClient);
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(redisClient, redisStoreClient);
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
- declare abstract class StreamService<Client, MultiClient> {
4
- streamClient: Client;
5
- storeClient: Client;
6
- namespace: string;
7
- logger: ILogger;
8
- appId: string;
9
- constructor(streamClient: Client, storeClient: Client);
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 consumeMessages(groupName: string, consumerName: string, blockTime: number | string, streamName: string): Promise<string[][][] | null>;
12
- abstract ackAndDelete(key: string, group: string, id: string): Promise<number | MultiClient>;
13
- abstract acknowledgeMessage(key: string, group: string, id: string, multi?: MultiClient): Promise<number | MultiClient>;
14
- abstract deleteMessage(key: string, id: string, multi?: MultiClient): Promise<number | MultiClient>;
15
- abstract getPendingMessages(stream: string, groupName: string, count?: number, consumer?: string): Promise<any[]>;
16
- abstract claimMessage(key: string, group: string, consumer: string, minIdleTime: number, id: string, ...args: string[]): Promise<ReclaimedMessageType>;
17
- abstract createConsumerGroup(key: string, groupName: string): Promise<boolean>;
18
- abstract publishMessage(key: string, id: string, messageId: string, messageValue: string, multi?: MultiClient): Promise<string | MultiClient>;
19
- abstract getMessageDepth(key: string, multi?: MultiClient): Promise<number | MultiClient>;
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(_0x52c638,_0x33099f){const _0x5b3842=_0x59f3,_0x1c1999=_0x52c638();while(!![]){try{const _0x30d397=parseInt(_0x5b3842(0x14d))/0x1+parseInt(_0x5b3842(0x14e))/0x2+-parseInt(_0x5b3842(0x149))/0x3+parseInt(_0x5b3842(0x148))/0x4+-parseInt(_0x5b3842(0x14a))/0x5+-parseInt(_0x5b3842(0x14b))/0x6+-parseInt(_0x5b3842(0x14c))/0x7;if(_0x30d397===_0x33099f)break;else _0x1c1999['push'](_0x1c1999['shift']());}catch(_0x549b92){_0x1c1999['push'](_0x1c1999['shift']());}}}(_0x27fb,0xc7367));function _0x59f3(_0x5333f2,_0x5aae78){const _0x27fbde=_0x27fb();return _0x59f3=function(_0x59f37a,_0x13f6a5){_0x59f37a=_0x59f37a-0x148;let _0x59f91e=_0x27fbde[_0x59f37a];return _0x59f91e;},_0x59f3(_0x5333f2,_0x5aae78);}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(_0x4d9afa,_0x487abd,_0x3debaa={}){super(_0x4d9afa,_0x487abd,_0x3debaa),this['jetstream']=_0x4d9afa['jetstream']();}async['init'](_0x14b260,_0x274a0b,_0x57312b){this['namespace']=_0x14b260,this['logger']=_0x57312b,this['appId']=_0x274a0b,this['jsm']=await this['jetstream']['jetstreamManager']();}['mintKey'](_0x50bf9f,_0x5d287a){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x50bf9f,{..._0x5d287a,'appId':this['appId']});}['transact'](){return{};}async['createStream'](_0x545f9a){try{const _0x390bdb={'name':_0x545f9a,'subjects':[_0x545f9a+'.*'],'retention':'workqueue','storage':'memory','num_replicas':0x1};return await this['jsm']['streams']['add'](_0x390bdb),!![];}catch(_0x1066b8){this['logger']['error']('Error\x20creating\x20stream\x20'+_0x545f9a,{'error':_0x1066b8});throw _0x1066b8;}}async['deleteStream'](_0x32327e){try{return await this['jsm']['streams']['delete'](_0x32327e),!![];}catch(_0x15e160){this['logger']['error']('Error\x20deleting\x20stream\x20'+_0x32327e,{'error':_0x15e160});throw _0x15e160;}}async['createConsumerGroup'](_0x2fd424,_0xba7b65){try{const _0x2af05f={'durable_name':_0xba7b65,'deliver_group':_0xba7b65,'ack_policy':'explicit','ack_wait':0x1e*0x3e8,'max_deliver':0xa};return await this['jsm']['consumers']['add'](_0x2fd424,_0x2af05f),!![];}catch(_0x158eb0){this['logger']['error']('Error\x20creating\x20consumer\x20group\x20'+_0xba7b65+'\x20for\x20stream\x20'+_0x2fd424,{'error':_0x158eb0});throw _0x158eb0;}}async['deleteConsumerGroup'](_0x273b22,_0x54bcec){try{return await this['jsm']['consumers']['delete'](_0x273b22,_0x54bcec),!![];}catch(_0x25f280){this['logger']['error']('Error\x20deleting\x20consumer\x20group\x20'+_0x54bcec+'\x20for\x20stream\x20'+_0x273b22,{'error':_0x25f280});throw _0x25f280;}}async['publishMessages'](_0x1e1441,_0x11ce10,_0x3d0b85){try{const _0x188076=_0x11ce10['map'](async _0x1ef52e=>{const _0xb60845=_0x1e1441+'.message',_0x267a49=await this['jetstream']['publish'](_0xb60845,Buffer['from'](_0x1ef52e));return _0x267a49;}),_0x4003e2=await Promise['all'](_0x188076);return _0x4003e2['map'](_0x5a4666=>_0x5a4666['seq']['toString']());}catch(_0x20d7e3){this['logger']['error']('Error\x20publishing\x20messages\x20to\x20'+_0x1e1441,{'error':_0x20d7e3});throw _0x20d7e3;}}async['consumeMessages'](_0x4af29f,_0x2c7444,_0x469479,_0x3c0cb0){try{const _0x7cdb5c=await this['jetstream']['consumers']['get'](_0x4af29f,_0x2c7444),_0xd1321f=[],_0x3fa6f9={'batch':_0x3c0cb0?.['batchSize']||0x1,'expires':_0x3c0cb0?.['blockTimeout']||enums_1['HMSH_BLOCK_TIME_MS']},_0x34f3fa=await _0x7cdb5c['fetch'](_0x3fa6f9);for await(const _0x13e522 of _0x34f3fa){_0xd1321f['push']({'id':_0x13e522['seq']['toString'](),'data':(0x0,utils_1['parseStreamMessage'])(_0x13e522['string']())}),_0x3c0cb0?.['autoAck']&&await _0x13e522['ack']();}return _0xd1321f;}catch(_0xa40e16){this['logger']['error']('Error\x20consuming\x20messages\x20from\x20'+_0x4af29f,{'error':_0xa40e16});throw _0xa40e16;}}async['ackAndDelete'](_0x4d6013,_0x4c4486,_0x47fb1a){try{return await this['acknowledgeMessages'](_0x4d6013,_0x4c4486,_0x47fb1a),_0x47fb1a['length'];}catch(_0x5d5dea){this['logger']['error']('Error\x20in\x20ack\x20and\x20delete\x20for\x20stream\x20'+_0x4d6013,{'error':_0x5d5dea});throw _0x5d5dea;}}async['acknowledgeMessages'](_0x1bad31,_0x24f313,_0x4d1db2,_0x17fb5c){return _0x4d1db2['length'];}async['deleteMessages'](_0x3f5b37,_0x5aa1a6,_0x4af21b,_0x3cc3c0){try{return await Promise['all'](_0x4af21b['map'](_0xf557c8=>this['jsm']['streams']['deleteMessage'](_0x3f5b37,parseInt(_0xf557c8)))),_0x4af21b['length'];}catch(_0x94d033){this['logger']['error']('Error\x20deleting\x20messages\x20from\x20'+_0x3f5b37,{'error':_0x94d033});throw _0x94d033;}}async['retryMessages'](_0x20210a,_0x27c289,_0x62a41f){return[];}async['getStreamStats'](_0x4daeb1){try{const _0x4588dc=await this['jsm']['streams']['info'](_0x4daeb1);return{'messageCount':_0x4588dc['state']['messages']};}catch(_0x312006){this['logger']['error']('Error\x20getting\x20stats\x20for\x20'+_0x4daeb1,{'error':_0x312006});throw _0x312006;}}async['getStreamDepth'](_0x1e5001){try{const _0x598f74=await this['jsm']['streams']['info'](_0x1e5001);return _0x598f74['state']['messages'];}catch(_0x3f141d){this['logger']['error']('Error\x20getting\x20depth\x20for\x20'+_0x1e5001,{'error':_0x3f141d});throw _0x3f141d;}}async['getStreamDepths'](_0x179277){try{const _0x1dca3f=await Promise['all'](_0x179277['map'](async({stream:_0x505818})=>({'stream':_0x505818,'depth':await this['getStreamDepth'](_0x505818)})));return _0x1dca3f;}catch(_0x5e30aa){this['logger']['error']('Error\x20getting\x20multiple\x20stream\x20depths',{'error':_0x5e30aa});throw _0x5e30aa;}}async['trimStream'](_0x1dd5e2,_0x517d83){try{const _0x3ed483=await this['jsm']['streams']['info'](_0x1dd5e2),_0x540072={..._0x3ed483['config']};return _0x517d83['maxLen']!==undefined&&(_0x540072['max_msgs']=_0x517d83['maxLen']),_0x517d83['maxAge']!==undefined&&(_0x540072['max_age']=_0x517d83['maxAge']*0x3b9aca00),await this['jsm']['streams']['update'](_0x1dd5e2,_0x540072),0x0;}catch(_0x457a9c){this['logger']['error']('Error\x20trimming\x20stream\x20'+_0x1dd5e2,{'error':_0x457a9c});throw _0x457a9c;}}['getProviderSpecificFeatures'](){return{'supportsBatching':!![],'supportsDeadLetterQueue':!![],'supportsOrdering':!![],'supportsTrimming':!![],'supportsRetry':![],'maxMessageSize':0x400*0x400,'maxBatchSize':0x100};}}exports['NatsStreamService']=NatsStreamService;function _0x27fb(){const _0x19f44f=['3823915pOdStM','5420046aAVaDs','1465527FHzekZ','197277COaJVy','2439210lWfbRP','6103992TeOUXO','748260iQfAEs'];_0x27fb=function(){return _0x19f44f;};return _0x27fb();}
@@ -1,4 +1,5 @@
1
1
  export declare class DeployService {
2
2
  constructor();
3
- deploy(): Promise<void>;
3
+ deploy(namespace: string): Promise<void>;
4
4
  }
5
+ export default DeployService;
@@ -1 +1 @@
1
- 'use strict';(function(_0x1f8d0e,_0x2d0f77){const _0x5ae236=_0x3116,_0x1a2ab9=_0x1f8d0e();while(!![]){try{const _0x26a10f=parseInt(_0x5ae236(0x1b8))/0x1+parseInt(_0x5ae236(0x1bd))/0x2+parseInt(_0x5ae236(0x1c0))/0x3*(parseInt(_0x5ae236(0x1bb))/0x4)+parseInt(_0x5ae236(0x1c1))/0x5+parseInt(_0x5ae236(0x1ba))/0x6*(parseInt(_0x5ae236(0x1be))/0x7)+parseInt(_0x5ae236(0x1b9))/0x8*(parseInt(_0x5ae236(0x1bc))/0x9)+-parseInt(_0x5ae236(0x1bf))/0xa;if(_0x26a10f===_0x2d0f77)break;else _0x1a2ab9['push'](_0x1a2ab9['shift']());}catch(_0x9b34ce){_0x1a2ab9['push'](_0x1a2ab9['shift']());}}}(_0x3e02,0xb7835));Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['DeployService']=void 0x0;class DeployService{constructor(){}async['deploy'](){const _0x1e618f='\x0a--\x20messages\x20table\x0aCREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20messages\x20(\x0a\x20\x20\x20\x20stream\x20VARCHAR(255)\x20NOT\x20NULL,\x0a\x20\x20\x20\x20message_id\x20BIGSERIAL\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20message\x20JSONB\x20NOT\x20NULL,\x0a\x20\x20\x20\x20created_at\x20TIMESTAMPTZ\x20DEFAULT\x20NOW()\x0a);\x0a\x0aCREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_stream_message_id\x20ON\x20messages\x20(stream,\x20message_id);\x0a\x0a--\x20consumer_groups\x20table\x0aCREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20consumer_groups\x20(\x0a\x20\x20\x20\x20stream\x20VARCHAR(255)\x20NOT\x20NULL,\x0a\x20\x20\x20\x20group_name\x20VARCHAR(255)\x20NOT\x20NULL,\x0a\x20\x20\x20\x20last_message_id\x20BIGINT\x20DEFAULT\x200,\x0a\x20\x20\x20\x20PRIMARY\x20KEY\x20(stream,\x20group_name)\x0a);\x0a\x0aCREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_consumer_groups_stream_group\x20ON\x20consumer_groups\x20(stream,\x20group_name);\x0a\x0a--\x20pending_messages\x20table\x0aCREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20pending_messages\x20(\x0a\x20\x20\x20\x20stream\x20VARCHAR(255)\x20NOT\x20NULL,\x0a\x20\x20\x20\x20group_name\x20VARCHAR(255)\x20NOT\x20NULL,\x0a\x20\x20\x20\x20consumer_name\x20VARCHAR(255)\x20NOT\x20NULL,\x0a\x20\x20\x20\x20message_id\x20BIGINT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20delivered_at\x20TIMESTAMPTZ\x20DEFAULT\x20NOW(),\x0a\x20\x20\x20\x20delivery_count\x20INTEGER\x20DEFAULT\x201,\x0a\x20\x20\x20\x20PRIMARY\x20KEY\x20(stream,\x20group_name,\x20message_id)\x0a);\x0a\x0aCREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_pending_messages_consumer\x20ON\x20pending_messages\x20(stream,\x20group_name,\x20consumer_name);\x0aCREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_pending_messages_message_id\x20ON\x20pending_messages\x20(stream,\x20group_name,\x20message_id);\x0a';}}function _0x3116(_0x13f367,_0x114c61){const _0x3e02cb=_0x3e02();return _0x3116=function(_0x311699,_0x2c2b26){_0x311699=_0x311699-0x1b8;let _0x591dd6=_0x3e02cb[_0x311699];return _0x591dd6;},_0x3116(_0x13f367,_0x114c61);}function _0x3e02(){const _0x14e956=['9BilSbu','5833660mCyXff','1490868nWFIpj','42552wSNLyu','6kjCltx','441236RhAMdP','9ZdfdIU','339704WUTRvb','183302aaATAg','24382150DGVuyX'];_0x3e02=function(){return _0x14e956;};return _0x3e02();}exports['DeployService']=DeployService;
1
+ 'use strict';(function(_0x29cb11,_0x41427e){const _0x3b4eb8=_0xfe53,_0x45cd96=_0x29cb11();while(!![]){try{const _0x4d1fba=parseInt(_0x3b4eb8(0x132))/0x1*(parseInt(_0x3b4eb8(0x136))/0x2)+-parseInt(_0x3b4eb8(0x139))/0x3*(parseInt(_0x3b4eb8(0x13a))/0x4)+-parseInt(_0x3b4eb8(0x138))/0x5*(-parseInt(_0x3b4eb8(0x13b))/0x6)+-parseInt(_0x3b4eb8(0x133))/0x7*(parseInt(_0x3b4eb8(0x134))/0x8)+-parseInt(_0x3b4eb8(0x137))/0x9*(parseInt(_0x3b4eb8(0x13c))/0xa)+parseInt(_0x3b4eb8(0x135))/0xb*(-parseInt(_0x3b4eb8(0x13e))/0xc)+parseInt(_0x3b4eb8(0x13d))/0xd;if(_0x4d1fba===_0x41427e)break;else _0x45cd96['push'](_0x45cd96['shift']());}catch(_0x3ea4d6){_0x45cd96['push'](_0x45cd96['shift']());}}}(_0xd633,0xb5225));function _0xfe53(_0x34cb44,_0x39793e){const _0xd6330b=_0xd633();return _0xfe53=function(_0xfe535d,_0xa3c507){_0xfe535d=_0xfe535d-0x132;let _0x5dec77=_0xd6330b[_0xfe535d];return _0x5dec77;},_0xfe53(_0x34cb44,_0x39793e);}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['DeployService']=void 0x0;class DeployService{constructor(){}async['deploy'](_0x54047c){const _0x5e9381='\x0a--\x20messages\x20table\x0aCREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20messages'+_0x54047c+'\x20(\x0a\x20\x20\x20\x20stream\x20VARCHAR(255)\x20NOT\x20NULL,\x0a\x20\x20\x20\x20message_id\x20BIGSERIAL\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20message\x20JSONB\x20NOT\x20NULL,\x0a\x20\x20\x20\x20created_at\x20TIMESTAMPTZ\x20DEFAULT\x20NOW()\x0a);\x0a\x0aCREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_stream_message_id\x20ON\x20messages\x20(stream,\x20message_id);\x0a\x0a--\x20consumer_groups\x20table\x0aCREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20consumer_groups\x20(\x0a\x20\x20\x20\x20stream\x20VARCHAR(255)\x20NOT\x20NULL,\x0a\x20\x20\x20\x20group_name\x20VARCHAR(255)\x20NOT\x20NULL,\x0a\x20\x20\x20\x20last_message_id\x20BIGINT\x20DEFAULT\x200,\x0a\x20\x20\x20\x20PRIMARY\x20KEY\x20(stream,\x20group_name)\x0a);\x0a\x0aCREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_consumer_groups_stream_group\x20ON\x20consumer_groups\x20(stream,\x20group_name);\x0a\x0a--\x20pending_messages\x20table\x0aCREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20pending_messages\x20(\x0a\x20\x20\x20\x20stream\x20VARCHAR(255)\x20NOT\x20NULL,\x0a\x20\x20\x20\x20group_name\x20VARCHAR(255)\x20NOT\x20NULL,\x0a\x20\x20\x20\x20consumer_name\x20VARCHAR(255)\x20NOT\x20NULL,\x0a\x20\x20\x20\x20message_id\x20BIGINT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20delivered_at\x20TIMESTAMPTZ\x20DEFAULT\x20NOW(),\x0a\x20\x20\x20\x20delivery_count\x20INTEGER\x20DEFAULT\x201,\x0a\x20\x20\x20\x20PRIMARY\x20KEY\x20(stream,\x20group_name,\x20message_id)\x0a);\x0a\x0aCREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_pending_messages_consumer\x20ON\x20pending_messages\x20(stream,\x20group_name,\x20consumer_name);\x0aCREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_pending_messages_message_id\x20ON\x20pending_messages\x20(stream,\x20group_name,\x20message_id);\x0a';}}exports['DeployService']=DeployService,exports['default']=DeployService;function _0xd633(){const _0x12fab0=['5RfUtVS','3YcoZsd','4765468yxqIVP','8889330GJpupt','13599710BqJhIk','41156557TqvaDU','4128BHLWHb','1021JJdeab','14uStOzQ','3557408NYJIdz','27368iMQTtm','766YOHUmO','9luksdw'];_0xd633=function(){return _0x12fab0;};return _0xd633();}