@hotmeshio/hotmesh 0.3.18 → 0.3.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +194 -68
- package/build/index.d.ts +5 -1
- package/build/index.js +9 -1
- package/build/modules/key.js +1 -1
- package/build/modules/utils.d.ts +0 -1
- package/build/modules/utils.js +1 -1
- package/build/package.json +10 -7
- package/build/services/activities/activity.js +1 -1
- package/build/services/activities/await.js +1 -1
- package/build/services/activities/cycle.js +1 -1
- package/build/services/activities/hook.js +1 -1
- package/build/services/activities/index.js +1 -1
- package/build/services/activities/interrupt.js +1 -1
- package/build/services/activities/signal.js +1 -1
- package/build/services/activities/trigger.js +1 -1
- package/build/services/activities/worker.js +1 -1
- package/build/services/collator/index.js +1 -1
- package/build/services/compiler/deployer.js +1 -1
- package/build/services/compiler/index.js +1 -1
- package/build/services/compiler/validator.js +1 -1
- package/build/services/connector/factory.d.ts +1 -0
- package/build/services/connector/factory.js +22 -21
- package/build/services/connector/index.d.ts +4 -2
- package/build/services/connector/index.js +10 -5
- package/build/services/connector/providers/postgres.d.ts +13 -2
- package/build/services/connector/providers/postgres.js +54 -9
- package/build/services/engine/index.d.ts +1 -1
- package/build/services/engine/index.js +1 -1
- package/build/services/exporter/index.js +1 -1
- package/build/services/hotmesh/index.js +1 -6
- package/build/services/mapper/index.js +1 -1
- package/build/services/meshflow/connection.js +1 -0
- package/build/services/meshflow/exporter.js +1 -1
- package/build/services/pipe/functions/array.js +1 -1
- package/build/services/pipe/functions/bitwise.js +1 -1
- package/build/services/pipe/functions/conditional.js +1 -1
- package/build/services/pipe/functions/cron.js +1 -1
- package/build/services/pipe/functions/date.js +1 -1
- package/build/services/pipe/functions/index.js +1 -1
- package/build/services/pipe/functions/json.js +1 -1
- package/build/services/pipe/functions/logical.js +1 -1
- package/build/services/pipe/functions/math.js +1 -1
- package/build/services/pipe/functions/number.js +1 -1
- package/build/services/pipe/functions/object.js +1 -1
- package/build/services/pipe/functions/string.js +1 -1
- package/build/services/pipe/functions/symbol.js +1 -1
- package/build/services/pipe/functions/unary.js +1 -1
- package/build/services/pipe/index.js +1 -1
- package/build/services/quorum/index.d.ts +1 -1
- package/build/services/quorum/index.js +1 -1
- package/build/services/reporter/index.js +1 -1
- package/build/services/router/index.js +1 -1
- package/build/services/search/providers/postgres/postgres.js +1 -1
- package/build/services/search/providers/redis/ioredis.js +1 -1
- package/build/services/search/providers/redis/redis.js +1 -1
- package/build/services/serializer/index.js +1 -1
- package/build/services/store/providers/postgres/kvsql.js +1 -1
- package/build/services/store/providers/postgres/kvtables.d.ts +3 -2
- package/build/services/store/providers/postgres/kvtables.js +1 -1
- package/build/services/store/providers/postgres/kvtransaction.js +1 -1
- package/build/services/store/providers/postgres/kvtypes/hash.d.ts +1 -0
- package/build/services/store/providers/postgres/kvtypes/hash.js +1 -1
- package/build/services/store/providers/postgres/kvtypes/list.js +1 -1
- package/build/services/store/providers/postgres/kvtypes/string.js +1 -1
- package/build/services/store/providers/postgres/kvtypes/zset.js +1 -1
- package/build/services/store/providers/postgres/postgres.js +1 -1
- package/build/services/store/providers/redis/_base.js +1 -1
- package/build/services/store/providers/redis/ioredis.js +1 -1
- package/build/services/store/providers/redis/redis.js +1 -1
- package/build/services/store/providers/store-initializable.js +1 -1
- package/build/services/stream/providers/nats/nats.js +1 -1
- package/build/services/stream/providers/postgres/postgres.d.ts +1 -0
- package/build/services/stream/providers/postgres/postgres.js +1 -1
- package/build/services/stream/providers/redis/ioredis.js +1 -1
- package/build/services/stream/providers/redis/redis.js +1 -1
- package/build/services/stream/providers/stream-initializable.js +1 -1
- package/build/services/sub/factory.d.ts +3 -3
- package/build/services/sub/factory.js +14 -5
- package/build/services/sub/index.d.ts +3 -2
- package/build/services/sub/providers/nats/nats.d.ts +19 -0
- package/build/services/sub/providers/nats/nats.js +1 -0
- package/build/services/sub/providers/postgres/postgres.d.ts +19 -0
- package/build/services/sub/providers/postgres/postgres.js +1 -0
- package/build/services/sub/providers/redis/ioredis.d.ts +1 -1
- package/build/services/sub/providers/redis/ioredis.js +1 -1
- package/build/services/sub/providers/redis/redis.d.ts +1 -1
- package/build/services/sub/providers/redis/redis.js +1 -1
- package/build/services/task/index.js +1 -1
- package/build/services/telemetry/index.js +1 -1
- package/build/services/worker/index.d.ts +1 -1
- package/build/services/worker/index.js +1 -1
- package/build/types/nats.d.ts +8 -0
- package/build/types/postgres.d.ts +10 -1
- package/build/types/provider.d.ts +1 -0
- package/build/types/redis.d.ts +8 -8
- package/index.ts +20 -5
- package/package.json +10 -7
- package/types/nats.ts +34 -0
- package/types/postgres.ts +13 -2
- package/types/provider.ts +4 -0
- package/types/redis.ts +8 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(_0x2cc75c,_0x5450e7){const _0x465b2b=_0x333c,_0x2dd52d=_0x2cc75c();while(!![]){try{const _0x4e156f=-parseInt(_0x465b2b(0x76))/0x1*(-parseInt(_0x465b2b(0x7e))/0x2)+-parseInt(_0x465b2b(0x77))/0x3+-parseInt(_0x465b2b(0x80))/0x4*(-parseInt(_0x465b2b(0x7c))/0x5)+-parseInt(_0x465b2b(0x7b))/0x6*(parseInt(_0x465b2b(0x7a))/0x7)+parseInt(_0x465b2b(0x7d))/0x8*(-parseInt(_0x465b2b(0x78))/0x9)+-parseInt(_0x465b2b(0x79))/0xa+parseInt(_0x465b2b(0x7f))/0xb;if(_0x4e156f===_0x5450e7)break;else _0x2dd52d['push'](_0x2dd52d['shift']());}catch(_0x147ff7){_0x2dd52d['push'](_0x2dd52d['shift']());}}}(_0x7493,0x3dc0c));function _0x7493(){const _0x24bed8=['6ArIFFc','10PkjHQs','1870992ZcTbeX','42kxTlWG','11847957aiRQUF','763352dxeMbf','8134qUnETd','715185lSKPjp','18yOrXdD','1793890FrxGFA','3437735FOhvie'];_0x7493=function(){return _0x24bed8;};return _0x7493();}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['PostgresStreamService']=void 0x0;function _0x333c(_0x282f53,_0x2393c9){const _0x749359=_0x7493();return _0x333c=function(_0x333ce1,_0x3befd8){_0x333ce1=_0x333ce1-0x76;let _0xb8a9f1=_0x749359[_0x333ce1];return _0xb8a9f1;},_0x333c(_0x282f53,_0x2393c9);}const key_1=require('../../../../modules/key'),utils_1=require('../../../../modules/utils'),index_1=require('../../index');class PostgresStreamService extends index_1['StreamService']{constructor(_0x1f4f72,_0x3f5716,_0x446073={}){super(_0x1f4f72,_0x3f5716,_0x446073);}async['init'](_0xa4b961,_0x25209a,_0x251e81){this['namespace']=_0xa4b961,this['appId']=_0x25209a,this['logger']=_0x251e81,await this['deploy']();}async['deploy'](){const _0x252e62=this['streamClient'];try{const _0x406994=this['getAdvisoryLockId'](),_0x4101be=await _0x252e62['query']('SELECT\x20pg_try_advisory_lock($1)\x20AS\x20locked',[_0x406994]);if(_0x4101be['rows'][0x0]['locked']){await _0x252e62['query']('BEGIN');const _0x3f06f2=await this['checkIfTablesExist'](_0x252e62);!_0x3f06f2&&await this['createTables'](_0x252e62),await _0x252e62['query']('COMMIT'),await _0x252e62['query']('SELECT\x20pg_advisory_unlock($1)',[_0x406994]);}else{let _0x42aac1=0x0;const _0x410746=0x14;while(_0x42aac1<_0x410746){await this['delay'](0x64);const _0x4dbe1c=await _0x252e62['query']('SELECT\x20NOT\x20EXISTS\x20(SELECT\x201\x20FROM\x20pg_locks\x20WHERE\x20locktype\x20=\x20\x27advisory\x27\x20AND\x20objid\x20=\x20$1::bigint)\x20AS\x20unlocked',[_0x406994]);if(_0x4dbe1c['rows'][0x0]['unlocked']){const _0x5ec90e=await this['checkIfTablesExist'](_0x252e62);if(_0x5ec90e)break;}_0x42aac1++;}if(_0x42aac1===_0x410746)throw new Error('Timeout\x20waiting\x20for\x20table\x20creation');}}catch(_0x5e88d7){this['logger']['error']('Error\x20deploying\x20tables',{'error':_0x5e88d7});throw _0x5e88d7;}}['getAdvisoryLockId'](){return this['hashStringToInt'](this['appId']);}['hashStringToInt'](_0x5725ce){let _0x284d6b=0x0;for(let _0x4ddab1=0x0;_0x4ddab1<_0x5725ce['length'];_0x4ddab1++){_0x284d6b=(_0x284d6b<<0x5)-_0x284d6b+_0x5725ce['charCodeAt'](_0x4ddab1),_0x284d6b|=0x0;}return Math['abs'](_0x284d6b);}async['checkIfTablesExist'](_0xa53c3a){const _0x30f9ce=await _0xa53c3a['query']('SELECT\x20to_regclass(\x27public.'+this['getTableName']()+'\x27)\x20AS\x20table');return _0x30f9ce['rows'][0x0]['table']!==null;}['getTableName'](){return'hotmesh_'+this['appId']['replace'](/[^a-zA-Z0-9_]/g,'_')+'_streams';}async['createTables'](_0x10823e){const _0x4f8436=this['getTableName']();await _0x10823e['query']('BEGIN'),await _0x10823e['query']('CREATE\x20TABLE\x20'+_0x4f8436+'\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20id\x20BIGSERIAL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20stream_name\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20group_name\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20\x27ENGINE\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20message\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20created_at\x20TIMESTAMPTZ\x20DEFAULT\x20NOW(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20reserved_at\x20TIMESTAMPTZ,\x0a\x20\x20\x20\x20\x20\x20\x20\x20reserved_by\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20PRIMARY\x20KEY\x20(stream_name,\x20id)\x0a\x20\x20\x20\x20\x20\x20)\x20PARTITION\x20BY\x20HASH\x20(stream_name)');for(let _0x1a23f5=0x0;_0x1a23f5<0x8;_0x1a23f5++){await _0x10823e['query']('CREATE\x20TABLE\x20'+_0x4f8436+'_part_'+_0x1a23f5+'\x20PARTITION\x20OF\x20'+_0x4f8436+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20FOR\x20VALUES\x20WITH\x20(modulus\x208,\x20remainder\x20'+_0x1a23f5+')');}await _0x10823e['query']('CREATE\x20INDEX\x20idx_'+_0x4f8436+'_group_stream_reserved_at_id\x20\x0a\x20\x20\x20\x20\x20\x20\x20ON\x20'+_0x4f8436+'\x20(group_name,\x20stream_name,\x20reserved_at,\x20id)'),await _0x10823e['query']('COMMIT');}['delay'](_0x3be7c0){return new Promise(_0x36a119=>setTimeout(_0x36a119,_0x3be7c0));}['mintKey'](_0x255eda,_0x4b7e29){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x255eda,{..._0x4b7e29,'appId':this['appId']});}['transact'](){return{};}async['createStream'](_0x4554fc){return!![];}async['deleteStream'](_0x50c189){const _0x216e37=this['streamClient'],_0x5f855e=this['getTableName']();try{return _0x50c189==='*'?await _0x216e37['query']('DELETE\x20FROM\x20'+_0x5f855e):await _0x216e37['query']('DELETE\x20FROM\x20'+_0x5f855e+'\x20WHERE\x20stream_name\x20=\x20$1',[_0x50c189]),!![];}catch(_0x124a09){this['logger']['error']('Error\x20deleting\x20stream\x20'+_0x50c189,{'error':_0x124a09});throw _0x124a09;}}async['createConsumerGroup'](_0x2cec25,_0x29e3ce){return!![];}async['deleteConsumerGroup'](_0x149737,_0x1e23c5){const _0x3ed474=this['streamClient'],_0x28caf0=this['getTableName']();try{return await _0x3ed474['query']('DELETE\x20FROM\x20'+_0x28caf0+'\x20WHERE\x20stream_name\x20=\x20$1\x20AND\x20group_name\x20=\x20$2',[_0x149737,_0x1e23c5]),!![];}catch(_0x1cac21){this['logger']['error']('Error\x20deleting\x20consumer\x20group\x20'+_0x1e23c5+'\x20for\x20stream\x20'+_0x149737,{'error':_0x1cac21});throw _0x1cac21;}}async['publishMessages'](_0x4a6337,_0x494839,_0x2821ee){const {sql:_0x590f7e,params:_0x107c95}=this['_publishMessages'](_0x4a6337,_0x494839);if(_0x2821ee?.['transaction']&&typeof _0x2821ee['transaction']['addCommand']==='function')return _0x2821ee['transaction']['addCommand'](_0x590f7e,_0x107c95,'array',_0xdb8e8d=>_0xdb8e8d['map'](_0x316f6b=>_0x316f6b['id']['toString']())),_0x2821ee['transaction'];else try{const _0x66452a=[],_0x30986f=await this['streamClient']['query'](_0x590f7e,_0x107c95);for(const _0x556419 of _0x30986f['rows']){_0x66452a['push'](_0x556419['id']['toString']());}return _0x66452a;}catch(_0x1162b3){this['logger']['error']('Error\x20publishing\x20messages\x20to\x20'+_0x4a6337,{'error':_0x1162b3});throw _0x1162b3;}}['_publishMessages'](_0x16ce4e,_0x3e6102){const _0xddc5ef=this['getTableName'](),_0x5bc611=_0x16ce4e['endsWith'](':')?'ENGINE':'WORKER',_0x5d33ac=_0x3e6102['map']((_0x999931,_0x2183f2)=>'($1,\x20$2,\x20$'+(_0x2183f2+0x3)+')')['join'](',\x20');return{'sql':'INSERT\x20INTO\x20'+_0xddc5ef+'\x20(stream_name,\x20group_name,\x20message)\x20VALUES\x20'+_0x5d33ac+'\x20RETURNING\x20id','params':[_0x16ce4e,_0x5bc611,..._0x3e6102]};}async['consumeMessages'](_0x4112a0,_0x4b9c2b,_0xa34058,_0x390302){const _0x5ab842=this['streamClient'],_0xfe8bda=this['getTableName']();try{const _0x5b861a=_0x390302?.['batchSize']||0x1,_0x22adfc=_0x390302?.['reservationTimeout']||0x1e,_0x90ad77=await _0x5ab842['query']('WITH\x20selected_messages\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20id,\x20message\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0xfe8bda+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20stream_name\x20=\x20$1\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20AND\x20group_name\x20=\x20$2\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20AND\x20COALESCE(reserved_at,\x20\x271970-01-01\x27)\x20<\x20NOW()\x20-\x20INTERVAL\x20\x27'+_0x22adfc+'\x20seconds\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20id\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20LIMIT\x20$3\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FOR\x20UPDATE\x20SKIP\x20LOCKED\x0a\x20\x20\x20\x20\x20\x20\x20\x20),\x0a\x20\x20\x20\x20\x20\x20\x20\x20update_reservation\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20UPDATE\x20'+_0xfe8bda+'\x20t\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20SET\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20reserved_at\x20=\x20NOW(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20reserved_by\x20=\x20$4\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20selected_messages\x20s\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20t.stream_name\x20=\x20$1\x20AND\x20t.id\x20=\x20s.id\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20RETURNING\x20t.id,\x20t.message\x0a\x20\x20\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20*\x20FROM\x20update_reservation',[_0x4112a0,_0x4b9c2b,_0x5b861a,_0xa34058]),_0x1419e5=_0x90ad77['rows']['map'](_0x1f213f=>({'id':_0x1f213f['id']['toString'](),'data':(0x0,utils_1['parseStreamMessage'])(_0x1f213f['message'])}));return _0x1419e5;}catch(_0x4d0945){this['logger']['error']('Error\x20consuming\x20messages\x20from\x20'+_0x4112a0,{'error':_0x4d0945});throw _0x4d0945;}}async['ackAndDelete'](_0x5b84ca,_0x40b280,_0x356582){return await this['deleteMessages'](_0x5b84ca,_0x40b280,_0x356582);}async['acknowledgeMessages'](_0x1db745,_0x2f9c1b,_0x478497,_0x158abc){return _0x478497['length'];}async['deleteMessages'](_0x2f81db,_0x345661,_0x44be24,_0x430f23){const _0x4ca38e=this['streamClient'],_0x61dfeb=this['getTableName']();try{const _0xe34dd2=_0x44be24['map'](_0x52e849=>parseInt(_0x52e849));return await _0x4ca38e['query']('DELETE\x20FROM\x20'+_0x61dfeb+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20stream_name\x20=\x20$1\x20AND\x20id\x20=\x20ANY($2::bigint[])\x20AND\x20group_name\x20=\x20$3',[_0x2f81db,_0xe34dd2,_0x345661]),_0x44be24['length'];}catch(_0x511bed){this['logger']['error']('Error\x20deleting\x20messages\x20from\x20'+_0x2f81db,{'error':_0x511bed});throw _0x511bed;}}async['retryMessages'](_0x23ea85,_0xe16382,_0x4ba60a){return[];}async['getStreamStats'](_0x216034){const _0x32a73d=this['streamClient'],_0x30b005=this['getTableName']();try{const _0x341299=await _0x32a73d['query']('SELECT\x20COUNT(*)\x20AS\x20count\x20FROM\x20'+_0x30b005+'\x20WHERE\x20stream_name\x20=\x20$1',[_0x216034]);return{'messageCount':parseInt(_0x341299['rows'][0x0]['count'],0xa)};}catch(_0x519acc){this['logger']['error']('Error\x20getting\x20stats\x20for\x20'+_0x216034,{'error':_0x519acc});throw _0x519acc;}}async['getStreamDepth'](_0x5689e3){const _0x366586=await this['getStreamStats'](_0x5689e3);return _0x366586['messageCount'];}async['getStreamDepths'](_0x530082){const _0x7708bc=this['streamClient'],_0xe0eebb=this['getTableName']();try{const _0x5929d3=_0x530082['map'](_0x515c56=>_0x515c56['stream']),_0x29d95b=await _0x7708bc['query']('SELECT\x20stream_name,\x20COUNT(*)\x20AS\x20count\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0xe0eebb+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20stream_name\x20=\x20ANY($1::text[])\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20GROUP\x20BY\x20stream_name',[_0x5929d3]),_0x20b3e9=_0x29d95b['rows']['map'](_0x347dce=>({'stream':_0x347dce['stream_name'],'depth':parseInt(_0x347dce['count'],0xa)}));return _0x20b3e9;}catch(_0xaafeb1){this['logger']['error']('Error\x20getting\x20multiple\x20stream\x20depths',{'error':_0xaafeb1});throw _0xaafeb1;}}async['trimStream'](_0x3c22b4,_0x1f22f6){const _0x11dd97=this['streamClient'],_0x489fe9=this['getTableName']();try{let _0x25321c=0x0;if(_0x1f22f6['maxLen']!==undefined){const _0x6ca82d=await _0x11dd97['query']('DELETE\x20FROM\x20'+_0x489fe9+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20stream_name\x20=\x20$1\x20AND\x20id\x20IN\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20id\x20FROM\x20'+_0x489fe9+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20stream_name\x20=\x20$1\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20id\x20ASC\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20OFFSET\x20$2\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20)',[_0x3c22b4,_0x1f22f6['maxLen']]);_0x25321c+=_0x6ca82d['rowCount'];}if(_0x1f22f6['maxAge']!==undefined){const _0x5c0173=await _0x11dd97['query']('DELETE\x20FROM\x20'+_0x489fe9+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20stream_name\x20=\x20$1\x20AND\x20created_at\x20<\x20NOW()\x20-\x20INTERVAL\x20\x27'+_0x1f22f6['maxAge']+'\x20milliseconds\x27',[_0x3c22b4]);_0x25321c+=_0x5c0173['rowCount'];}return _0x25321c;}catch(_0x4fd4c3){this['logger']['error']('Error\x20trimming\x20stream\x20'+_0x3c22b4,{'error':_0x4fd4c3});throw _0x4fd4c3;}}['getProviderSpecificFeatures'](){return{'supportsBatching':!![],'supportsDeadLetterQueue':![],'supportsOrdering':!![],'supportsTrimming':!![],'supportsRetry':![],'maxMessageSize':0x400*0x400,'maxBatchSize':0x100};}}exports['PostgresStreamService']=PostgresStreamService;
|
|
1
|
+
'use strict';(function(_0x339748,_0xacf5a3){const _0x612948=_0x4032,_0x59acca=_0x339748();while(!![]){try{const _0x1288f1=-parseInt(_0x612948(0xef))/0x1+-parseInt(_0x612948(0xed))/0x2+-parseInt(_0x612948(0xe8))/0x3*(-parseInt(_0x612948(0xe6))/0x4)+parseInt(_0x612948(0xea))/0x5*(-parseInt(_0x612948(0xe9))/0x6)+parseInt(_0x612948(0xee))/0x7+parseInt(_0x612948(0xec))/0x8+parseInt(_0x612948(0xeb))/0x9*(parseInt(_0x612948(0xe7))/0xa);if(_0x1288f1===_0xacf5a3)break;else _0x59acca['push'](_0x59acca['shift']());}catch(_0x1644e3){_0x59acca['push'](_0x59acca['shift']());}}}(_0x11f3,0x29924));function _0x4032(_0x57e0f7,_0x26252c){const _0x11f3d2=_0x11f3();return _0x4032=function(_0x40328a,_0xb0f27b){_0x40328a=_0x40328a-0xe6;let _0x167d39=_0x11f3d2[_0x40328a];return _0x167d39;},_0x4032(_0x57e0f7,_0x26252c);}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['PostgresStreamService']=void 0x0;const key_1=require('../../../../modules/key'),utils_1=require('../../../../modules/utils'),index_1=require('../../index');function _0x11f3(){const _0x51c08d=['20aYOSlz','9oDdHmO','137886yJRxlS','30YJuPca','1840977SnhwLj','1309576VdeumH','589812HZHwKf','685615wfcmgI','228579FdcKFl','214532XMhZPK'];_0x11f3=function(){return _0x51c08d;};return _0x11f3();}class PostgresStreamService extends index_1['StreamService']{constructor(_0xb320f7,_0x3ddf74,_0x38e770={}){super(_0xb320f7,_0x3ddf74,_0x38e770);}async['init'](_0x344fbf,_0x26dd7e,_0x4dd331){this['namespace']=_0x344fbf,this['appId']=_0x26dd7e,this['logger']=_0x4dd331,await this['deploy']();}async['deploy'](){const _0x30c4f0=this['streamClient'];let _0x21854e,_0x29fd0e=![];'connect'in _0x30c4f0&&'release'in _0x30c4f0?(_0x21854e=await _0x30c4f0['connect'](),_0x29fd0e=!![]):_0x21854e=_0x30c4f0;try{const _0x574ec0=this['getAdvisoryLockId'](),_0x1fb1bb=await _0x21854e['query']('SELECT\x20pg_try_advisory_lock($1)\x20AS\x20locked',[_0x574ec0]);if(_0x1fb1bb['rows'][0x0]['locked']){await _0x21854e['query']('BEGIN');const _0x229f8e=await this['checkIfTablesExist'](_0x21854e);!_0x229f8e&&await this['createTables'](_0x21854e),await _0x21854e['query']('COMMIT'),await _0x21854e['query']('SELECT\x20pg_advisory_unlock($1)',[_0x574ec0]);}else{let _0x21150e=0x0;const _0x224967=0x14;while(_0x21150e<_0x224967){await this['delay'](0x64);const _0x59c1bb=await _0x21854e['query']('SELECT\x20NOT\x20EXISTS\x20(SELECT\x201\x20FROM\x20pg_locks\x20WHERE\x20locktype\x20=\x20\x27advisory\x27\x20AND\x20objid\x20=\x20$1::bigint)\x20AS\x20unlocked',[_0x574ec0]);if(_0x59c1bb['rows'][0x0]['unlocked']){const _0x3383ed=await this['checkIfTablesExist'](_0x21854e);if(_0x3383ed)break;}_0x21150e++;}if(_0x21150e===_0x224967)throw new Error('Timeout\x20waiting\x20for\x20table\x20creation');}}catch(_0xcba31){this['logger']['error']('Error\x20deploying\x20tables',{'error':_0xcba31});throw _0xcba31;}finally{_0x29fd0e&&await _0x21854e['release']();}}['getAdvisoryLockId'](){return this['hashStringToInt'](this['appId']);}['hashStringToInt'](_0x58d68c){let _0x214a2b=0x0;for(let _0x243593=0x0;_0x243593<_0x58d68c['length'];_0x243593++){_0x214a2b=(_0x214a2b<<0x5)-_0x214a2b+_0x58d68c['charCodeAt'](_0x243593),_0x214a2b|=0x0;}return Math['abs'](_0x214a2b);}async['checkIfTablesExist'](_0x8c229a){const _0x260d8e=await _0x8c229a['query']('SELECT\x20to_regclass(\x27'+this['getTableName']()+'\x27)\x20AS\x20table');return _0x260d8e['rows'][0x0]['table']!==null;}['safeName'](_0x4a91cb){return _0x4a91cb['replace'](/[^a-zA-Z0-9_]/g,'_');}['getTableName'](){return this['safeName'](this['appId'])+'.streams';}async['createTables'](_0xd5a867){const _0x3b19d1=this['safeName'](this['appId']),_0x587287=this['getTableName']();await _0xd5a867['query']('BEGIN'),await _0xd5a867['query']('CREATE\x20SCHEMA\x20IF\x20NOT\x20EXISTS\x20'+_0x3b19d1+';'),await _0xd5a867['query']('CREATE\x20TABLE\x20'+_0x3b19d1+'.streams\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20id\x20BIGSERIAL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20stream_name\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20group_name\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20\x27ENGINE\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20message\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20created_at\x20TIMESTAMPTZ\x20DEFAULT\x20NOW(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20reserved_at\x20TIMESTAMPTZ,\x0a\x20\x20\x20\x20\x20\x20\x20\x20reserved_by\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20PRIMARY\x20KEY\x20(stream_name,\x20id)\x0a\x20\x20\x20\x20\x20\x20)\x20PARTITION\x20BY\x20HASH\x20(stream_name)');for(let _0x3f3889=0x0;_0x3f3889<0x8;_0x3f3889++){const _0x106152=_0x3b19d1+'.streams_part_'+_0x3f3889;await _0xd5a867['query']('CREATE\x20TABLE\x20'+_0x106152+'\x20PARTITION\x20OF\x20'+_0x587287+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20FOR\x20VALUES\x20WITH\x20(modulus\x208,\x20remainder\x20'+_0x3f3889+')');}await _0xd5a867['query']('CREATE\x20INDEX\x20idx_streams_group_stream_reserved_at_id\x20\x0a\x20\x20\x20\x20\x20\x20\x20ON\x20'+_0x587287+'\x20(group_name,\x20stream_name,\x20reserved_at,\x20id)'),await _0xd5a867['query']('COMMIT');}['delay'](_0x1f8afa){return new Promise(_0x2e82d9=>setTimeout(_0x2e82d9,_0x1f8afa));}['mintKey'](_0x44b32a,_0x4a72cf){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x44b32a,{..._0x4a72cf,'appId':this['appId']});}['transact'](){return{};}async['createStream'](_0x532924){return!![];}async['deleteStream'](_0xf2a1){const _0x4409e9=this['streamClient'],_0x29f1d8=this['getTableName']();try{return _0xf2a1==='*'?await _0x4409e9['query']('DELETE\x20FROM\x20'+_0x29f1d8):await _0x4409e9['query']('DELETE\x20FROM\x20'+_0x29f1d8+'\x20WHERE\x20stream_name\x20=\x20$1',[_0xf2a1]),!![];}catch(_0x18b576){this['logger']['error']('Error\x20deleting\x20stream\x20'+_0xf2a1,{'error':_0x18b576});throw _0x18b576;}}async['createConsumerGroup'](_0x2f9e54,_0x591e3f){return!![];}async['deleteConsumerGroup'](_0xbd284c,_0x3e8ebb){const _0x34f7a6=this['streamClient'],_0x56901d=this['getTableName']();try{return await _0x34f7a6['query']('DELETE\x20FROM\x20'+_0x56901d+'\x20WHERE\x20stream_name\x20=\x20$1\x20AND\x20group_name\x20=\x20$2',[_0xbd284c,_0x3e8ebb]),!![];}catch(_0x26ba99){this['logger']['error']('Error\x20deleting\x20consumer\x20group\x20'+_0x3e8ebb+'\x20for\x20stream\x20'+_0xbd284c,{'error':_0x26ba99});throw _0x26ba99;}}async['publishMessages'](_0xed9db2,_0x2c8d67,_0x2abef9){const {sql:_0x132950,params:_0x451cf7}=this['_publishMessages'](_0xed9db2,_0x2c8d67);if(_0x2abef9?.['transaction']&&typeof _0x2abef9['transaction']['addCommand']==='function')return _0x2abef9['transaction']['addCommand'](_0x132950,_0x451cf7,'array',_0x40c23f=>_0x40c23f['map'](_0x15d037=>_0x15d037['id']['toString']())),_0x2abef9['transaction'];else try{const _0x46b43e=[],_0x575dcb=await this['streamClient']['query'](_0x132950,_0x451cf7);for(const _0x5c2bec of _0x575dcb['rows']){_0x46b43e['push'](_0x5c2bec['id']['toString']());}return _0x46b43e;}catch(_0x157a56){this['logger']['error']('Error\x20publishing\x20messages\x20to\x20'+_0xed9db2,{'error':_0x157a56});throw _0x157a56;}}['_publishMessages'](_0x3efd80,_0x56e654){const _0x46be17=this['getTableName'](),_0x356054=_0x3efd80['endsWith'](':')?'ENGINE':'WORKER',_0x2db12a=_0x56e654['map']((_0x229f0e,_0x426e91)=>'($1,\x20$2,\x20$'+(_0x426e91+0x3)+')')['join'](',\x20');return{'sql':'INSERT\x20INTO\x20'+_0x46be17+'\x20(stream_name,\x20group_name,\x20message)\x20VALUES\x20'+_0x2db12a+'\x20RETURNING\x20id','params':[_0x3efd80,_0x356054,..._0x56e654]};}async['consumeMessages'](_0x26819a,_0x30d3c1,_0x4fab4c,_0x4669e4){const _0x3ec338=this['streamClient'],_0x2b6427=this['getTableName']();try{const _0x2d6652=_0x4669e4?.['batchSize']||0x1,_0x364e8e=_0x4669e4?.['reservationTimeout']||0x1e,_0x50de36=await _0x3ec338['query']('WITH\x20selected_messages\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20id,\x20message\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0x2b6427+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20stream_name\x20=\x20$1\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20AND\x20group_name\x20=\x20$2\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20AND\x20COALESCE(reserved_at,\x20\x271970-01-01\x27)\x20<\x20NOW()\x20-\x20INTERVAL\x20\x27'+_0x364e8e+'\x20seconds\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20id\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20LIMIT\x20$3\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FOR\x20UPDATE\x20SKIP\x20LOCKED\x0a\x20\x20\x20\x20\x20\x20\x20\x20),\x0a\x20\x20\x20\x20\x20\x20\x20\x20update_reservation\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20UPDATE\x20'+_0x2b6427+'\x20t\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20SET\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20reserved_at\x20=\x20NOW(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20reserved_by\x20=\x20$4\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20selected_messages\x20s\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20t.stream_name\x20=\x20$1\x20AND\x20t.id\x20=\x20s.id\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20RETURNING\x20t.id,\x20t.message\x0a\x20\x20\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20*\x20FROM\x20update_reservation',[_0x26819a,_0x30d3c1,_0x2d6652,_0x4fab4c]),_0x966f8d=_0x50de36['rows']['map'](_0x5efacd=>({'id':_0x5efacd['id']['toString'](),'data':(0x0,utils_1['parseStreamMessage'])(_0x5efacd['message'])}));return _0x966f8d;}catch(_0x36cb5a){this['logger']['error']('Error\x20consuming\x20messages\x20from\x20'+_0x26819a,{'error':_0x36cb5a});throw _0x36cb5a;}}async['ackAndDelete'](_0x30b1a7,_0x3b9f12,_0x50770e){return await this['deleteMessages'](_0x30b1a7,_0x3b9f12,_0x50770e);}async['acknowledgeMessages'](_0x14514a,_0x4b7d15,_0x4a7837,_0x597cf9){return _0x4a7837['length'];}async['deleteMessages'](_0x896696,_0x270ca8,_0x48544f,_0x4032de){const _0x224ded=this['streamClient'],_0x375ca4=this['getTableName']();try{const _0x45264c=_0x48544f['map'](_0x216302=>parseInt(_0x216302));return await _0x224ded['query']('DELETE\x20FROM\x20'+_0x375ca4+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20stream_name\x20=\x20$1\x20AND\x20id\x20=\x20ANY($2::bigint[])\x20AND\x20group_name\x20=\x20$3',[_0x896696,_0x45264c,_0x270ca8]),_0x48544f['length'];}catch(_0x591c16){this['logger']['error']('Error\x20deleting\x20messages\x20from\x20'+_0x896696,{'error':_0x591c16});throw _0x591c16;}}async['retryMessages'](_0xbc13e9,_0x390659,_0x1445b1){return[];}async['getStreamStats'](_0x24f667){const _0x5c3838=this['streamClient'],_0x4b2357=this['getTableName']();try{const _0x3df0cb=await _0x5c3838['query']('SELECT\x20COUNT(*)\x20AS\x20count\x20FROM\x20'+_0x4b2357+'\x20WHERE\x20stream_name\x20=\x20$1',[_0x24f667]);return{'messageCount':parseInt(_0x3df0cb['rows'][0x0]['count'],0xa)};}catch(_0x3794df){this['logger']['error']('Error\x20getting\x20stats\x20for\x20'+_0x24f667,{'error':_0x3794df});throw _0x3794df;}}async['getStreamDepth'](_0x4e868f){const _0x342c4e=await this['getStreamStats'](_0x4e868f);return _0x342c4e['messageCount'];}async['getStreamDepths'](_0x36d7d2){const _0x5055b5=this['streamClient'],_0xdc02be=this['getTableName']();try{const _0x485c81=_0x36d7d2['map'](_0x299b57=>_0x299b57['stream']),_0x520cf3=await _0x5055b5['query']('SELECT\x20stream_name,\x20COUNT(*)\x20AS\x20count\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0xdc02be+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20stream_name\x20=\x20ANY($1::text[])\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20GROUP\x20BY\x20stream_name',[_0x485c81]),_0xcfd132=_0x520cf3['rows']['map'](_0x10b358=>({'stream':_0x10b358['stream_name'],'depth':parseInt(_0x10b358['count'],0xa)}));return _0xcfd132;}catch(_0x38e228){this['logger']['error']('Error\x20getting\x20multiple\x20stream\x20depths',{'error':_0x38e228});throw _0x38e228;}}async['trimStream'](_0x3b3240,_0x349cd4){const _0x5027d2=this['streamClient'],_0x229733=this['getTableName']();try{let _0x1c4fb6=0x0;if(_0x349cd4['maxLen']!==undefined){const _0x31e754=await _0x5027d2['query']('DELETE\x20FROM\x20'+_0x229733+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20stream_name\x20=\x20$1\x20AND\x20id\x20IN\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20id\x20FROM\x20'+_0x229733+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20stream_name\x20=\x20$1\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20id\x20ASC\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20OFFSET\x20$2\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20)',[_0x3b3240,_0x349cd4['maxLen']]);_0x1c4fb6+=_0x31e754['rowCount'];}if(_0x349cd4['maxAge']!==undefined){const _0x3d75bf=await _0x5027d2['query']('DELETE\x20FROM\x20'+_0x229733+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20stream_name\x20=\x20$1\x20AND\x20created_at\x20<\x20NOW()\x20-\x20INTERVAL\x20\x27'+_0x349cd4['maxAge']+'\x20milliseconds\x27',[_0x3b3240]);_0x1c4fb6+=_0x3d75bf['rowCount'];}return _0x1c4fb6;}catch(_0x34bd27){this['logger']['error']('Error\x20trimming\x20stream\x20'+_0x3b3240,{'error':_0x34bd27});throw _0x34bd27;}}['getProviderSpecificFeatures'](){return{'supportsBatching':!![],'supportsDeadLetterQueue':![],'supportsOrdering':!![],'supportsTrimming':!![],'supportsRetry':![],'maxMessageSize':0x400*0x400,'maxBatchSize':0x100};}}exports['PostgresStreamService']=PostgresStreamService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';(function(_0x50483a,_0xb1519f){const _0xd2f1a2=_0x3ba0,_0x4e5263=_0x50483a();while(!![]){try{const _0xf37ed3=-parseInt(_0xd2f1a2(0x147))/0x1+-parseInt(_0xd2f1a2(0x143))/0x2*(parseInt(_0xd2f1a2(0x146))/0x3)+parseInt(_0xd2f1a2(0x142))/0x4+parseInt(_0xd2f1a2(0x145))/0x5+-parseInt(_0xd2f1a2(0x144))/0x6+-parseInt(_0xd2f1a2(0x141))/0x7*(parseInt(_0xd2f1a2(0x149))/0x8)+parseInt(_0xd2f1a2(0x148))/0x9;if(_0xf37ed3===_0xb1519f)break;else _0x4e5263['push'](_0x4e5263['shift']());}catch(_0x13aa5c){_0x4e5263['push'](_0x4e5263['shift']());}}}(_0x593b,0x343a0));Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['IORedisStreamService']=void 0x0;const index_1=require('../../index'),utils_1=require('../../../../modules/utils'),key_1=require('../../../../modules/key'),enums_1=require('../../../../modules/enums');class IORedisStreamService extends index_1['StreamService']{constructor(_0x57763e,_0x46196a,_0x49b08d={}){super(_0x57763e,_0x46196a,_0x49b08d);}async['init'](_0x3d12ed,_0x29a70f,_0x4cb390){this['namespace']=_0x3d12ed,this['logger']=_0x4cb390,this['appId']=_0x29a70f;}['mintKey'](_0x3e24ec,_0x5b6e07){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x3e24ec,{..._0x5b6e07,'appId':this['appId']});}['transact'](){return this['streamClient']['multi']();}async['createStream'](_0x32e896){try{const _0x37995a=await this['streamClient']['xadd'](_0x32e896,'*','field','value');return await this['streamClient']['xdel'](_0x32e896,_0x37995a),!![];}catch(_0x51b455){this['logger']['error']('Error\x20creating\x20stream\x20'+_0x32e896,{'error':_0x51b455});throw _0x51b455;}}async['deleteStream'](_0x2f33fe){try{const _0x473cfd=await this['streamClient']['del'](_0x2f33fe);return _0x473cfd>0x0;}catch(_0x59e461){this['logger']['error']('Error\x20deleting\x20stream\x20'+_0x2f33fe,{'error':_0x59e461});throw _0x59e461;}}async['createConsumerGroup'](_0x5b91fa,_0x140399){try{return await this['storeClient']['xgroup']('CREATE',_0x5b91fa,_0x140399,'$','MKSTREAM')==='OK';}catch(_0x16e7e3){this['logger']['debug']('stream-mkstream-caught',{'key':_0x5b91fa,'group':_0x140399});throw _0x16e7e3;}}async['deleteConsumerGroup'](_0x444b47,_0x5a0baa){try{const _0x19f72f=await this['streamClient']['xgroup']('DESTROY',_0x444b47,_0x5a0baa);return _0x19f72f===0x1;}catch(_0x4a7cda){this['logger']['error']('Error\x20deleting\x20consumer\x20group\x20'+_0x5a0baa+'\x20for\x20stream\x20'+_0x444b47,{'error':_0x4a7cda});throw _0x4a7cda;}}async['publishMessages'](_0x2c4264,_0x3751d2,_0x141e56){try{const _0x28e813=_0x141e56?.['transaction']||_0x3751d2['length']>0x1&&this['storeClient']['multi']();let _0x5c9432;for(const _0x4646ab of _0x3751d2){_0x5c9432=await(_0x28e813||this['storeClient'])['xadd'](_0x2c4264,'*','message',_0x4646ab);}return _0x28e813&&!_0x141e56?.['transaction']?(await _0x28e813['exec']())['map'](_0x1b46ec=>_0x1b46ec[0x1]):[_0x5c9432];}catch(_0x42eff4){this['logger']['error']('ioredis-xadd-error\x20key:\x20'+_0x2c4264,{..._0x42eff4});throw _0x42eff4;}}async['consumeMessages'](_0x6e1af4,_0x2addfc,_0x3cf955,_0x518a13){try{const _0x1baf43=await this['streamClient']['xreadgroup']('GROUP',_0x2addfc,_0x3cf955,'BLOCK',_0x518a13?.['blockTimeout']??enums_1['HMSH_BLOCK_TIME_MS'],'STREAMS',_0x6e1af4,'>'),_0xc963ff=[];if((0x0,utils_1['isStreamMessage'])(_0x1baf43)){const [[,_0x4ad356]]=_0x1baf43;for(const [_0x57fae3,_0xb13560]of _0x4ad356){_0xc963ff['push']({'id':_0x57fae3,'data':(0x0,utils_1['parseStreamMessage'])(_0xb13560[0x1])});}}else return[];return _0xc963ff;}catch(_0x26ba00){this['logger']['error']('Error\x20consuming\x20messages\x20from\x20'+_0x6e1af4,{'error':_0x26ba00});throw _0x26ba00;}}async['ackAndDelete'](_0x1d0fdd,_0x35e0ef,_0x3b6048){const _0x4aa058=this['storeClient']['multi']();return this['acknowledgeMessages'](_0x1d0fdd,_0x35e0ef,_0x3b6048,{'multi':_0x4aa058}),this['deleteMessages'](_0x1d0fdd,_0x35e0ef,_0x3b6048,{'multi':_0x4aa058}),await _0x4aa058['exec'](),_0x3b6048['length'];}async['acknowledgeMessages'](_0x1a4e81,_0xe9e171,_0x3b603c,_0x356c90){try{return _0x356c90?.['multi']?(_0x356c90['multi']['xack'](_0x1a4e81,_0xe9e171,..._0x3b603c),_0x356c90['multi']):await this['streamClient']['xack'](_0x1a4e81,_0xe9e171,..._0x3b603c);}catch(_0x4b4d99){this['logger']['error']('Error\x20in\x20acknowledging\x20messages:\x20['+_0x3b603c+']\x20in\x20group:\x20'+_0xe9e171+'\x20for\x20key:\x20'+_0x1a4e81,{..._0x4b4d99});throw _0x4b4d99;}}async['deleteMessages'](_0x32330b,_0x36c1f0,_0x4fa9d7,_0x51d3e2){try{return _0x51d3e2?.['multi']?(_0x51d3e2['multi']['xdel'](_0x32330b,..._0x4fa9d7),_0x51d3e2['multi']):await this['streamClient']['xdel'](_0x32330b,..._0x4fa9d7);}catch(_0x8b8c57){this['logger']['error']('Error\x20in\x20deleting\x20messages:\x20'+_0x4fa9d7+'\x20for\x20key:\x20'+_0x32330b,{..._0x8b8c57});throw _0x8b8c57;}}async['getPendingMessages'](_0x4f03c3,_0x53f979,_0x1826cc,_0x3ab024){const _0x5805ec='-',_0x4392f0='+';try{const _0x1cc0c0=[_0x4f03c3,_0x53f979];if(_0x5805ec)_0x1cc0c0['push'](_0x5805ec);if(_0x4392f0)_0x1cc0c0['push'](_0x4392f0);if(_0x1826cc!==undefined)_0x1cc0c0['push'](_0x1826cc['toString']());if(_0x3ab024)_0x1cc0c0['push'](_0x3ab024);try{return await this['streamClient']['call']('XPENDING',..._0x1cc0c0);}catch(_0x35e224){this['logger']['error']('err,\x20args',{..._0x35e224},_0x1cc0c0);}}catch(_0x1513bd){this['logger']['error']('Error\x20in\x20retrieving\x20pending\x20messages\x20for\x20[stream\x20'+_0x4f03c3+'],\x20[group\x20'+_0x53f979+']',{..._0x1513bd});throw _0x1513bd;}}async['retryMessages'](_0x435c4e,_0x34130e,_0x13b682){let _0x19a811=[];const _0x542587=await this['getPendingMessages'](_0x435c4e,_0x34130e,_0x13b682?.['limit']);for(const _0x54a6f0 of _0x542587){if(Array['isArray'](_0x54a6f0)){const [_0x249460,,_0x37c2b6,_0x10a39a]=_0x54a6f0;if(_0x37c2b6>_0x13b682?.['minIdleTime']){const _0x530269=await this['claimMessage'](_0x435c4e,_0x34130e,_0x13b682?.['consumerName'],_0x13b682?.['minIdleTime'],_0x249460);_0x19a811=_0x19a811['concat'](_0x530269);}}}return _0x19a811;}async['claimMessage'](_0xcab372,_0x55c08b,_0x1cefe1,_0xaa9ef4,_0x583778,..._0x3f5069){try{const _0x3af2c7=await this['streamClient']['xclaim'](_0xcab372,_0x55c08b,_0x1cefe1,_0xaa9ef4,_0x583778,..._0x3f5069);return{'id':_0x3af2c7[0x0][0x0],'data':(0x0,utils_1['parseStreamMessage'])(_0x3af2c7[0x0][0x1][0x1])};}catch(_0xe837da){this['logger']['error']('Error\x20in\x20claiming\x20message\x20with\x20id:\x20'+_0x583778+'\x20in\x20group:\x20'+_0x55c08b+'\x20for\x20key:\x20'+_0xcab372,{..._0xe837da});throw _0xe837da;}}async['getStreamStats'](_0x3db50c){return{'messageCount':await this['getStreamDepth'](_0x3db50c)};}async['getStreamDepth'](_0x13c541,_0x103146){try{if(_0x103146?.['multi'])return _0x103146['multi']['xlen'](_0x13c541),0x0;const _0x131610=await this['streamClient']['xlen'](_0x13c541);return _0x131610;}catch(_0x5d967d){this['logger']['error']('Error\x20getting\x20depth\x20for\x20'+_0x13c541,{'error':_0x5d967d});throw _0x5d967d;}}async['getStreamDepths'](_0x49e073){const _0x501099=this['storeClient']['multi'](),_0x5182e0=new Map();_0x49e073['forEach'](_0x31391a=>{!_0x5182e0['has'](_0x31391a['stream'])&&(_0x5182e0['set'](_0x31391a['stream'],-0x1),this['getStreamDepth'](_0x31391a['stream'],{'multi':_0x501099}));});const _0x5aa8ac=await _0x501099['exec']();Array['from'](_0x5182e0['keys']())['forEach']((_0x146df6,_0x1a720f)=>{_0x5182e0['set'](_0x146df6,_0x5aa8ac[_0x1a720f][0x1]);});const _0x8e943f=_0x49e073['map'](_0x10af94=>{return{'stream':_0x10af94['stream'],'depth':_0x5182e0['get'](_0x10af94['stream'])||0x0};});return _0x8e943f;}async['trimStream'](_0x5bd5eb,_0x38bf33){return 0x0;}['getProviderSpecificFeatures'](){return{'supportsBatching':!![],'supportsDeadLetterQueue':![],'supportsOrdering':!![],'supportsTrimming':!![],'supportsRetry':!![],'maxMessageSize':0x200*0x400*0x400,'maxBatchSize':0x3e8};}}function _0x593b(){const _0x22c7ce=['24232mWLxwM','553rXCDTr','1460760GtsgzQ','2UHlHkU','443040KeiKFd','233550FEcFNV','1067565iEAwVV','290533jhwJWP','6853851xAsGlC'];_0x593b=function(){return _0x22c7ce;};return _0x593b();}function _0x3ba0(_0xe1eebe,_0x5e4f2d){const _0x593bf2=_0x593b();return _0x3ba0=function(_0x3ba04d,_0x21d343){_0x3ba04d=_0x3ba04d-0x141;let _0x3d6db4=_0x593bf2[_0x3ba04d];return _0x3d6db4;},_0x3ba0(_0xe1eebe,_0x5e4f2d);}exports['IORedisStreamService']=IORedisStreamService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';function _0x5495(){const _0x71e1a3=['675978wZjsjT','70yWbwFw','54603qRnmbE','936067zNwuUf','5243020XItfRA','1624392psiGQV','7413413FtZMDY','5EouFkN','456DndGbv','865419pJhikl','9WmRcUr'];_0x5495=function(){return _0x71e1a3;};return _0x5495();}(function(_0x31bd36,_0x113b3e){const _0x1f5f4e=_0x5678,_0x1e0aad=_0x31bd36();while(!![]){try{const _0x22d792=parseInt(_0x1f5f4e(0x9f))/0x1+-parseInt(_0x1f5f4e(0xa1))/0x2*(parseInt(_0x1f5f4e(0xa0))/0x3)+-parseInt(_0x1f5f4e(0x9a))/0x4*(-parseInt(_0x1f5f4e(0x9d))/0x5)+-parseInt(_0x1f5f4e(0x9b))/0x6+-parseInt(_0x1f5f4e(0x9c))/0x7+-parseInt(_0x1f5f4e(0x9e))/0x8*(-parseInt(_0x1f5f4e(0x98))/0x9)+-parseInt(_0x1f5f4e(0xa2))/0xa*(-parseInt(_0x1f5f4e(0x99))/0xb);if(_0x22d792===_0x113b3e)break;else _0x1e0aad['push'](_0x1e0aad['shift']());}catch(_0x11d763){_0x1e0aad['push'](_0x1e0aad['shift']());}}}(_0x5495,0xbcf1a));Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['RedisStreamService']=void 0x0;function _0x5678(_0x301f34,_0x474d62){const _0x54956a=_0x5495();return _0x5678=function(_0x56780d,_0x178da6){_0x56780d=_0x56780d-0x98;let _0x486193=_0x54956a[_0x56780d];return _0x486193;},_0x5678(_0x301f34,_0x474d62);}const index_1=require('../../index'),utils_1=require('../../../../modules/utils'),key_1=require('../../../../modules/key'),enums_1=require('../../../../modules/enums');class RedisStreamService extends index_1['StreamService']{constructor(_0x595f23,_0x32a167,_0x24fe30={}){super(_0x595f23,_0x32a167,_0x24fe30);}async['init'](_0x2de5bc,_0x3e0036,_0x42204e){this['namespace']=_0x2de5bc,this['logger']=_0x42204e,this['appId']=_0x3e0036;}['mintKey'](_0x5051f4,_0x3fe032){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x5051f4,{..._0x3fe032,'appId':this['appId']});}['transact'](){return this['streamClient']['multi']();}async['createStream'](_0xdab66){try{const _0x53fd2d=await this['streamClient']['XADD'](_0xdab66,'*',{'field':'value'});return await this['streamClient']['XDEL'](_0xdab66,_0x53fd2d),!![];}catch(_0xd9fef8){this['logger']['error']('Error\x20creating\x20stream\x20'+_0xdab66,{'error':_0xd9fef8});throw _0xd9fef8;}}async['deleteStream'](_0x42c2ad){try{const _0x3a95ad=await this['streamClient']['DEL'](_0x42c2ad);return _0x3a95ad>0x0;}catch(_0x5b24a5){this['logger']['error']('Error\x20deleting\x20stream\x20'+_0x42c2ad,{'error':_0x5b24a5});throw _0x5b24a5;}}async['createConsumerGroup'](_0x5596f6,_0x41ddb6){try{const _0x38ca2f=await this['storeClient']['sendCommand'](['XGROUP','CREATE',_0x5596f6,_0x41ddb6,'$','MKSTREAM']);return _0x38ca2f==='OK';}catch(_0x5c452f){const _0x2ce5c8='with\x20MKSTREAM';this['logger']['debug']('x-group-error\x20'+_0x2ce5c8+'\x20for\x20key:\x20'+_0x5596f6+'\x20and\x20group:\x20'+_0x41ddb6,{..._0x5c452f});throw _0x5c452f;}}async['deleteConsumerGroup'](_0x5d94f4,_0x5e38e7){try{const _0x2f3f40=await this['streamClient']['xGroupDestroy'](_0x5d94f4,_0x5e38e7);return _0x2f3f40;}catch(_0x3de990){this['logger']['error']('Error\x20deleting\x20consumer\x20group\x20'+_0x5e38e7+'\x20for\x20stream\x20'+_0x5d94f4,{'error':_0x3de990});throw _0x3de990;}}async['publishMessages'](_0x535ce1,_0x155128,_0x440c19){try{const _0x254697=_0x440c19?.['transaction']||_0x155128['length']>0x1&&this['storeClient']['multi']();let _0x3d9ac8;for(const _0x22550b of _0x155128){_0x3d9ac8=await(_0x254697||this['storeClient'])['XADD'](_0x535ce1,'*',{'message':_0x22550b});}return _0x254697&&!_0x440c19?.['transaction']?(await _0x254697['exec']())['map'](_0x2d261c=>_0x2d261c[0x1]):[_0x3d9ac8];}catch(_0x5b4fe7){this['logger']['error']('ioredis-xadd-error\x20key:\x20'+_0x535ce1,{..._0x5b4fe7});throw _0x5b4fe7;}}async['consumeMessages'](_0x12da82,_0x3bb51d,_0x3a810c,_0x2f8e2b){const _0x51bf5e='GROUP',_0x565de0='BLOCK',_0x2a895b='STREAMS',_0x3964d5='>';try{const _0x32a4e3=await this['streamClient']['sendCommand'](['XREADGROUP',_0x51bf5e,_0x3bb51d,_0x3a810c,_0x565de0,_0x2f8e2b?.['blockTimeout']?.['toString']()??enums_1['HMSH_BLOCK_TIME_MS']['toString'](),_0x2a895b,_0x12da82,_0x3964d5]),_0x4306e9=[];if((0x0,utils_1['isStreamMessage'])(_0x32a4e3)){const [[,_0x45bdba]]=_0x32a4e3;for(const [_0x3bf48d,_0x48ffe0]of _0x45bdba){_0x4306e9['push']({'id':_0x3bf48d,'data':(0x0,utils_1['parseStreamMessage'])(_0x48ffe0[0x1])});}}else return[];return _0x4306e9;}catch(_0x3f68fb){this['logger']['error']('Error\x20consuming\x20messages\x20from\x20'+_0x12da82,{'error':_0x3f68fb});throw _0x3f68fb;}}async['ackAndDelete'](_0x552282,_0x3dd044,_0x3507ae){const _0x23130d=this['storeClient']['multi']();return await this['acknowledgeMessages'](_0x552282,_0x3dd044,_0x3507ae,{'multi':_0x23130d}),await this['deleteMessages'](_0x552282,_0x3dd044,_0x3507ae,{'multi':_0x23130d}),await _0x23130d['exec'](),_0x3507ae['length'];}async['acknowledgeMessages'](_0xae6b86,_0x43eb7f,_0x3ecc40,_0x218bef){try{return _0x218bef?.['multi']?(_0x218bef['multi']['XACK'](_0xae6b86,_0x43eb7f,_0x3ecc40),_0x218bef['multi']):await this['streamClient']['XACK'](_0xae6b86,_0x43eb7f,..._0x3ecc40);}catch(_0x2f32b3){this['logger']['error']('Error\x20in\x20acknowledging\x20messages\x20in\x20group:\x20'+_0x43eb7f+'\x20for\x20key:\x20'+_0xae6b86,{'error':_0x2f32b3});throw _0x2f32b3;}}async['deleteMessages'](_0xecf824,_0x2393bc,_0xedffe2,_0x55f26e){try{return _0x55f26e?.['multi']?(_0x55f26e['multi']['xDel'](_0xecf824,_0xedffe2),_0x55f26e['multi']):await this['streamClient']['XDEL'](_0xecf824,..._0xedffe2);}catch(_0x210486){this['logger']['error']('Error\x20in\x20deleting\x20messages\x20with\x20ids:\x20'+_0xedffe2['join'](',')+'\x20for\x20key:\x20'+_0xecf824,{'error':_0x210486});throw _0x210486;}}async['getPendingMessages'](_0x1546b2,_0x2fa34c,_0x3309e5,_0x4fcf4e){try{const _0x2a7964='-',_0x5c3528='+',_0x2d2a7a=[_0x1546b2,_0x2fa34c];if(_0x2a7964)_0x2d2a7a['push'](_0x2a7964);if(_0x5c3528)_0x2d2a7a['push'](_0x5c3528);if(_0x3309e5!==undefined)_0x2d2a7a['push'](_0x3309e5['toString']());if(_0x4fcf4e)_0x2d2a7a['push'](_0x4fcf4e);try{return await this['streamClient']['sendCommand'](['XPENDING',..._0x2d2a7a]);}catch(_0x465ebe){this['logger']['error']('error,\x20args',{..._0x465ebe},_0x2d2a7a);}}catch(_0x16ecd1){this['logger']['error']('Error\x20retrieving\x20pending\x20messages\x20for\x20group:\x20'+_0x2fa34c+'\x20in\x20key:\x20'+_0x1546b2,{..._0x16ecd1});throw _0x16ecd1;}}async['retryMessages'](_0x2fc470,_0xcb43ea,_0x4bac44){let _0x5f0512=[];const _0x52b68d=await this['getPendingMessages'](_0x2fc470,_0xcb43ea,_0x4bac44?.['limit']);for(const _0x2ae7bf of _0x52b68d){if(Array['isArray'](_0x2ae7bf)){const [_0x42d25a,,_0x3ccdfb,_0x2518bc]=_0x2ae7bf;if(_0x3ccdfb>_0x4bac44?.['minIdleTime']){const _0x1ac9a1=await this['claimMessage'](_0x2fc470,_0xcb43ea,_0x4bac44?.['consumerName'],_0x4bac44?.['minIdleTime'],_0x42d25a);_0x5f0512=_0x5f0512['concat'](_0x1ac9a1);}}}return _0x5f0512;}async['claimMessage'](_0x2d9da7,_0xca9983,_0x18fdb0,_0x40b041,_0x4ca129,..._0x36fb3c){try{const _0xfe9d52=await this['streamClient']['sendCommand'](['XCLAIM',_0x2d9da7,_0xca9983,_0x18fdb0,_0x40b041['toString'](),_0x4ca129,..._0x36fb3c]);return{'id':_0xfe9d52[0x0][0x0],'data':(0x0,utils_1['parseStreamMessage'])(_0xfe9d52[0x0][0x1][0x1])};}catch(_0xa32054){this['logger']['error']('Error\x20in\x20claiming\x20message\x20with\x20id:\x20'+_0x4ca129+'\x20in\x20group:\x20'+_0xca9983+'\x20for\x20key:\x20'+_0x2d9da7,{..._0xa32054});throw _0xa32054;}}async['getStreamStats'](_0x21b629){return{'messageCount':await this['getStreamDepth'](_0x21b629)};}async['getStreamDepth'](_0x49cf0c,_0xb7235a){try{if(_0xb7235a?.['multi'])return _0xb7235a['multi']['XLEN'](_0x49cf0c),0x0;const _0x28f791=await this['streamClient']['XLEN'](_0x49cf0c);return _0x28f791;}catch(_0x119a0f){this['logger']['error']('Error\x20getting\x20depth\x20for\x20'+_0x49cf0c,{'error':_0x119a0f});throw _0x119a0f;}}async['getStreamDepths'](_0x28cc62){const _0x34523b=this['storeClient']['multi'](),_0x45e886=new Map();_0x28cc62['forEach'](_0x4b339c=>{!_0x45e886['has'](_0x4b339c['stream'])&&(_0x45e886['set'](_0x4b339c['stream'],-0x1),this['getStreamDepth'](_0x4b339c['stream'],{'multi':_0x34523b}));});const _0x1679de=await _0x34523b['exec']();return Array['from'](_0x45e886['keys']())['forEach']((_0x393fe9,_0xe2f5ed)=>{_0x45e886['set'](_0x393fe9,_0x1679de[_0xe2f5ed]);}),_0x28cc62['map'](_0x2b8e00=>{return{'stream':_0x2b8e00['stream'],'depth':_0x45e886['get'](_0x2b8e00['stream'])||0x0};});}async['trimStream'](_0x7cb961,_0x5107a3){return 0x0;}['getProviderSpecificFeatures'](){return{'supportsBatching':!![],'supportsDeadLetterQueue':![],'supportsOrdering':!![],'supportsTrimming':!![],'supportsRetry':!![],'maxMessageSize':0x200*0x400*0x400,'maxBatchSize':0x3e8};}}exports['RedisStreamService']=RedisStreamService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';
|
|
1
|
+
'use strict';(function(_0x1cdf7a,_0x371d07){var _0xfc8c60=_0x3097,_0x2d1723=_0x1cdf7a();while(!![]){try{var _0x4161e5=parseInt(_0xfc8c60(0x178))/0x1*(parseInt(_0xfc8c60(0x17f))/0x2)+parseInt(_0xfc8c60(0x17c))/0x3*(parseInt(_0xfc8c60(0x17d))/0x4)+-parseInt(_0xfc8c60(0x17a))/0x5*(parseInt(_0xfc8c60(0x17e))/0x6)+-parseInt(_0xfc8c60(0x17b))/0x7*(-parseInt(_0xfc8c60(0x183))/0x8)+parseInt(_0xfc8c60(0x181))/0x9+parseInt(_0xfc8c60(0x182))/0xa*(-parseInt(_0xfc8c60(0x180))/0xb)+-parseInt(_0xfc8c60(0x179))/0xc;if(_0x4161e5===_0x371d07)break;else _0x2d1723['push'](_0x2d1723['shift']());}catch(_0x33ce42){_0x2d1723['push'](_0x2d1723['shift']());}}}(_0x4a6b,0x18d5b));function _0x4a6b(){var _0x39f330=['49BbFrgC','6yzRiAG','63100JooTOi','214518mttCFu','94652reZURo','11XTkGKM','471825plWNQF','50520IKqrbM','204808SAJkKR','1vvfARG','299616KfQqvW','25fzmdnk'];_0x4a6b=function(){return _0x39f330;};return _0x4a6b();}function _0x3097(_0x1eeed3,_0x107450){var _0x4a6bba=_0x4a6b();return _0x3097=function(_0x309717,_0x2ecfb4){_0x309717=_0x309717-0x178;var _0x2bc5f3=_0x4a6bba[_0x309717];return _0x2bc5f3;},_0x3097(_0x1eeed3,_0x107450);}Object['defineProperty'](exports,'__esModule',{'value':!![]});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ILogger } from '../logger';
|
|
2
|
-
import { ProviderClient, ProviderTransaction } from '../../types/provider';
|
|
3
1
|
import { SubService } from './index';
|
|
2
|
+
import { ILogger } from '../logger';
|
|
3
|
+
import { ProviderClient } from '../../types/provider';
|
|
4
4
|
declare class SubServiceFactory {
|
|
5
|
-
static init(
|
|
5
|
+
static init(providerSubClient: ProviderClient, providerPubClient: ProviderClient, namespace: string, appId: string, engineId: string, logger: ILogger): Promise<SubService<ProviderClient>>;
|
|
6
6
|
}
|
|
7
7
|
export { SubServiceFactory };
|
|
@@ -1,17 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SubServiceFactory = void 0;
|
|
4
|
-
const utils_1 = require("../../modules/utils");
|
|
5
4
|
const ioredis_1 = require("./providers/redis/ioredis");
|
|
5
|
+
const nats_1 = require("./providers/nats/nats");
|
|
6
|
+
const postgres_1 = require("./providers/postgres/postgres");
|
|
6
7
|
const redis_1 = require("./providers/redis/redis");
|
|
8
|
+
const utils_1 = require("../../modules/utils");
|
|
7
9
|
class SubServiceFactory {
|
|
8
|
-
static async init(
|
|
10
|
+
static async init(providerSubClient, providerPubClient, namespace, appId, engineId, logger) {
|
|
9
11
|
let service;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
+
const providerType = (0, utils_1.identifyProvider)(providerSubClient);
|
|
13
|
+
if (providerType === 'nats') {
|
|
14
|
+
service = new nats_1.NatsSubService(providerSubClient, providerPubClient);
|
|
15
|
+
}
|
|
16
|
+
else if (providerType === 'redis') {
|
|
17
|
+
service = new redis_1.RedisSubService(providerSubClient, providerPubClient);
|
|
18
|
+
}
|
|
19
|
+
else if (providerType === 'postgres') {
|
|
20
|
+
service = new postgres_1.PostgresSubService(providerSubClient, providerPubClient);
|
|
12
21
|
}
|
|
13
22
|
else {
|
|
14
|
-
service = new ioredis_1.IORedisSubService(
|
|
23
|
+
service = new ioredis_1.IORedisSubService(providerSubClient, providerPubClient);
|
|
15
24
|
}
|
|
16
25
|
await service.init(namespace, appId, engineId, logger);
|
|
17
26
|
return service;
|
|
@@ -2,15 +2,16 @@ import { KeyStoreParams, KeyType } from '../../modules/key';
|
|
|
2
2
|
import { ILogger } from '../logger';
|
|
3
3
|
import { SubscriptionCallback } from '../../types/quorum';
|
|
4
4
|
import { ProviderClient, ProviderTransaction } from '../../types/provider';
|
|
5
|
-
declare abstract class SubService<ClientProvider extends ProviderClient
|
|
5
|
+
declare abstract class SubService<ClientProvider extends ProviderClient> {
|
|
6
6
|
protected eventClient: ClientProvider;
|
|
7
7
|
protected storeClient: ProviderClient;
|
|
8
8
|
protected namespace: string;
|
|
9
|
+
protected engineId: string;
|
|
9
10
|
protected logger: ILogger;
|
|
10
11
|
protected appId: string;
|
|
11
12
|
constructor(eventClient: ClientProvider, storeClient: ProviderClient);
|
|
12
13
|
abstract init(namespace: string, appId: string, engineId: string, logger: ILogger): Promise<void>;
|
|
13
|
-
abstract transact():
|
|
14
|
+
abstract transact(): ProviderTransaction;
|
|
14
15
|
abstract mintKey(type: KeyType, params: KeyStoreParams): string;
|
|
15
16
|
abstract subscribe(keyType: KeyType.QUORUM, callback: SubscriptionCallback, appId: string, engineId?: string): Promise<void>;
|
|
16
17
|
abstract unsubscribe(keyType: KeyType.QUORUM, appId: string, engineId?: string): Promise<void>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { KeyStoreParams, KeyType } from '../../../../modules/key';
|
|
2
|
+
import { ILogger } from '../../../logger';
|
|
3
|
+
import { SubService } from '../../index';
|
|
4
|
+
import { SubscriptionCallback } from '../../../../types/quorum';
|
|
5
|
+
import { NatsClientType } from '../../../../types/nats';
|
|
6
|
+
import { ProviderClient, ProviderTransaction } from '../../../../types/provider';
|
|
7
|
+
declare class NatsSubService extends SubService<NatsClientType & ProviderClient> {
|
|
8
|
+
private subscriptions;
|
|
9
|
+
constructor(eventClient: NatsClientType, storeClient: NatsClientType);
|
|
10
|
+
init(namespace: string, appId: string, engineId: string, logger: ILogger): Promise<void>;
|
|
11
|
+
transact(): ProviderTransaction;
|
|
12
|
+
mintKey(type: KeyType, params: KeyStoreParams): string;
|
|
13
|
+
subscribe(keyType: KeyType.QUORUM, callback: SubscriptionCallback, appId: string, topic?: string): Promise<void>;
|
|
14
|
+
unsubscribe(keyType: KeyType.QUORUM, appId: string, engineId?: string): Promise<void>;
|
|
15
|
+
psubscribe(keyType: KeyType.QUORUM, callback: SubscriptionCallback, appId: string, topic?: string): Promise<void>;
|
|
16
|
+
punsubscribe(keyType: KeyType.QUORUM, appId: string, topic?: string): Promise<void>;
|
|
17
|
+
publish(keyType: KeyType.QUORUM, message: Record<string, any>, appId: string, topic?: string): Promise<boolean>;
|
|
18
|
+
}
|
|
19
|
+
export { NatsSubService };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';function _0x20cd(_0x5bd5e2,_0x43934a){const _0x4476f4=_0x4476();return _0x20cd=function(_0x20cdaa,_0x15af0c){_0x20cdaa=_0x20cdaa-0xbe;let _0x4c370a=_0x4476f4[_0x20cdaa];return _0x4c370a;},_0x20cd(_0x5bd5e2,_0x43934a);}(function(_0x25360b,_0x4302c1){const _0x269ce4=_0x20cd,_0x3ad7bf=_0x25360b();while(!![]){try{const _0x477298=-parseInt(_0x269ce4(0xbe))/0x1*(-parseInt(_0x269ce4(0xc6))/0x2)+parseInt(_0x269ce4(0xc0))/0x3+-parseInt(_0x269ce4(0xbf))/0x4+parseInt(_0x269ce4(0xc3))/0x5*(parseInt(_0x269ce4(0xc5))/0x6)+-parseInt(_0x269ce4(0xc1))/0x7+parseInt(_0x269ce4(0xc4))/0x8+-parseInt(_0x269ce4(0xc2))/0x9;if(_0x477298===_0x4302c1)break;else _0x3ad7bf['push'](_0x3ad7bf['shift']());}catch(_0x142a4a){_0x3ad7bf['push'](_0x3ad7bf['shift']());}}}(_0x4476,0x325c7));Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['NatsSubService']=void 0x0;const key_1=require('../../../../modules/key'),index_1=require('../../index');class NatsSubService extends index_1['SubService']{constructor(_0x525d23,_0x87f3cb){super(_0x525d23,_0x87f3cb),this['subscriptions']=new Map();}async['init'](_0x398ce5=key_1['HMNS'],_0x260205,_0x488b15,_0x298d6c){this['namespace']=_0x398ce5,this['logger']=_0x298d6c,this['appId']=_0x260205,this['engineId']=_0x488b15;}['transact'](){return{};}['mintKey'](_0x581abc,_0x3f1885){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x581abc,_0x3f1885)['replace'](/:/g,'.')['replace'](/\.$/g,'.X');}async['subscribe'](_0x1bc936,_0x45dbcc,_0x1ae1c8,_0x1a4186){const _0x1fda08=this['mintKey'](_0x1bc936,{'appId':_0x1ae1c8,'engineId':_0x1a4186}),_0x5dcba2=this['eventClient']['subscribe'](_0x1fda08);this['subscriptions']['set'](_0x1fda08,_0x5dcba2),this['logger']['debug']('nats-subscribe\x20'+_0x1fda08),(async()=>{for await(const _0x324e04 of _0x5dcba2){try{const _0x104469=JSON['parse'](_0x324e04['data']['toString']());_0x45dbcc(_0x1fda08,_0x104469);}catch(_0x945a0a){this['logger']['error']('nats-subscribe-message-parse-error:\x20'+_0x324e04['data']['toString'](),_0x945a0a);}}})()['catch'](_0x4c25d6=>{this['logger']['error']('nats-subscribe-error\x20'+_0x1fda08,_0x4c25d6);});}async['unsubscribe'](_0x1f8328,_0x137de4,_0x466a2f){const _0x33c9c0=this['mintKey'](_0x1f8328,{'appId':_0x137de4,'engineId':_0x466a2f}),_0xf44b1b=this['subscriptions']['get'](_0x33c9c0);_0xf44b1b?(_0xf44b1b['unsubscribe'](),this['subscriptions']['delete'](_0x33c9c0),this['logger']['debug']('nats-unsubscribe\x20'+_0x33c9c0)):this['logger']['warn']('nats-unsubscribe-error\x20'+_0x33c9c0);}async['psubscribe'](_0x112270,_0x527735,_0x39898d,_0x31c8d2){const _0x2d8b59=this['mintKey'](_0x112270,{'appId':_0x39898d,'engineId':_0x31c8d2}),_0x391eed=this['eventClient']['subscribe'](_0x2d8b59);this['subscriptions']['set'](_0x2d8b59,_0x391eed),this['logger']['debug']('nats-psubscribe\x20'+_0x2d8b59),(async()=>{for await(const _0x46dc8a of _0x391eed){try{const _0x497032=JSON['parse'](_0x46dc8a['data']['toString']());_0x527735(_0x46dc8a['subject'],_0x497032);}catch(_0x51b36c){this['logger']['error']('nats-parse-psubscription-message-error\x20'+_0x46dc8a['data']['toString'](),_0x51b36c);}}})()['catch'](_0xe1a175=>{this['logger']['error']('nats-pattern-psubscription-error\x20'+_0x2d8b59,_0xe1a175);});}async['punsubscribe'](_0x4aaf63,_0x321877,_0x58c59c){const _0x3db62d=this['mintKey'](_0x4aaf63,{'appId':_0x321877,'engineId':_0x58c59c}),_0x5d1961=this['subscriptions']['get'](_0x3db62d);_0x5d1961?(_0x5d1961['unsubscribe'](),this['subscriptions']['delete'](_0x3db62d),this['logger']['debug']('nats-punsubscribe\x20'+_0x3db62d)):this['logger']['warn']('nats-punsubscribe-error\x20'+_0x3db62d);}async['publish'](_0x4edfdc,_0x4ee7dc,_0x103a3b,_0x4b2747){const _0x17a0ee=this['mintKey'](_0x4edfdc,{'appId':_0x103a3b,'engineId':_0x4b2747});try{return this['storeClient']['publish'](_0x17a0ee,JSON['stringify'](_0x4ee7dc)),this['logger']['debug']('nats-publish\x20'+_0x17a0ee),!![];}catch(_0x762526){return this['logger']['error']('nats-publish-error\x20'+_0x17a0ee,_0x762526),![];}}}function _0x4476(){const _0x39b08b=['7eDUNLQ','209124pKndvE','771651ypYkfS','2146200NNDbzR','2418255KuocMo','2018995dpDeCw','717656fTXZqG','6zkYoLl','23752UyQvXe'];_0x4476=function(){return _0x39b08b;};return _0x4476();}exports['NatsSubService']=NatsSubService;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { KeyStoreParams, KeyType } from '../../../../modules/key';
|
|
2
|
+
import { ILogger } from '../../../logger';
|
|
3
|
+
import { SubService } from '../../index';
|
|
4
|
+
import { SubscriptionCallback } from '../../../../types/quorum';
|
|
5
|
+
import { ProviderClient, ProviderTransaction } from '../../../../types/provider';
|
|
6
|
+
import { PostgresClientType } from '../../../../types/postgres';
|
|
7
|
+
declare class PostgresSubService extends SubService<PostgresClientType & ProviderClient> {
|
|
8
|
+
constructor(eventClient: PostgresClientType & ProviderClient, storeClient?: PostgresClientType & ProviderClient);
|
|
9
|
+
init(namespace: string, appId: string, engineId: string, logger: ILogger): Promise<void>;
|
|
10
|
+
transact(): ProviderTransaction;
|
|
11
|
+
mintKey(type: KeyType, params: KeyStoreParams): string;
|
|
12
|
+
mintSafeKey(type: KeyType, params: KeyStoreParams): [string, string];
|
|
13
|
+
subscribe(keyType: KeyType.QUORUM, callback: SubscriptionCallback, appId: string, engineId?: string): Promise<void>;
|
|
14
|
+
unsubscribe(keyType: KeyType.QUORUM, appId: string, engineId?: string): Promise<void>;
|
|
15
|
+
publish(keyType: KeyType.QUORUM, message: Record<string, any>, appId: string, engineId?: string): Promise<boolean>;
|
|
16
|
+
psubscribe(): Promise<void>;
|
|
17
|
+
punsubscribe(): Promise<void>;
|
|
18
|
+
}
|
|
19
|
+
export { PostgresSubService };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';(function(_0x3cd142,_0xcde8a){const _0x4027a3=_0x4449,_0x555920=_0x3cd142();while(!![]){try{const _0x417272=-parseInt(_0x4027a3(0x176))/0x1+parseInt(_0x4027a3(0x179))/0x2*(-parseInt(_0x4027a3(0x17f))/0x3)+-parseInt(_0x4027a3(0x17a))/0x4+-parseInt(_0x4027a3(0x17c))/0x5*(-parseInt(_0x4027a3(0x178))/0x6)+-parseInt(_0x4027a3(0x17b))/0x7+-parseInt(_0x4027a3(0x17d))/0x8*(-parseInt(_0x4027a3(0x177))/0x9)+parseInt(_0x4027a3(0x17e))/0xa;if(_0x417272===_0xcde8a)break;else _0x555920['push'](_0x555920['shift']());}catch(_0x297cc3){_0x555920['push'](_0x555920['shift']());}}}(_0x2685,0x588f6));var __importDefault=this&&this['__importDefault']||function(_0x2a0b94){return _0x2a0b94&&_0x2a0b94['__esModule']?_0x2a0b94:{'default':_0x2a0b94};};function _0x2685(){const _0x587535=['594635PhFTtn','18rgQYPO','16806AUrcJz','38QJJcoy','879168CbXNYT','643076VhChOx','395iGeZlM','1934136KBxoHN','12341640AHcMUn','105780aDwMkM'];_0x2685=function(){return _0x587535;};return _0x2685();}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['PostgresSubService']=void 0x0;const crypto_1=__importDefault(require('crypto')),key_1=require('../../../../modules/key'),index_1=require('../../index');class PostgresSubService extends index_1['SubService']{constructor(_0x1b6b42,_0x47653f){super(_0x1b6b42,_0x47653f);}async['init'](_0x518f3b=key_1['HMNS'],_0x5f5d6a,_0x499c1b,_0x24e2f1){this['namespace']=_0x518f3b,this['logger']=_0x24e2f1,this['appId']=_0x5f5d6a,this['engineId']=_0x499c1b;}['transact'](){throw new Error('Transactions\x20are\x20not\x20supported\x20in\x20lightweight\x20pub/sub');}['mintKey'](_0x41c5eb,_0x1e4c4e){if(!this['namespace'])throw new Error('Namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x41c5eb,_0x1e4c4e);}['mintSafeKey'](_0x372e3a,_0x248dcf){const _0x2e6618=this['mintKey'](_0x372e3a,_0x248dcf);if(_0x2e6618['length']<=0x3f)return[_0x2e6618,_0x2e6618];const {appId:appId='',engineId:engineId=''}=_0x248dcf,_0x455385=this['namespace']+':'+appId+':'+_0x372e3a,_0x175dca=0x3f-_0x455385['length']-0x1,_0xb0c877=crypto_1['default']['createHash']('sha256')['update'](engineId)['digest']('hex')['substring'](0x0,_0x175dca),_0x47db52=_0x455385+':'+_0xb0c877;return[_0x2e6618,_0x47db52];}async['subscribe'](_0x453ab9,_0x1f6da6,_0x20d2d6,_0x1d1e0c){const [_0x46e0e8,_0x862431]=this['mintSafeKey'](_0x453ab9,{'appId':_0x20d2d6,'engineId':_0x1d1e0c});await this['eventClient']['query']('LISTEN\x20\x22'+_0x862431+'\x22'),this['logger']['debug']('postgres-subscribe',{'originalKey':_0x46e0e8,'safeKey':_0x862431}),this['eventClient']['on']('notification',_0x2b1e89=>{if(_0x2b1e89['channel']===_0x862431)try{const _0x49aba1=JSON['parse'](_0x2b1e89['payload']||'{}');_0x1f6da6(_0x862431,_0x49aba1);}catch(_0x198934){this['logger']['error']('Error\x20parsing\x20message\x20for\x20topic\x20'+_0x862431+':',_0x198934);}});}async['unsubscribe'](_0x2fdff8,_0x4d4c99,_0xdbf43b){const [_0x327d04,_0x22568b]=this['mintSafeKey'](_0x2fdff8,{'appId':_0x4d4c99,'engineId':_0xdbf43b});await this['eventClient']['query']('UNLISTEN\x20\x22'+_0x22568b+'\x22'),this['logger']['debug']('postgres-subscribe',{'originalKey':_0x327d04,'safeKey':_0x22568b});}async['publish'](_0x5250bd,_0x189521,_0x21618b,_0x2addd9){const [_0x380e63,_0x1eff71]=this['mintSafeKey'](_0x5250bd,{'appId':_0x21618b,'engineId':_0x2addd9}),_0x138490=JSON['stringify'](_0x189521)['replace'](/'/g,'\x27\x27');return await this['storeClient']['query']('NOTIFY\x20\x22'+_0x1eff71+'\x22,\x20\x27'+_0x138490+'\x27'),this['logger']['debug']('postgres-publish',{'originalKey':_0x380e63,'safeKey':_0x1eff71}),!![];}async['psubscribe'](){throw new Error('Pattern\x20subscriptions\x20are\x20not\x20supported\x20in\x20PostgreSQL');}async['punsubscribe'](){throw new Error('Pattern\x20subscriptions\x20are\x20not\x20supported\x20in\x20PostgreSQL');}}function _0x4449(_0x3aa5e1,_0x2943f5){const _0x268515=_0x2685();return _0x4449=function(_0x444914,_0x3916c0){_0x444914=_0x444914-0x176;let _0x3c7101=_0x268515[_0x444914];return _0x3c7101;},_0x4449(_0x3aa5e1,_0x2943f5);}exports['PostgresSubService']=PostgresSubService;
|
|
@@ -3,7 +3,7 @@ import { ILogger } from '../../../logger';
|
|
|
3
3
|
import { SubService } from '../../index';
|
|
4
4
|
import { IORedisClientType as RedisClientType, IORedisMultiType as RedisMultiType } from '../../../../types/redis';
|
|
5
5
|
import { SubscriptionCallback } from '../../../../types/quorum';
|
|
6
|
-
declare class IORedisSubService extends SubService<RedisClientType
|
|
6
|
+
declare class IORedisSubService extends SubService<RedisClientType> {
|
|
7
7
|
constructor(eventClient: RedisClientType, storeClient: RedisClientType);
|
|
8
8
|
init(namespace: string, appId: string, engineId: string, logger: ILogger): Promise<void>;
|
|
9
9
|
transact(): RedisMultiType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';(function(_0x5b41c7,_0x25d7c8){const _0x45ae1a=_0x385b,_0x2bf273=_0x5b41c7();while(!![]){try{const _0x1ef6cb=parseInt(_0x45ae1a(0x195))/0x1*(parseInt(_0x45ae1a(0x19d))/0x2)+-parseInt(_0x45ae1a(0x196))/0x3+parseInt(_0x45ae1a(0x199))/0x4+-parseInt(_0x45ae1a(0x19a))/0x5+-parseInt(_0x45ae1a(0x19e))/0x6+parseInt(_0x45ae1a(0x19c))/0x7*(parseInt(_0x45ae1a(0x19b))/0x8)+parseInt(_0x45ae1a(0x197))/0x9*(parseInt(_0x45ae1a(0x198))/0xa);if(_0x1ef6cb===_0x25d7c8)break;else _0x2bf273['push'](_0x2bf273['shift']());}catch(_0x357c44){_0x2bf273['push'](_0x2bf273['shift']());}}}(_0x476d,0xe4778));Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['IORedisSubService']=void 0x0;const key_1=require('../../../../modules/key'),index_1=require('../../index');function _0x385b(_0x549061,_0x2be3a5){const _0x476d22=_0x476d();return _0x385b=function(_0x385b54,_0x3913fe){_0x385b54=_0x385b54-0x195;let _0x207e41=_0x476d22[_0x385b54];return _0x207e41;},_0x385b(_0x549061,_0x2be3a5);}class IORedisSubService extends index_1['SubService']{constructor(_0x5ab303,_0x101554){super(_0x5ab303,_0x101554);}async['init'](_0x23b124=key_1['HMNS'],_0x575f5e,_0xe407e4,_0x317ea6){this['namespace']=_0x23b124,this['logger']=_0x317ea6,this['appId']=_0x575f5e,this['engineId']=_0xe407e4;}['transact'](){return this['eventClient']['multi']();}['mintKey'](_0x16cc96,_0x2cae73){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x16cc96,_0x2cae73);}async['subscribe'](_0x3d2ebf,_0x4b3866,_0x1b581f,_0x3dcba3){const _0x273e15=this,_0x56e76d=this['mintKey'](_0x3d2ebf,{'appId':_0x1b581f,'engineId':_0x3dcba3});await this['eventClient']['subscribe'](_0x56e76d,_0x101f77=>{_0x101f77&&_0x273e15['logger']['error']('Error\x20subscribing\x20to:\x20'+_0x56e76d,_0x101f77);}),this['eventClient']['on']('message',(_0x4a9928,_0x61b5a8)=>{if(_0x4a9928===_0x56e76d)try{const _0xdd74eb=JSON['parse'](_0x61b5a8);_0x4b3866(_0x56e76d,_0xdd74eb);}catch(_0x2e129f){_0x273e15['logger']['error']('Error\x20parsing\x20message:\x20'+_0x61b5a8,_0x2e129f);}});}async['unsubscribe'](_0x58e279,_0x5caec9,_0x5c9a51){const _0x1c63ee=this['mintKey'](_0x58e279,{'appId':_0x5caec9,'engineId':_0x5c9a51});await this['eventClient']['unsubscribe'](_0x1c63ee);}async['psubscribe'](_0x4af9de,_0x4a302f,_0x4571b2,_0x160b2a){const _0x103d09=this,_0x31f880=this['mintKey'](_0x4af9de,{'appId':_0x4571b2,'engineId':_0x160b2a});await this['eventClient']['psubscribe'](_0x31f880,_0x5d095c=>{_0x5d095c&&_0x103d09['logger']['error']('Error\x20subscribing\x20to:\x20'+_0x31f880,_0x5d095c);}),this['eventClient']['on']('pmessage',(_0xbfa2d9,_0x19c190,_0x4e5aa7)=>{if(_0xbfa2d9===_0x31f880)try{const _0x440c1f=JSON['parse'](_0x4e5aa7);_0x4a302f(_0x19c190,_0x440c1f);}catch(_0x4afaea){_0x103d09['logger']['error']('Error\x20parsing\x20message:\x20'+_0x4e5aa7,_0x4afaea);}});}async['punsubscribe'](_0x588730,_0x344ba9,_0x204a77){const _0x5bdfe2=this['mintKey'](_0x588730,{'appId':_0x344ba9,'engineId':_0x204a77});await this['eventClient']['punsubscribe'](_0x5bdfe2);}async['publish'](_0x4f8ba1,_0x30480b,_0x14b7a8,_0x1efcdb){const _0x17a7cd=this['mintKey'](_0x4f8ba1,{'appId':_0x14b7a8,'engineId':_0x1efcdb}),_0x446e8b=await this['storeClient']['publish'](_0x17a7cd,JSON['stringify'](_0x30480b));return _0x446e8b===0x1;}}function _0x476d(){const _0x1ea0b1=['3820872EjgEis','1kADdVi','2131677EtBGfL','9TEUumO','21264130TaNafO','4682568QxfToF','8721475MMgQgH','233344ribrET','84KMiUIx','760790OryCTw'];_0x476d=function(){return _0x1ea0b1;};return _0x476d();}exports['IORedisSubService']=IORedisSubService;
|
|
@@ -3,7 +3,7 @@ import { ILogger } from '../../../logger';
|
|
|
3
3
|
import { SubService } from '../../index';
|
|
4
4
|
import { RedisRedisClientType as ClientProvider, RedisRedisMultiType as TransactionProvider } from '../../../../types/redis';
|
|
5
5
|
import { SubscriptionCallback } from '../../../../types/quorum';
|
|
6
|
-
declare class RedisSubService extends SubService<ClientProvider
|
|
6
|
+
declare class RedisSubService extends SubService<ClientProvider> {
|
|
7
7
|
constructor(eventClient: ClientProvider, storeClient: ClientProvider);
|
|
8
8
|
init(namespace: string, appId: string, engineId: string, logger: ILogger): Promise<void>;
|
|
9
9
|
transact(): TransactionProvider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';function _0x5250(){const _0x17f1ed=['861272ujDQta','311314PUrWOL','11nYYwhT','816972HsfAWw','9OYHvNZ','1388pqLItV','738XaSfLK','211981fgslzW','8248940Dcjofi','34515ywgHJy','44rMClcC'];_0x5250=function(){return _0x17f1ed;};return _0x5250();}(function(_0x8de4d6,_0x21d124){const _0x676582=_0x1214,_0x525c59=_0x8de4d6();while(!![]){try{const _0x157cd0=-parseInt(_0x676582(0x16c))/0x1+-parseInt(_0x676582(0x170))/0x2*(parseInt(_0x676582(0x171))/0x3)+-parseInt(_0x676582(0x16a))/0x4*(-parseInt(_0x676582(0x169))/0x5)+-parseInt(_0x676582(0x16e))/0x6+parseInt(_0x676582(0x172))/0x7+-parseInt(_0x676582(0x16b))/0x8*(parseInt(_0x676582(0x16f))/0x9)+parseInt(_0x676582(0x168))/0xa*(parseInt(_0x676582(0x16d))/0xb);if(_0x157cd0===_0x21d124)break;else _0x525c59['push'](_0x525c59['shift']());}catch(_0x1fb47f){_0x525c59['push'](_0x525c59['shift']());}}}(_0x5250,0x321c3));Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['RedisSubService']=void 0x0;function _0x1214(_0x4031d6,_0x34de9e){const _0x525017=_0x5250();return _0x1214=function(_0x1214dc,_0x37fa72){_0x1214dc=_0x1214dc-0x168;let _0x3745a9=_0x525017[_0x1214dc];return _0x3745a9;},_0x1214(_0x4031d6,_0x34de9e);}const key_1=require('../../../../modules/key'),index_1=require('../../index');class RedisSubService extends index_1['SubService']{constructor(_0x19acb2,_0x3ed453){super(_0x19acb2,_0x3ed453);}async['init'](_0x43b0f1=key_1['HMNS'],_0x5f2bfe,_0xcf4d15,_0x57f448){this['namespace']=_0x43b0f1,this['logger']=_0x57f448,this['appId']=_0x5f2bfe,this['engineId']=_0xcf4d15;}['transact'](){const _0x5c284b=this['eventClient']['multi']();return _0x5c284b;}['mintKey'](_0x55b519,_0x1a08fe){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0x55b519,_0x1a08fe);}async['subscribe'](_0x918ca0,_0x47f97f,_0x3cfa4f,_0x4503d2){if(this['eventClient']){const _0x4bdc54=this,_0x2519f2=this['mintKey'](_0x918ca0,{'appId':_0x3cfa4f,'engineId':_0x4503d2});await this['eventClient']['subscribe'](_0x2519f2,_0x530b8c=>{try{const _0x3dcbc1=JSON['parse'](_0x530b8c);_0x47f97f(_0x2519f2,_0x3dcbc1);}catch(_0xa5777d){_0x4bdc54['logger']['error']('Error\x20parsing\x20message:\x20'+_0x530b8c,_0xa5777d);}});}}async['unsubscribe'](_0x3569bb,_0x1effac,_0x408b40){const _0x4c3b0d=this['mintKey'](_0x3569bb,{'appId':_0x1effac,'engineId':_0x408b40});await this['eventClient']['unsubscribe'](_0x4c3b0d);}async['psubscribe'](_0x89bebd,_0x12edd6,_0x51d61c,_0x9290a0){if(this['eventClient']){const _0xf0cea1=this,_0x3ed37f=this['mintKey'](_0x89bebd,{'appId':_0x51d61c,'engineId':_0x9290a0});await this['eventClient']['pSubscribe'](_0x3ed37f,(_0x4e57dd,_0x5e53e3)=>{try{const _0x3a4cc2=JSON['parse'](_0x4e57dd);_0x12edd6(_0x5e53e3,_0x3a4cc2);}catch(_0x1cc041){_0xf0cea1['logger']['error']('Error\x20parsing\x20message:\x20'+_0x4e57dd,_0x1cc041);}});}}async['punsubscribe'](_0x56eb8b,_0x4b313d,_0x4ad3f1){const _0x57331b=this['mintKey'](_0x56eb8b,{'appId':_0x4b313d,'engineId':_0x4ad3f1});await this['eventClient']['pUnsubscribe'](_0x57331b);}async['publish'](_0x44362c,_0x40d10c,_0x381103,_0x37970c){const _0x3a4349=this['mintKey'](_0x44362c,{'appId':_0x381103,'engineId':_0x37970c}),_0x1c1b00=await this['storeClient']['publish'](_0x3a4349,JSON['stringify'](_0x40d10c));return _0x1c1b00>0x0;}}exports['RedisSubService']=RedisSubService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';(function(_0x1e13c7,_0x54defa){const _0x5bacf1=_0x5442,_0x2331da=_0x1e13c7();while(!![]){try{const _0x223014=-parseInt(_0x5bacf1(0x7b))/0x1*(parseInt(_0x5bacf1(0x78))/0x2)+parseInt(_0x5bacf1(0x80))/0x3+-parseInt(_0x5bacf1(0x76))/0x4*(parseInt(_0x5bacf1(0x7f))/0x5)+-parseInt(_0x5bacf1(0x7c))/0x6*(-parseInt(_0x5bacf1(0x79))/0x7)+parseInt(_0x5bacf1(0x7e))/0x8*(-parseInt(_0x5bacf1(0x81))/0x9)+parseInt(_0x5bacf1(0x7d))/0xa*(-parseInt(_0x5bacf1(0x7a))/0xb)+parseInt(_0x5bacf1(0x77))/0xc;if(_0x223014===_0x54defa)break;else _0x2331da['push'](_0x2331da['shift']());}catch(_0x290eeb){_0x2331da['push'](_0x2331da['shift']());}}}(_0x3798,0x42e73));function _0x3798(){const _0xbf8f14=['2wWIWuA','35NBsUmq','33VJRvQx','126521ncTZOu','99708oicrrp','31190yQdQJi','8824sXsjlc','5eDimxG','248796zpyMeq','3123yrAZlc','684568WVVGsk','9573288lpfwyX'];_0x3798=function(){return _0xbf8f14;};return _0x3798();}function _0x5442(_0x3d5b14,_0x2485b1){const _0x3798db=_0x3798();return _0x5442=function(_0x544200,_0x2638d6){_0x544200=_0x544200-0x76;let _0x107f44=_0x3798db[_0x544200];return _0x107f44;},_0x5442(_0x3d5b14,_0x2485b1);}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['TaskService']=void 0x0;const enums_1=require('../../modules/enums'),utils_1=require('../../modules/utils'),pipe_1=require('../pipe'),hotmesh_1=require('../../types/hotmesh'),key_1=require('../../modules/key');class TaskService{constructor(_0xc8da7d,_0x5c1b1b){this['cleanupTimeout']=null,this['isScout']=![],this['errorCount']=0x0,this['logger']=_0x5c1b1b,this['store']=_0xc8da7d;}async['processWebHooks'](_0x443b7a){const _0x29aa09=await this['store']['getActiveTaskQueue']();if(_0x29aa09){const [_0x5d9e16,_0x23a4d0,_0xb5a45e,..._0x24e44e]=_0x29aa09['split'](key_1['WEBSEP']),_0x23592e=JSON['parse'](_0x24e44e['join'](key_1['WEBSEP'])),_0x298233=_0x23a4d0+':processed',_0x17e7bb=await this['store']['processTaskQueue'](_0x23a4d0,_0x298233);_0x17e7bb?await _0x443b7a(_0x5d9e16,{..._0x23592e,'id':_0x17e7bb}):await this['store']['deleteProcessedTaskQueue'](_0x29aa09,_0x23a4d0,_0x298233,_0xb5a45e==='true'),setImmediate(()=>this['processWebHooks'](_0x443b7a));}}async['enqueueWorkItems'](_0x4d86a4){await this['store']['addTaskQueues'](_0x4d86a4);}async['registerJobForCleanup'](_0x34fe4e,_0x18dccf=enums_1['HMSH_EXPIRE_DURATION'],_0x3cc5b6){_0x18dccf>0x0&&await this['store']['expireJob'](_0x34fe4e,_0x18dccf);}async['registerTimeHook'](_0x5dcbfe,_0x396598,_0x44c2e3,_0x21d1c6,_0x14f855=enums_1['HMSH_FIDELITY_SECONDS'],_0x2a1ebc,_0x236f3d){const _0x4cd12e=Date['now']()+_0x14f855*0x3e8,_0x367486=enums_1['HMSH_FIDELITY_SECONDS']*0x3e8,_0x18099b=Math['floor'](_0x4cd12e/_0x367486)*_0x367486;await this['store']['registerTimeHook'](_0x5dcbfe,_0x396598,_0x44c2e3,_0x21d1c6,_0x18099b,_0x2a1ebc,_0x236f3d);}async['shouldScout'](){const _0x4db51a=this['isScout'],_0x5f5201=_0x4db51a||(this['isScout']=await this['store']['reserveScoutRole']('time'));if(_0x5f5201)return!_0x4db51a&&setTimeout(()=>{this['isScout']=![];},enums_1['HMSH_SCOUT_INTERVAL_SECONDS']*0x3e8),!![];return![];}async['processTimeHooks'](_0xd2e00d,_0x13d9aa){if(await this['shouldScout']())try{const _0x54ae57=await this['store']['getNextTask'](_0x13d9aa);if(Array['isArray'](_0x54ae57)){const [_0x4b90bb,_0x215cdc,_0x3428e6,_0x218cb7,_0x2355ce]=_0x54ae57;if(_0x2355ce==='child'){}else{if(_0x2355ce==='delist'){const _0x188004=this['store']['mintKey'](hotmesh_1['KeyType']['SIGNALS'],{'appId':this['store']['appId']});await this['store']['delistSignalKey'](_0x188004,_0x215cdc);}else await _0xd2e00d(_0x215cdc,_0x3428e6,_0x218cb7,_0x2355ce);}await(0x0,utils_1['sleepFor'])(0x0),this['errorCount']=0x0,this['processTimeHooks'](_0xd2e00d,_0x4b90bb);}else{if(_0x54ae57)await(0x0,utils_1['sleepFor'])(0x0),this['errorCount']=0x0,this['processTimeHooks'](_0xd2e00d);else{const _0x183faa=(0x0,utils_1['XSleepFor'])(enums_1['HMSH_FIDELITY_SECONDS']*0x3e8);this['cleanupTimeout']=_0x183faa['timerId'],await _0x183faa['promise'],this['errorCount']=0x0,this['processTimeHooks'](_0xd2e00d);}}}catch(_0x509b55){this['logger']['warn']('task-process-timehooks-error',_0x509b55),await(0x0,utils_1['sleepFor'])(0x3e8*this['errorCount']++),this['errorCount']<0x5&&this['processTimeHooks'](_0xd2e00d);}else{const _0x44cf76=(0x0,utils_1['XSleepFor'])(enums_1['HMSH_SCOUT_INTERVAL_SECONDS']*0x3e8*0x2*Math['random']());this['cleanupTimeout']=_0x44cf76['timerId'],await _0x44cf76['promise'],this['processTimeHooks'](_0xd2e00d);}}['cancelCleanup'](){this['cleanupTimeout']!==undefined&&(clearTimeout(this['cleanupTimeout']),this['cleanupTimeout']=undefined);}async['getHookRule'](_0x58ff39){const _0x365a55=await this['store']['getHookRules']();return _0x365a55?.[_0x58ff39]?.[0x0];}async['registerWebHook'](_0x1258b3,_0x19d727,_0x49729d,_0x3f827a,_0x119f6e){const _0x4936c9=await this['getHookRule'](_0x1258b3);if(_0x4936c9){const _0x204a86=_0x4936c9['conditions']['match'][0x0]['expected'],_0x2ba932=pipe_1['Pipe']['resolve'](_0x204a86,_0x19d727),_0x3e3f0c=_0x19d727['metadata']['jid'],_0x52e064=_0x19d727['metadata']['gid'],_0x31269e=_0x4936c9['to'],_0x93c816=[_0x31269e,_0x49729d,_0x52e064,_0x3e3f0c]['join'](key_1['WEBSEP']),_0x5e5703={'topic':_0x1258b3,'resolved':_0x2ba932,'jobId':_0x93c816,'expire':_0x3f827a};return await this['store']['setHookSignal'](_0x5e5703,_0x119f6e),_0x3e3f0c;}else throw new Error('signaler.registerWebHook:error:\x20hook\x20rule\x20not\x20found');}async['processWebHookSignal'](_0x2ee092,_0x5b9a41){const _0x37592e=await this['getHookRule'](_0x2ee092);if(_0x37592e){const _0x25e954={'$self':{'hook':{'data':_0x5b9a41}},'$hook':{'data':_0x5b9a41}},_0x55990a=_0x37592e['conditions']['match'][0x0]['actual'],_0x2aa7b4=pipe_1['Pipe']['resolve'](_0x55990a,_0x25e954),_0x162409=await this['store']['getHookSignal'](_0x2ee092,_0x2aa7b4);if(!_0x162409)return undefined;const [_0x38974c,_0x380c0e,_0x24c742,..._0x1516b6]=_0x162409['split'](key_1['WEBSEP']);return[_0x1516b6['join'](key_1['WEBSEP']),_0x37592e['to'],_0x380c0e,_0x24c742];}else throw new Error('signal-not-found');}async['deleteWebHookSignal'](_0x142db1,_0x2e45be){const _0x8c4d28=await this['getHookRule'](_0x142db1);if(_0x8c4d28){const _0x360cb1={'$self':{'hook':{'data':_0x2e45be}},'$hook':{'data':_0x2e45be}},_0x4415d6=_0x8c4d28['conditions']['match'][0x0]['actual'],_0x5de6d5=pipe_1['Pipe']['resolve'](_0x4415d6,_0x360cb1);return await this['store']['deleteHookSignal'](_0x142db1,_0x5de6d5);}else throw new Error('signaler.process:error:\x20hook\x20rule\x20not\x20found');}}exports['TaskService']=TaskService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';(function(_0x583a83,_0x52f14e){const _0xc3def8=_0x2e82,_0x3c7649=_0x583a83();while(!![]){try{const _0x5921d7=parseInt(_0xc3def8(0x19c))/0x1+parseInt(_0xc3def8(0x19b))/0x2+-parseInt(_0xc3def8(0x19d))/0x3*(parseInt(_0xc3def8(0x1a1))/0x4)+-parseInt(_0xc3def8(0x19e))/0x5+parseInt(_0xc3def8(0x1a0))/0x6*(parseInt(_0xc3def8(0x19f))/0x7)+parseInt(_0xc3def8(0x19a))/0x8+-parseInt(_0xc3def8(0x1a2))/0x9;if(_0x5921d7===_0x52f14e)break;else _0x3c7649['push'](_0x3c7649['shift']());}catch(_0x37d337){_0x3c7649['push'](_0x3c7649['shift']());}}}(_0x479c,0x4a2be));function _0x2e82(_0x4be80c,_0x334788){const _0x479c06=_0x479c();return _0x2e82=function(_0x2e8232,_0x1c5f48){_0x2e8232=_0x2e8232-0x19a;let _0x46011d=_0x479c06[_0x2e8232];return _0x46011d;},_0x2e82(_0x4be80c,_0x334788);}var __importDefault=this&&this['__importDefault']||function(_0x47011b){return _0x47011b&&_0x47011b['__esModule']?_0x47011b:{'default':_0x47011b};};Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['TelemetryService']=void 0x0;const package_json_1=__importDefault(require('../../package.json')),mapper_1=require('../mapper'),stream_1=require('../../types/stream'),telemetry_1=require('../../types/telemetry'),utils_1=require('../../modules/utils');function _0x479c(){const _0x4de5a9=['11422620hMoESY','3585312RyfZZv','1122196FGZKfs','483597DxQWlP','1132389RLrDrj','226055BNuKxB','3519607UtXCvN','6xWShhi','4ZgkfCl'];_0x479c=function(){return _0x4de5a9;};return _0x479c();}class TelemetryService{constructor(_0x5d0010,_0x2fb1fd,_0x3b0f59,_0x1b77ad){this['leg']=0x1,this['appId']=_0x5d0010,this['config']=_0x2fb1fd,this['metadata']=_0x3b0f59,this['context']=_0x1b77ad;}['getJobParentSpanId'](){return this['context']['metadata']['spn'];}['getActivityParentSpanId'](_0x491ba3){return _0x491ba3===0x1?this['context'][this['config']['parent']]['output']?.['metadata']?.['l2s']:this['context']['$self']['output']?.['metadata']?.['l1s'];}['getTraceId'](){return this['context']['metadata']['trc'];}['startJobSpan'](){const _0x2fcd58='JOB/'+this['appId']+'/'+this['config']['subscribes']+'/1',_0x1fee57=this['getTraceId'](),_0x1efe50=this['getJobParentSpanId'](),_0xe21d2b=this['getSpanAttrs'](0x1),_0x4dc540=this['startSpan'](_0x1fee57,_0x1efe50,_0x2fcd58,_0xe21d2b);return this['jobSpan']=_0x4dc540,this['setTelemetryContext'](_0x4dc540,0x1),this;}['startActivitySpan'](_0x4b00e7=this['leg']){const _0x511b61=this['config']['type']['toUpperCase']()+'/'+this['appId']+'/'+this['metadata']['aid']+'/'+_0x4b00e7,_0x1660d2=this['getTraceId'](),_0xbb7c3a=this['getActivityParentSpanId'](_0x4b00e7),_0x10cd5b=this['getSpanAttrs'](_0x4b00e7),_0x5e53b1=this['startSpan'](_0x1660d2,_0xbb7c3a,_0x511b61,_0x10cd5b);return this['setTelemetryContext'](_0x5e53b1,_0x4b00e7),this['span']=_0x5e53b1,this;}['startStreamSpan'](_0x2d45ff,_0x530ac2){let _0x1ab6db;if(_0x530ac2===stream_1['StreamRole']['SYSTEM'])_0x1ab6db='SYSTEM';else{if(_0x530ac2===stream_1['StreamRole']['WORKER'])_0x1ab6db='EXECUTE';else _0x2d45ff['type']===stream_1['StreamDataType']['RESULT']||_0x2d45ff['type']===stream_1['StreamDataType']['RESPONSE']?_0x1ab6db='FANIN':_0x1ab6db='FANOUT';}const _0x1c12e9=_0x2d45ff['metadata']['topic']?'/'+_0x2d45ff['metadata']['topic']:'',_0x6046e1=_0x1ab6db+'/'+this['appId']+'/'+_0x2d45ff['metadata']['aid']+_0x1c12e9,_0x2e83b9=this['getStreamSpanAttrs'](_0x2d45ff),_0x3a3395=this['startSpan'](_0x2d45ff['metadata']['trc'],_0x2d45ff['metadata']['spn'],_0x6046e1,_0x2e83b9);return this['span']=_0x3a3395,this;}['startSpan'](_0x5a58ff,_0x598614,_0x2bcbd4,_0x5cb531){this['traceId']=_0x5a58ff,this['spanId']=_0x598614;const _0x3dfd02=telemetry_1['trace']['getTracer'](package_json_1['default']['name'],package_json_1['default']['version']),_0x5aa534=this['getParentSpanContext'](),_0x16d99b=_0x3dfd02['startSpan'](_0x2bcbd4,{'kind':telemetry_1['SpanKind']['CLIENT'],'attributes':_0x5cb531,'root':!_0x5aa534},_0x5aa534);return _0x16d99b;}['mapActivityAttributes'](){if(this['config']['telemetry']){const _0x403429=new mapper_1['MapperService'](this['config']['telemetry'],this['context'])['mapRules'](),_0x13f3a3={...Object['keys'](_0x403429)['reduce']((_0x4223cc,_0x58c39e)=>{return['string','boolean','number']['includes'](typeof _0x403429[_0x58c39e])&&(_0x4223cc['app.activity.data.'+_0x58c39e]=_0x403429[_0x58c39e]),_0x4223cc;},{})};this['span']?.['setAttributes'](_0x13f3a3);}}['setActivityAttributes'](_0x1a9538){this['span']?.['setAttributes'](_0x1a9538);}['setStreamAttributes'](_0x505f44){this['span']?.['setAttributes'](_0x505f44);}['setJobAttributes'](_0x604f92){this['jobSpan']?.['setAttributes'](_0x604f92);}['endJobSpan'](){this['endSpan'](this['jobSpan']);}['endActivitySpan'](){this['endSpan'](this['span']);}['endStreamSpan'](){this['endSpan'](this['span']);}['endSpan'](_0x48c789){_0x48c789&&_0x48c789['end']();}['getParentSpanContext'](){if(this['traceId']&&this['spanId']){const _0x51947b={'traceId':this['traceId'],'spanId':this['spanId'],'isRemote':!![],'traceFlags':0x1},_0x5d7223=telemetry_1['trace']['setSpanContext'](telemetry_1['context']['active'](),_0x51947b);return _0x5d7223;}}['getSpanAttrs'](_0x379367){return{...Object['keys'](this['context']['metadata'])['reduce']((_0x25974a,_0x1d6cff)=>{return _0x1d6cff!=='trc'&&(_0x25974a['app.job.'+_0x1d6cff]=this['context']['metadata'][_0x1d6cff]),_0x25974a;},{}),...Object['keys'](this['metadata'])['reduce']((_0xf57d1a,_0x531a4c)=>{return _0xf57d1a['app.activity.'+_0x531a4c]=this['metadata'][_0x531a4c],_0xf57d1a;},{}),'app.activity.leg':_0x379367};}['getStreamSpanAttrs'](_0x3cecf1){return{...Object['keys'](_0x3cecf1['metadata'])['reduce']((_0x107129,_0x536b45)=>{return _0x536b45!=='trc'&&_0x536b45!=='spn'&&(_0x107129['app.stream.'+_0x536b45]=_0x3cecf1['metadata'][_0x536b45]),_0x107129;},{})};}['setTelemetryContext'](_0xa0dca,_0x10511e){!this['context']['metadata']['trc']&&(this['context']['metadata']['trc']=_0xa0dca['spanContext']()['traceId']),_0x10511e===0x1?(!this['context']['$self']['output']['metadata']&&(this['context']['$self']['output']['metadata']={}),this['context']['$self']['output']['metadata']['l1s']=_0xa0dca['spanContext']()['spanId']):(!this['context']['$self']['output']['metadata']&&(this['context']['$self']['output']['metadata']={}),this['context']['$self']['output']['metadata']['l2s']=_0xa0dca['spanContext']()['spanId']);}['setActivityError'](_0x4a55a4){this['span']?.['setStatus']({'code':telemetry_1['SpanStatusCode']['ERROR'],'message':_0x4a55a4});}['setStreamError'](_0x51026a){this['span']?.['setStatus']({'code':telemetry_1['SpanStatusCode']['ERROR'],'message':_0x51026a});}static['addTargetTelemetryPaths'](_0x1f301a,_0x277fbc,_0x28a234,_0x358010){_0x358010===0x1?(!(_0x277fbc['parent']in _0x1f301a)&&(_0x1f301a[_0x277fbc['parent']]=[]),_0x1f301a[_0x277fbc['parent']]['push'](_0x277fbc['parent']+'/output/metadata/l2s')):(!(_0x28a234['aid']in _0x1f301a)&&(_0x1f301a[_0x28a234['aid']]=[]),_0x1f301a[_0x28a234['aid']]['push'](_0x28a234['aid']+'/output/metadata/l1s'));}static['bindJobTelemetryToState'](_0xcfde54,_0x4acb91,_0xdece9c){_0x4acb91['type']==='trigger'&&(_0xcfde54['metadata/trc']=_0xdece9c['metadata']['trc']);}static['bindActivityTelemetryToState'](_0x56fa0f,_0x1a821e,_0x4c552b,_0x4ad75d,_0x146412){if(_0x1a821e['type']==='trigger')_0x56fa0f[_0x4c552b['aid']+'/output/metadata/l1s']=_0x4ad75d['$self']['output']['metadata']['l1s'],_0x56fa0f[_0x4c552b['aid']+'/output/metadata/l2s']=_0x4ad75d['$self']['output']['metadata']['l2s'];else{if(utils_1['polyfill']['resolveActivityType'](_0x1a821e['type'])==='hook'&&_0x146412===0x1)_0x56fa0f[_0x4c552b['aid']+'/output/metadata/l1s']=_0x4ad75d['$self']['output']['metadata']['l1s'],_0x56fa0f[_0x4c552b['aid']+'/output/metadata/l2s']=_0x4ad75d['$self']['output']['metadata']['l1s'];else{if(_0x1a821e['type']==='signal'&&_0x146412===0x1)_0x56fa0f[_0x4c552b['aid']+'/output/metadata/l1s']=_0x4ad75d['$self']['output']['metadata']['l1s'],_0x56fa0f[_0x4c552b['aid']+'/output/metadata/l2s']=_0x4ad75d['$self']['output']['metadata']['l1s'];else{const _0x366c83='l'+_0x146412+'s';_0x56fa0f[_0x4c552b['aid']+'/output/metadata/'+_0x366c83]=_0x4ad75d['$self']['output']['metadata'][_0x366c83];}}}}}exports['TelemetryService']=TelemetryService;
|
|
@@ -17,7 +17,7 @@ declare class WorkerService {
|
|
|
17
17
|
callback: (streamData: StreamData) => Promise<StreamDataResponse | void>;
|
|
18
18
|
store: StoreService<ProviderClient, ProviderTransaction> | null;
|
|
19
19
|
stream: StreamService<ProviderClient, ProviderTransaction> | null;
|
|
20
|
-
subscribe: SubService<ProviderClient
|
|
20
|
+
subscribe: SubService<ProviderClient> | null;
|
|
21
21
|
router: Router<typeof this.stream> | null;
|
|
22
22
|
logger: ILogger;
|
|
23
23
|
reporting: boolean;
|