@hotmeshio/hotmesh 0.3.10 → 0.3.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -6
- package/build/modules/key.d.ts +4 -0
- package/build/modules/key.js +1 -1
- package/build/modules/utils.js +1 -1
- package/build/package.json +19 -15
- 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.js +29 -17
- package/build/services/connector/index.d.ts +2 -0
- package/build/services/connector/index.js +2 -0
- package/build/services/connector/providers/nats.js +8 -2
- package/build/services/connector/providers/postgres.js +7 -3
- package/build/services/engine/index.js +1 -1
- package/build/services/exporter/index.js +1 -1
- package/build/services/mapper/index.js +1 -1
- package/build/services/meshflow/client.js +1 -1
- 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.js +1 -1
- package/build/services/reporter/index.d.ts +3 -0
- package/build/services/reporter/index.js +1 -1
- package/build/services/router/index.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/factory.d.ts +1 -1
- package/build/services/store/factory.js +9 -5
- package/build/services/store/index.d.ts +2 -1
- package/build/services/store/providers/postgres/kvsql.d.ts +155 -0
- package/build/services/store/providers/postgres/kvsql.js +1 -0
- package/build/services/store/providers/postgres/postgres.d.ts +107 -0
- package/build/services/store/providers/postgres/postgres.js +1 -0
- package/build/services/store/providers/redis/_base.d.ts +0 -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.d.ts +0 -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/factory.js +5 -1
- package/build/services/stream/providers/nats/nats.js +1 -1
- package/build/services/stream/providers/postgres/postgres.d.ts +4 -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/providers/redis/ioredis.js +1 -1
- package/build/services/sub/providers/redis/redis.js +1 -1
- package/build/services/task/index.js +1 -1
- package/build/services/telemetry/index.js +1 -1
- package/build/services/worker/index.js +1 -1
- package/build/types/hotmesh.d.ts +4 -0
- package/build/types/provider.d.ts +44 -1
- package/package.json +19 -15
- package/types/hotmesh.ts +15 -0
- package/types/provider.ts +74 -3
- package/build/services/store/providers/postgres/types/hash.d.ts +0 -0
- package/build/services/store/providers/postgres/types/hash.js +0 -0
- package/build/services/store/providers/postgres/types/list.d.ts +0 -0
- package/build/services/store/providers/postgres/types/list.js +0 -0
- package/build/services/store/providers/postgres/types/string.d.ts +0 -0
- package/build/services/store/providers/postgres/types/string.js +0 -0
- package/build/services/store/providers/postgres/types/zset.d.ts +0 -0
- package/build/services/store/providers/postgres/types/zset.js +0 -0
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import { KeyStoreParams } from '../../../../types/hotmesh';
|
|
2
|
+
import { PostgresClientType } from '../../../../types/postgres';
|
|
3
|
+
import { HScanResult, HSetOptions, ProviderTransaction, SetOptions, ZAddOptions } from '../../../../types/provider';
|
|
4
|
+
export declare class KVSQL {
|
|
5
|
+
pgClient: PostgresClientType;
|
|
6
|
+
namespace: string;
|
|
7
|
+
appId: string;
|
|
8
|
+
constructor(pgClient: PostgresClientType, namespace: string, appId: string);
|
|
9
|
+
getMulti(): ProviderTransaction;
|
|
10
|
+
transact(): ProviderTransaction;
|
|
11
|
+
exec(...args: any[]): Promise<Array<any>>;
|
|
12
|
+
mintKey(type: KeyType, params: KeyStoreParams): string;
|
|
13
|
+
tableForKey(key: string, stats_type?: 'hash' | 'sorted_set' | 'list'): string;
|
|
14
|
+
reconstituteKey(entityType: string, id: string): string;
|
|
15
|
+
safeName(input: string, prefix?: string): string;
|
|
16
|
+
get(key: string, multi?: ProviderTransaction): Promise<string | null>;
|
|
17
|
+
_get(key: string): {
|
|
18
|
+
sql: string;
|
|
19
|
+
params: any[];
|
|
20
|
+
};
|
|
21
|
+
setnx(key: string, value: string, multi?: ProviderTransaction): Promise<boolean>;
|
|
22
|
+
setnxex(key: string, value: string, delay: number, multi?: ProviderTransaction): Promise<boolean>;
|
|
23
|
+
set(key: string, value: string, options?: SetOptions, multi?: ProviderTransaction): Promise<boolean>;
|
|
24
|
+
_set(key: string, value: string, options?: SetOptions): {
|
|
25
|
+
sql: string;
|
|
26
|
+
params: any[];
|
|
27
|
+
};
|
|
28
|
+
del(key: string, multi?: ProviderTransaction): Promise<number>;
|
|
29
|
+
_del(key: string): {
|
|
30
|
+
sql: string;
|
|
31
|
+
params: any[];
|
|
32
|
+
};
|
|
33
|
+
expire(key: string, seconds: number, multi?: ProviderTransaction): Promise<boolean>;
|
|
34
|
+
_expire(key: string, seconds: number): {
|
|
35
|
+
sql: string;
|
|
36
|
+
params: any[];
|
|
37
|
+
};
|
|
38
|
+
hsetnx(key: string, field: string, value: string, multi?: ProviderTransaction): Promise<number>;
|
|
39
|
+
hset(key: string, fields: Record<string, string>, options?: HSetOptions, multi?: ProviderTransaction): Promise<number>;
|
|
40
|
+
_hset(key: string, fields: Record<string, string>, options?: HSetOptions): {
|
|
41
|
+
sql: string;
|
|
42
|
+
params: any[];
|
|
43
|
+
};
|
|
44
|
+
hget(key: string, field: string, multi?: ProviderTransaction): Promise<string | null>;
|
|
45
|
+
_hget(key: string, field: string): {
|
|
46
|
+
sql: string;
|
|
47
|
+
params: any[];
|
|
48
|
+
};
|
|
49
|
+
hdel(key: string, fields: string[], multi?: ProviderTransaction): Promise<number>;
|
|
50
|
+
_hdel(key: string, fields: string[]): {
|
|
51
|
+
sql: string;
|
|
52
|
+
params: any[];
|
|
53
|
+
};
|
|
54
|
+
hmget(key: string, fields: string[], multi?: ProviderTransaction): Promise<(string | null)[]>;
|
|
55
|
+
_hmget(key: string, fields: string[]): {
|
|
56
|
+
sql: string;
|
|
57
|
+
params: any[];
|
|
58
|
+
};
|
|
59
|
+
hgetall(key: string, multi?: ProviderTransaction): Promise<Record<string, string>>;
|
|
60
|
+
_hgetall(key: string): {
|
|
61
|
+
sql: string;
|
|
62
|
+
params: any[];
|
|
63
|
+
};
|
|
64
|
+
hincrbyfloat(key: string, field: string, increment: number, multi?: ProviderTransaction): Promise<number>;
|
|
65
|
+
_hincrbyfloat(key: string, field: string, increment: number): {
|
|
66
|
+
sql: string;
|
|
67
|
+
params: any[];
|
|
68
|
+
};
|
|
69
|
+
hscan(key: string, cursor: string, count?: number, pattern?: string, multi?: ProviderTransaction): Promise<HScanResult>;
|
|
70
|
+
_hscan(key: string, cursor: string, count: number, pattern?: string): {
|
|
71
|
+
sql: string;
|
|
72
|
+
params: any[];
|
|
73
|
+
};
|
|
74
|
+
lrange(key: string, start: number, end: number, multi?: ProviderTransaction): Promise<string[]>;
|
|
75
|
+
_lrange(key: string, start: number, end: number): {
|
|
76
|
+
sql: string;
|
|
77
|
+
params: any[];
|
|
78
|
+
};
|
|
79
|
+
rpush(key: string, value: string | string[], multi?: ProviderTransaction): Promise<number>;
|
|
80
|
+
_rpush(key: string, value: string | string[]): {
|
|
81
|
+
sql: string;
|
|
82
|
+
params: any[];
|
|
83
|
+
};
|
|
84
|
+
lpush(key: string, value: string | string[], multi?: ProviderTransaction): Promise<number>;
|
|
85
|
+
_lpush(key: string, value: string | string[]): {
|
|
86
|
+
sql: string;
|
|
87
|
+
params: any[];
|
|
88
|
+
};
|
|
89
|
+
lpop(key: string, multi?: ProviderTransaction): Promise<string | null>;
|
|
90
|
+
_lpop(key: string): {
|
|
91
|
+
sql: string;
|
|
92
|
+
params: any[];
|
|
93
|
+
};
|
|
94
|
+
lmove(source: string, destination: string, srcPosition: "LEFT" | "RIGHT", destPosition: "LEFT" | "RIGHT", multi?: ProviderTransaction): Promise<string | null>;
|
|
95
|
+
_lmove(source: string, destination: string, srcPosition: "LEFT" | "RIGHT", destPosition: "LEFT" | "RIGHT"): {
|
|
96
|
+
sql: string;
|
|
97
|
+
params: any[];
|
|
98
|
+
};
|
|
99
|
+
zadd(key: string, score: number, member: string, options?: ZAddOptions, multi?: ProviderTransaction): Promise<number>;
|
|
100
|
+
_zadd(key: string, score: number, member: string, options?: ZAddOptions): {
|
|
101
|
+
sql: string;
|
|
102
|
+
params: any[];
|
|
103
|
+
};
|
|
104
|
+
zrange(key: string, start: number, stop: number, facet?: 'WITHSCORES', multi?: ProviderTransaction): Promise<string[]>;
|
|
105
|
+
_zrange(key: string, start: number, stop: number, facet?: 'WITHSCORES'): {
|
|
106
|
+
sql: string;
|
|
107
|
+
params: any[];
|
|
108
|
+
};
|
|
109
|
+
zscore(key: string, member: string, multi?: ProviderTransaction): Promise<number | null>;
|
|
110
|
+
_zscore(key: string, member: string): {
|
|
111
|
+
sql: string;
|
|
112
|
+
params: any[];
|
|
113
|
+
};
|
|
114
|
+
zrangebyscore(key: string, min: number, max: number, multi?: ProviderTransaction): Promise<string[]>;
|
|
115
|
+
_zrangebyscore(key: string, min: number, max: number): {
|
|
116
|
+
sql: string;
|
|
117
|
+
params: any[];
|
|
118
|
+
};
|
|
119
|
+
zrangebyscore_withscores(key: string, min: number, max: number, multi?: ProviderTransaction): Promise<{
|
|
120
|
+
member: string;
|
|
121
|
+
score: number;
|
|
122
|
+
}[]>;
|
|
123
|
+
_zrangebyscore_withscores(key: string, min: number, max: number): {
|
|
124
|
+
sql: string;
|
|
125
|
+
params: any[];
|
|
126
|
+
};
|
|
127
|
+
zrem(key: string, member: string, multi?: ProviderTransaction): Promise<number>;
|
|
128
|
+
_zrem(key: string, member: string): {
|
|
129
|
+
sql: string;
|
|
130
|
+
params: any[];
|
|
131
|
+
};
|
|
132
|
+
zrank(key: string, member: string, multi?: ProviderTransaction): Promise<number | null>;
|
|
133
|
+
_zrank(key: string, member: string): {
|
|
134
|
+
sql: string;
|
|
135
|
+
params: any[];
|
|
136
|
+
};
|
|
137
|
+
scan(cursor: number, count?: number, pattern?: string, multi?: ProviderTransaction): Promise<{
|
|
138
|
+
cursor: number;
|
|
139
|
+
keys: string[];
|
|
140
|
+
}>;
|
|
141
|
+
_scan(cursor: number, count: number, pattern?: string): {
|
|
142
|
+
sql: string;
|
|
143
|
+
params: any[];
|
|
144
|
+
};
|
|
145
|
+
rename(oldKey: string, newKey: string, multi?: ProviderTransaction): Promise<void>;
|
|
146
|
+
_rename(oldKey: string, newKey: string): {
|
|
147
|
+
sql: string;
|
|
148
|
+
params: any[];
|
|
149
|
+
};
|
|
150
|
+
exists(key: string): Promise<string | 0>;
|
|
151
|
+
_exists(key: string): {
|
|
152
|
+
sql: string;
|
|
153
|
+
params: any[];
|
|
154
|
+
};
|
|
155
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';(function(_0x50db43,_0x44baaa){const _0x11b4d0=_0x5854,_0x11dcbf=_0x50db43();while(!![]){try{const _0x2337fc=parseInt(_0x11b4d0(0x1c2))/0x1+-parseInt(_0x11b4d0(0x1c6))/0x2*(parseInt(_0x11b4d0(0x1c8))/0x3)+parseInt(_0x11b4d0(0x1cc))/0x4*(-parseInt(_0x11b4d0(0x1ca))/0x5)+parseInt(_0x11b4d0(0x1c3))/0x6*(parseInt(_0x11b4d0(0x1cb))/0x7)+-parseInt(_0x11b4d0(0x1c7))/0x8+-parseInt(_0x11b4d0(0x1c4))/0x9*(-parseInt(_0x11b4d0(0x1c9))/0xa)+parseInt(_0x11b4d0(0x1cd))/0xb*(-parseInt(_0x11b4d0(0x1c5))/0xc);if(_0x2337fc===_0x44baaa)break;else _0x11dcbf['push'](_0x11dcbf['shift']());}catch(_0x1e0c38){_0x11dcbf['push'](_0x11dcbf['shift']());}}}(_0x404c,0x522c1));var __importDefault=this&&this['__importDefault']||function(_0x211b88){return _0x211b88&&_0x211b88['__esModule']?_0x211b88:{'default':_0x211b88};};function _0x404c(){const _0x49458f=['572598CTJQqX','75792mTpHzY','4113ZWjSOS','333852LsdhPD','10NcQHED','3138416EbuQvA','25170hEmfae','6130cWnNDW','5qapyRC','217iUnLEQ','669884tPjTmj','121KsqAav'];_0x404c=function(){return _0x49458f;};return _0x404c();}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['KVSQL']=void 0x0;const pg_format_1=__importDefault(require('pg-format')),key_1=require('../../../../modules/key');function formatSqlCommand(_0x3227ff,_0x115103){const _0xd46308=[],_0x3ceb53=_0x3227ff['replace'](/\$(\d+)/g,(_0x4d3438,_0x1be6f3)=>{const _0x206b36=parseInt(_0x1be6f3,0xa)-0x1,_0x2775fc=_0x115103[_0x206b36];if(_0x2775fc===null||_0x2775fc===undefined)return'NULL';let _0x341b6a;if(typeof _0x2775fc==='number')_0x341b6a='%s';else{if(typeof _0x2775fc==='string')_0x341b6a='%L';else typeof _0x2775fc==='boolean'?_0x341b6a='%L':_0x341b6a='%L';}return _0xd46308['push'](_0x2775fc),_0x341b6a;});return(0x0,pg_format_1['default'])(_0x3ceb53,..._0xd46308);}class Multi{constructor(_0x4446f0){this['kvsql']=_0x4446f0,this['commands']=[];}['addCommand'](_0x52569a,_0x36047f,_0x546205,_0x10a74e){return this['commands']['push']({'sql':_0x52569a,'params':_0x36047f,'returnType':_0x546205,'transform':_0x10a74e}),this;}['set'](_0x39b987,_0x48a1e0,_0x14ec40){const {sql:_0x5f5480,params:_0x274988}=this['kvsql']['_set'](_0x39b987,_0x48a1e0,_0x14ec40);return this['addCommand'](_0x5f5480,_0x274988,'boolean');}['setnx'](_0x4e768e,_0x270cfc){const {sql:_0x5f3c4d,params:_0x4c0b5b}=this['kvsql']['_set'](_0x4e768e,_0x270cfc,{'nx':!![]});return this['addCommand'](_0x5f3c4d,_0x4c0b5b,'boolean');}['setnxex'](_0x2b3ac9,_0x59114e,_0x545676){const {sql:_0x4afef3,params:_0x26b49f}=this['kvsql']['_set'](_0x2b3ac9,_0x59114e,{'nx':!![],'ex':_0x545676});return this['addCommand'](_0x4afef3,_0x26b49f,'boolean');}['get'](_0x53db3c){const {sql:_0x2378cc,params:_0x1818c8}=this['kvsql']['_get'](_0x53db3c);return this['addCommand'](_0x2378cc,_0x1818c8,'string');}['del'](_0x53e484){const {sql:_0x3cafe5,params:_0x5095a3}=this['kvsql']['_del'](_0x53e484);return this['addCommand'](_0x3cafe5,_0x5095a3,'number');}['expire'](_0x2712fd,_0x30cb74){const {sql:_0x1687bb,params:_0x22af3e}=this['kvsql']['_expire'](_0x2712fd,_0x30cb74);return this['addCommand'](_0x1687bb,_0x22af3e,'boolean');}['hset'](_0x468483,_0x3ec93b,_0x54d3ed){const {sql:_0xc5b92,params:_0xb3a23f}=this['kvsql']['_hset'](_0x468483,_0x3ec93b,_0x54d3ed);return this['addCommand'](_0xc5b92,_0xb3a23f,'number');}['hget'](_0x343435,_0x5bd2ea){const {sql:_0x49c97e,params:_0x476cf3}=this['kvsql']['_hget'](_0x343435,_0x5bd2ea);return this['addCommand'](_0x49c97e,_0x476cf3,'string');}['hdel'](_0x31e63b,_0x292afc){const {sql:_0x512b7a,params:_0x5e0d19}=this['kvsql']['_hdel'](_0x31e63b,_0x292afc);return this['addCommand'](_0x512b7a,_0x5e0d19,'number');}['hmget'](_0x10e4d9,_0x1a7527){const {sql:_0x489e64,params:_0x88472d}=this['kvsql']['_hmget'](_0x10e4d9,_0x1a7527),_0x4bd60d=_0x219ef5=>{const _0x3bdbe2=new Map(_0x219ef5['map'](_0x2047a6=>[_0x2047a6['field'],_0x2047a6['value']]));return _0x1a7527['map'](_0x5ad47b=>_0x3bdbe2['get'](_0x5ad47b)||null);};return this['addCommand'](_0x489e64,_0x88472d,'array',_0x4bd60d);}['hgetall'](_0x3a894f){const {sql:_0x45248a,params:_0x318899}=this['kvsql']['_hgetall'](_0x3a894f),_0x42611a=_0x4772aa=>{const _0x4bbfa8={};for(const _0x391e32 of _0x4772aa){_0x4bbfa8[_0x391e32['field']]=_0x391e32['value'];}return _0x4bbfa8;};return this['addCommand'](_0x45248a,_0x318899,'object',_0x42611a);}['hincrbyfloat'](_0x4bdad5,_0x5bed53,_0x4d77bf){const {sql:_0x1fb063,params:_0x158174}=this['kvsql']['_hincrbyfloat'](_0x4bdad5,_0x5bed53,_0x4d77bf);return this['addCommand'](_0x1fb063,_0x158174,'number',_0x2fa740=>parseFloat(_0x2fa740[0x0]['value']));}['hscan'](_0x15cf91,_0x3f20e3,_0x1ae646=0xa){const {sql:_0x51ad41,params:_0x1e45ed}=this['kvsql']['_hscan'](_0x15cf91,_0x3f20e3,_0x1ae646),_0x10c787=_0x50e553=>{const _0x3828c6={};for(const _0x348983 of _0x50e553){_0x3828c6[_0x348983['field']]=_0x348983['value'];}const _0x5eb0b0=_0x3f20e3+_0x50e553['length'];return{'cursor':_0x5eb0b0['toString'](),'items':_0x3828c6};};return this['addCommand'](_0x51ad41,_0x1e45ed,'object',_0x10c787);}['lrange'](_0xd6b55a,_0x489edc,_0x478a1e){const {sql:_0x416071,params:_0x445011}=this['kvsql']['_lrange'](_0xd6b55a,_0x489edc,_0x478a1e);return this['addCommand'](_0x416071,_0x445011,'array',_0x1534ee=>_0x1534ee['map'](_0x125085=>_0x125085['value']));}['rpush'](_0x3de951,_0x4a38c1){const {sql:_0x2f1bc6,params:_0x250903}=this['kvsql']['_rpush'](_0x3de951,_0x4a38c1);return this['addCommand'](_0x2f1bc6,_0x250903,'number',_0x35c553=>_0x35c553[0x0]?.['count']||0x0);}['lpush'](_0x196503,_0x167289){const {sql:_0x9e1948,params:_0x520590}=this['kvsql']['_lpush'](_0x196503,_0x167289);return this['addCommand'](_0x9e1948,_0x520590,'number',_0xa3f4a0=>_0xa3f4a0[0x0]?.['count']||0x0);}['lpop'](_0x275f5d){const {sql:_0x9cb523,params:_0x54b27c}=this['kvsql']['_lpop'](_0x275f5d);return this['addCommand'](_0x9cb523,_0x54b27c,'string');}['lmove'](_0x399c95,_0x350e8c,_0x316bee,_0x28ad4e){const {sql:_0xae28f9,params:_0x1bd459}=this['kvsql']['_lmove'](_0x399c95,_0x350e8c,_0x316bee,_0x28ad4e);return this['addCommand'](_0xae28f9,_0x1bd459,'string');}['zadd'](_0x4db57a,_0x400c87,_0x395deb,_0x4addae){const {sql:_0x3037a5,params:_0x32920b}=this['kvsql']['_zadd'](_0x4db57a,_0x400c87,_0x395deb,_0x4addae);return this['addCommand'](_0x3037a5,_0x32920b,'number',_0x40a3ae=>_0x40a3ae[0x0]?.['count']||0x0);}['zrange'](_0x2dab66,_0x2a1c47,_0x10bec9){const {sql:_0x5be41e,params:_0x4e6239}=this['kvsql']['_zrange'](_0x2dab66,_0x2a1c47,_0x10bec9);return this['addCommand'](_0x5be41e,_0x4e6239,'array',_0x3ad716=>_0x3ad716['map'](_0xb97b99=>_0xb97b99['member']));}['zrangebyscore'](_0x541a58,_0x156ef9,_0x30d01f){const {sql:_0x92407d,params:_0x3afe01}=this['kvsql']['_zrangebyscore'](_0x541a58,_0x156ef9,_0x30d01f);return this['addCommand'](_0x92407d,_0x3afe01,'array',_0x4bffe4=>_0x4bffe4['map'](_0x28459f=>_0x28459f['member']));}['zrangebyscore_withscores'](_0x44fed9,_0x40b06c,_0x177253){const {sql:_0x1cad42,params:_0x464da0}=this['kvsql']['_zrangebyscore_withscores'](_0x44fed9,_0x40b06c,_0x177253);return this['addCommand'](_0x1cad42,_0x464da0,'array',_0x2a52fb=>_0x2a52fb['map'](_0x5b8b3c=>({'member':_0x5b8b3c['member'],'score':_0x5b8b3c['score']})));}['zrem'](_0x28c29,_0x51ac49){const {sql:_0x3a9f43,params:_0x3502ca}=this['kvsql']['_zrem'](_0x28c29,_0x51ac49);return this['addCommand'](_0x3a9f43,_0x3502ca,'number',_0x42e472=>_0x42e472[0x0]?.['count']||0x0);}['zrank'](_0x161853,_0x437260){const {sql:_0x3a24ae,params:_0x30fc60}=this['kvsql']['_zrank'](_0x161853,_0x437260);return this['addCommand'](_0x3a24ae,_0x30fc60,'number',_0x2ccc0b=>_0x2ccc0b[0x0]?.['rank']!==undefined?parseInt(_0x2ccc0b[0x0]['rank'],0xa)-0x1:null);}['scan'](_0x425190,_0x2e0217=0xa){const {sql:_0x17cdec,params:_0x4ab808}=this['kvsql']['_scan'](_0x425190,_0x2e0217),_0x54cd8f=_0x51afdd=>{const _0x323fb9=_0x51afdd['map'](_0x1485b7=>_0x1485b7['key']),_0x2484d7=_0x425190+_0x51afdd['length'];return{'cursor':_0x2484d7,'keys':_0x323fb9};};return this['addCommand'](_0x17cdec,_0x4ab808,'object',_0x54cd8f);}['rename'](_0x32b8f6,_0x45efde){const {sql:_0x48e57e,params:_0x524318}=this['kvsql']['_rename'](_0x32b8f6,_0x45efde);return this['addCommand'](_0x48e57e,_0x524318,'void');}async['exec'](){const _0x4c09f6=this['kvsql']['pgClient'];try{await _0x4c09f6['query']('BEGIN');const _0x17bcd3=[],_0x4b7520=[];for(const _0x23f7ae of this['commands']){const _0x5b77d3=formatSqlCommand(_0x23f7ae['sql'],_0x23f7ae['params']);_0x17bcd3['push'](_0x5b77d3);}const _0x5648f0=_0x17bcd3['join'](';\x0a'),_0x52e8ac=await _0x4c09f6['query'](_0x5648f0),_0x5cfadc=Array['isArray'](_0x52e8ac)?_0x52e8ac:[_0x52e8ac];let _0x4290a5=0x0;for(const _0x166d9e of this['commands']){const _0x2008f1=_0x5cfadc[_0x4290a5++],_0x1040e9=_0x2008f1?.['rows']||[];let _0x213a85;if(_0x166d9e['transform'])_0x213a85=_0x166d9e['transform'](_0x1040e9);else switch(_0x166d9e['returnType']){case'string':_0x213a85=_0x1040e9[0x0]?.['value']||null;break;case'number':_0x213a85=_0x1040e9[0x0]?.['count']||0x0;break;case'boolean':_0x213a85=_0x1040e9[0x0]?.['success']??_0x1040e9['length']>0x0;break;case'array':_0x213a85=_0x1040e9['map'](_0x2f81df=>_0x2f81df['value']);break;case'object':_0x213a85=_0x1040e9[0x0]||{};break;default:_0x213a85=_0x1040e9;}_0x4b7520['push'](_0x213a85);}return await _0x4c09f6['query']('COMMIT'),_0x4b7520;}catch(_0x585d2d){await _0x4c09f6['query']('ROLLBACK');throw _0x585d2d;}}}function _0x5854(_0xf7d82,_0x5beec1){const _0x404c34=_0x404c();return _0x5854=function(_0x5854e8,_0xd91c4a){_0x5854e8=_0x5854e8-0x1c2;let _0x16e423=_0x404c34[_0x5854e8];return _0x16e423;},_0x5854(_0xf7d82,_0x5beec1);}class KVSQL{constructor(_0x18903c,_0x1a7d99,_0x5f23b8){this['pgClient']=_0x18903c,this['namespace']=_0x1a7d99,this['appId']=_0x5f23b8;}['getMulti'](){return new Multi(this);}['transact'](){return new Multi(this);}['exec'](..._0x3d1879){return Promise['resolve']([]);}['mintKey'](_0x128a28,_0x564bcd){return'';}['tableForKey'](_0x463b9a,_0x4743d8){if(_0x463b9a===key_1['HMNS'])return'hotmesh_connections';const [_0x2a9e58,_0x17dc91,_0x201b36,..._0x498e1a]=_0x463b9a['split'](':');if(_0x17dc91==='a')return'hotmesh_applications';const _0x105ff3=_0x498e1a?.['length']?_0x498e1a['join'](':'):'',_0x2974bd=key_1['KeyService']['resolveEntityType'](_0x201b36,_0x105ff3);if(this['safeName'](this['appId'])!==this['safeName'](_0x17dc91))throw new Error('App\x20ID\x20mismatch:\x20'+this['appId']+'\x20!==\x20'+_0x17dc91);if(_0x2974bd==='stats'){if(_0x4743d8==='sorted_set')return'hotmesh_'+this['safeName'](_0x17dc91)+'_stats_ordered';else{if(_0x4743d8==='list')return'hotmesh_'+this['safeName'](_0x17dc91)+'_stats_indexed';else{if(_0x4743d8==='hash')return'hotmesh_'+this['safeName'](_0x17dc91)+'_stats_counted';else throw new Error('Unknown\x20stats\x20type\x20['+_0x4743d8+']\x20for\x20key\x20['+_0x463b9a+']');}}}if(_0x2974bd==='unknown_entity')throw new Error('Unknown\x20entity\x20type\x20abbreviation:\x20'+_0x201b36);else return _0x2974bd==='applications'?'hotmesh_applications':'hotmesh_'+this['safeName'](_0x17dc91)+'_'+_0x2974bd;}['reconstituteKey'](_0x25f4e9,_0x527fd3){const _0x40d03f=key_1['KeyService']['resolveAbbreviation'](_0x25f4e9);return key_1['KeyService']['reconstituteKey']({'namespace':this['namespace'],'app':this['appId'],'entity':_0x40d03f,'id':_0x527fd3});}['safeName'](_0x4e13f7,_0x42101b=''){if(!_0x4e13f7)return'connections';let _0x3627a2=_0x4e13f7['trim']()['toLowerCase']();return _0x3627a2=_0x3627a2['replace'](/[^a-z0-9]+/g,'_'),_0x42101b&&(_0x3627a2=_0x42101b+'_'+_0x3627a2),_0x3627a2['length']>0x3f&&(_0x3627a2=_0x3627a2['slice'](0x0,0x3f)),_0x3627a2=_0x3627a2['replace'](/_+$/g,''),!_0x3627a2&&(_0x3627a2='connections'),_0x3627a2;}async['get'](_0x432674,_0x4af794){const {sql:_0x14d7d7,params:_0x12570b}=this['_get'](_0x432674);if(_0x4af794)return _0x4af794['addCommand'](_0x14d7d7,_0x12570b,'string'),Promise['resolve'](null);else{const _0x394152=await this['pgClient']['query'](_0x14d7d7,_0x12570b);return _0x394152['rows'][0x0]?.['value']||null;}}['_get'](_0xf05868){const _0x37cfc2=this['tableForKey'](_0xf05868),_0x297611='\x0a\x20\x20\x20\x20\x20\x20SELECT\x20value\x20FROM\x20'+_0x37cfc2+'\x0a\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x20AND\x20(expiry\x20IS\x20NULL\x20OR\x20expiry\x20>\x20NOW())\x0a\x20\x20\x20\x20\x20\x20LIMIT\x201\x0a\x20\x20\x20\x20',_0x3fff3d=[_0xf05868];return{'sql':_0x297611,'params':_0x3fff3d};}async['setnx'](_0x211c2d,_0x3fc7c4,_0x1b7caf){const {sql:_0x385138,params:_0x2ec8b3}=this['_set'](_0x211c2d,_0x3fc7c4,{'nx':!![]});if(_0x1b7caf)return _0x1b7caf['addCommand'](_0x385138,_0x2ec8b3,'boolean'),Promise['resolve'](!![]);else{const _0x15fb5b=await this['pgClient']['query'](_0x385138,_0x2ec8b3);return _0x15fb5b['rowCount']>0x0;}}async['setnxex'](_0x292edf,_0x260877,_0x3986f6,_0x552213){const {sql:_0x3816ac,params:_0x516b97}=this['_set'](_0x292edf,_0x260877,{'nx':!![],'ex':_0x3986f6});if(_0x552213)return _0x552213['addCommand'](_0x3816ac,_0x516b97,'boolean'),Promise['resolve'](!![]);else{const _0x4ab3ea=await this['pgClient']['query'](_0x3816ac,_0x516b97);return _0x4ab3ea['rowCount']>0x0;}}async['set'](_0x75a84,_0x157ca7,_0x29a45c,_0x3a29ba){const {sql:_0x1f3b4f,params:_0x1db708}=this['_set'](_0x75a84,_0x157ca7,_0x29a45c);if(_0x3a29ba)return _0x3a29ba['addCommand'](_0x1f3b4f,_0x1db708,'boolean'),Promise['resolve'](!![]);else{const _0x3bc5cd=await this['pgClient']['query'](_0x1f3b4f,_0x1db708);return _0x3bc5cd['rowCount']>0x0;}}['_set'](_0x112cd2,_0x4e1479,_0x584c94){const _0xebd6e2=this['tableForKey'](_0x112cd2);let _0x56cac6='';const _0x576c7f=[_0x112cd2,_0x4e1479];let _0x5317a7='';return _0x584c94?.['ex']&&(_0x5317a7=',\x20expiry\x20=\x20NOW()\x20+\x20INTERVAL\x20\x27'+_0x584c94['ex']+'\x20seconds\x27'),_0x584c94?.['nx']?_0x56cac6='\x0a\x20\x20\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0xebd6e2+'\x20(key,\x20value'+(_0x5317a7?',\x20expiry':'')+')\x0a\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20($1,\x20$2'+(_0x5317a7?',\x20NOW()\x20+\x20INTERVAL\x20\x27'+_0x584c94['ex']+'\x20seconds\x27':'')+')\x0a\x20\x20\x20\x20\x20\x20\x20\x20ON\x20CONFLICT\x20DO\x20NOTHING\x0a\x20\x20\x20\x20\x20\x20\x20\x20RETURNING\x20true\x20as\x20success\x0a\x20\x20\x20\x20\x20\x20':_0x56cac6='\x0a\x20\x20\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0xebd6e2+'\x20(key,\x20value'+(_0x5317a7?',\x20expiry':'')+')\x0a\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20($1,\x20$2'+(_0x5317a7?',\x20NOW()\x20+\x20INTERVAL\x20\x27'+_0x584c94['ex']+'\x20seconds\x27':'')+')\x0a\x20\x20\x20\x20\x20\x20\x20\x20ON\x20CONFLICT\x20(key)\x20DO\x20UPDATE\x20SET\x20value\x20=\x20EXCLUDED.value'+_0x5317a7+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20RETURNING\x20true\x20as\x20success\x0a\x20\x20\x20\x20\x20\x20',{'sql':_0x56cac6,'params':_0x576c7f};}async['del'](_0x318278,_0x1d0511){const {sql:_0xf07064,params:_0xca211e}=this['_del'](_0x318278);if(_0x1d0511)return _0x1d0511['addCommand'](_0xf07064,_0xca211e,'number'),Promise['resolve'](0x0);else{const _0x15405f=await this['pgClient']['query'](_0xf07064,_0xca211e);return Number(_0x15405f['rows'][0x0]?.['count']||0x0);}}['_del'](_0x38d23d){const _0xefbbf2=this['tableForKey'](_0x38d23d),_0x426a53='\x0a\x20\x20\x20\x20\x20\x20WITH\x20deleted\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20DELETE\x20FROM\x20'+_0xefbbf2+'\x20WHERE\x20key\x20=\x20$1\x0a\x20\x20\x20\x20\x20\x20\x20\x20RETURNING\x201\x0a\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20SELECT\x20COUNT(*)\x20as\x20count\x20FROM\x20deleted\x0a\x20\x20\x20\x20',_0x28b3bd=[_0x38d23d];return{'sql':_0x426a53,'params':_0x28b3bd};}async['expire'](_0x1a5c0f,_0x2cde7c,_0x2413dd){const {sql:_0x31f08b,params:_0x1eafbc}=this['_expire'](_0x1a5c0f,_0x2cde7c);if(_0x2413dd)return _0x2413dd['addCommand'](_0x31f08b,_0x1eafbc,'boolean'),Promise['resolve'](!![]);else{const _0x5a6bf4=await this['pgClient']['query'](_0x31f08b,_0x1eafbc);return _0x5a6bf4['rowCount']>0x0;}}['_expire'](_0x50ea38,_0x2c4e4f){const _0xbd8c55=this['tableForKey'](_0x50ea38),_0x1c7d89=new Date(Date['now']()+_0x2c4e4f*0x3e8),_0x5df277='\x0a\x20\x20\x20\x20\x20\x20UPDATE\x20'+_0xbd8c55+'\x0a\x20\x20\x20\x20\x20\x20SET\x20expiry\x20=\x20$2\x0a\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x0a\x20\x20\x20\x20\x20\x20RETURNING\x20true\x20as\x20success\x0a\x20\x20\x20\x20',_0x4353b5=[_0x50ea38,_0x1c7d89];return{'sql':_0x5df277,'params':_0x4353b5};}async['hsetnx'](_0x1d1ac4,_0x3486ef,_0x5e9935,_0x351942){const {sql:_0x32a4f3,params:_0x574eab}=this['_hset'](_0x1d1ac4,{[_0x3486ef]:_0x5e9935},{'nx':!![]});if(_0x351942)return _0x351942['addCommand'](_0x32a4f3,_0x574eab,'number'),Promise['resolve'](0x0);else{const _0x2fd95f=await this['pgClient']['query'](_0x32a4f3,_0x574eab);return _0x2fd95f['rowCount'];}}async['hset'](_0xea176,_0x1714f1,_0x43d0ff,_0x5ad1c3){const {sql:_0x3c4d05,params:_0x4bafbe}=this['_hset'](_0xea176,_0x1714f1,_0x43d0ff);if(_0x5ad1c3)return _0x5ad1c3['addCommand'](_0x3c4d05,_0x4bafbe,'number'),Promise['resolve'](0x0);else{const _0x473616=await this['pgClient']['query'](_0x3c4d05,_0x4bafbe);return _0x473616['rowCount'];}}['_hset'](_0x5aad6b,_0x58ebe0,_0x5d259b){let _0x725849='';const _0x51ff86=[_0x5aad6b],_0x4454c8=this['tableForKey'](_0x5aad6b,'hash'),_0x470698=Object['entries'](_0x58ebe0);_0x470698['forEach'](([_0x22c82f,_0x5aa31e],_0x6f023a)=>{_0x51ff86['push'](_0x22c82f,_0x5aa31e);});const _0x339357=_0x470698['map']((_0x40d57c,_0x269ddf)=>'($1,\x20$'+(0x2+_0x269ddf*0x2)+',\x20$'+(0x3+_0x269ddf*0x2)+')')['join'](',\x20');return _0x5d259b?.['nx']?_0x725849='\x0a\x20\x20\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x4454c8+'\x20(key,\x20field,\x20value)\x0a\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20'+_0x339357+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20ON\x20CONFLICT\x20DO\x20NOTHING\x0a\x20\x20\x20\x20\x20\x20\x20\x20RETURNING\x201\x20as\x20count\x0a\x20\x20\x20\x20\x20\x20':_0x725849='\x0a\x20\x20\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x4454c8+'\x20(key,\x20field,\x20value)\x0a\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20'+_0x339357+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20ON\x20CONFLICT\x20(key,\x20field)\x20DO\x20UPDATE\x20SET\x20value\x20=\x20EXCLUDED.value\x0a\x20\x20\x20\x20\x20\x20\x20\x20RETURNING\x201\x20as\x20count\x0a\x20\x20\x20\x20\x20\x20',{'sql':_0x725849,'params':_0x51ff86};}async['hget'](_0x177fce,_0x39b81a,_0x2fa0c5){const {sql:_0x476f29,params:_0x110efb}=this['_hget'](_0x177fce,_0x39b81a);if(_0x2fa0c5)return _0x2fa0c5['addCommand'](_0x476f29,_0x110efb,'string'),Promise['resolve'](null);else{const _0x3d173e=await this['pgClient']['query'](_0x476f29,_0x110efb);return _0x3d173e['rows'][0x0]?.['value']||null;}}['_hget'](_0xccbecf,_0xffbef2){const _0x515905=this['tableForKey'](_0xccbecf,'hash'),_0x4fa4b2='\x0a\x20\x20\x20\x20\x20\x20SELECT\x20value\x20FROM\x20'+_0x515905+'\x0a\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x20AND\x20field\x20=\x20$2\x20AND\x20(expiry\x20IS\x20NULL\x20OR\x20expiry\x20>\x20NOW())\x0a\x20\x20\x20\x20\x20\x20LIMIT\x201\x0a\x20\x20\x20\x20',_0x136e44=[_0xccbecf,_0xffbef2];return{'sql':_0x4fa4b2,'params':_0x136e44};}async['hdel'](_0x1c27ef,_0x1e9c02,_0x37699f){!Array['isArray'](_0x1e9c02)&&(_0x1e9c02=[_0x1e9c02]);const {sql:_0x6239c,params:_0x2a9601}=this['_hdel'](_0x1c27ef,_0x1e9c02);if(_0x37699f)return _0x37699f['addCommand'](_0x6239c,_0x2a9601,'number'),Promise['resolve'](0x0);else{const _0xcbece4=await this['pgClient']['query'](_0x6239c,_0x2a9601);return Number(_0xcbece4['rows'][0x0]?.['count']||0x0);}}['_hdel'](_0x2c94c5,_0x45ce85){const _0x4ad086=this['tableForKey'](_0x2c94c5,'hash'),_0x1a9c0c=_0x45ce85['map']((_0xec7d8d,_0x8821c9)=>'$'+(_0x8821c9+0x2))['join'](',\x20'),_0x165119='\x0a\x20\x20\x20\x20\x20\x20WITH\x20deleted\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20DELETE\x20FROM\x20'+_0x4ad086+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x20AND\x20field\x20IN\x20('+_0x1a9c0c+')\x0a\x20\x20\x20\x20\x20\x20\x20\x20RETURNING\x201\x0a\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20SELECT\x20COUNT(*)\x20as\x20count\x20FROM\x20deleted\x0a\x20\x20\x20\x20',_0x308b8e=[_0x2c94c5,..._0x45ce85];return{'sql':_0x165119,'params':_0x308b8e};}async['hmget'](_0x5a2bae,_0x2ea2f0,_0x239e0b){const {sql:_0x234191,params:_0x280ba9}=this['_hmget'](_0x5a2bae,_0x2ea2f0);if(_0x239e0b)return _0x239e0b['addCommand'](_0x234191,_0x280ba9,'array',_0x1c2389=>{const _0x195761=new Map(_0x1c2389['map'](_0x5318ad=>[_0x5318ad['field'],_0x5318ad['value']]));return _0x2ea2f0['map'](_0x1a2741=>_0x195761['get'](_0x1a2741)||null);}),Promise['resolve']([]);else{const _0x2f0f2e=await this['pgClient']['query'](_0x234191,_0x280ba9),_0x23aef6=new Map(_0x2f0f2e['rows']['map'](_0x5cf2b9=>[_0x5cf2b9['field'],_0x5cf2b9['value']]));return _0x2ea2f0['map'](_0x43bb4c=>_0x23aef6['get'](_0x43bb4c)||null);}}['_hmget'](_0x3ae438,_0x5bfae5){const _0x53f96a=this['tableForKey'](_0x3ae438,'hash'),_0x1b5780='\x0a\x20\x20\x20\x20\x20\x20SELECT\x20field,\x20value\x20FROM\x20'+_0x53f96a+'\x0a\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x20AND\x20field\x20=\x20ANY($2::text[])\x0a\x20\x20\x20\x20',_0x340ab9=[_0x3ae438,_0x5bfae5];return{'sql':_0x1b5780,'params':_0x340ab9};}async['hgetall'](_0x138528,_0x3f3335){const {sql:_0x4ce2ff,params:_0x51cbe6}=this['_hgetall'](_0x138528);if(_0x3f3335)return _0x3f3335['addCommand'](_0x4ce2ff,_0x51cbe6,'object',_0x3a583d=>{const _0x4de807={};for(const _0x1eaf38 of _0x3a583d){_0x4de807[_0x1eaf38['field']]=_0x1eaf38['value'];}return _0x4de807;}),Promise['resolve']({});else{const _0x45ab90=await this['pgClient']['query'](_0x4ce2ff,_0x51cbe6),_0x4fe579={};for(const _0x2e0af9 of _0x45ab90['rows']){_0x4fe579[_0x2e0af9['field']]=_0x2e0af9['value'];}return _0x4fe579;}}['_hgetall'](_0xdc3dd){const _0xfd8944=this['tableForKey'](_0xdc3dd,'hash'),_0x2f3bb4='\x0a\x20\x20\x20\x20\x20\x20SELECT\x20field,\x20value\x20FROM\x20'+_0xfd8944+'\x0a\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x20AND\x20(expiry\x20IS\x20NULL\x20OR\x20expiry\x20>\x20NOW())\x0a\x20\x20\x20\x20',_0x195705=[_0xdc3dd];return{'sql':_0x2f3bb4,'params':_0x195705};}async['hincrbyfloat'](_0x4d7a57,_0x4b2d92,_0x51fb70,_0x3d4a9b){const {sql:_0x10c09d,params:_0x42643e}=this['_hincrbyfloat'](_0x4d7a57,_0x4b2d92,_0x51fb70);if(_0x3d4a9b)return _0x3d4a9b['addCommand'](_0x10c09d,_0x42643e,'number',_0x2f06c9=>parseFloat(_0x2f06c9[0x0]['value'])),Promise['resolve'](0x0);else{const _0x133b6c=await this['pgClient']['query'](_0x10c09d,_0x42643e);return parseFloat(_0x133b6c['rows'][0x0]['value']);}}['_hincrbyfloat'](_0x236532,_0x3b0bea,_0x300dde){const _0x4d2c9e=this['tableForKey'](_0x236532,'hash'),_0x4211bb='\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x4d2c9e+'\x20(key,\x20field,\x20value)\x0a\x20\x20\x20\x20\x20\x20VALUES\x20($1,\x20$2,\x20($3)::text)\x0a\x20\x20\x20\x20\x20\x20ON\x20CONFLICT\x20(key,\x20field)\x20DO\x20UPDATE\x20SET\x20value\x20=\x20('+_0x4d2c9e+'.value::double\x20precision\x20+\x20$3::double\x20precision)::text\x0a\x20\x20\x20\x20\x20\x20RETURNING\x20value\x0a\x20\x20\x20\x20',_0x10fe6a=[_0x236532,_0x3b0bea,_0x300dde];return{'sql':_0x4211bb,'params':_0x10fe6a};}async['hscan'](_0x5d718a,_0x5e5abf,_0x208d98=0xa,_0x575259,_0x5881f9){const {sql:_0x3a16b3,params:_0x308fea}=this['_hscan'](_0x5d718a,_0x5e5abf,_0x208d98,_0x575259);if(_0x5881f9)return _0x5881f9['addCommand'](_0x3a16b3,_0x308fea,'object',_0x49a71a=>{const _0x1925c6={};for(const _0x478aa5 of _0x49a71a){_0x1925c6[_0x478aa5['field']]=_0x478aa5['value'];}const _0xe50347=_0x49a71a['length']<_0x208d98?0x0:Number(_0x5e5abf)+_0x49a71a['length'];return{'cursor':_0xe50347['toString'](),'items':_0x1925c6};}),Promise['resolve']({'cursor':'0','items':{}});else{const _0x4a9d42=await this['pgClient']['query'](_0x3a16b3,_0x308fea),_0x1b6599={};for(const _0x529cc8 of _0x4a9d42['rows']){_0x1b6599[_0x529cc8['field']]=_0x529cc8['value'];}const _0x20a842=_0x4a9d42['rowCount']<_0x208d98?0x0:Number(_0x5e5abf)+_0x4a9d42['rowCount'];return{'cursor':_0x20a842['toString'](),'items':_0x1b6599};}}['_hscan'](_0x3f1d10,_0x110b11,_0x2bf1ec,_0x26941b){const _0x4cecd9=this['tableForKey'](_0x3f1d10,'hash'),_0x104854=[_0x3f1d10];let _0x52c072='\x0a\x20\x20\x20\x20\x20\x20SELECT\x20field,\x20value\x20FROM\x20'+_0x4cecd9+'\x0a\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x20AND\x20(expiry\x20IS\x20NULL\x20OR\x20expiry\x20>\x20NOW())\x0a\x20\x20\x20\x20',_0x52b6bc=0x2;if(_0x26941b){const _0x56ac5d=_0x26941b['replace'](/\*/g,'%');_0x52c072+='\x20AND\x20field\x20LIKE\x20$'+_0x52b6bc,_0x104854['push'](_0x56ac5d),_0x52b6bc++;}return _0x52c072+='\x0a\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20field\x0a\x20\x20\x20\x20\x20\x20OFFSET\x20$'+_0x52b6bc+'\x20LIMIT\x20$'+(_0x52b6bc+0x1)+'\x0a\x20\x20\x20\x20',_0x104854['push'](_0x110b11['toString']()),_0x104854['push'](_0x2bf1ec['toString']()),{'sql':_0x52c072,'params':_0x104854};}async['lrange'](_0x3d4f72,_0x48ed1d,_0x729f35,_0x4b67da){const {sql:_0x1d0bd6,params:_0x47d5ab}=this['_lrange'](_0x3d4f72,_0x48ed1d,_0x729f35);if(_0x4b67da)return _0x4b67da['addCommand'](_0x1d0bd6,_0x47d5ab,'array',_0x2ca420=>_0x2ca420['map'](_0x24878b=>_0x24878b['value'])),Promise['resolve']([]);else{const _0x2f8386=await this['pgClient']['query'](_0x1d0bd6,_0x47d5ab);return _0x2f8386['rows']['map'](_0x307700=>_0x307700['value']);}}['_lrange'](_0x34c97f,_0x410b01,_0x4f33cf){const _0x5a9daa=this['tableForKey'](_0x34c97f,'list'),_0x5d8e3b='\x0a\x20\x20\x20\x20\x20\x20WITH\x20numbered\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20value,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ROW_NUMBER()\x20OVER\x20(ORDER\x20BY\x20\x22index\x22\x20ASC)\x20-\x201\x20AS\x20rn,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20COUNT(*)\x20OVER()\x20-\x201\x20AS\x20max_index\x0a\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0x5a9daa+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x20AND\x20(expiry\x20IS\x20NULL\x20OR\x20expiry\x20>\x20NOW())\x0a\x20\x20\x20\x20\x20\x20),\x0a\x20\x20\x20\x20\x20\x20indices\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20LEAST(GREATEST(CASE\x20WHEN\x20$2\x20>=\x200\x20THEN\x20$2\x20ELSE\x20max_index\x20+\x20$2\x20+\x201\x20END,\x200),\x20max_index)\x20AS\x20adjusted_start,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20LEAST(GREATEST(CASE\x20WHEN\x20$3\x20>=\x200\x20THEN\x20$3\x20ELSE\x20max_index\x20+\x20$3\x20+\x201\x20END,\x200),\x20max_index)\x20AS\x20adjusted_end\x0a\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20(SELECT\x20max_index\x20FROM\x20numbered\x20LIMIT\x201)\x20AS\x20mi\x0a\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20SELECT\x20value\x0a\x20\x20\x20\x20\x20\x20FROM\x20numbered,\x20indices\x0a\x20\x20\x20\x20\x20\x20WHERE\x20rn\x20BETWEEN\x20indices.adjusted_start\x20AND\x20indices.adjusted_end\x0a\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20rn\x20ASC\x0a\x20\x20\x20\x20',_0x3d410a=[_0x34c97f,_0x410b01,_0x4f33cf];return{'sql':_0x5d8e3b,'params':_0x3d410a};}async['rpush'](_0x45e1a1,_0x5c6335,_0x34dae5){const {sql:_0x80b3fa,params:_0x501bb8}=this['_rpush'](_0x45e1a1,_0x5c6335);if(_0x34dae5)return _0x34dae5['addCommand'](_0x80b3fa,_0x501bb8,'number',_0x4f6512=>_0x4f6512[0x0]?.['count']||0x0),Promise['resolve'](0x0);else{const _0x286cf6=await this['pgClient']['query'](_0x80b3fa,_0x501bb8);return Number(_0x286cf6['rows'][0x0]?.['count']||0x0);}}['_rpush'](_0x474ae6,_0x36fecf){const _0x5390ba=this['tableForKey'](_0x474ae6,'list'),_0x267e7d=Array['isArray'](_0x36fecf)?_0x36fecf:[_0x36fecf],_0x5d7759=_0x267e7d['map']((_0x572172,_0x18fab5)=>'($1,\x20(SELECT\x20COALESCE(MAX(\x22index\x22),\x200)\x20+\x20'+(_0x18fab5+0x1)+'\x20FROM\x20'+_0x5390ba+'\x20WHERE\x20key\x20=\x20$1),\x20$'+(_0x18fab5+0x2)+')')['join'](',\x20'),_0x1efef6='\x0a\x20\x20\x20\x20\x20\x20WITH\x20inserted\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x5390ba+'\x20(key,\x20\x22index\x22,\x20value)\x0a\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20'+_0x5d7759+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20RETURNING\x201\x0a\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20SELECT\x20COUNT(*)\x20as\x20count\x20FROM\x20inserted\x0a\x20\x20\x20\x20',_0x2c0fe1=[_0x474ae6,..._0x267e7d];return{'sql':_0x1efef6,'params':_0x2c0fe1};}async['lpush'](_0x48db31,_0x465237,_0x35584c){const {sql:_0x20b8fc,params:_0x2ecb3f}=this['_lpush'](_0x48db31,_0x465237);if(_0x35584c)return _0x35584c['addCommand'](_0x20b8fc,_0x2ecb3f,'number',_0x17507a=>_0x17507a[0x0]?.['count']||0x0),Promise['resolve'](0x0);else{const _0x456810=await this['pgClient']['query'](_0x20b8fc,_0x2ecb3f);return Number(_0x456810['rows'][0x0]?.['count']||0x0);}}['_lpush'](_0x5ba0ff,_0x3a874f){const _0x30005d=this['tableForKey'](_0x5ba0ff,'list'),_0x3a0b7e=Array['isArray'](_0x3a874f)?_0x3a874f:[_0x3a874f],_0xbe00ef=_0x3a0b7e['map']((_0x38e3b8,_0x13da63)=>'($1,\x20(SELECT\x20COALESCE(MIN(\x22index\x22),\x200)\x20-\x20'+(_0x13da63+0x1)+'\x20FROM\x20'+_0x30005d+'\x20WHERE\x20key\x20=\x20$1),\x20$'+(_0x13da63+0x2)+')')['join'](',\x20'),_0x9e54ae='\x0a\x20\x20\x20\x20\x20\x20WITH\x20inserted\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x30005d+'\x20(key,\x20\x22index\x22,\x20value)\x0a\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20'+_0xbe00ef+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20RETURNING\x201\x0a\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20SELECT\x20COUNT(*)\x20as\x20count\x20FROM\x20inserted\x0a\x20\x20\x20\x20',_0x4dc423=[_0x5ba0ff,..._0x3a0b7e];return{'sql':_0x9e54ae,'params':_0x4dc423};}async['lpop'](_0xcab99a,_0x2f7306){const {sql:_0x4f9cb7,params:_0x255c5e}=this['_lpop'](_0xcab99a);if(_0x2f7306)return _0x2f7306['addCommand'](_0x4f9cb7,_0x255c5e,'string'),Promise['resolve'](null);else{const _0x1819e5=await this['pgClient']['query'](_0x4f9cb7,_0x255c5e);return _0x1819e5['rows'][0x0]?.['value']||null;}}['_lpop'](_0x476236){const _0xee5f19=this['tableForKey'](_0x476236,'list'),_0xca0130='\x0a\x20\x20\x20\x20\x20\x20DELETE\x20FROM\x20'+_0xee5f19+'\x0a\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x20AND\x20\x22index\x22\x20=\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20MIN(\x22index\x22)\x20FROM\x20'+_0xee5f19+'\x20WHERE\x20key\x20=\x20$1\x20AND\x20(expiry\x20IS\x20NULL\x20OR\x20expiry\x20>\x20NOW())\x0a\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20RETURNING\x20value\x0a\x20\x20\x20\x20',_0x11fc65=[_0x476236];return{'sql':_0xca0130,'params':_0x11fc65};}async['lmove'](_0x1cc107,_0x487dc9,_0x41ea08,_0x320a17,_0x464816){const {sql:_0x22c783,params:_0x3f0375}=this['_lmove'](_0x1cc107,_0x487dc9,_0x41ea08,_0x320a17);if(_0x464816)return _0x464816['addCommand'](_0x22c783,_0x3f0375,'string'),Promise['resolve'](null);else{const _0x19d94f=this['pgClient'];try{await _0x19d94f['query']('BEGIN');const _0x4296aa=await _0x19d94f['query'](_0x22c783,_0x3f0375);return await _0x19d94f['query']('COMMIT'),_0x4296aa['rows'][0x0]?.['value']||null;}catch(_0x5d8058){await _0x19d94f['query']('ROLLBACK');throw _0x5d8058;}}}['_lmove'](_0x1c7cd9,_0x5ce648,_0x388cd3,_0x4367ec){const _0x5dc785=this['tableForKey'](_0x1c7cd9,'list'),_0x3d2e09=_0x388cd3==='LEFT'?'ASC':'DESC',_0x452dbe=_0x4367ec==='LEFT'?'(SELECT\x20COALESCE(MIN(\x22index\x22),\x200)\x20-\x201\x20FROM\x20'+_0x5dc785+'\x20WHERE\x20key\x20=\x20$2)':'(SELECT\x20COALESCE(MAX(\x22index\x22),\x200)\x20+\x201\x20FROM\x20'+_0x5dc785+'\x20WHERE\x20key\x20=\x20$2)',_0x1b6da7='\x0a\x20\x20\x20\x20\x20\x20WITH\x20moved\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20DELETE\x20FROM\x20'+_0x5dc785+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20ctid\x20IN\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20ctid\x20FROM\x20'+_0x5dc785+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x20AND\x20(expiry\x20IS\x20NULL\x20OR\x20expiry\x20>\x20NOW())\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20\x22index\x22\x20'+_0x3d2e09+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20LIMIT\x201\x0a\x20\x20\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20\x20\x20RETURNING\x20value\x0a\x20\x20\x20\x20\x20\x20),\x0a\x20\x20\x20\x20\x20\x20inserted\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x5dc785+'\x20(key,\x20\x22index\x22,\x20value)\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20$2,\x20'+_0x452dbe+',\x20value\x20FROM\x20moved\x0a\x20\x20\x20\x20\x20\x20\x20\x20RETURNING\x20value\x0a\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20SELECT\x20value\x20FROM\x20inserted\x0a\x20\x20\x20\x20',_0xabc8e4=[_0x1c7cd9,_0x5ce648];return{'sql':_0x1b6da7,'params':_0xabc8e4};}async['zadd'](_0x1906e8,_0xe2bfc2,_0x4f432e,_0x3b8e26,_0x31f0ae){const {sql:_0x19225c,params:_0x2280f3}=this['_zadd'](_0x1906e8,_0xe2bfc2,_0x4f432e,_0x3b8e26);if(_0x31f0ae)return _0x31f0ae['addCommand'](_0x19225c,_0x2280f3,'number',_0x1d62e3=>_0x1d62e3[0x0]?.['count']||0x0),Promise['resolve'](0x0);else{const _0x1ecaf8=await this['pgClient']['query'](_0x19225c,_0x2280f3);return Number(_0x1ecaf8['rows'][0x0]?.['count']||0x0);}}['_zadd'](_0xa158f2,_0x59281b,_0x4c02ca,_0x151146){const _0x28c1b3=this['tableForKey'](_0xa158f2,'sorted_set');let _0x30ec58='';const _0x4cefb6=[_0xa158f2,_0x4c02ca,_0x59281b];return _0x151146?.['nx']?_0x30ec58='\x0a\x20\x20\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x28c1b3+'\x20(key,\x20member,\x20score)\x0a\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20($1,\x20$2,\x20$3)\x0a\x20\x20\x20\x20\x20\x20\x20\x20ON\x20CONFLICT\x20DO\x20NOTHING\x0a\x20\x20\x20\x20\x20\x20\x20\x20RETURNING\x201\x20as\x20count\x0a\x20\x20\x20\x20\x20\x20':_0x30ec58='\x0a\x20\x20\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x28c1b3+'\x20(key,\x20member,\x20score)\x0a\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20($1,\x20$2,\x20$3)\x0a\x20\x20\x20\x20\x20\x20\x20\x20ON\x20CONFLICT\x20(key,\x20member)\x20DO\x20UPDATE\x20SET\x20score\x20=\x20$3\x0a\x20\x20\x20\x20\x20\x20\x20\x20RETURNING\x201\x20as\x20count\x0a\x20\x20\x20\x20\x20\x20',{'sql':_0x30ec58,'params':_0x4cefb6};}async['zrange'](_0x30eda1,_0x2bc95a,_0x1d8282,_0x13f796,_0x401bd7){const {sql:_0x4bffc1,params:_0x3cfa31}=this['_zrange'](_0x30eda1,_0x2bc95a,_0x1d8282,_0x13f796);if(_0x401bd7)return _0x401bd7['addCommand'](_0x4bffc1,_0x3cfa31,'array',_0x42e37a=>{return _0x13f796==='WITHSCORES'?_0x42e37a['flatMap'](_0x2e1f53=>[_0x2e1f53['member'],_0x2e1f53['score']['toString']()]):_0x42e37a['map'](_0x1973f2=>_0x1973f2['member']);}),Promise['resolve']([]);else{const _0x55001c=await this['pgClient']['query'](_0x4bffc1,_0x3cfa31);return _0x13f796==='WITHSCORES'?_0x55001c['rows']['flatMap'](_0x11d28f=>[_0x11d28f['member'],_0x11d28f['score']['toString']()]):_0x55001c['rows']['map'](_0x4a0360=>_0x4a0360['member']);}}['_zrange'](_0x3016de,_0x5d45c5,_0x4a97d6,_0x2d1f2d){const _0x22bad4=this['tableForKey'](_0x3016de,'sorted_set'),_0x224e88=_0x2d1f2d==='WITHSCORES'?'member,\x20score':'member',_0x19b690='\x0a\x20\x20\x20\x20\x20\x20WITH\x20total_entries\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20COUNT(*)\x20-\x201\x20AS\x20max_index\x20FROM\x20'+_0x22bad4+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x20AND\x20(expiry\x20IS\x20NULL\x20OR\x20expiry\x20>\x20NOW())\x0a\x20\x20\x20\x20\x20\x20),\x20ordered_entries\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20'+_0x224e88+',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ROW_NUMBER()\x20OVER\x20(ORDER\x20BY\x20score\x20ASC,\x20member\x20ASC)\x20-\x201\x20AS\x20rn,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(SELECT\x20max_index\x20FROM\x20total_entries)\x20AS\x20max_index\x0a\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0x22bad4+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x20AND\x20(expiry\x20IS\x20NULL\x20OR\x20expiry\x20>\x20NOW())\x0a\x20\x20\x20\x20\x20\x20),\x20indices\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CASE\x20WHEN\x20$2\x20>=\x200\x20THEN\x20$2\x20ELSE\x20max_index\x20+\x20$2\x20+\x201\x20END\x20AS\x20adjusted_start,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CASE\x20WHEN\x20$3\x20>=\x200\x20THEN\x20$3\x20ELSE\x20max_index\x20+\x20$3\x20+\x201\x20END\x20AS\x20adjusted_stop\x0a\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20total_entries\x0a\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20SELECT\x20'+_0x224e88+'\x0a\x20\x20\x20\x20\x20\x20FROM\x20ordered_entries,\x20indices\x0a\x20\x20\x20\x20\x20\x20WHERE\x20rn\x20BETWEEN\x20LEAST(GREATEST(adjusted_start,\x200),\x20max_index)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20AND\x20LEAST(GREATEST(adjusted_stop,\x200),\x20max_index)\x0a\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20rn\x20ASC;\x0a\x20\x20\x20\x20',_0x18015a=[_0x3016de,_0x5d45c5,_0x4a97d6];return{'sql':_0x19b690,'params':_0x18015a};}async['zscore'](_0x539464,_0x42cb28,_0x2f0a68){const {sql:_0xd48cb,params:_0x3cd7d5}=this['_zscore'](_0x539464,_0x42cb28);if(_0x2f0a68)return _0x2f0a68['addCommand'](_0xd48cb,_0x3cd7d5,'single',_0x3caf58=>{return _0x3caf58?parseFloat(_0x3caf58['score']):null;}),Promise['resolve'](null);else{const _0x46246f=await this['pgClient']['query'](_0xd48cb,_0x3cd7d5);return _0x46246f['rows']['length']?parseFloat(_0x46246f['rows'][0x0]['score']):null;}}['_zscore'](_0x8227b8,_0x5a3c31){const _0x4ae2b0=this['tableForKey'](_0x8227b8,'sorted_set'),_0x2c871a='\x0a\x20\x20\x20\x20\x20\x20SELECT\x20score\x0a\x20\x20\x20\x20\x20\x20FROM\x20'+_0x4ae2b0+'\x0a\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x20AND\x20member\x20=\x20$2\x0a\x20\x20\x20\x20\x20\x20\x20\x20AND\x20(expiry\x20IS\x20NULL\x20OR\x20expiry\x20>\x20NOW())\x0a\x20\x20\x20\x20\x20\x20LIMIT\x201\x0a\x20\x20\x20\x20',_0x581fc8=[_0x8227b8,_0x5a3c31];return{'sql':_0x2c871a,'params':_0x581fc8};}async['zrangebyscore'](_0x633d01,_0x5d2703,_0x5e27cc,_0x315996){const {sql:_0x10a596,params:_0x4da9b6}=this['_zrangebyscore'](_0x633d01,_0x5d2703,_0x5e27cc);if(_0x315996)return _0x315996['addCommand'](_0x10a596,_0x4da9b6,'array',_0x169468=>_0x169468['map'](_0x44dd0a=>_0x44dd0a['member'])),Promise['resolve']([]);else{const _0x332367=await this['pgClient']['query'](_0x10a596,_0x4da9b6);return _0x332367['rows']['map'](_0x59bf7d=>_0x59bf7d['member']);}}['_zrangebyscore'](_0x1e5038,_0x18754b,_0x5ed304){const _0x3f2285=this['tableForKey'](_0x1e5038,'sorted_set'),_0x1a3416='\x0a\x20\x20\x20\x20\x20\x20SELECT\x20member\x20FROM\x20'+_0x3f2285+'\x0a\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x20AND\x20score\x20BETWEEN\x20$2\x20AND\x20$3\x20AND\x20(expiry\x20IS\x20NULL\x20OR\x20expiry\x20>\x20NOW())\x0a\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20score\x20ASC,\x20member\x20ASC\x0a\x20\x20\x20\x20',_0x3a275e=[_0x1e5038,_0x18754b,_0x5ed304];return{'sql':_0x1a3416,'params':_0x3a275e};}async['zrangebyscore_withscores'](_0x3336f2,_0x5b584a,_0x1031cf,_0x4ab1f0){const {sql:_0x25c28f,params:_0x465fb7}=this['_zrangebyscore_withscores'](_0x3336f2,_0x5b584a,_0x1031cf);if(_0x4ab1f0)return _0x4ab1f0['addCommand'](_0x25c28f,_0x465fb7,'array',_0x2a1e03=>_0x2a1e03['map'](_0x44cd54=>({'member':_0x44cd54['member'],'score':_0x44cd54['score']}))),Promise['resolve']([]);else{const _0x305c48=await this['pgClient']['query'](_0x25c28f,_0x465fb7);return _0x305c48['rows']['map'](_0x278c7c=>({'member':_0x278c7c['member'],'score':_0x278c7c['score']}));}}['_zrangebyscore_withscores'](_0x3e68ad,_0x53dafb,_0x21bd2b){const _0x2c054b=this['tableForKey'](_0x3e68ad,'sorted_set'),_0x4de5c7='\x0a\x20\x20\x20\x20\x20\x20SELECT\x20member,\x20score\x20FROM\x20'+_0x2c054b+'\x0a\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x20AND\x20score\x20BETWEEN\x20$2\x20AND\x20$3\x20AND\x20(expiry\x20IS\x20NULL\x20OR\x20expiry\x20>\x20NOW())\x0a\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20score\x20ASC,\x20member\x20ASC\x0a\x20\x20\x20\x20',_0xd0b7a0=[_0x3e68ad,_0x53dafb,_0x21bd2b];return{'sql':_0x4de5c7,'params':_0xd0b7a0};}async['zrem'](_0x5bb092,_0x51510,_0x311c43){const {sql:_0x2bdd2b,params:_0x1f4346}=this['_zrem'](_0x5bb092,_0x51510);if(_0x311c43)return _0x311c43['addCommand'](_0x2bdd2b,_0x1f4346,'number',_0x3f655d=>_0x3f655d[0x0]?.['count']||0x0),Promise['resolve'](0x0);else{const _0x1b1d68=await this['pgClient']['query'](_0x2bdd2b,_0x1f4346);return Number(_0x1b1d68['rows'][0x0]?.['count']||0x0);}}['_zrem'](_0x27fec7,_0x8ea6fb){const _0x42b60c=this['tableForKey'](_0x27fec7,'sorted_set'),_0x53ead2='\x0a\x20\x20\x20\x20\x20\x20WITH\x20deleted\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20DELETE\x20FROM\x20'+_0x42b60c+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x20AND\x20member\x20=\x20$2\x0a\x20\x20\x20\x20\x20\x20\x20\x20RETURNING\x201\x0a\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20SELECT\x20COUNT(*)\x20as\x20count\x20FROM\x20deleted\x0a\x20\x20\x20\x20',_0xec80eb=[_0x27fec7,_0x8ea6fb];return{'sql':_0x53ead2,'params':_0xec80eb};}async['zrank'](_0x393a58,_0x132a09,_0x4463fb){const {sql:_0x31cbcd,params:_0x1f15bc}=this['_zrank'](_0x393a58,_0x132a09);if(_0x4463fb)return _0x4463fb['addCommand'](_0x31cbcd,_0x1f15bc,'number',_0x46258e=>_0x46258e[0x0]?.['rank']!==undefined?parseInt(_0x46258e[0x0]['rank'],0xa)-0x1:null),Promise['resolve'](null);else{const _0x520d29=await this['pgClient']['query'](_0x31cbcd,_0x1f15bc);return _0x520d29['rows'][0x0]?.['rank']?parseInt(_0x520d29['rows'][0x0]['rank'],0xa)>0x0?parseInt(_0x520d29['rows'][0x0]['rank'],0xa)-0x1:null:null;}}['_zrank'](_0x543da4,_0x4dbb10){const _0x4cad65=this['tableForKey'](_0x543da4,'sorted_set'),_0x153f59='\x0a\x20\x20\x20\x20\x20\x20WITH\x20member_score\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20score\x20FROM\x20'+_0x4cad65+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x20AND\x20member\x20=\x20$2\x20AND\x20(expiry\x20IS\x20NULL\x20OR\x20expiry\x20>\x20NOW())\x0a\x20\x20\x20\x20\x20\x20)\x0a\x20\x20\x20\x20\x20\x20SELECT\x20COUNT(*)\x20AS\x20rank\x20FROM\x20'+_0x4cad65+'\x20ms,\x20member_score\x0a\x20\x20\x20\x20\x20\x20WHERE\x20ms.key\x20=\x20$1\x20AND\x20(expiry\x20IS\x20NULL\x20OR\x20expiry\x20>\x20NOW())\x0a\x20\x20\x20\x20\x20\x20AND\x20(ms.score\x20<\x20member_score.score\x20OR\x20(ms.score\x20=\x20member_score.score\x20AND\x20ms.member\x20<\x20$2))\x0a\x20\x20\x20\x20',_0x48c637=[_0x543da4,_0x4dbb10];return{'sql':_0x153f59,'params':_0x48c637};}async['scan'](_0x4012c6,_0x5e439f=0xa,_0x42e8cc,_0x2458a8){const {sql:_0xff464f,params:_0x305dfe}=this['_scan'](_0x4012c6,_0x5e439f,_0x42e8cc);if(_0x2458a8)return _0x2458a8['addCommand'](_0xff464f,_0x305dfe,'object',_0x4d541b=>{const _0x1c4fb3=_0x4d541b['map'](_0x49241d=>_0x49241d['key']),_0x358f44=_0x4012c6+_0x4d541b['length'];return{'cursor':_0x358f44,'keys':_0x1c4fb3};}),Promise['resolve']({'cursor':0x0,'keys':[]});else{const _0x45ae52=await this['pgClient']['query'](_0xff464f,_0x305dfe),_0x3da3c4=_0x45ae52['rows']['map'](_0x2bac57=>_0x2bac57['key']),_0x365dc8=_0x4012c6+_0x45ae52['rowCount'];return{'cursor':_0x365dc8,'keys':_0x3da3c4};}}['_scan'](_0x27fcfd,_0x2ef95f,_0x52716a){const _0x6ac279=this['tableForKey']('_:'+this['appId']+':j:_');let _0x21e279='\x0a\x20\x20\x20\x20\x20\x20SELECT\x20key\x20FROM\x20'+_0x6ac279+'\x0a\x20\x20\x20\x20\x20\x20WHERE\x20(expiry\x20IS\x20NULL\x20OR\x20expiry\x20>\x20NOW())\x0a\x20\x20\x20\x20';const _0x4c9496=[];return _0x52716a&&(_0x21e279+='\x20AND\x20key\x20LIKE\x20$1',_0x4c9496['push'](_0x52716a['replace'](/\*/g,'%'))),_0x21e279+='\x0a\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20key\x0a\x20\x20\x20\x20\x20\x20OFFSET\x20$'+(_0x4c9496['length']+0x1)+'\x20LIMIT\x20$'+(_0x4c9496['length']+0x2)+'\x0a\x20\x20\x20\x20',_0x4c9496['push'](_0x27fcfd['toString']()),_0x4c9496['push'](_0x2ef95f['toString']()),{'sql':_0x21e279,'params':_0x4c9496};}async['rename'](_0x50c7ff,_0x4a157c,_0x28e8fb){const {sql:_0x330ace,params:_0x787c22}=this['_rename'](_0x50c7ff,_0x4a157c);if(_0x28e8fb)return _0x28e8fb['addCommand'](_0x330ace,_0x787c22,'void'),Promise['resolve']();else{const _0x57664d=this['pgClient'];try{await _0x57664d['query']('BEGIN'),await _0x57664d['query'](_0x330ace,_0x787c22),await _0x57664d['query']('COMMIT');}catch(_0x469e5a){await _0x57664d['query']('ROLLBACK');throw _0x469e5a;}}}['_rename'](_0x8e95fe,_0x1e7080){const _0x179fa3=this['tableForKey'](_0x8e95fe,'list'),_0x5db4c9='\x0a\x20\x20\x20\x20\x20\x20UPDATE\x20'+_0x179fa3+'\x20SET\x20key\x20=\x20$2\x20WHERE\x20key\x20=\x20$1;\x0a\x20\x20\x20\x20',_0x1161f4=[_0x8e95fe,_0x1e7080];return{'sql':_0x5db4c9,'params':_0x1161f4};}async['exists'](_0xfa9756){const {sql:_0x547af2,params:_0x3a309a}=this['_exists'](_0xfa9756),_0x11aadf=await this['pgClient']['query'](_0x547af2,_0x3a309a);return _0x11aadf['rows']['length']?_0x11aadf['rows'][0x0]['table_name']:0x0;}['_exists'](_0xd2aa4c){const _0x31109f=this['tableForKey'](_0xd2aa4c),_0x503163='\x0a\x20\x20\x20\x20\x20\x20SELECT\x20FROM\x20'+_0x31109f+'\x0a\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x0a\x20\x20\x20\x20\x20\x20\x20\x20AND\x20(expiry\x20IS\x20NULL\x20OR\x20expiry\x20>\x20NOW())\x0a\x20\x20\x20\x20\x20\x20LIMIT\x201;\x0a\x20\x20\x20\x20',_0x4bfed4=[_0xd2aa4c];return{'sql':_0x503163,'params':_0x4bfed4};}}exports['KVSQL']=KVSQL;
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { KeyStoreParams, KeyType } from '../../../../modules/key';
|
|
2
|
+
import { ILogger } from '../../../logger';
|
|
3
|
+
import { ActivityType, Consumes } from '../../../../types/activity';
|
|
4
|
+
import { AppVID } from '../../../../types/app';
|
|
5
|
+
import { HookRule, HookSignal } from '../../../../types/hook';
|
|
6
|
+
import { HotMeshApp, HotMeshApps, HotMeshSettings } from '../../../../types/hotmesh';
|
|
7
|
+
import { ProviderClient, ProviderTransaction } from '../../../../types/provider';
|
|
8
|
+
import { SymbolSets, StringStringType, StringAnyType, Symbols } from '../../../../types/serializer';
|
|
9
|
+
import { IdsData, JobStatsRange, StatsType } from '../../../../types/stats';
|
|
10
|
+
import { Transitions } from '../../../../types/transition';
|
|
11
|
+
import { JobInterruptOptions } from '../../../../types/job';
|
|
12
|
+
import { WorkListTaskType } from '../../../../types/task';
|
|
13
|
+
import { ThrottleOptions } from '../../../../types/quorum';
|
|
14
|
+
import { StoreService } from '../..';
|
|
15
|
+
import { KVSQL } from './kvsql';
|
|
16
|
+
import { PostgresClientType } from '../../../../types';
|
|
17
|
+
declare class PostgresStoreService extends StoreService<ProviderClient, ProviderTransaction> {
|
|
18
|
+
pgClient: PostgresClientType;
|
|
19
|
+
transact(): ProviderTransaction;
|
|
20
|
+
constructor(storeClient: ProviderClient);
|
|
21
|
+
init(namespace: string, appId: string, logger: ILogger): Promise<HotMeshApps>;
|
|
22
|
+
deploy(appName: string): Promise<void>;
|
|
23
|
+
getAdvisoryLockId(appName: string): number;
|
|
24
|
+
hashStringToInt(str: string): number;
|
|
25
|
+
waitForTablesCreation(client: PostgresClientType, lockId: number, appName: string): Promise<void>;
|
|
26
|
+
checkIfTablesExist(client: PostgresClientType, appName: string): Promise<boolean>;
|
|
27
|
+
createTables(client: PostgresClientType, appName: string): Promise<void>;
|
|
28
|
+
getTableNames(appName: string): string[];
|
|
29
|
+
getTableDefinitions(appName: string): Array<{
|
|
30
|
+
name: string;
|
|
31
|
+
type: string;
|
|
32
|
+
}>;
|
|
33
|
+
isSuccessful(result: any): boolean;
|
|
34
|
+
delistSignalKey(key: string, target: string): Promise<void>;
|
|
35
|
+
zAdd(key: string, score: number | string, value: string | number, transaction?: ProviderTransaction): Promise<any>;
|
|
36
|
+
zRangeByScore(key: string, score: number | string, value: string | number): Promise<string | null>;
|
|
37
|
+
mintKey(type: KeyType, params: KeyStoreParams): string;
|
|
38
|
+
kvsql(transaction?: ProviderTransaction): KVSQL;
|
|
39
|
+
invalidateCache(): void;
|
|
40
|
+
reserveScoutRole(scoutType: 'time' | 'signal' | 'activate', delay?: number): Promise<boolean>;
|
|
41
|
+
releaseScoutRole(scoutType: 'time' | 'signal' | 'activate'): Promise<boolean>;
|
|
42
|
+
getSettings(bCreate?: boolean): Promise<HotMeshSettings>;
|
|
43
|
+
setSettings(manifest: HotMeshSettings): Promise<any>;
|
|
44
|
+
reserveSymbolRange(target: string, size: number, type: 'JOB' | 'ACTIVITY', tryCount?: number): Promise<[number, number, Symbols]>;
|
|
45
|
+
getAllSymbols(): Promise<Symbols>;
|
|
46
|
+
getSymbols(activityId: string): Promise<Symbols>;
|
|
47
|
+
addSymbols(activityId: string, symbols: Symbols): Promise<boolean>;
|
|
48
|
+
seedSymbols(target: string, type: 'JOB' | 'ACTIVITY', startIndex: number): StringStringType;
|
|
49
|
+
seedJobSymbols(startIndex: number): StringStringType;
|
|
50
|
+
seedActivitySymbols(startIndex: number, activityId: string): StringStringType;
|
|
51
|
+
getSymbolValues(): Promise<Symbols>;
|
|
52
|
+
addSymbolValues(symvals: Symbols): Promise<boolean>;
|
|
53
|
+
getSymbolKeys(symbolNames: string[]): Promise<SymbolSets>;
|
|
54
|
+
getApp(id: string, refresh?: boolean): Promise<HotMeshApp>;
|
|
55
|
+
setApp(id: string, version: string): Promise<HotMeshApp>;
|
|
56
|
+
activateAppVersion(id: string, version: string): Promise<boolean>;
|
|
57
|
+
registerAppVersion(appId: string, version: string): Promise<any>;
|
|
58
|
+
setStats(jobKey: string, jobId: string, dateTime: string, stats: StatsType, appVersion: AppVID, transaction?: ProviderTransaction): Promise<any>;
|
|
59
|
+
hGetAllResult(result: any): any;
|
|
60
|
+
getJobStats(jobKeys: string[]): Promise<JobStatsRange>;
|
|
61
|
+
getJobIds(indexKeys: string[], idRange: [number, number]): Promise<IdsData>;
|
|
62
|
+
setStatus(collationKeyStatus: number, jobId: string, appId: string, transaction?: ProviderTransaction): Promise<any>;
|
|
63
|
+
getStatus(jobId: string, appId: string): Promise<number>;
|
|
64
|
+
setState({ ...state }: StringAnyType, status: number | null, jobId: string, symbolNames: string[], dIds: StringStringType, transaction?: ProviderTransaction): Promise<string>;
|
|
65
|
+
getQueryState(jobId: string, fields: string[]): Promise<StringAnyType>;
|
|
66
|
+
getState(jobId: string, consumes: Consumes, dIds: StringStringType): Promise<[StringAnyType, number] | undefined>;
|
|
67
|
+
getRaw(jobId: string): Promise<StringStringType>;
|
|
68
|
+
collate(jobId: string, activityId: string, amount: number, dIds: StringStringType, transaction?: ProviderTransaction): Promise<number>;
|
|
69
|
+
collateSynthetic(jobId: string, guid: string, amount: number, transaction?: ProviderTransaction): Promise<number>;
|
|
70
|
+
setStateNX(jobId: string, appId: string, status?: number): Promise<boolean>;
|
|
71
|
+
getSchema(activityId: string, appVersion: AppVID): Promise<ActivityType>;
|
|
72
|
+
getSchemas(appVersion: AppVID): Promise<Record<string, ActivityType>>;
|
|
73
|
+
setSchemas(schemas: Record<string, ActivityType>, appVersion: AppVID): Promise<any>;
|
|
74
|
+
setSubscriptions(subscriptions: Record<string, any>, appVersion: AppVID): Promise<boolean>;
|
|
75
|
+
getSubscriptions(appVersion: AppVID): Promise<Record<string, string>>;
|
|
76
|
+
getSubscription(topic: string, appVersion: AppVID): Promise<string | undefined>;
|
|
77
|
+
setTransitions(transitions: Record<string, any>, appVersion: AppVID): Promise<any>;
|
|
78
|
+
getTransitions(appVersion: AppVID): Promise<Transitions>;
|
|
79
|
+
setHookRules(hookRules: Record<string, HookRule[]>): Promise<any>;
|
|
80
|
+
getHookRules(): Promise<Record<string, HookRule[]>>;
|
|
81
|
+
setHookSignal(hook: HookSignal, transaction?: ProviderTransaction): Promise<any>;
|
|
82
|
+
getHookSignal(topic: string, resolved: string): Promise<string | undefined>;
|
|
83
|
+
deleteHookSignal(topic: string, resolved: string): Promise<number | undefined>;
|
|
84
|
+
addTaskQueues(keys: string[]): Promise<void>;
|
|
85
|
+
getActiveTaskQueue(): Promise<string | null>;
|
|
86
|
+
deleteProcessedTaskQueue(workItemKey: string, key: string, processedKey: string, scrub?: boolean): Promise<void>;
|
|
87
|
+
processTaskQueue(sourceKey: string, destinationKey: string): Promise<any>;
|
|
88
|
+
expireJob(jobId: string, inSeconds: number, transaction?: ProviderTransaction): Promise<void>;
|
|
89
|
+
getDependencies(jobId: string): Promise<string[]>;
|
|
90
|
+
registerTimeHook(jobId: string, gId: string, activityId: string, type: WorkListTaskType, deletionTime: number, dad: string, transaction?: ProviderTransaction): Promise<void>;
|
|
91
|
+
getNextTask(listKey?: string): Promise<[
|
|
92
|
+
listKey: string,
|
|
93
|
+
jobId: string,
|
|
94
|
+
gId: string,
|
|
95
|
+
activityId: string,
|
|
96
|
+
type: WorkListTaskType
|
|
97
|
+
] | boolean>;
|
|
98
|
+
resolveTaskKeyContext(listKey: string): [WorkListTaskType, string];
|
|
99
|
+
interrupt(topic: string, jobId: string, options?: JobInterruptOptions): Promise<void>;
|
|
100
|
+
scrub(jobId: string): Promise<void>;
|
|
101
|
+
findJobs(queryString?: string, limit?: number, batchSize?: number, cursor?: string): Promise<[string, string[]]>;
|
|
102
|
+
findJobFields(jobId: string, fieldMatchPattern?: string, limit?: number, batchSize?: number, cursor?: string): Promise<[string, StringStringType]>;
|
|
103
|
+
setThrottleRate(options: ThrottleOptions): Promise<void>;
|
|
104
|
+
getThrottleRates(): Promise<StringStringType>;
|
|
105
|
+
getThrottleRate(topic: string): Promise<number>;
|
|
106
|
+
}
|
|
107
|
+
export { PostgresStoreService };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';(function(_0x23ae0d,_0xc0cf46){const _0x42782=_0x1a74,_0x599df6=_0x23ae0d();while(!![]){try{const _0x11f379=-parseInt(_0x42782(0x1f9))/0x1*(parseInt(_0x42782(0x1f2))/0x2)+parseInt(_0x42782(0x1f5))/0x3+-parseInt(_0x42782(0x1f4))/0x4+parseInt(_0x42782(0x1fb))/0x5*(-parseInt(_0x42782(0x1f7))/0x6)+-parseInt(_0x42782(0x1f6))/0x7*(parseInt(_0x42782(0x1f8))/0x8)+-parseInt(_0x42782(0x1fa))/0x9+-parseInt(_0x42782(0x1f3))/0xa*(-parseInt(_0x42782(0x1f1))/0xb);if(_0x11f379===_0xc0cf46)break;else _0x599df6['push'](_0x599df6['shift']());}catch(_0xaf9229){_0x599df6['push'](_0x599df6['shift']());}}}(_0x328e,0x685db));function _0x1a74(_0x959dea,_0x31f279){const _0x328ef6=_0x328e();return _0x1a74=function(_0x1a745b,_0x1d77f7){_0x1a745b=_0x1a745b-0x1f1;let _0x2ca883=_0x328ef6[_0x1a745b];return _0x2ca883;},_0x1a74(_0x959dea,_0x31f279);}function _0x328e(){const _0x47f22d=['28674030XbLegh','2187772oxVaeJ','57498UfELDi','112VfVbmZ','6lXuvWW','256792oKwoRa','606413TjLBXV','5521581XlKGUg','893185jKaXLz','11KyxREH','2AlJNsI'];_0x328e=function(){return _0x47f22d;};return _0x328e();}var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x3db18c,_0x32967b,_0x1caf9a,_0x5a9f87){if(_0x5a9f87===undefined)_0x5a9f87=_0x1caf9a;var _0x4c3bca=Object['getOwnPropertyDescriptor'](_0x32967b,_0x1caf9a);(!_0x4c3bca||('get'in _0x4c3bca?!_0x32967b['__esModule']:_0x4c3bca['writable']||_0x4c3bca['configurable']))&&(_0x4c3bca={'enumerable':!![],'get':function(){return _0x32967b[_0x1caf9a];}}),Object['defineProperty'](_0x3db18c,_0x5a9f87,_0x4c3bca);}:function(_0x3b54af,_0x328601,_0x243b4e,_0x4afd7f){if(_0x4afd7f===undefined)_0x4afd7f=_0x243b4e;_0x3b54af[_0x4afd7f]=_0x328601[_0x243b4e];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x1042a6,_0x2dcba0){Object['defineProperty'](_0x1042a6,'default',{'enumerable':!![],'value':_0x2dcba0});}:function(_0x50fc27,_0x2a76b6){_0x50fc27['default']=_0x2a76b6;}),__importStar=this&&this['__importStar']||function(_0x582639){if(_0x582639&&_0x582639['__esModule'])return _0x582639;var _0x32913c={};if(_0x582639!=null){for(var _0x422298 in _0x582639)if(_0x422298!=='default'&&Object['prototype']['hasOwnProperty']['call'](_0x582639,_0x422298))__createBinding(_0x32913c,_0x582639,_0x422298);}return __setModuleDefault(_0x32913c,_0x582639),_0x32913c;};Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['PostgresStoreService']=void 0x0;const errors_1=require('../../../../modules/errors'),key_1=require('../../../../modules/key'),serializer_1=require('../../../serializer'),utils_1=require('../../../../modules/utils'),enums_1=require('../../../../modules/enums'),cache_1=require('../../cache'),__1=require('../..'),kvsql_1=require('./kvsql');class PostgresStoreService extends __1['StoreService']{['transact'](){return this['storeClient']['transact']();}constructor(_0x3bea59){super(_0x3bea59),this['pgClient']=_0x3bea59,this['storeClient']=new kvsql_1['KVSQL'](_0x3bea59,this['namespace'],this['appId']);}async['init'](_0x11bd53=key_1['HMNS'],_0x1c8c6d,_0xac8927){this['storeClient']['namespace']=this['namespace']=_0x11bd53,this['storeClient']['appId']=this['appId']=_0x1c8c6d,this['logger']=_0xac8927,await this['deploy'](_0x1c8c6d);const _0x32b628=await this['getSettings'](!![]);return this['cache']=new cache_1['Cache'](_0x1c8c6d,_0x32b628),this['serializer']=new serializer_1['SerializerService'](),await this['getApp'](_0x1c8c6d),this['cache']['getApps']();}async['deploy'](_0x1d39da){const _0x2a7151=this['pgClient'];try{const _0x1d3d21=this['getAdvisoryLockId'](_0x1d39da),_0x4db177=await _0x2a7151['query']('SELECT\x20pg_try_advisory_lock($1)\x20AS\x20locked',[_0x1d3d21]);if(_0x4db177['rows'][0x0]['locked']){await _0x2a7151['query']('BEGIN');const _0x364b9c=await this['checkIfTablesExist'](_0x2a7151,_0x1d39da);!_0x364b9c&&await this['createTables'](_0x2a7151,_0x1d39da),await _0x2a7151['query']('COMMIT'),await _0x2a7151['query']('SELECT\x20pg_advisory_unlock($1)',[_0x1d3d21]);}else await this['waitForTablesCreation'](_0x2a7151,_0x1d3d21,_0x1d39da);}catch(_0x475469){this['logger']['error']('Error\x20deploying\x20tables',{'error':_0x475469});throw _0x475469;}}['getAdvisoryLockId'](_0x2be04d){return this['hashStringToInt'](_0x2be04d);}['hashStringToInt'](_0x17e5af){let _0x71884b=0x0;for(let _0x5b9a15=0x0;_0x5b9a15<_0x17e5af['length'];_0x5b9a15++){_0x71884b=(_0x71884b<<0x5)-_0x71884b+_0x17e5af['charCodeAt'](_0x5b9a15),_0x71884b|=0x0;}return Math['abs'](_0x71884b);}async['waitForTablesCreation'](_0x4f055d,_0x351574,_0x17a55e){let _0x3513dc=0x0;const _0x2c0e44=0x14;while(_0x3513dc<_0x2c0e44){await(0x0,utils_1['sleepFor'])(0x96);const _0x383417=await _0x4f055d['query']('SELECT\x20NOT\x20EXISTS\x20(SELECT\x201\x20FROM\x20pg_locks\x20WHERE\x20locktype\x20=\x20\x27advisory\x27\x20AND\x20objid\x20=\x20$1::bigint)\x20AS\x20unlocked',[_0x351574]);if(_0x383417['rows'][0x0]['unlocked']){const _0x15a2a4=await this['checkIfTablesExist'](_0x4f055d,_0x17a55e);if(_0x15a2a4)return;}_0x3513dc++;}throw new Error('Timeout\x20waiting\x20for\x20table\x20creation');}async['checkIfTablesExist'](_0x621d79,_0xbb8040){const _0x465631=this['getTableNames'](_0xbb8040),_0x52ba60=_0x465631['map'](_0x248825=>_0x621d79['query']('SELECT\x20to_regclass(\x27public.'+_0x248825+'\x27)\x20AS\x20table')),_0x53ba63=await Promise['all'](_0x52ba60);return _0x53ba63['every'](_0x255289=>_0x255289['rows'][0x0]['table']!==null);}async['createTables'](_0x476b26,_0x4f1a1e){await _0x476b26['query']('BEGIN');const _0x24c59=this['getTableDefinitions'](this['storeClient']['safeName'](_0x4f1a1e));for(const _0x563b56 of _0x24c59){switch(_0x563b56['type']){case'string':await _0x476b26['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20'+_0x563b56['name']+'\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20key\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20value\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20expiry\x20TIMESTAMP\x20WITH\x20TIME\x20ZONE\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20');break;case'hash':await _0x476b26['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20'+_0x563b56['name']+'\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20key\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20field\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20value\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20expiry\x20TIMESTAMP\x20WITH\x20TIME\x20ZONE,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20PRIMARY\x20KEY\x20(key,\x20field)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20');break;case'list':await _0x476b26['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20'+_0x563b56['name']+'\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20key\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20index\x20BIGINT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20value\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20expiry\x20TIMESTAMP\x20WITH\x20TIME\x20ZONE,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20PRIMARY\x20KEY\x20(key,\x20index)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'),await _0x476b26['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_'+_0x563b56['name']+'_key_expiry\x20ON\x20'+_0x563b56['name']+'\x20(key,\x20expiry);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20');break;case'sorted_set':await _0x476b26['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20'+_0x563b56['name']+'\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20key\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20member\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20score\x20DOUBLE\x20PRECISION\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20expiry\x20TIMESTAMP\x20WITH\x20TIME\x20ZONE,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20PRIMARY\x20KEY\x20(key,\x20member)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'),await _0x476b26['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_'+_0x563b56['name']+'_key_score_member\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20'+_0x563b56['name']+'\x20(key,\x20score,\x20member);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20');break;default:this['logger']['warn']('Unknown\x20table\x20type\x20for\x20'+_0x563b56['name']);break;}}await _0x476b26['query']('COMMIT');}['getTableNames'](_0x4dccd0){const _0x5f36cb=[];_0x5f36cb['push']('hotmesh_applications','hotmesh_connections');const _0xbfea88=['throttles','roles','task_priorities','task_schedules','task_lists','events','jobs','stats_counted','stats_indexed','stats_ordered','versions','signal_patterns','signal_registry','symbols'];return _0xbfea88['forEach'](_0x1ecf7d=>{_0x5f36cb['push']('hotmesh_'+this['storeClient']['safeName'](_0x4dccd0)+'_'+_0x1ecf7d);}),_0x5f36cb;}['getTableDefinitions'](_0x3d88eb){const _0x42e8c6=[{'name':'hotmesh_applications','type':'hash'},{'name':'hotmesh_connections','type':'hash'},{'name':'hotmesh_'+_0x3d88eb+'_throttles','type':'hash'},{'name':'hotmesh_'+_0x3d88eb+'_roles','type':'string'},{'name':'hotmesh_'+_0x3d88eb+'_task_schedules','type':'sorted_set'},{'name':'hotmesh_'+_0x3d88eb+'_task_priorities','type':'sorted_set'},{'name':'hotmesh_'+_0x3d88eb+'_task_lists','type':'list'},{'name':'hotmesh_'+_0x3d88eb+'_events','type':'hash'},{'name':'hotmesh_'+_0x3d88eb+'_jobs','type':'hash'},{'name':'hotmesh_'+_0x3d88eb+'_stats_counted','type':'hash'},{'name':'hotmesh_'+_0x3d88eb+'_stats_ordered','type':'sorted_set'},{'name':'hotmesh_'+_0x3d88eb+'_stats_indexed','type':'list'},{'name':'hotmesh_'+_0x3d88eb+'_versions','type':'hash'},{'name':'hotmesh_'+_0x3d88eb+'_signal_patterns','type':'hash'},{'name':'hotmesh_'+_0x3d88eb+'_symbols','type':'hash'},{'name':'hotmesh_'+_0x3d88eb+'_signal_registry','type':'string'}];return _0x42e8c6;}['isSuccessful'](_0x3d43fd){return _0x3d43fd>0x0||_0x3d43fd==='OK'||_0x3d43fd===!![];}async['delistSignalKey'](_0x301d25,_0xb2a841){await this['kvsql']()['del'](_0x301d25+':'+_0xb2a841);}async['zAdd'](_0x5ea24a,_0x431d17,_0x1bf30e,_0x3ce08d){return await this['kvsql'](_0x3ce08d)['zadd'](_0x5ea24a,Number(_0x431d17),_0x1bf30e['toString']());}async['zRangeByScore'](_0x1f7d3a,_0x26e02f,_0x41e251){const _0x93623d=await this['kvsql']()['zrangebyscore'](_0x1f7d3a,Number(_0x26e02f),Number(_0x41e251));if(_0x93623d?.['length']>0x0)return _0x93623d[0x0];return null;}['mintKey'](_0xe6b214,_0x1c233d){if(!this['namespace'])throw new Error('namespace\x20not\x20set');return key_1['KeyService']['mintKey'](this['namespace'],_0xe6b214,_0x1c233d);}['kvsql'](_0x2e12b4){return _0x2e12b4||this['storeClient'];}['invalidateCache'](){this['cache']['invalidate']();}async['reserveScoutRole'](_0xede838,_0xf45100=enums_1['HMSH_SCOUT_INTERVAL_SECONDS']){const _0x3dc17f=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId'],'scoutType':_0xede838}),_0x1d0739=await this['kvsql']()['set'](_0x3dc17f,_0xede838+':'+(0x0,utils_1['formatISODate'])(new Date()),{'nx':!![],'ex':_0xf45100-0x1});return this['isSuccessful'](_0x1d0739);}async['releaseScoutRole'](_0x4e1769){const _0x45d0e4=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId'],'scoutType':_0x4e1769}),_0x8a5750=await this['kvsql']()['del'](_0x45d0e4);return this['isSuccessful'](_0x8a5750);}async['getSettings'](_0x1af088=![]){let _0x123020=this['cache']?.['getSettings']();if(_0x123020)return _0x123020;else{if(_0x1af088){const _0xa40afb=await Promise['resolve']()['then'](()=>__importStar(require('../../../../package.json'))),_0x2ecf3f=_0xa40afb['version']||'0.0.0';return _0x123020={'namespace':key_1['HMNS'],'version':_0x2ecf3f},await this['setSettings'](_0x123020),_0x123020;}}throw new Error('settings\x20not\x20found');}async['setSettings'](_0x3373bd){const _0x722b8b={},_0x5977e9=this['mintKey'](key_1['KeyType']['HOTMESH'],_0x722b8b);return await this['kvsql']()['hset'](_0x5977e9,_0x3373bd);}async['reserveSymbolRange'](_0xf2fa07,_0x3ec57f,_0x2bf099,_0xd80d47=0x1){const _0x5df317=this['mintKey'](key_1['KeyType']['SYMKEYS'],{'appId':this['appId']}),_0x563936=this['mintKey'](key_1['KeyType']['SYMKEYS'],{'activityId':_0xf2fa07,'appId':this['appId']}),_0x3fec0f=await this['kvsql']()['hsetnx'](_0x5df317,_0xf2fa07,'?:?');if(_0x3fec0f){const _0xb4284f=await this['kvsql']()['hincrbyfloat'](_0x5df317,':cursor',_0x3ec57f),_0x2183e3=_0xb4284f-_0x3ec57f,_0x50fbd3=_0x2183e3+':'+(_0xb4284f-0x1);await this['kvsql']()['hset'](_0x5df317,{[_0xf2fa07]:_0x50fbd3});const _0x425b14=this['seedSymbols'](_0xf2fa07,_0x2bf099,_0x2183e3);return await this['kvsql']()['hset'](_0x563936,_0x425b14),[_0x2183e3+serializer_1['MDATA_SYMBOLS']['SLOTS'],_0xb4284f-0x1,{}];}else{const _0x392414=await this['kvsql']()['hget'](_0x5df317,_0xf2fa07),[_0x477ffb]=_0x392414['split'](':');if(_0x477ffb==='?'){await(0x0,utils_1['sleepFor'])(_0xd80d47*0x3e8);if(_0xd80d47<0x5)return this['reserveSymbolRange'](_0xf2fa07,_0x3ec57f,_0x2bf099,_0xd80d47+0x1);else throw new Error('Symbol\x20range\x20reservation\x20failed\x20due\x20to\x20deployment\x20contention');}else{const _0x3b6b92=parseInt(_0x477ffb,0xa),_0x4b9a47=await this['kvsql']()['hgetall'](_0x563936),_0x4770a1=Object['keys'](_0x4b9a47)['length'],_0x2104a3=_0x3b6b92+serializer_1['MDATA_SYMBOLS']['SLOTS']+_0x4770a1,_0x1831ba=Number(_0x3b6b92+_0x3ec57f-0x1);return[_0x2104a3,_0x1831ba,_0x4b9a47];}}}async['getAllSymbols'](){const _0x3f7115=this['mintKey'](key_1['KeyType']['SYMKEYS'],{'appId':this['appId']}),_0x273e21=await this['kvsql']()['hgetall'](_0x3f7115),_0x1ee404=Object['keys'](_0x273e21)['sort']();delete _0x1ee404[':cursor'];const _0x5617d2=this['kvsql'](this['transact']());for(const _0x45335 of _0x1ee404){const _0x288d9a=this['mintKey'](key_1['KeyType']['SYMKEYS'],{'activityId':_0x45335,'appId':this['appId']});_0x5617d2['hgetall'](_0x288d9a);}const _0x23f1d0=await _0x5617d2['exec'](),_0x279fba={};return _0x23f1d0['forEach']((_0x20f299,_0x40aa2e)=>{if(_0x20f299){let _0x579e18;Array['isArray'](_0x20f299)&&_0x20f299['length']===0x2?_0x579e18=_0x20f299[0x1]:_0x579e18=_0x20f299;for(const [_0xb8fa86,_0x3232ab]of Object['entries'](_0x579e18)){_0x279fba[_0x3232ab]=_0xb8fa86['startsWith'](_0x1ee404[_0x40aa2e])?_0xb8fa86:_0x1ee404[_0x40aa2e]+'/'+_0xb8fa86;}}}),_0x279fba;}async['getSymbols'](_0x270854){let _0x38cc64=this['cache']['getSymbols'](this['appId'],_0x270854);if(_0x38cc64)return _0x38cc64;else{const _0x304312={'activityId':_0x270854,'appId':this['appId']},_0x178769=this['mintKey'](key_1['KeyType']['SYMKEYS'],_0x304312);return _0x38cc64=await this['kvsql']()['hgetall'](_0x178769),this['cache']['setSymbols'](this['appId'],_0x270854,_0x38cc64),_0x38cc64;}}async['addSymbols'](_0x3bae28,_0x59eb6e){if(!_0x59eb6e||!Object['keys'](_0x59eb6e)['length'])return![];const _0x2a7fa3={'activityId':_0x3bae28,'appId':this['appId']},_0x54640c=this['mintKey'](key_1['KeyType']['SYMKEYS'],_0x2a7fa3),_0xa562c0=await this['kvsql']()['hset'](_0x54640c,_0x59eb6e);return this['cache']['deleteSymbols'](this['appId'],_0x3bae28),_0xa562c0>0x0;}['seedSymbols'](_0x57b5df,_0x520691,_0x288000){if(_0x520691==='JOB')return this['seedJobSymbols'](_0x288000);return this['seedActivitySymbols'](_0x288000,_0x57b5df);}['seedJobSymbols'](_0xd90bf7){const _0x237a5d={};return serializer_1['MDATA_SYMBOLS']['JOB']['KEYS']['forEach'](_0xddf995=>{_0x237a5d['metadata/'+_0xddf995]=(0x0,utils_1['getSymKey'])(_0xd90bf7),_0xd90bf7++;}),_0x237a5d;}['seedActivitySymbols'](_0x976e62,_0x34b716){const _0x48012e={};return serializer_1['MDATA_SYMBOLS']['ACTIVITY']['KEYS']['forEach'](_0x3f4cdd=>{_0x48012e[_0x34b716+'/output/metadata/'+_0x3f4cdd]=(0x0,utils_1['getSymKey'])(_0x976e62),_0x976e62++;}),_0x48012e;}async['getSymbolValues'](){let _0x3e033c=this['cache']['getSymbolValues'](this['appId']);if(_0x3e033c)return _0x3e033c;else{const _0x4adab8=this['mintKey'](key_1['KeyType']['SYMVALS'],{'appId':this['appId']});return _0x3e033c=await this['kvsql']()['hgetall'](_0x4adab8),this['cache']['setSymbolValues'](this['appId'],_0x3e033c),_0x3e033c;}}async['addSymbolValues'](_0x21231f){if(!_0x21231f||!Object['keys'](_0x21231f)['length'])return![];const _0x3eea41=this['mintKey'](key_1['KeyType']['SYMVALS'],{'appId':this['appId']}),_0x186cc2=await this['kvsql']()['hset'](_0x3eea41,_0x21231f);return this['cache']['deleteSymbolValues'](this['appId']),this['isSuccessful'](_0x186cc2);}async['getSymbolKeys'](_0x49e3cc){const _0x33a6fd=[];for(const _0x12cf3d of _0x49e3cc){_0x33a6fd['push'](this['getSymbols'](_0x12cf3d));}const _0x493653=await Promise['all'](_0x33a6fd),_0x1768cf={};for(const _0x13a498 of _0x49e3cc){_0x1768cf[_0x13a498]=_0x493653['shift']();}return _0x1768cf;}async['getApp'](_0x46a7cb,_0x3ee7e4=![]){let _0x434ac9=this['cache']['getApp'](_0x46a7cb);if(_0x3ee7e4||!(_0x434ac9&&Object['keys'](_0x434ac9)['length']>0x0)){const _0x530f5e={'appId':_0x46a7cb},_0x37d510=this['mintKey'](key_1['KeyType']['APP'],_0x530f5e),_0x218c3a=await this['kvsql']()['hgetall'](_0x37d510);if(!_0x218c3a)return null;_0x434ac9={};for(const _0x582bd1 in _0x218c3a){try{_0x582bd1==='active'?_0x434ac9[_0x582bd1]=_0x218c3a[_0x582bd1]==='true':_0x434ac9[_0x582bd1]=_0x218c3a[_0x582bd1];}catch(_0x62eaed){_0x434ac9[_0x582bd1]=_0x218c3a[_0x582bd1];}}this['cache']['setApp'](_0x46a7cb,_0x434ac9);}return _0x434ac9;}async['setApp'](_0x2e29e3,_0x24589c){const _0x40e295={'appId':_0x2e29e3},_0x55c49c=this['mintKey'](key_1['KeyType']['APP'],_0x40e295),_0x446709='versions/'+_0x24589c,_0x4a6c46={'id':_0x2e29e3,'version':_0x24589c,[_0x446709]:'deployed:'+(0x0,utils_1['formatISODate'])(new Date())};return await this['kvsql']()['hset'](_0x55c49c,_0x4a6c46),this['cache']['setApp'](_0x2e29e3,_0x4a6c46),_0x4a6c46;}async['activateAppVersion'](_0x538ff8,_0x357c9e){const _0x360ecd={'appId':_0x538ff8},_0x4ef846=this['mintKey'](key_1['KeyType']['APP'],_0x360ecd),_0x4e6f19='versions/'+_0x357c9e,_0x2fb5e4=await this['getApp'](_0x538ff8,!![]);if(_0x2fb5e4&&_0x2fb5e4[_0x4e6f19]){const _0x3c41c1={'id':_0x538ff8,'version':_0x357c9e['toString'](),[_0x4e6f19]:'activated:'+(0x0,utils_1['formatISODate'])(new Date()),'active':!![]};return Object['entries'](_0x3c41c1)['forEach'](([_0x28f15e,_0x4219cf])=>{_0x3c41c1[_0x28f15e]=_0x4219cf['toString']();}),await this['kvsql']()['hset'](_0x4ef846,_0x3c41c1),!![];}throw new Error('Version\x20'+_0x357c9e+'\x20does\x20not\x20exist\x20for\x20app\x20'+_0x538ff8);}async['registerAppVersion'](_0x358c65,_0x5ea955){const _0x380ad1={'appId':_0x358c65},_0x3f6ff3=this['mintKey'](key_1['KeyType']['APP'],_0x380ad1),_0x17dcec={'id':_0x358c65,'version':_0x5ea955['toString'](),['versions/'+_0x5ea955]:(0x0,utils_1['formatISODate'])(new Date())};return await this['kvsql']()['hset'](_0x3f6ff3,_0x17dcec);}async['setStats'](_0x27b5f4,_0x4ea352,_0x1cd9dd,_0x213101,_0x15bd87,_0x31b723){const _0x1aac09={'appId':_0x15bd87['id'],'jobId':_0x4ea352,'jobKey':_0x27b5f4,'dateTime':_0x1cd9dd},_0x1b3f8c=_0x31b723||this['transact']();if(_0x213101['general']['length']){const _0x2a0422=this['mintKey'](key_1['KeyType']['JOB_STATS_GENERAL'],_0x1aac09);for(const {target:_0x5c71f3,value:_0xcf6533}of _0x213101['general']){this['kvsql'](_0x1b3f8c)['hincrbyfloat'](_0x2a0422,_0x5c71f3,_0xcf6533);}}for(const {target:_0x299ce3,value:_0x20a5e5}of _0x213101['index']){const _0x336a90={..._0x1aac09,'facet':_0x299ce3},_0x11f11f=this['mintKey'](key_1['KeyType']['JOB_STATS_INDEX'],_0x336a90);this['kvsql'](_0x1b3f8c)['rpush'](_0x11f11f,_0x20a5e5['toString']());}for(const {target:_0x437610,value:_0x2df0c9}of _0x213101['median']){const _0x3fb870={..._0x1aac09,'facet':_0x437610},_0xdf7f74=this['mintKey'](key_1['KeyType']['JOB_STATS_MEDIAN'],_0x3fb870);await this['kvsql'](_0x1b3f8c)['zadd'](_0xdf7f74,Number(_0x2df0c9),_0x437610);}if(!_0x31b723)return await _0x1b3f8c['exec']();}['hGetAllResult'](_0x288614){return _0x288614;}async['getJobStats'](_0x466043){const _0x3979a1=this['kvsql'](this['transact']());for(const _0x191962 of _0x466043){_0x3979a1['hgetall'](_0x191962);}const _0x5342bd=await _0x3979a1['exec'](),_0x8350c={};for(const [_0x4fef1a,_0x2f85d9]of _0x5342bd['entries']()){const _0x296aa9=_0x466043[_0x4fef1a],_0x55a6ed=_0x2f85d9;if(_0x55a6ed&&Object['keys'](_0x55a6ed)['length']>0x0){const _0x598a9f={..._0x55a6ed};for(const [_0x3a301b,_0x51fed9]of Object['entries'](_0x598a9f)){_0x598a9f[_0x3a301b]=Number(_0x51fed9);}_0x8350c[_0x296aa9]=_0x598a9f;}else _0x8350c[_0x296aa9]={};}return _0x8350c;}async['getJobIds'](_0x465ec7,_0x58cecc){const _0x36d089=this['kvsql'](this['transact']());for(const _0x4fd2f6 of _0x465ec7){_0x36d089['lrange'](_0x4fd2f6,_0x58cecc[0x0],_0x58cecc[0x1]);}const _0x19779c=await _0x36d089['exec'](),_0xd64739={};for(const [_0x4c17cf,_0x4aa6a8]of _0x19779c['entries']()){const _0x499cdc=_0x465ec7[_0x4c17cf],_0x3576c7=_0x4aa6a8[0x1]||_0x4aa6a8;_0x3576c7&&_0x3576c7['length']>0x0?_0xd64739[_0x499cdc]=_0x3576c7:_0xd64739[_0x499cdc]=[];}return _0xd64739;}async['setStatus'](_0x3cf61a,_0x13a991,_0x3fc66b,_0x3229d4){const _0x2829a6=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':_0x3fc66b,'jobId':_0x13a991});return await this['kvsql'](_0x3229d4)['hincrbyfloat'](_0x2829a6,':',_0x3cf61a);}async['getStatus'](_0x464632,_0x4e48d7){const _0x1f3d5e=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':_0x4e48d7,'jobId':_0x464632}),_0x204e62=await this['kvsql']()['hget'](_0x1f3d5e,':');if(_0x204e62===null)throw new Error('Job\x20'+_0x464632+'\x20not\x20found');return Number(_0x204e62);}async['setState']({..._0x56e5a7},_0x4fe0e6,_0x1f5e09,_0x28ade8,_0x3cc540,_0xed5597){delete _0x56e5a7['metadata/js'];const _0x59908d=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x1f5e09}),_0x5726c1=await this['getSymbolKeys'](_0x28ade8),_0x584e43=await this['getSymbolValues']();this['serializer']['resetSymbols'](_0x5726c1,_0x584e43,_0x3cc540);const _0x58108f=this['serializer']['package'](_0x56e5a7,_0x28ade8);return _0x4fe0e6!==null?_0x58108f[':']=_0x4fe0e6['toString']():delete _0x58108f[':'],await this['kvsql'](_0xed5597)['hset'](_0x59908d,_0x58108f),_0x1f5e09;}async['getQueryState'](_0x53c1f3,_0x43f1ca){const _0x522d6d=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x53c1f3}),_0x46b414=_0x43f1ca['map'](_0x5cba28=>{if(_0x5cba28['startsWith']('\x22'))return _0x5cba28['slice'](0x1,-0x1);return'_'+_0x5cba28;}),_0x1c7334=await this['kvsql']()['hmget'](_0x522d6d,_0x46b414),_0x1a9fb5={};return _0x43f1ca['forEach']((_0x33a9a8,_0x35c85d)=>{_0x33a9a8['startsWith']('\x22')&&(_0x33a9a8=_0x33a9a8['slice'](0x1,-0x1)),_0x1a9fb5[_0x33a9a8]=_0x1c7334[_0x35c85d];}),_0x1a9fb5;}async['getState'](_0x583db2,_0x1a2807,_0x69eb8a){const _0x26bdaa=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x583db2}),_0xd82f35=Object['keys'](_0x1a2807),_0x1e2d08=await this['getSymbolKeys'](_0xd82f35);this['serializer']['resetSymbols'](_0x1e2d08,{},_0x69eb8a);const _0x17b707=this['serializer']['abbreviate'](_0x1a2807,_0xd82f35,[':']),_0xe9def5=await this['kvsql']()['hmget'](_0x26bdaa,_0x17b707),_0x46ba4e={};let _0x352390=![];_0x17b707['forEach']((_0xfe3f3b,_0x2f302b)=>{_0xe9def5[_0x2f302b]&&(_0x352390=!![]),_0x46ba4e[_0xfe3f3b]=_0xe9def5[_0x2f302b];});if(_0x352390){const _0x344a45=await this['getSymbolValues']();this['serializer']['resetSymbols'](_0x1e2d08,_0x344a45,_0x69eb8a);const _0x3b6a30=this['serializer']['unpackage'](_0x46ba4e,_0xd82f35);let _0x498752=0x0;return _0x3b6a30[':']&&(_0x498752=Number(_0x3b6a30[':']),_0x3b6a30['metadata/js']=_0x498752,delete _0x3b6a30[':']),[_0x3b6a30,_0x498752];}else throw new errors_1['GetStateError'](_0x583db2);}async['getRaw'](_0x4c5cb1){const _0x168535=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x4c5cb1}),_0x31b9fa=await this['kvsql']()['hgetall'](_0x168535);if(!_0x31b9fa)throw new errors_1['GetStateError'](_0x4c5cb1);return _0x31b9fa;}async['collate'](_0x1a359f,_0x138db7,_0x3ad707,_0xfe01a8,_0x3c0d0e){const _0xdc11f7=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x1a359f}),_0x585276=_0x138db7+'/output/metadata/as',_0x1a2d90=[_0x138db7],_0x473d01=await this['getSymbolKeys'](_0x1a2d90),_0x165717=await this['getSymbolValues']();this['serializer']['resetSymbols'](_0x473d01,_0x165717,_0xfe01a8);const _0x1f08bc={[_0x585276]:_0x3ad707['toString']()},_0x362ce0=this['serializer']['package'](_0x1f08bc,_0x1a2d90),_0x456eba=Object['keys'](_0x362ce0)[0x0];return await this['kvsql'](_0x3c0d0e)['hincrbyfloat'](_0xdc11f7,_0x456eba,_0x3ad707);}async['collateSynthetic'](_0x2e3a35,_0x14d0c3,_0x3abf86,_0x2e710d){const _0x575dc1=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x2e3a35});return await this['kvsql'](_0x2e710d)['hincrbyfloat'](_0x575dc1,_0x14d0c3,_0x3abf86);}async['setStateNX'](_0x27ff49,_0x26a7d5,_0x1397fb){const _0x54955e=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':_0x26a7d5,'jobId':_0x27ff49}),_0x5bde6e=await this['kvsql']()['hsetnx'](_0x54955e,':',_0x1397fb?.['toString']()??'1');return this['isSuccessful'](_0x5bde6e);}async['getSchema'](_0x1b5d25,_0xfa4f18){const _0x4943c6=this['cache']['getSchema'](_0xfa4f18['id'],_0xfa4f18['version'],_0x1b5d25);if(_0x4943c6)return _0x4943c6;else{const _0x410c9b=await this['getSchemas'](_0xfa4f18);return _0x410c9b[_0x1b5d25];}}async['getSchemas'](_0x530f57){let _0x4b9f6f=this['cache']['getSchemas'](_0x530f57['id'],_0x530f57['version']);if(_0x4b9f6f&&Object['keys'](_0x4b9f6f)['length']>0x0)return _0x4b9f6f;else{const _0x2f12b9={'appId':_0x530f57['id'],'appVersion':_0x530f57['version']},_0x114851=this['mintKey'](key_1['KeyType']['SCHEMAS'],_0x2f12b9);_0x4b9f6f={};const _0x165d47=await this['kvsql']()['hgetall'](_0x114851);return Object['entries'](_0x165d47)['forEach'](([_0x310f9f,_0x3addc8])=>{_0x4b9f6f[_0x310f9f]=JSON['parse'](_0x3addc8);}),this['cache']['setSchemas'](_0x530f57['id'],_0x530f57['version'],_0x4b9f6f),_0x4b9f6f;}}async['setSchemas'](_0x57e275,_0x33a666){const _0x55e3e7={'appId':_0x33a666['id'],'appVersion':_0x33a666['version']},_0x5a1f92=this['mintKey'](key_1['KeyType']['SCHEMAS'],_0x55e3e7),_0x586c40={..._0x57e275};Object['entries'](_0x586c40)['forEach'](([_0x200bb0,_0x362e29])=>{_0x586c40[_0x200bb0]=JSON['stringify'](_0x362e29);});const _0xa739bb=await this['kvsql']()['hset'](_0x5a1f92,_0x586c40);return this['cache']['setSchemas'](_0x33a666['id'],_0x33a666['version'],_0x57e275),_0xa739bb;}async['setSubscriptions'](_0x198883,_0x438aa9){const _0x522755={'appId':_0x438aa9['id'],'appVersion':_0x438aa9['version']},_0x35c2f8=this['mintKey'](key_1['KeyType']['SUBSCRIPTIONS'],_0x522755),_0x41891e={..._0x198883};Object['entries'](_0x41891e)['forEach'](([_0x3af861,_0x158ec2])=>{_0x41891e[_0x3af861]=JSON['stringify'](_0x158ec2);});const _0x432639=await this['kvsql']()['hset'](_0x35c2f8,_0x41891e);return this['cache']['setSubscriptions'](_0x438aa9['id'],_0x438aa9['version'],_0x198883),this['isSuccessful'](_0x432639);}async['getSubscriptions'](_0x1b5f3a){let _0x2d8fd3=this['cache']['getSubscriptions'](_0x1b5f3a['id'],_0x1b5f3a['version']);if(_0x2d8fd3&&Object['keys'](_0x2d8fd3)['length']>0x0)return _0x2d8fd3;else{const _0x26f0da={'appId':_0x1b5f3a['id'],'appVersion':_0x1b5f3a['version']},_0x42de4a=this['mintKey'](key_1['KeyType']['SUBSCRIPTIONS'],_0x26f0da);return _0x2d8fd3=await this['kvsql']()['hgetall'](_0x42de4a)||{},Object['entries'](_0x2d8fd3)['forEach'](([_0x4ece07,_0xa8b6f3])=>{_0x2d8fd3[_0x4ece07]=JSON['parse'](_0xa8b6f3);}),this['cache']['setSubscriptions'](_0x1b5f3a['id'],_0x1b5f3a['version'],_0x2d8fd3),_0x2d8fd3;}}async['getSubscription'](_0x51dac2,_0x460f98){const _0x33a5fe=await this['getSubscriptions'](_0x460f98);return _0x33a5fe[_0x51dac2];}async['setTransitions'](_0x44c548,_0x5b6662){const _0x26f4e5={'appId':_0x5b6662['id'],'appVersion':_0x5b6662['version']},_0x5c898f=this['mintKey'](key_1['KeyType']['SUBSCRIPTION_PATTERNS'],_0x26f4e5),_0x33d649={..._0x44c548};Object['entries'](_0x33d649)['forEach'](([_0x2aef4b,_0x91072a])=>{_0x33d649[_0x2aef4b]=JSON['stringify'](_0x91072a);});if(Object['keys'](_0x33d649)['length']!==0x0){const _0x3737c7=await this['kvsql']()['hset'](_0x5c898f,_0x33d649);return this['cache']['setTransitions'](_0x5b6662['id'],_0x5b6662['version'],_0x44c548),_0x3737c7;}}async['getTransitions'](_0x1d24a1){let _0xe50f51=this['cache']['getTransitions'](_0x1d24a1['id'],_0x1d24a1['version']);if(_0xe50f51&&Object['keys'](_0xe50f51)['length']>0x0)return _0xe50f51;else{const _0xf65774={'appId':_0x1d24a1['id'],'appVersion':_0x1d24a1['version']},_0x5b994d=this['mintKey'](key_1['KeyType']['SUBSCRIPTION_PATTERNS'],_0xf65774);_0xe50f51={};const _0x90f318=await this['kvsql']()['hgetall'](_0x5b994d);return Object['entries'](_0x90f318)['forEach'](([_0x9f055c,_0x4991c2])=>{_0xe50f51[_0x9f055c]=JSON['parse'](_0x4991c2);}),this['cache']['setTransitions'](_0x1d24a1['id'],_0x1d24a1['version'],_0xe50f51),_0xe50f51;}}async['setHookRules'](_0x4903e3){const _0x52c500=this['mintKey'](key_1['KeyType']['HOOKS'],{'appId':this['appId']}),_0x407f38={};Object['entries'](_0x4903e3)['forEach'](([_0x424c2a,_0x1742d6])=>{_0x407f38[_0x424c2a['toString']()]=JSON['stringify'](_0x1742d6);});if(Object['keys'](_0x407f38)['length']!==0x0){const _0x4581a8=await this['kvsql']()['hset'](_0x52c500,_0x407f38);return this['cache']['setHookRules'](this['appId'],_0x4903e3),_0x4581a8;}}async['getHookRules'](){let _0x205c1b=this['cache']['getHookRules'](this['appId']);if(_0x205c1b&&Object['keys'](_0x205c1b)['length']>0x0)return _0x205c1b;else{const _0x5d864a=this['mintKey'](key_1['KeyType']['HOOKS'],{'appId':this['appId']}),_0x12723d=await this['kvsql']()['hgetall'](_0x5d864a);return _0x205c1b={},Object['entries'](_0x12723d)['forEach'](([_0x2c95ef,_0x39bc5f])=>{_0x205c1b[_0x2c95ef]=JSON['parse'](_0x39bc5f);}),this['cache']['setHookRules'](this['appId'],_0x205c1b),_0x205c1b;}}async['setHookSignal'](_0x15bdf5,_0x5bf3f8){const _0xcfa246=this['mintKey'](key_1['KeyType']['SIGNALS'],{'appId':this['appId']}),{topic:_0x26e9f0,resolved:_0x214e94,jobId:_0x1e6dde}=_0x15bdf5,_0x3fc7e5=_0x26e9f0+':'+_0x214e94;await this['kvsql'](_0x5bf3f8)['setnxex'](_0xcfa246+':'+_0x3fc7e5,_0x1e6dde,Math['max'](_0x15bdf5['expire'],enums_1['HMSH_SIGNAL_EXPIRE']));}async['getHookSignal'](_0x40565e,_0x53780f){const _0xeeb2a1=this['mintKey'](key_1['KeyType']['SIGNALS'],{'appId':this['appId']}),_0xf8bc35=await this['kvsql']()['get'](_0xeeb2a1+':'+_0x40565e+':'+_0x53780f);return _0xf8bc35?_0xf8bc35['toString']():undefined;}async['deleteHookSignal'](_0x5071e5,_0x23dc95){const _0x350f87=this['mintKey'](key_1['KeyType']['SIGNALS'],{'appId':this['appId']}),_0x21f9f4=await this['kvsql']()['del'](_0x350f87+':'+_0x5071e5+':'+_0x23dc95);return _0x21f9f4?Number(_0x21f9f4):undefined;}async['addTaskQueues'](_0x3697a9){const _0x49a2d1=this['kvsql'](this['transact']()),_0x2c1bb8=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId']});for(const _0x2f9c0b of _0x3697a9){_0x49a2d1['zadd'](_0x2c1bb8,Date['now'](),_0x2f9c0b,{'nx':!![]});}await _0x49a2d1['exec']();}async['getActiveTaskQueue'](){let _0x47fcab=this['cache']['getActiveTaskQueue'](this['appId'])||null;if(!_0x47fcab){const _0x435f0f=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId']}),_0x3fdd79=await this['kvsql']()['zrange'](_0x435f0f,0x0,0x0);_0x47fcab=_0x3fdd79['length']>0x0?_0x3fdd79[0x0]:null,_0x47fcab&&this['cache']['setWorkItem'](this['appId'],_0x47fcab);}return _0x47fcab;}async['deleteProcessedTaskQueue'](_0x4e7216,_0x3d2e31,_0x10848f,_0x4f76a4=![]){const _0x26048b=this['mintKey'](key_1['KeyType']['WORK_ITEMS'],{'appId':this['appId']}),_0x29801e=await this['kvsql']()['zrem'](_0x26048b,_0x4e7216);_0x29801e&&(_0x4f76a4?(this['kvsql']()['expire'](_0x10848f,0x0),this['kvsql']()['expire'](_0x3d2e31['split'](':')['slice'](0x0,0x5)['join'](':'),0x0)):await this['kvsql']()['rename'](_0x10848f,_0x3d2e31)),this['cache']['removeWorkItem'](this['appId']);}async['processTaskQueue'](_0x439a1c,_0x353623){return await this['kvsql']()['lmove'](_0x439a1c,_0x353623,'LEFT','RIGHT');}async['expireJob'](_0x2cd984,_0x17aba8,_0xf2c38d){if(!isNaN(_0x17aba8)&&_0x17aba8>0x0){const _0x150c07=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x2cd984});await this['kvsql'](_0xf2c38d)['expire'](_0x150c07,_0x17aba8);}}async['getDependencies'](_0x544688){const _0xd55fc={'appId':this['appId'],'jobId':_0x544688},_0x3cc229=this['mintKey'](key_1['KeyType']['JOB_DEPENDENTS'],_0xd55fc);return this['kvsql']()['lrange'](_0x3cc229,0x0,-0x1);}async['registerTimeHook'](_0x4d3644,_0x5af287,_0x11a8f5,_0x1ef589,_0x55aa27,_0x5594de,_0x4889bc){const _0x1ae01e=this['mintKey'](key_1['KeyType']['TIME_RANGE'],{'appId':this['appId'],'timeValue':_0x55aa27}),_0x59ef07=[_0x1ef589,_0x11a8f5,_0x5af287,_0x5594de,_0x4d3644]['join'](key_1['VALSEP']),_0x1216eb=await this['kvsql'](_0x4889bc)['rpush'](_0x1ae01e,_0x59ef07);if(_0x4889bc||_0x1216eb===0x1){const _0x4aa1aa=this['mintKey'](key_1['KeyType']['TIME_RANGE'],{'appId':this['appId']});await this['zAdd'](_0x4aa1aa,_0x55aa27['toString'](),_0x1ae01e,_0x4889bc);}}async['getNextTask'](_0x857525){const _0x5c5ac5=this['mintKey'](key_1['KeyType']['TIME_RANGE'],{'appId':this['appId']});_0x857525=_0x857525||await this['zRangeByScore'](_0x5c5ac5,0x0,Date['now']());if(_0x857525){let [_0x4758a2,_0x5bdb8a]=this['resolveTaskKeyContext'](_0x857525);const _0x354499=await this['kvsql']()['lpop'](_0x5bdb8a);if(_0x354499){let [_0x3c4804,_0x251f25,_0x157ffb,_0x250b10,..._0x4fa71d]=_0x354499['split'](key_1['VALSEP']);const _0x13904b=_0x4fa71d['join'](key_1['VALSEP']);if(_0x3c4804==='delist')_0x4758a2='delist';else{if(_0x3c4804==='child')_0x4758a2='child';else _0x3c4804==='expire-child'&&(_0x3c4804='expire');}return[_0x857525,_0x13904b,_0x157ffb,_0x251f25,_0x4758a2];}return await this['kvsql']()['zrem'](_0x5c5ac5,_0x857525),!![];}return![];}['resolveTaskKeyContext'](_0x204958){if(_0x204958['startsWith'](key_1['TYPSEP']+'INTERRUPT'))return['interrupt',_0x204958['split'](key_1['TYPSEP'])[0x2]];else return _0x204958['startsWith'](key_1['TYPSEP']+'EXPIRE')?['expire',_0x204958['split'](key_1['TYPSEP'])[0x2]]:['sleep',_0x204958];}async['interrupt'](_0x1fcf20,_0x5df3f9,_0x1cad7d={}){try{const _0x419398=await this['getStatus'](_0x5df3f9,this['appId']);if(_0x419398<=0x0)throw new Error('Job\x20'+_0x5df3f9+'\x20already\x20completed');const _0x4db9a5=-0x3b9aca00,_0x2e544b=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x5df3f9}),_0x1d108f=await this['kvsql']()['hincrbyfloat'](_0x2e544b,':',_0x4db9a5);if(_0x1d108f<=_0x4db9a5)throw new Error('Job\x20'+_0x5df3f9+'\x20already\x20completed');if(_0x1cad7d['throw']!==![]){const _0x2f2ee5='metadata/err',_0x14f30f=['$'+_0x1fcf20],_0xe908f=await this['getSymbolKeys'](_0x14f30f),_0x4febd2=await this['getSymbolValues']();this['serializer']['resetSymbols'](_0xe908f,_0x4febd2,{});const _0x2037cb=JSON['stringify']({'code':_0x1cad7d['code']??enums_1['HMSH_CODE_INTERRUPT'],'message':_0x1cad7d['reason']??'job\x20['+_0x5df3f9+']\x20interrupted','stack':_0x1cad7d['stack']??'','job_id':_0x5df3f9}),_0x4b7014={[_0x2f2ee5]:_0x4db9a5['toString']()},_0xd64df4=this['serializer']['package'](_0x4b7014,_0x14f30f),_0x108d74=Object['keys'](_0xd64df4)[0x0];await this['kvsql']()['hset'](_0x2e544b,{[_0x108d74]:_0x2037cb});}}catch(_0x4406e8){if(!_0x1cad7d['suppress'])throw _0x4406e8;else this['logger']['debug']('suppressed-interrupt',{'message':_0x4406e8['message']});}}async['scrub'](_0x27da13){const _0x45fa0e=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x27da13});await this['kvsql']()['del'](_0x45fa0e);}async['findJobs'](_0x798745='*',_0x1df8a3=0x3e8,_0x4e76b2=0x3e8,_0x20f654='0'){const _0x32d360=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x798745}),{cursor:_0x59f335,keys:_0x25832f}=await this['kvsql']()['scan'](Number(_0x20f654),_0x1df8a3,_0x32d360);return[_0x59f335['toPrecision'](),_0x25832f];}async['findJobFields'](_0x34074e,_0x3b5953='*',_0x385b9f=0x3e8,_0x31512e=0x3e8,_0xc67af8='0'){const _0xc8c48b={},_0x477910=this['mintKey'](key_1['KeyType']['JOB_STATE'],{'appId':this['appId'],'jobId':_0x34074e});let _0x13bf9b=0x0;do{const {cursor:_0x74cdfc,items:_0x417b4a}=await this['kvsql']()['hscan'](_0x477910,_0xc67af8,_0x31512e,_0x3b5953==='*'?undefined:_0x3b5953);_0xc67af8=_0x74cdfc;for(const _0x1e6887 in _0x417b4a){_0x13bf9b++,_0xc8c48b[_0x1e6887]=_0x417b4a[_0x1e6887];}if(_0xc67af8==='0'||_0x13bf9b>=_0x385b9f)break;}while(!![]);return[_0xc67af8,_0xc8c48b];}async['setThrottleRate'](_0x2c62e5){const _0x32f40a=this['mintKey'](key_1['KeyType']['THROTTLE_RATE'],{'appId':this['appId']});if(_0x2c62e5['guid'])return;const _0x154208=_0x2c62e5['throttle']['toString']();if(_0x2c62e5['topic'])await this['kvsql']()['hset'](_0x32f40a,{[_0x2c62e5['topic']]:_0x154208});else{const _0x266c4c=this['transact']();_0x266c4c['del'](_0x32f40a),_0x266c4c['hset'](_0x32f40a,{':':_0x154208}),await _0x266c4c['exec']();}}async['getThrottleRates'](){const _0x3eb2d3=this['mintKey'](key_1['KeyType']['THROTTLE_RATE'],{'appId':this['appId']}),_0x4ea05c=await this['kvsql']()['hgetall'](_0x3eb2d3);return _0x4ea05c??{};}async['getThrottleRate'](_0x4c279c){const _0xbaf9cb=(_0x52b9cc,_0x5cca0e)=>{const _0x31e002=_0x5cca0e in _0x52b9cc?Number(_0x52b9cc[_0x5cca0e]):0x0;if(isNaN(_0x31e002))return 0x0;if(_0x31e002==-0x1)return enums_1['MAX_DELAY'];return Math['max'](Math['min'](_0x31e002,enums_1['MAX_DELAY']),0x0);},_0x5c4382=await this['getThrottleRates'](),_0x3786d0=_0xbaf9cb(_0x5c4382,':');if(_0x4c279c===':'||!(_0x4c279c in _0x5c4382))return _0x3786d0;return _0xbaf9cb(_0x5c4382,_0x4c279c);}}exports['PostgresStoreService']=PostgresStoreService;
|
|
@@ -22,7 +22,6 @@ declare abstract class RedisStoreBase<ClientProvider extends ProviderClient, Tra
|
|
|
22
22
|
isSuccessful(result: any): boolean;
|
|
23
23
|
delistSignalKey(key: string, target: string): Promise<void>;
|
|
24
24
|
zAdd(key: string, score: number | string, value: string | number, redisMulti?: TransactionProvider): Promise<any>;
|
|
25
|
-
zRangeByScoreWithScores(key: string, score: number | string, value: string | number): Promise<string | null>;
|
|
26
25
|
zRangeByScore(key: string, score: number | string, value: string | number): Promise<string | null>;
|
|
27
26
|
mintKey(type: KeyType, params: KeyStoreParams): string;
|
|
28
27
|
invalidateCache(): void;
|