@hotmeshio/hotmesh 0.3.10 → 0.3.12
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 +12 -14
- 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 +22 -18
- 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/meshdata/index.d.ts +4 -3
- package/build/services/meshdata/index.js +3 -2
- package/build/services/meshflow/client.d.ts +1 -0
- package/build/services/meshflow/client.js +18 -6
- package/build/services/meshflow/connection.d.ts +2 -2
- package/build/services/meshflow/connection.js +1 -1
- package/build/services/meshflow/exporter.js +1 -1
- package/build/services/meshflow/worker.d.ts +2 -1
- package/build/services/meshflow/worker.js +27 -16
- package/build/services/meshos/index.d.ts +2 -1
- package/build/services/meshos/index.js +7 -4
- 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/factory.d.ts +2 -2
- package/build/services/search/factory.js +8 -4
- package/build/services/search/providers/postgres/postgres.d.ts +21 -0
- package/build/services/search/providers/postgres/postgres.js +1 -0
- package/build/services/search/providers/redis/ioredis.js +1 -1
- package/build/services/search/providers/redis/redis.js +1 -1
- package/build/services/serializer/index.js +1 -1
- package/build/services/store/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 +156 -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/manifest.d.ts +12 -3
- package/build/types/meshflow.d.ts +2 -2
- package/build/types/postgres.d.ts +1 -0
- package/build/types/provider.d.ts +51 -1
- package/package.json +22 -18
- package/types/hotmesh.ts +15 -0
- package/types/manifest.ts +12 -3
- package/types/meshflow.ts +2 -2
- package/types/postgres.ts +2 -0
- package/types/provider.ts +81 -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
|
@@ -2,16 +2,20 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SearchServiceFactory = void 0;
|
|
4
4
|
const utils_1 = require("../../modules/utils");
|
|
5
|
+
const postgres_1 = require("./providers/postgres/postgres");
|
|
5
6
|
const ioredis_1 = require("./providers/redis/ioredis");
|
|
6
7
|
const redis_1 = require("./providers/redis/redis");
|
|
7
8
|
class SearchServiceFactory {
|
|
8
|
-
static async init(
|
|
9
|
+
static async init(providerClient, storeProviderClient, namespace, appId, logger) {
|
|
9
10
|
let service;
|
|
10
|
-
if ((0, utils_1.identifyProvider)(
|
|
11
|
-
service = new
|
|
11
|
+
if ((0, utils_1.identifyProvider)(providerClient) === 'postgres') {
|
|
12
|
+
service = new postgres_1.PostgresSearchService(providerClient, storeProviderClient);
|
|
13
|
+
}
|
|
14
|
+
else if ((0, utils_1.identifyProvider)(providerClient) === 'redis') {
|
|
15
|
+
service = new redis_1.RedisSearchService(providerClient, storeProviderClient);
|
|
12
16
|
}
|
|
13
17
|
else {
|
|
14
|
-
service = new ioredis_1.IORedisSearchService(
|
|
18
|
+
service = new ioredis_1.IORedisSearchService(providerClient, storeProviderClient);
|
|
15
19
|
}
|
|
16
20
|
await service.init(namespace, appId, logger);
|
|
17
21
|
return service;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { SearchService } from '../../index';
|
|
2
|
+
import { ILogger } from '../../../logger';
|
|
3
|
+
import { PostgresClientType } from '../../../../types/postgres';
|
|
4
|
+
import { ProviderClient, ProviderTransaction } from '../../../../types/provider';
|
|
5
|
+
declare class PostgresSearchService extends SearchService<PostgresClientType & ProviderClient> {
|
|
6
|
+
pgClient: PostgresClientType;
|
|
7
|
+
transact(): ProviderTransaction;
|
|
8
|
+
constructor(searchClient: PostgresClientType & ProviderClient, storeClient?: PostgresClientType & ProviderClient);
|
|
9
|
+
init(namespace: string, appId: string, logger: ILogger): Promise<void>;
|
|
10
|
+
createSearchIndex(indexName: string, prefixes: string[], schema: string[]): Promise<void>;
|
|
11
|
+
listSearchIndexes(): Promise<string[]>;
|
|
12
|
+
setFields(key: string, fields: Record<string, string>): Promise<number>;
|
|
13
|
+
getField(key: string, field: string): Promise<string>;
|
|
14
|
+
getFields(key: string, fields: string[]): Promise<string[]>;
|
|
15
|
+
getAllFields(key: string): Promise<Record<string, string>>;
|
|
16
|
+
deleteFields(key: string, fields: string[]): Promise<number>;
|
|
17
|
+
incrementFieldByFloat(key: string, field: string, increment: number): Promise<number>;
|
|
18
|
+
sendQuery(query: string): Promise<any>;
|
|
19
|
+
sendIndexedQuery(type: string, queryParams?: any[]): Promise<string[]>;
|
|
20
|
+
}
|
|
21
|
+
export { PostgresSearchService };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';function _0x5016(_0x2dba64,_0x454c95){const _0x1f4d47=_0x1f4d();return _0x5016=function(_0x5016b8,_0x5ea43b){_0x5016b8=_0x5016b8-0x17c;let _0x272c93=_0x1f4d47[_0x5016b8];return _0x272c93;},_0x5016(_0x2dba64,_0x454c95);}(function(_0x22f967,_0x55a2b7){const _0x1d8175=_0x5016,_0xbe94ae=_0x22f967();while(!![]){try{const _0x2ad1b8=-parseInt(_0x1d8175(0x187))/0x1*(-parseInt(_0x1d8175(0x186))/0x2)+-parseInt(_0x1d8175(0x17f))/0x3*(-parseInt(_0x1d8175(0x181))/0x4)+parseInt(_0x1d8175(0x182))/0x5+-parseInt(_0x1d8175(0x17c))/0x6+parseInt(_0x1d8175(0x184))/0x7*(parseInt(_0x1d8175(0x180))/0x8)+-parseInt(_0x1d8175(0x185))/0x9*(-parseInt(_0x1d8175(0x183))/0xa)+-parseInt(_0x1d8175(0x17d))/0xb*(parseInt(_0x1d8175(0x17e))/0xc);if(_0x2ad1b8===_0x55a2b7)break;else _0xbe94ae['push'](_0xbe94ae['shift']());}catch(_0x1501d4){_0xbe94ae['push'](_0xbe94ae['shift']());}}}(_0x1f4d,0xea10b));Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['PostgresSearchService']=void 0x0;const index_1=require('../../index'),kvsql_1=require('../../../store/providers/postgres/kvsql');class PostgresSearchService extends index_1['SearchService']{['transact'](){return this['storeClient']['transact']();}constructor(_0x153c55,_0x2e778a){super(_0x153c55,_0x2e778a),this['pgClient']=_0x153c55,this['searchClient']=new kvsql_1['KVSQL'](_0x153c55,this['namespace'],this['appId']);}async['init'](_0x5c69c3,_0x57c5c0,_0xf5af1a){this['searchClient']['namespace']=this['namespace']=_0x5c69c3,this['searchClient']['appId']=this['appId']=_0x57c5c0,this['namespace']=_0x5c69c3,this['appId']=_0x57c5c0,this['logger']=_0xf5af1a;}async['createSearchIndex'](_0x43c186,_0x3275a1,_0x5ed59b){}async['listSearchIndexes'](){return[];}async['setFields'](_0x52e655,_0x14fcc7){try{const _0x157094=await this['searchClient']['hset'](_0x52e655,_0x14fcc7);return Number(_0x157094);}catch(_0x2d8587){this['logger']['error']('postgres-search-set-fields-error',{'key':_0x52e655,..._0x2d8587});throw _0x2d8587;}}async['getField'](_0x14fd83,_0x1f8292){try{return await this['searchClient']['hget'](_0x14fd83,_0x1f8292);}catch(_0xe308d7){this['logger']['error']('postgres-search-get-field-error',{'key':_0x14fd83,'field':_0x1f8292,..._0xe308d7});throw _0xe308d7;}}async['getFields'](_0x1a7f8c,_0x54297d){try{return await this['searchClient']['hmget'](_0x1a7f8c,[..._0x54297d]);}catch(_0x3c9cee){this['logger']['error']('postgres-search-get-fields-error',{'key':_0x1a7f8c,'fields':_0x54297d,..._0x3c9cee});throw _0x3c9cee;}}async['getAllFields'](_0x12a6d4){try{return await this['searchClient']['hgetall'](_0x12a6d4);}catch(_0x2dcda9){this['logger']['error']('postgres-search-get-all-fields-error',{'key':_0x12a6d4,..._0x2dcda9});throw _0x2dcda9;}}async['deleteFields'](_0x1e8ee3,_0x5d0c35){try{const _0x18323d=await this['searchClient']['hdel'](_0x1e8ee3,..._0x5d0c35);return Number(_0x18323d);}catch(_0x23c104){this['logger']['error']('postgres-delete-fields-error',{'key':_0x1e8ee3,'fields':_0x5d0c35,..._0x23c104});throw _0x23c104;}}async['incrementFieldByFloat'](_0x2c9d71,_0x2ead4e,_0x35ad4b){try{const _0x4ab7d6=await this['searchClient']['hincrbyfloat'](_0x2c9d71,_0x2ead4e,_0x35ad4b);return Number(_0x4ab7d6);}catch(_0x681dc9){this['logger']['error']('postgres-increment-field-error',{'key':_0x2c9d71,'field':_0x2ead4e,..._0x681dc9});throw _0x681dc9;}}async['sendQuery'](_0x407bb5){try{return await this['pgClient']['query'](_0x407bb5);}catch(_0x3f9ce5){this['logger']['error']('postgres-send-query-error',{'query':_0x407bb5,..._0x3f9ce5});throw _0x3f9ce5;}}async['sendIndexedQuery'](_0x5adb5d,_0x3ed5f3=[]){const [_0x136564,..._0x18f254]=_0x3ed5f3;try{const _0x498c31=await this['pgClient']['query'](_0x136564,_0x18f254['length']?_0x18f254:undefined);return _0x498c31['rows'];}catch(_0x1ad6fd){console['error']('error',_0x1ad6fd),this['logger']['error']('postgres-send-indexed-query-error',{'query':_0x136564,..._0x1ad6fd});throw _0x1ad6fd;}}}exports['PostgresSearchService']=PostgresSearchService;function _0x1f4d(){const _0x40db00=['4513314vAmelu','40172lHgthR','5448JZtOCz','13446vhoYnU','40EgBBxS','76lxFIrt','5733175MOzNfW','5279930TLKyYl','1573586LdZGky','9faBniU','970364NLORGZ','1gxCdvR'];_0x1f4d=function(){return _0x40db00;};return _0x1f4d();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';(function(_0x735f2d,_0x3b5719){const _0x2be0a6=_0x4fe2,_0x5032cc=_0x735f2d();while(!![]){try{const _0x20771a=parseInt(_0x2be0a6(0x105))/0x1+-parseInt(_0x2be0a6(0x107))/0x2*(-parseInt(_0x2be0a6(0x104))/0x3)+parseInt(_0x2be0a6(0x101))/0x4+-parseInt(_0x2be0a6(0x106))/0x5*(-parseInt(_0x2be0a6(0x108))/0x6)+parseInt(_0x2be0a6(0x109))/0x7+parseInt(_0x2be0a6(0x102))/0x8*(parseInt(_0x2be0a6(0x103))/0x9)+-parseInt(_0x2be0a6(0x100))/0xa;if(_0x20771a===_0x3b5719)break;else _0x5032cc['push'](_0x5032cc['shift']());}catch(_0x195a97){_0x5032cc['push'](_0x5032cc['shift']());}}}(_0xf4fd,0x31b6c));function _0x4fe2(_0x318eab,_0x1e9f6b){const _0xf4fd8e=_0xf4fd();return _0x4fe2=function(_0x4fe2ac,_0xf78425){_0x4fe2ac=_0x4fe2ac-0x100;let _0x4ef6a9=_0xf4fd8e[_0x4fe2ac];return _0x4ef6a9;},_0x4fe2(_0x318eab,_0x1e9f6b);}function _0xf4fd(){const _0x58dd2f=['202FgHmre','6VBefiV','893683JXWmNb','5088820YwtrcR','1309532WeiJlo','525232XEcKZX','9QUzSVY','2454uMnrhl','95517WNjoZF','68345bijgyn'];_0xf4fd=function(){return _0x58dd2f;};return _0xf4fd();}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['IORedisSearchService']=void 0x0;const index_1=require('../../index');class IORedisSearchService extends index_1['SearchService']{constructor(_0xae8cc5,_0x53cdc6){super(_0xae8cc5,_0x53cdc6);}async['init'](_0xf92dc8,_0xcb272a,_0x32c29b){this['namespace']=_0xf92dc8,this['appId']=_0xcb272a,this['logger']=_0x32c29b;}async['createSearchIndex'](_0x317b3c,_0x46b30e,_0x118d1c){try{await this['searchClient']['call']('FT.CREATE',_0x317b3c,'ON','HASH','PREFIX',_0x46b30e['length']['toString'](),..._0x46b30e,'SCHEMA',..._0x118d1c);}catch(_0x226b14){this['logger']['info']('Error\x20creating\x20search\x20index',{'error':_0x226b14});throw _0x226b14;}}async['listSearchIndexes'](){try{const _0x524f75=await this['searchClient']['call']('FT._LIST');return _0x524f75;}catch(_0x67d42b){this['logger']['info']('Error\x20listing\x20search\x20indexes',{'error':_0x67d42b});throw _0x67d42b;}}async['setFields'](_0x58b256,_0x26eabe){try{const _0x3996fd=await this['searchClient']['hset'](_0x58b256,_0x26eabe);return Number(_0x3996fd);}catch(_0x1acc74){this['logger']['error']('Error\x20setting\x20fields\x20for\x20key:\x20'+_0x58b256,{'error':_0x1acc74});throw _0x1acc74;}}async['getField'](_0xcd4f6,_0x575abd){try{return await this['searchClient']['hget'](_0xcd4f6,_0x575abd);}catch(_0x590b9f){this['logger']['error']('Error\x20getting\x20field\x20'+_0x575abd+'\x20for\x20key:\x20'+_0xcd4f6,{'error':_0x590b9f});throw _0x590b9f;}}async['getFields'](_0x69ce8e,_0x486c25){try{return await this['searchClient']['hmget'](_0x69ce8e,[..._0x486c25]);}catch(_0x315ff7){this['logger']['error']('Error\x20getting\x20fields\x20for\x20key:\x20'+_0x69ce8e,{'error':_0x315ff7});throw _0x315ff7;}}async['getAllFields'](_0x33975f){try{return await this['searchClient']['hgetall'](_0x33975f);}catch(_0x3017a0){this['logger']['error']('Error\x20getting\x20fields\x20for\x20key:\x20'+_0x33975f,{'error':_0x3017a0});throw _0x3017a0;}}async['deleteFields'](_0x3428e7,_0x35a9d4){try{const _0x15fcac=await this['searchClient']['hdel'](_0x3428e7,..._0x35a9d4);return Number(_0x15fcac);}catch(_0x3adc06){this['logger']['error']('Error\x20deleting\x20fields\x20for\x20key:\x20'+_0x3428e7,{'error':_0x3adc06});throw _0x3adc06;}}async['incrementFieldByFloat'](_0x5467a3,_0x10df3b,_0x5b2edd){try{const _0x3439b8=await this['searchClient']['hincrbyfloat'](_0x5467a3,_0x10df3b,_0x5b2edd);return Number(_0x3439b8);}catch(_0x307d67){this['logger']['error']('Error\x20incrementing\x20field\x20'+_0x10df3b+'\x20for\x20key:\x20'+_0x5467a3,{'error':_0x307d67});throw _0x307d67;}}async['sendQuery'](..._0x1e8515){try{return await this['searchClient']['call'](..._0x1e8515);}catch(_0x536f32){this['logger']['error']('Error\x20executing\x20query',{'error':_0x536f32});throw _0x536f32;}}async['sendIndexedQuery'](_0x18e9d6,_0x2d81bc){try{if(_0x2d81bc[0x0]?.['startsWith']('FT.')){const [_0x11204d,..._0x19ce2e]=_0x2d81bc;return await this['searchClient']['call'](_0x11204d,..._0x19ce2e);}return await this['searchClient']['call']('FT.SEARCH',_0x18e9d6,..._0x2d81bc);}catch(_0x1781a7){this['logger']['error']('Error\x20executing\x20query',{'error':_0x1781a7});throw _0x1781a7;}}}exports['IORedisSearchService']=IORedisSearchService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';(function(_0x10d26f,_0x4825de){const _0x8ba19a=_0x4900,_0x4451e1=_0x10d26f();while(!![]){try{const _0x5bd12f=parseInt(_0x8ba19a(0x19a))/0x1+parseInt(_0x8ba19a(0x191))/0x2+parseInt(_0x8ba19a(0x198))/0x3+parseInt(_0x8ba19a(0x197))/0x4*(-parseInt(_0x8ba19a(0x199))/0x5)+parseInt(_0x8ba19a(0x195))/0x6+-parseInt(_0x8ba19a(0x196))/0x7*(-parseInt(_0x8ba19a(0x193))/0x8)+-parseInt(_0x8ba19a(0x192))/0x9*(parseInt(_0x8ba19a(0x194))/0xa);if(_0x5bd12f===_0x4825de)break;else _0x4451e1['push'](_0x4451e1['shift']());}catch(_0x4dc150){_0x4451e1['push'](_0x4451e1['shift']());}}}(_0x59c8,0xd91f9));Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['RedisSearchService']=void 0x0;function _0x4900(_0x596427,_0x4aa1df){const _0x59c83f=_0x59c8();return _0x4900=function(_0x490066,_0x46016c){_0x490066=_0x490066-0x191;let _0x18c547=_0x59c83f[_0x490066];return _0x18c547;},_0x4900(_0x596427,_0x4aa1df);}function _0x59c8(){const _0x14574c=['3656lneimc','10vkkrVL','10030338FBEVbB','4487eZyXQY','1058572WRPqhQ','3396528KrqTdS','10ZQShXR','1548198nfMiyY','406682nxtKTK','30867768dylzCR'];_0x59c8=function(){return _0x14574c;};return _0x59c8();}const index_1=require('../../index');class RedisSearchService extends index_1['SearchService']{constructor(_0x5dfaa8,_0x1b72ff){super(_0x5dfaa8,_0x1b72ff);}async['init'](_0x2a78d6,_0x1a6e49,_0x55a574){this['namespace']=_0x2a78d6,this['appId']=_0x1a6e49,this['logger']=_0x55a574;}async['createSearchIndex'](_0x4a62c4,_0x34e439,_0xb6be58){try{await this['searchClient']['sendCommand'](['FT.CREATE',_0x4a62c4,'ON','HASH','PREFIX',_0x34e439['length']['toString'](),..._0x34e439,'SCHEMA',..._0xb6be58]);}catch(_0x4a8397){this['logger']['info']('Error\x20creating\x20search\x20index',{'error':_0x4a8397});throw _0x4a8397;}}async['listSearchIndexes'](){try{const _0xf7bfd8=await this['searchClient']['sendCommand'](['FT._LIST']);return _0xf7bfd8;}catch(_0x5ae419){this['logger']['info']('Error\x20listing\x20search\x20indexes',{'error':_0x5ae419});throw _0x5ae419;}}async['setFields'](_0x541e15,_0x506634){try{const _0x969ae5=await this['searchClient']['HSET'](_0x541e15,_0x506634);return Number(_0x969ae5);}catch(_0x5597b4){this['logger']['error']('Error\x20setting\x20fields\x20for\x20key:\x20'+_0x541e15,{'error':_0x5597b4});throw _0x5597b4;}}async['getField'](_0x2f4742,_0x606458){try{return await this['searchClient']['HGET'](_0x2f4742,_0x606458);}catch(_0xfedff1){this['logger']['error']('Error\x20getting\x20field\x20'+_0x606458+'\x20for\x20key:\x20'+_0x2f4742,{'error':_0xfedff1});throw _0xfedff1;}}async['getFields'](_0x196cc4,_0x1a2c00){try{return await this['searchClient']['HMGET'](_0x196cc4,[..._0x1a2c00]);}catch(_0x4a639f){this['logger']['error']('Error\x20getting\x20fields\x20for\x20key:\x20'+_0x196cc4,{'error':_0x4a639f});throw _0x4a639f;}}async['getAllFields'](_0x5c6074){try{return await this['searchClient']['HGETALL'](_0x5c6074);}catch(_0x5d359e){this['logger']['error']('Error\x20getting\x20fields\x20for\x20key:\x20'+_0x5c6074,{'error':_0x5d359e});throw _0x5d359e;}}async['deleteFields'](_0x5bec4f,_0x3a032d){try{const _0x310e01=await this['searchClient']['HDEL'](_0x5bec4f,_0x3a032d);return Number(_0x310e01);}catch(_0x356c22){this['logger']['error']('Error\x20deleting\x20fields\x20for\x20key:\x20'+_0x5bec4f,{'error':_0x356c22});throw _0x356c22;}}async['incrementFieldByFloat'](_0x394473,_0x5ae95e,_0x560774){try{const _0x4fde42=await this['searchClient']['HINCRBYFLOAT'](_0x394473,_0x5ae95e,_0x560774);return Number(_0x4fde42);}catch(_0x1a609e){this['logger']['error']('Error\x20incrementing\x20field\x20'+_0x5ae95e+'\x20for\x20key:\x20'+_0x394473,{'error':_0x1a609e});throw _0x1a609e;}}async['sendQuery'](..._0x365740){try{return await this['searchClient']['sendCommand'](_0x365740);}catch(_0x2f3477){this['logger']['error']('Error\x20executing\x20query',{'error':_0x2f3477});throw _0x2f3477;}}async['sendIndexedQuery'](_0x56bf64,_0x35b215){try{if(_0x35b215[0x0]?.['startsWith']('FT.'))return await this['searchClient']['sendCommand'](_0x35b215);return await this['searchClient']['sendCommand'](['FT.SEARCH',_0x56bf64,..._0x35b215]);}catch(_0x28d2f7){this['logger']['error']('Error\x20executing\x20query',{'error':_0x28d2f7});throw _0x28d2f7;}}}exports['RedisSearchService']=RedisSearchService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';(function(_0x227bc0,_0xcd3d6c){const _0x486637=_0x527c,_0x5901f0=_0x227bc0();while(!![]){try{const _0x390a60=parseInt(_0x486637(0x175))/0x1*(-parseInt(_0x486637(0x17a))/0x2)+-parseInt(_0x486637(0x177))/0x3+parseInt(_0x486637(0x176))/0x4+parseInt(_0x486637(0x17b))/0x5*(parseInt(_0x486637(0x179))/0x6)+parseInt(_0x486637(0x17d))/0x7+-parseInt(_0x486637(0x178))/0x8+parseInt(_0x486637(0x17c))/0x9;if(_0x390a60===_0xcd3d6c)break;else _0x5901f0['push'](_0x5901f0['shift']());}catch(_0xf9a090){_0x5901f0['push'](_0x5901f0['shift']());}}}(_0x4bd3,0xb39ab));Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['SerializerService']=exports['MDATA_SYMBOLS']=void 0x0;const utils_1=require('../../modules/utils'),dateReg=/^"\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d{3})?Z)?"$/;exports['MDATA_SYMBOLS']={'SLOTS':0x1a,'ACTIVITY':{'KEYS':['aid','dad','as','atp','stp','ac','au','err','l1s','l2s']},'ACTIVITY_UPDATE':{'KEYS':['au','err','l2s']},'JOB':{'KEYS':['ngn','tpc','pj','pg','pd','px','pa','key','app','vrs','jid','gid','aid','ts','jc','ju','js','err','trc']},'JOB_UPDATE':{'KEYS':['ju','err']}};function _0x527c(_0x2314f6,_0x156dc1){const _0x4bd393=_0x4bd3();return _0x527c=function(_0x527cca,_0x3121d8){_0x527cca=_0x527cca-0x175;let _0x25c16c=_0x4bd393[_0x527cca];return _0x25c16c;},_0x527c(_0x2314f6,_0x156dc1);}function _0x4bd3(){const _0x5e72a8=['905121dBdonW','5458061rgEcFK','116284KCxdJk','4424700nCwvFE','306663TWwolJ','4854168EjWQpS','3432EFOryi','22XgIpwZ','6445dzGDnl'];_0x4bd3=function(){return _0x5e72a8;};return _0x4bd3();}class SerializerService{constructor(){this['resetSymbols']({},{},{});}['abbreviate'](_0x178eca,_0x1936df,_0x2a5b3a=[]){for(const _0x5f1b03 of _0x1936df){const _0x112549=this['symKeys']['get'](_0x5f1b03),_0x44b66a=_0x178eca[_0x5f1b03];for(const _0x4f2ac4 of _0x44b66a){const _0x2387ff=_0x112549['get'](_0x4f2ac4);if(_0x2387ff){const _0x35cb30=this['resolveDimensionalIndex'](_0x4f2ac4);_0x2a5b3a['push'](''+_0x2387ff+_0x35cb30);}else _0x2a5b3a['push'](_0x4f2ac4);}}return _0x2a5b3a;}['resolveDimensionalIndex'](_0x3eba9f){if(this['isJobPath'](_0x3eba9f))return'';else{const [_0x253716]=_0x3eba9f['split']('/');if(_0x253716 in this['dIds'])return this['dIds'][_0x253716];else{if('$ADJACENT'in this['dIds'])return this['dIds']['$ADJACENT'];}return',0';}}['isJobPath'](_0x7d54e6){return _0x7d54e6['startsWith']('data/')||_0x7d54e6['startsWith']('metadata/');}['resetSymbols'](_0x28648b,_0x105e67,_0x255c62){this['symKeys']=new Map(),this['symReverseKeys']=new Map();for(const _0x5cffb8 in _0x28648b){this['symKeys']['set'](_0x5cffb8,new Map(Object['entries'](_0x28648b[_0x5cffb8])));}this['symValMaps']=new Map(Object['entries'](_0x105e67)),this['symValReverseMaps']=this['getReverseValueMap'](this['symValMaps']),this['dIds']=_0x255c62;}['getReverseKeyMap'](_0x2d2a36,_0x2432e2){let _0x2fdb20=this['symReverseKeys']['get'](_0x2432e2);if(!_0x2fdb20){_0x2fdb20=new Map();for(const [_0x2cd2d9,_0x10ad85]of _0x2d2a36['entries']()){_0x2fdb20['set'](_0x10ad85,_0x2cd2d9);}this['symReverseKeys']['set'](_0x2432e2,_0x2fdb20);}return _0x2fdb20;}['getReverseValueMap'](_0x5c6368){const _0x1118c9=new Map();for(const [_0x4c1cd8,_0x187b2e]of _0x5c6368['entries']()){_0x1118c9['set'](_0x187b2e,_0x4c1cd8);}return _0x1118c9;}static['filterSymVals'](_0x581a85,_0x2ab0a8,_0x3c04ea,_0x259a10){const _0x5545d3={},_0x3b511a={..._0x3c04ea},_0x543119=new Set(Object['values'](_0x3b511a));for(const _0x2a7fc6 of _0x259a10){if(!_0x543119['has'](_0x2a7fc6)){if(_0x581a85>_0x2ab0a8)return _0x5545d3;const _0x411631=(0x0,utils_1['getSymVal'])(_0x581a85);_0x581a85++,_0x5545d3[_0x411631]=_0x2a7fc6,_0x543119['add'](_0x2a7fc6);}}return _0x5545d3;}['compress'](_0x8eb7f4,_0x34f712){if(this['symKeys']['size']===0x0)return _0x8eb7f4;const _0xe1997e={..._0x8eb7f4},_0x5068ad={},_0x196dcc=(_0x4e3b20,_0x21c043)=>{for(const _0x523b2b in _0xe1997e){if(_0x523b2b['startsWith'](_0x21c043+'/')||_0x21c043['startsWith']('$')&&['data','metadata']['includes'](_0x523b2b['split']('/')[0x0])){const _0x1fb97e=this['resolveDimensionalIndex'](_0x523b2b),_0x28a276=_0x4e3b20['get'](_0x523b2b)||_0x523b2b,_0x3513f6=''+_0x28a276+_0x1fb97e;_0x5068ad[_0x3513f6]=_0xe1997e[_0x523b2b];}else!(_0x523b2b in _0x5068ad)&&this['isLiteralKeyType'](_0x523b2b)&&(_0x5068ad[_0x523b2b]=_0xe1997e[_0x523b2b]);}};for(const _0x2035dd of _0x34f712){const _0x21e786=this['symKeys']['get'](_0x2035dd);_0x21e786&&_0x196dcc(_0x21e786,_0x2035dd);}return _0x5068ad;}['isLiteralKeyType'](_0x539a9e){return _0x539a9e['startsWith']('-')||_0x539a9e['startsWith']('_');}['decompress'](_0x51d5a3,_0x1b1abb){if(this['symKeys']['size']===0x0)return _0x51d5a3;const _0x154d31={..._0x51d5a3},_0x4266da=(_0x365ee9,_0x580b73)=>{const _0x2bc3ed=this['getReverseKeyMap'](_0x365ee9,_0x580b73);for(const _0x27b6a5 in _0x154d31){const _0x345faa=_0x27b6a5['split'](',')[0x0],_0x5b94a3=_0x2bc3ed['get'](_0x345faa);_0x5b94a3&&(_0x154d31[_0x5b94a3]=_0x154d31[_0x27b6a5],delete _0x154d31[_0x27b6a5]);}};for(const _0x2ca96d of _0x1b1abb){const _0x1e0acf=this['symKeys']['get'](_0x2ca96d);_0x1e0acf&&_0x4266da(_0x1e0acf,_0x2ca96d);}return _0x154d31;}['stringify'](_0x5a99f6){const _0x364cc3={};for(const _0x5d4100 in _0x5a99f6){const _0x54dae3=SerializerService['toString'](_0x5a99f6[_0x5d4100]);_0x54dae3&&(_0x364cc3[_0x5d4100]=_0x54dae3);}return _0x364cc3;}['parse'](_0x62e110){const _0x44527e={};for(const [_0x2a9ecf,_0x1a44d8]of Object['entries'](_0x62e110)){if(_0x1a44d8===undefined||_0x1a44d8===null)continue;_0x44527e[_0x2a9ecf]=SerializerService['fromString'](_0x1a44d8);}return _0x44527e;}static['toString'](_0x4087f4){switch(typeof _0x4087f4){case'string':break;case'boolean':_0x4087f4=_0x4087f4?'/t':'/f';break;case'number':_0x4087f4='/d'+_0x4087f4['toString']();break;case'undefined':return undefined;case'object':_0x4087f4===null?_0x4087f4='/n':_0x4087f4='/s'+JSON['stringify'](_0x4087f4);break;}return _0x4087f4;}static['fromString'](_0x555132){if(typeof _0x555132!=='string')return undefined;const _0x40c53f=_0x555132['slice'](0x0,0x2),_0x38c7ff=_0x555132['slice'](0x2);switch(_0x40c53f){case'/t':return!![];case'/f':return![];case'/d':return Number(_0x38c7ff);case'/n':return null;case'/s':if(dateReg['exec'](_0x38c7ff))return new Date(JSON['parse'](_0x38c7ff));return JSON['parse'](_0x38c7ff);default:return _0x555132;}}['package'](_0x5b2292,_0x465e38){const _0x64f0f5=this['stringify'](_0x5b2292);return this['compress'](_0x64f0f5,_0x465e38);}['unpackage'](_0x4ad35c,_0x9c0726){const _0x47ad03=this['decompress'](_0x4ad35c,_0x9c0726);return this['parse'](_0x47ad03);}['export'](){const _0x4eab05={};for(const [_0x5594bc,_0x9d3a4f]of this['symKeys']['entries']()){_0x4eab05[_0x5594bc]={};for(const [_0x32e661,_0x218d05]of _0x9d3a4f['entries']()){_0x4eab05[_0x5594bc][_0x32e661]=_0x218d05;}}return _0x4eab05;}}exports['SerializerService']=SerializerService;
|
|
@@ -3,6 +3,6 @@ import { ProviderClient, ProviderTransaction } from '../../types/provider';
|
|
|
3
3
|
import { StoreInitializable } from './providers/store-initializable';
|
|
4
4
|
import { StoreService } from './index';
|
|
5
5
|
declare class StoreServiceFactory {
|
|
6
|
-
static init(
|
|
6
|
+
static init(providerClient: ProviderClient, namespace: string, appId: string, logger: ILogger): Promise<StoreService<ProviderClient, ProviderTransaction> & StoreInitializable>;
|
|
7
7
|
}
|
|
8
8
|
export { StoreServiceFactory };
|
|
@@ -4,14 +4,18 @@ exports.StoreServiceFactory = void 0;
|
|
|
4
4
|
const utils_1 = require("../../modules/utils");
|
|
5
5
|
const ioredis_1 = require("./providers/redis/ioredis");
|
|
6
6
|
const redis_1 = require("./providers/redis/redis");
|
|
7
|
+
const postgres_1 = require("./providers/postgres/postgres");
|
|
7
8
|
class StoreServiceFactory {
|
|
8
|
-
static async init(
|
|
9
|
+
static async init(providerClient, namespace, appId, logger) {
|
|
9
10
|
let service;
|
|
10
|
-
if ((0, utils_1.identifyProvider)(
|
|
11
|
-
service = new redis_1.RedisStoreService(
|
|
11
|
+
if ((0, utils_1.identifyProvider)(providerClient) === 'redis') {
|
|
12
|
+
service = new redis_1.RedisStoreService(providerClient);
|
|
12
13
|
}
|
|
13
|
-
else {
|
|
14
|
-
service = new ioredis_1.IORedisStoreService(
|
|
14
|
+
else if ((0, utils_1.identifyProvider)(providerClient) === 'ioredis') {
|
|
15
|
+
service = new ioredis_1.IORedisStoreService(providerClient);
|
|
16
|
+
}
|
|
17
|
+
else if ((0, utils_1.identifyProvider)(providerClient) === 'postgres') {
|
|
18
|
+
service = new postgres_1.PostgresStoreService(providerClient);
|
|
15
19
|
}
|
|
16
20
|
await service.init(namespace, appId, logger);
|
|
17
21
|
return service;
|
|
@@ -4,7 +4,7 @@ import { SerializerService as Serializer } from '../serializer';
|
|
|
4
4
|
import { Consumes } from '../../types/activity';
|
|
5
5
|
import { AppVID } from '../../types/app';
|
|
6
6
|
import { HookRule, HookSignal } from '../../types/hook';
|
|
7
|
-
import { HotMeshSettings } from '../../types/hotmesh';
|
|
7
|
+
import { HotMeshApps, HotMeshSettings } from '../../types/hotmesh';
|
|
8
8
|
import { ProviderClient, ProviderTransaction } from '../../types/provider';
|
|
9
9
|
import { ThrottleOptions } from '../../types/quorum';
|
|
10
10
|
import { StringAnyType, Symbols, StringStringType, SymbolSets } from '../../types/serializer';
|
|
@@ -20,6 +20,7 @@ declare abstract class StoreService<Provider extends ProviderClient, Transaction
|
|
|
20
20
|
serializer: Serializer;
|
|
21
21
|
constructor(client: Provider);
|
|
22
22
|
abstract transact(): TransactionProvider;
|
|
23
|
+
abstract init(namespace: string, appId: string, logger: ILogger): Promise<HotMeshApps>;
|
|
23
24
|
abstract mintKey(type: KeyType, params: KeyStoreParams): string;
|
|
24
25
|
abstract getSettings(bCreate?: boolean): Promise<HotMeshSettings>;
|
|
25
26
|
abstract setSettings(manifest: HotMeshSettings): Promise<any>;
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { KeyStoreParams } from '../../../../types/hotmesh';
|
|
2
|
+
import { PostgresClientType, PostgresJobEnumType } 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
|
+
deriveType(fieldName: string): PostgresJobEnumType;
|
|
41
|
+
_hset(key: string, fields: Record<string, string>, options?: HSetOptions): {
|
|
42
|
+
sql: string;
|
|
43
|
+
params: any[];
|
|
44
|
+
};
|
|
45
|
+
hget(key: string, field: string, multi?: ProviderTransaction): Promise<string | null>;
|
|
46
|
+
_hget(key: string, field: string): {
|
|
47
|
+
sql: string;
|
|
48
|
+
params: any[];
|
|
49
|
+
};
|
|
50
|
+
hdel(key: string, fields: string[], multi?: ProviderTransaction): Promise<number>;
|
|
51
|
+
_hdel(key: string, fields: string[]): {
|
|
52
|
+
sql: string;
|
|
53
|
+
params: any[];
|
|
54
|
+
};
|
|
55
|
+
hmget(key: string, fields: string[], multi?: ProviderTransaction): Promise<(string | null)[]>;
|
|
56
|
+
_hmget(key: string, fields: string[]): {
|
|
57
|
+
sql: string;
|
|
58
|
+
params: any[];
|
|
59
|
+
};
|
|
60
|
+
hgetall(key: string, multi?: ProviderTransaction): Promise<Record<string, string>>;
|
|
61
|
+
_hgetall(key: string): {
|
|
62
|
+
sql: string;
|
|
63
|
+
params: any[];
|
|
64
|
+
};
|
|
65
|
+
hincrbyfloat(key: string, field: string, increment: number, multi?: ProviderTransaction): Promise<number>;
|
|
66
|
+
_hincrbyfloat(key: string, field: string, increment: number): {
|
|
67
|
+
sql: string;
|
|
68
|
+
params: any[];
|
|
69
|
+
};
|
|
70
|
+
hscan(key: string, cursor: string, count?: number, pattern?: string, multi?: ProviderTransaction): Promise<HScanResult>;
|
|
71
|
+
_hscan(key: string, cursor: string, count: number, pattern?: string): {
|
|
72
|
+
sql: string;
|
|
73
|
+
params: any[];
|
|
74
|
+
};
|
|
75
|
+
lrange(key: string, start: number, end: number, multi?: ProviderTransaction): Promise<string[]>;
|
|
76
|
+
_lrange(key: string, start: number, end: number): {
|
|
77
|
+
sql: string;
|
|
78
|
+
params: any[];
|
|
79
|
+
};
|
|
80
|
+
rpush(key: string, value: string | string[], multi?: ProviderTransaction): Promise<number>;
|
|
81
|
+
_rpush(key: string, value: string | string[]): {
|
|
82
|
+
sql: string;
|
|
83
|
+
params: any[];
|
|
84
|
+
};
|
|
85
|
+
lpush(key: string, value: string | string[], multi?: ProviderTransaction): Promise<number>;
|
|
86
|
+
_lpush(key: string, value: string | string[]): {
|
|
87
|
+
sql: string;
|
|
88
|
+
params: any[];
|
|
89
|
+
};
|
|
90
|
+
lpop(key: string, multi?: ProviderTransaction): Promise<string | null>;
|
|
91
|
+
_lpop(key: string): {
|
|
92
|
+
sql: string;
|
|
93
|
+
params: any[];
|
|
94
|
+
};
|
|
95
|
+
lmove(source: string, destination: string, srcPosition: "LEFT" | "RIGHT", destPosition: "LEFT" | "RIGHT", multi?: ProviderTransaction): Promise<string | null>;
|
|
96
|
+
_lmove(source: string, destination: string, srcPosition: "LEFT" | "RIGHT", destPosition: "LEFT" | "RIGHT"): {
|
|
97
|
+
sql: string;
|
|
98
|
+
params: any[];
|
|
99
|
+
};
|
|
100
|
+
zadd(key: string, score: number, member: string, options?: ZAddOptions, multi?: ProviderTransaction): Promise<number>;
|
|
101
|
+
_zadd(key: string, score: number, member: string, options?: ZAddOptions): {
|
|
102
|
+
sql: string;
|
|
103
|
+
params: any[];
|
|
104
|
+
};
|
|
105
|
+
zrange(key: string, start: number, stop: number, facet?: 'WITHSCORES', multi?: ProviderTransaction): Promise<string[]>;
|
|
106
|
+
_zrange(key: string, start: number, stop: number, facet?: 'WITHSCORES'): {
|
|
107
|
+
sql: string;
|
|
108
|
+
params: any[];
|
|
109
|
+
};
|
|
110
|
+
zscore(key: string, member: string, multi?: ProviderTransaction): Promise<number | null>;
|
|
111
|
+
_zscore(key: string, member: string): {
|
|
112
|
+
sql: string;
|
|
113
|
+
params: any[];
|
|
114
|
+
};
|
|
115
|
+
zrangebyscore(key: string, min: number, max: number, multi?: ProviderTransaction): Promise<string[]>;
|
|
116
|
+
_zrangebyscore(key: string, min: number, max: number): {
|
|
117
|
+
sql: string;
|
|
118
|
+
params: any[];
|
|
119
|
+
};
|
|
120
|
+
zrangebyscore_withscores(key: string, min: number, max: number, multi?: ProviderTransaction): Promise<{
|
|
121
|
+
member: string;
|
|
122
|
+
score: number;
|
|
123
|
+
}[]>;
|
|
124
|
+
_zrangebyscore_withscores(key: string, min: number, max: number): {
|
|
125
|
+
sql: string;
|
|
126
|
+
params: any[];
|
|
127
|
+
};
|
|
128
|
+
zrem(key: string, member: string, multi?: ProviderTransaction): Promise<number>;
|
|
129
|
+
_zrem(key: string, member: string): {
|
|
130
|
+
sql: string;
|
|
131
|
+
params: any[];
|
|
132
|
+
};
|
|
133
|
+
zrank(key: string, member: string, multi?: ProviderTransaction): Promise<number | null>;
|
|
134
|
+
_zrank(key: string, member: string): {
|
|
135
|
+
sql: string;
|
|
136
|
+
params: any[];
|
|
137
|
+
};
|
|
138
|
+
scan(cursor: number, count?: number, pattern?: string, multi?: ProviderTransaction): Promise<{
|
|
139
|
+
cursor: number;
|
|
140
|
+
keys: string[];
|
|
141
|
+
}>;
|
|
142
|
+
_scan(cursor: number, count: number, pattern?: string): {
|
|
143
|
+
sql: string;
|
|
144
|
+
params: any[];
|
|
145
|
+
};
|
|
146
|
+
rename(oldKey: string, newKey: string, multi?: ProviderTransaction): Promise<void>;
|
|
147
|
+
_rename(oldKey: string, newKey: string): {
|
|
148
|
+
sql: string;
|
|
149
|
+
params: any[];
|
|
150
|
+
};
|
|
151
|
+
exists(key: string): Promise<string | 0>;
|
|
152
|
+
_exists(key: string): {
|
|
153
|
+
sql: string;
|
|
154
|
+
params: any[];
|
|
155
|
+
};
|
|
156
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';(function(_0x529a7e,_0x51a20f){const _0x1c669d=_0x390d,_0x17008f=_0x529a7e();while(!![]){try{const _0x1ffa5c=-parseInt(_0x1c669d(0x11c))/0x1+parseInt(_0x1c669d(0x125))/0x2*(-parseInt(_0x1c669d(0x122))/0x3)+parseInt(_0x1c669d(0x11f))/0x4+parseInt(_0x1c669d(0x120))/0x5+-parseInt(_0x1c669d(0x123))/0x6+-parseInt(_0x1c669d(0x11e))/0x7*(parseInt(_0x1c669d(0x121))/0x8)+-parseInt(_0x1c669d(0x124))/0x9*(-parseInt(_0x1c669d(0x11d))/0xa);if(_0x1ffa5c===_0x51a20f)break;else _0x17008f['push'](_0x17008f['shift']());}catch(_0x1b1b84){_0x17008f['push'](_0x17008f['shift']());}}}(_0x49af,0x4db6c));var __importDefault=this&&this['__importDefault']||function(_0xeb721f){return _0xeb721f&&_0xeb721f['__esModule']?_0xeb721f:{'default':_0xeb721f};};Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['KVSQL']=void 0x0;function _0x49af(){const _0x2df005=['1603mgzOVm','2238128NswbhZ','465915HfKSHi','15608XdmsRI','3FhrAer','2294982EwOANC','2337759ZAeroW','1241182vrbjhe','183287TYRNFN','50RvQhYx'];_0x49af=function(){return _0x2df005;};return _0x49af();}const pg_format_1=__importDefault(require('pg-format')),key_1=require('../../../../modules/key');function formatSqlCommand(_0x8c7116,_0x2306df){const _0x11b0c9=[],_0x4cf525=_0x8c7116['replace'](/\$(\d+)/g,(_0x2c6150,_0x2ae96b)=>{const _0x183797=parseInt(_0x2ae96b,0xa)-0x1,_0x2e3cc4=_0x2306df[_0x183797];if(_0x2e3cc4===null||_0x2e3cc4===undefined)return'NULL';let _0x5267f6;if(typeof _0x2e3cc4==='number')_0x5267f6='%s';else{if(typeof _0x2e3cc4==='string')_0x5267f6='%L';else typeof _0x2e3cc4==='boolean'?_0x5267f6='%L':_0x5267f6='%L';}return _0x11b0c9['push'](_0x2e3cc4),_0x5267f6;});return(0x0,pg_format_1['default'])(_0x4cf525,..._0x11b0c9);}class Multi{constructor(_0x1bbbfa){this['kvsql']=_0x1bbbfa,this['commands']=[];}['addCommand'](_0xc82fe4,_0xa0f58e,_0x17a7df,_0x5a76ea){return this['commands']['push']({'sql':_0xc82fe4,'params':_0xa0f58e,'returnType':_0x17a7df,'transform':_0x5a76ea}),this;}['set'](_0x2b924e,_0xc31091,_0x1723fd){const {sql:_0x3612eb,params:_0x1b329f}=this['kvsql']['_set'](_0x2b924e,_0xc31091,_0x1723fd);return this['addCommand'](_0x3612eb,_0x1b329f,'boolean');}['setnx'](_0x2a8a56,_0x2c8bc6){const {sql:_0x28d539,params:_0x37fa3f}=this['kvsql']['_set'](_0x2a8a56,_0x2c8bc6,{'nx':!![]});return this['addCommand'](_0x28d539,_0x37fa3f,'boolean');}['setnxex'](_0x258894,_0x5be3c2,_0x1b7694){const {sql:_0x51ddda,params:_0x4b9932}=this['kvsql']['_set'](_0x258894,_0x5be3c2,{'nx':!![],'ex':_0x1b7694});return this['addCommand'](_0x51ddda,_0x4b9932,'boolean');}['get'](_0xcc21db){const {sql:_0x8a0808,params:_0x2c0ba2}=this['kvsql']['_get'](_0xcc21db);return this['addCommand'](_0x8a0808,_0x2c0ba2,'string');}['del'](_0x55c28c){const {sql:_0x44b554,params:_0x338a2f}=this['kvsql']['_del'](_0x55c28c);return this['addCommand'](_0x44b554,_0x338a2f,'number');}['expire'](_0x13b767,_0x49c251){const {sql:_0x2bf425,params:_0x525688}=this['kvsql']['_expire'](_0x13b767,_0x49c251);return this['addCommand'](_0x2bf425,_0x525688,'boolean');}['hset'](_0x42fe3a,_0x3db090,_0x4e8654){const {sql:_0x2a27c4,params:_0x3e60d0}=this['kvsql']['_hset'](_0x42fe3a,_0x3db090,_0x4e8654);return this['addCommand'](_0x2a27c4,_0x3e60d0,'number');}['hget'](_0x41c9b9,_0x5dc926){const {sql:_0x146f17,params:_0x347719}=this['kvsql']['_hget'](_0x41c9b9,_0x5dc926);return this['addCommand'](_0x146f17,_0x347719,'string');}['hdel'](_0xac8696,_0x3cdf4c){const {sql:_0x135257,params:_0x9d3c41}=this['kvsql']['_hdel'](_0xac8696,_0x3cdf4c);return this['addCommand'](_0x135257,_0x9d3c41,'number');}['hmget'](_0x5b6ceb,_0x2fffdf){const {sql:_0x24fed8,params:_0x3eec08}=this['kvsql']['_hmget'](_0x5b6ceb,_0x2fffdf),_0x1c440a=_0x120a4c=>{const _0x307109=new Map(_0x120a4c['map'](_0x550af7=>[_0x550af7['field'],_0x550af7['value']]));return _0x2fffdf['map'](_0x16489f=>_0x307109['get'](_0x16489f)||null);};return this['addCommand'](_0x24fed8,_0x3eec08,'array',_0x1c440a);}['hgetall'](_0x544f16){const {sql:_0x10d17d,params:_0x4283e5}=this['kvsql']['_hgetall'](_0x544f16),_0x3d9ab1=_0x364990=>{const _0x2ab993={};for(const _0x3f038d of _0x364990){_0x2ab993[_0x3f038d['field']]=_0x3f038d['value'];}return _0x2ab993;};return this['addCommand'](_0x10d17d,_0x4283e5,'object',_0x3d9ab1);}['hincrbyfloat'](_0x2ba2d4,_0x4ac39d,_0x2c450f){const {sql:_0x4efc9f,params:_0x1395ef}=this['kvsql']['_hincrbyfloat'](_0x2ba2d4,_0x4ac39d,_0x2c450f);return this['addCommand'](_0x4efc9f,_0x1395ef,'number',_0x461b46=>parseFloat(_0x461b46[0x0]['value']));}['hscan'](_0x44bbcf,_0x1c80df,_0x633f8e=0xa){const {sql:_0x56ecad,params:_0x50b8e9}=this['kvsql']['_hscan'](_0x44bbcf,_0x1c80df,_0x633f8e),_0x5e3382=_0x1c1431=>{const _0x44864c={};for(const _0x1f835d of _0x1c1431){_0x44864c[_0x1f835d['field']]=_0x1f835d['value'];}const _0x45616d=_0x1c80df+_0x1c1431['length'];return{'cursor':_0x45616d['toString'](),'items':_0x44864c};};return this['addCommand'](_0x56ecad,_0x50b8e9,'object',_0x5e3382);}['lrange'](_0x2c5191,_0xef9b90,_0x7409cc){const {sql:_0x1d0cde,params:_0x26da46}=this['kvsql']['_lrange'](_0x2c5191,_0xef9b90,_0x7409cc);return this['addCommand'](_0x1d0cde,_0x26da46,'array',_0xf80976=>_0xf80976['map'](_0x53a555=>_0x53a555['value']));}['rpush'](_0x47be10,_0x27f868){const {sql:_0x2b3a84,params:_0x285daa}=this['kvsql']['_rpush'](_0x47be10,_0x27f868);return this['addCommand'](_0x2b3a84,_0x285daa,'number',_0x5a7939=>_0x5a7939[0x0]?.['count']||0x0);}['lpush'](_0x37e0b4,_0x5c90f4){const {sql:_0x524be7,params:_0x1d7c62}=this['kvsql']['_lpush'](_0x37e0b4,_0x5c90f4);return this['addCommand'](_0x524be7,_0x1d7c62,'number',_0x15edc0=>_0x15edc0[0x0]?.['count']||0x0);}['lpop'](_0x4f6a68){const {sql:_0x2f0f67,params:_0x13ea63}=this['kvsql']['_lpop'](_0x4f6a68);return this['addCommand'](_0x2f0f67,_0x13ea63,'string');}['lmove'](_0x1a2227,_0x3989c1,_0x50c9af,_0x1a2190){const {sql:_0x32e86c,params:_0x1e36f3}=this['kvsql']['_lmove'](_0x1a2227,_0x3989c1,_0x50c9af,_0x1a2190);return this['addCommand'](_0x32e86c,_0x1e36f3,'string');}['zadd'](_0x212e93,_0x70b08b,_0x34303e,_0x29db1a){const {sql:_0x3d5340,params:_0x2d1a21}=this['kvsql']['_zadd'](_0x212e93,_0x70b08b,_0x34303e,_0x29db1a);return this['addCommand'](_0x3d5340,_0x2d1a21,'number',_0x1d10c6=>_0x1d10c6[0x0]?.['count']||0x0);}['zrange'](_0x16c17c,_0x13ab78,_0x3f6d4b){const {sql:_0x2f6590,params:_0x5515b9}=this['kvsql']['_zrange'](_0x16c17c,_0x13ab78,_0x3f6d4b);return this['addCommand'](_0x2f6590,_0x5515b9,'array',_0x15f905=>_0x15f905['map'](_0x5bcf5d=>_0x5bcf5d['member']));}['zrangebyscore'](_0x524597,_0x574e3d,_0x2d6b6d){const {sql:_0x506e6b,params:_0x4a5340}=this['kvsql']['_zrangebyscore'](_0x524597,_0x574e3d,_0x2d6b6d);return this['addCommand'](_0x506e6b,_0x4a5340,'array',_0x5319c9=>_0x5319c9['map'](_0x1911bf=>_0x1911bf['member']));}['zrangebyscore_withscores'](_0x8afa5a,_0x280946,_0x40c50c){const {sql:_0x362f3d,params:_0x365000}=this['kvsql']['_zrangebyscore_withscores'](_0x8afa5a,_0x280946,_0x40c50c);return this['addCommand'](_0x362f3d,_0x365000,'array',_0x396464=>_0x396464['map'](_0x2a5318=>({'member':_0x2a5318['member'],'score':_0x2a5318['score']})));}['zrem'](_0x3cc403,_0x4ec9a0){const {sql:_0x540f35,params:_0x182446}=this['kvsql']['_zrem'](_0x3cc403,_0x4ec9a0);return this['addCommand'](_0x540f35,_0x182446,'number',_0x2260b3=>_0x2260b3[0x0]?.['count']||0x0);}['zrank'](_0x42e1b0,_0x16ae53){const {sql:_0x59bfa0,params:_0x56d29e}=this['kvsql']['_zrank'](_0x42e1b0,_0x16ae53);return this['addCommand'](_0x59bfa0,_0x56d29e,'number',_0x46a1e9=>_0x46a1e9[0x0]?.['rank']!==undefined?parseInt(_0x46a1e9[0x0]['rank'],0xa)-0x1:null);}['scan'](_0x11a3c6,_0x2f5a98=0xa){const {sql:_0x12653d,params:_0x5c0d27}=this['kvsql']['_scan'](_0x11a3c6,_0x2f5a98),_0x2ae3f3=_0x1183c2=>{const _0x1a7da4=_0x1183c2['map'](_0xcd7c5d=>_0xcd7c5d['key']),_0x299bc0=_0x11a3c6+_0x1183c2['length'];return{'cursor':_0x299bc0,'keys':_0x1a7da4};};return this['addCommand'](_0x12653d,_0x5c0d27,'object',_0x2ae3f3);}['rename'](_0x3ad8c5,_0x38738a){const {sql:_0x4ae95a,params:_0x5a3315}=this['kvsql']['_rename'](_0x3ad8c5,_0x38738a);return this['addCommand'](_0x4ae95a,_0x5a3315,'void');}async['exec'](){const _0x61ed20=this['kvsql']['pgClient'];try{await _0x61ed20['query']('BEGIN');const _0x4c0d53=[],_0x1b1733=[];for(const _0x540f29 of this['commands']){const _0x46c193=formatSqlCommand(_0x540f29['sql'],_0x540f29['params']);_0x4c0d53['push'](_0x46c193);}const _0x4456a3=_0x4c0d53['join'](';\x0a'),_0x3645c8=await _0x61ed20['query'](_0x4456a3),_0x472a7c=Array['isArray'](_0x3645c8)?_0x3645c8:[_0x3645c8];let _0x4f403b=0x0;for(const _0x573609 of this['commands']){const _0x17c28a=_0x472a7c[_0x4f403b++],_0x37c1e7=_0x17c28a?.['rows']||[];let _0x305e5c;if(_0x573609['transform'])_0x305e5c=_0x573609['transform'](_0x37c1e7);else switch(_0x573609['returnType']){case'string':_0x305e5c=_0x37c1e7[0x0]?.['value']||null;break;case'number':_0x305e5c=_0x37c1e7[0x0]?.['count']||0x0;break;case'boolean':_0x305e5c=_0x37c1e7[0x0]?.['success']??_0x37c1e7['length']>0x0;break;case'array':_0x305e5c=_0x37c1e7['map'](_0x493a30=>_0x493a30['value']);break;case'object':_0x305e5c=_0x37c1e7[0x0]||{};break;default:_0x305e5c=_0x37c1e7;}_0x1b1733['push'](_0x305e5c);}return await _0x61ed20['query']('COMMIT'),_0x1b1733;}catch(_0x50725d){await _0x61ed20['query']('ROLLBACK');throw _0x50725d;}}}class KVSQL{constructor(_0x4ac633,_0x586fe0,_0xe16981){this['pgClient']=_0x4ac633,this['namespace']=_0x586fe0,this['appId']=_0xe16981;}['getMulti'](){return new Multi(this);}['transact'](){return new Multi(this);}['exec'](..._0x4211da){return Promise['resolve']([]);}['mintKey'](_0x336d4f,_0x511b3e){return'';}['tableForKey'](_0x3d914e,_0x25091e){if(_0x3d914e===key_1['HMNS'])return'hotmesh_connections';const [_0x31666c,_0xa5387e,_0x495e37,..._0x1eca11]=_0x3d914e['split'](':');if(_0xa5387e==='a')return'hotmesh_applications';const _0x324dcb=_0x1eca11?.['length']?_0x1eca11['join'](':'):'',_0x2eb944=key_1['KeyService']['resolveEntityType'](_0x495e37,_0x324dcb);if(this['safeName'](this['appId'])!==this['safeName'](_0xa5387e))throw new Error('App\x20ID\x20mismatch:\x20'+this['appId']+'\x20!==\x20'+_0xa5387e);if(_0x2eb944==='stats'){if(_0x25091e==='sorted_set')return'hotmesh_'+this['safeName'](_0xa5387e)+'_stats_ordered';else{if(_0x25091e==='list')return'hotmesh_'+this['safeName'](_0xa5387e)+'_stats_indexed';else{if(_0x25091e==='hash')return'hotmesh_'+this['safeName'](_0xa5387e)+'_stats_counted';else throw new Error('Unknown\x20stats\x20type\x20['+_0x25091e+']\x20for\x20key\x20['+_0x3d914e+']');}}}if(_0x2eb944==='unknown_entity')throw new Error('Unknown\x20entity\x20type\x20abbreviation:\x20'+_0x495e37);else return _0x2eb944==='applications'?'hotmesh_applications':'hotmesh_'+this['safeName'](_0xa5387e)+'_'+_0x2eb944;}['reconstituteKey'](_0x14f538,_0x359f26){const _0x45f676=key_1['KeyService']['resolveAbbreviation'](_0x14f538);return key_1['KeyService']['reconstituteKey']({'namespace':this['namespace'],'app':this['appId'],'entity':_0x45f676,'id':_0x359f26});}['safeName'](_0x224262,_0x1b394d=''){if(!_0x224262)return'connections';let _0x2da3ec=_0x224262['trim']()['toLowerCase']();return _0x2da3ec=_0x2da3ec['replace'](/[^a-z0-9]+/g,'_'),_0x1b394d&&(_0x2da3ec=_0x1b394d+'_'+_0x2da3ec),_0x2da3ec['length']>0x3f&&(_0x2da3ec=_0x2da3ec['slice'](0x0,0x3f)),_0x2da3ec=_0x2da3ec['replace'](/_+$/g,''),!_0x2da3ec&&(_0x2da3ec='connections'),_0x2da3ec;}async['get'](_0x2fd31a,_0x4fb72e){const {sql:_0xecbd6b,params:_0x44dbc4}=this['_get'](_0x2fd31a);if(_0x4fb72e)return _0x4fb72e['addCommand'](_0xecbd6b,_0x44dbc4,'string'),Promise['resolve'](null);else{const _0x45a533=await this['pgClient']['query'](_0xecbd6b,_0x44dbc4);return _0x45a533['rows'][0x0]?.['value']||null;}}['_get'](_0x47df76){const _0x177ae1=this['tableForKey'](_0x47df76),_0x535f0d='\x0a\x20\x20\x20\x20\x20\x20SELECT\x20value\x20FROM\x20'+_0x177ae1+'\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',_0x70f4b0=[_0x47df76];return{'sql':_0x535f0d,'params':_0x70f4b0};}async['setnx'](_0x35a99c,_0x422e6d,_0x5708a0){const {sql:_0x44e0c6,params:_0x193711}=this['_set'](_0x35a99c,_0x422e6d,{'nx':!![]});if(_0x5708a0)return _0x5708a0['addCommand'](_0x44e0c6,_0x193711,'boolean'),Promise['resolve'](!![]);else{const _0xefac43=await this['pgClient']['query'](_0x44e0c6,_0x193711);return _0xefac43['rowCount']>0x0;}}async['setnxex'](_0x20102c,_0x3f7ed5,_0x181251,_0x4ed072){const {sql:_0x2e1fa2,params:_0x5afc99}=this['_set'](_0x20102c,_0x3f7ed5,{'nx':!![],'ex':_0x181251});if(_0x4ed072)return _0x4ed072['addCommand'](_0x2e1fa2,_0x5afc99,'boolean'),Promise['resolve'](!![]);else{const _0x34a21d=await this['pgClient']['query'](_0x2e1fa2,_0x5afc99);return _0x34a21d['rowCount']>0x0;}}async['set'](_0x5e9fc3,_0x4480db,_0x5d66bb,_0x34a240){const {sql:_0x2d575a,params:_0x5f336f}=this['_set'](_0x5e9fc3,_0x4480db,_0x5d66bb);if(_0x34a240)return _0x34a240['addCommand'](_0x2d575a,_0x5f336f,'boolean'),Promise['resolve'](!![]);else{const _0x4feb7c=await this['pgClient']['query'](_0x2d575a,_0x5f336f);return _0x4feb7c['rowCount']>0x0;}}['_set'](_0x4e4f18,_0x489574,_0x393a7c){const _0xefb964=this['tableForKey'](_0x4e4f18);let _0x101bb1='';const _0x480866=[_0x4e4f18,_0x489574];let _0x48a8aa='';return _0x393a7c?.['ex']&&(_0x48a8aa=',\x20expiry\x20=\x20NOW()\x20+\x20INTERVAL\x20\x27'+_0x393a7c['ex']+'\x20seconds\x27'),_0x393a7c?.['nx']?_0x101bb1='\x0a\x20\x20\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0xefb964+'\x20(key,\x20value'+(_0x48a8aa?',\x20expiry':'')+')\x0a\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20($1,\x20$2'+(_0x48a8aa?',\x20NOW()\x20+\x20INTERVAL\x20\x27'+_0x393a7c['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':_0x101bb1='\x0a\x20\x20\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0xefb964+'\x20(key,\x20value'+(_0x48a8aa?',\x20expiry':'')+')\x0a\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20($1,\x20$2'+(_0x48a8aa?',\x20NOW()\x20+\x20INTERVAL\x20\x27'+_0x393a7c['ex']+'\x20seconds\x27':'')+')\x0a\x20\x20\x20\x20\x20\x20\x20\x20ON\x20CONFLICT\x20(key)\x20DO\x20UPDATE\x20SET\x20value\x20=\x20EXCLUDED.value'+_0x48a8aa+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20RETURNING\x20true\x20as\x20success\x0a\x20\x20\x20\x20\x20\x20',{'sql':_0x101bb1,'params':_0x480866};}async['del'](_0x3e361c,_0x3f6dcd){const {sql:_0x5ba91b,params:_0x413335}=this['_del'](_0x3e361c);if(_0x3f6dcd)return _0x3f6dcd['addCommand'](_0x5ba91b,_0x413335,'number'),Promise['resolve'](0x0);else{const _0x4e0a2e=await this['pgClient']['query'](_0x5ba91b,_0x413335);return Number(_0x4e0a2e['rows'][0x0]?.['count']||0x0);}}['_del'](_0x42e5d9){const _0x414a30=this['tableForKey'](_0x42e5d9),_0x31152c='\x0a\x20\x20\x20\x20\x20\x20WITH\x20deleted\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20DELETE\x20FROM\x20'+_0x414a30+'\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',_0x5c071a=[_0x42e5d9];return{'sql':_0x31152c,'params':_0x5c071a};}async['expire'](_0x5715af,_0x32c3ff,_0x118409){const {sql:_0x1fd938,params:_0x381546}=this['_expire'](_0x5715af,_0x32c3ff);if(_0x118409)return _0x118409['addCommand'](_0x1fd938,_0x381546,'boolean'),Promise['resolve'](!![]);else{const _0x12369a=await this['pgClient']['query'](_0x1fd938,_0x381546);return _0x12369a['rowCount']>0x0;}}['_expire'](_0x439655,_0x15f21c){const _0x273eb5=this['tableForKey'](_0x439655),_0xe2de3b=new Date(Date['now']()+_0x15f21c*0x3e8),_0x49c747='\x0a\x20\x20\x20\x20\x20\x20UPDATE\x20'+_0x273eb5+'\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',_0x348fa0=[_0x439655,_0xe2de3b];return{'sql':_0x49c747,'params':_0x348fa0};}async['hsetnx'](_0xea14fe,_0x403c6a,_0x53d1a0,_0x271974){const {sql:_0x4a71a8,params:_0x21b730}=this['_hset'](_0xea14fe,{[_0x403c6a]:_0x53d1a0},{'nx':!![]});if(_0x271974)return _0x271974['addCommand'](_0x4a71a8,_0x21b730,'number'),Promise['resolve'](0x0);else{const _0x4be5e9=await this['pgClient']['query'](_0x4a71a8,_0x21b730);return _0x4be5e9['rowCount'];}}async['hset'](_0x2d9a0b,_0x3561e9,_0x435aa4,_0xf54505){const {sql:_0x1aff61,params:_0x1bce58}=this['_hset'](_0x2d9a0b,_0x3561e9,_0x435aa4);if(_0xf54505)return _0xf54505['addCommand'](_0x1aff61,_0x1bce58,'number'),Promise['resolve'](0x0);else{const _0x3f52fb=await this['pgClient']['query'](_0x1aff61,_0x1bce58);return _0x3f52fb['rowCount'];}}['deriveType'](_0x351438){if(_0x351438===':')return'status';else{if(_0x351438['startsWith']('_'))return'udata';else{if(_0x351438['startsWith']('-'))return _0x351438['includes'](',')?'hmark':'jmark';else{if(_0x351438['length']===0x3)return'jdata';else return _0x351438['includes'](',')?'adata':'other';}}}}['_hset'](_0x582cdc,_0xb90b,_0x561d31){let _0x4aa574='';const _0x46a6ef=[_0x582cdc],_0x3f2dc6=this['tableForKey'](_0x582cdc,'hash'),_0x5ef9b0=_0x3f2dc6['endsWith']('_jobs'),_0x143c8a=Object['entries'](_0xb90b);_0x143c8a['forEach'](([_0x12a94a,_0x5b5064],_0x2420c2)=>{_0x46a6ef['push'](_0x12a94a,_0x5b5064),_0x5ef9b0&&_0x46a6ef['push'](this['deriveType'](_0x12a94a));});const _0x1c1c92=_0x143c8a['map']((_0x5b45e4,_0x57a01e)=>_0x5ef9b0?'($1,\x20$'+(0x2+_0x57a01e*0x3)+',\x20$'+(0x3+_0x57a01e*0x3)+',\x20$'+(0x4+_0x57a01e*0x3)+')':'($1,\x20$'+(0x2+_0x57a01e*0x2)+',\x20$'+(0x3+_0x57a01e*0x2)+')')['join'](',\x20');return _0x561d31?.['nx']?_0x4aa574='\x0a\x20\x20\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x3f2dc6+'\x20(key,\x20field,\x20value'+(_0x5ef9b0?',\x20type':'')+')\x0a\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20'+_0x1c1c92+'\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':_0x4aa574='\x0a\x20\x20\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x3f2dc6+'\x20(key,\x20field,\x20value'+(_0x5ef9b0?',\x20type':'')+')\x0a\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20'+_0x1c1c92+'\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':_0x4aa574,'params':_0x46a6ef};}async['hget'](_0x5ceb55,_0x3fa9e2,_0x59875d){const {sql:_0x1cc77b,params:_0x188998}=this['_hget'](_0x5ceb55,_0x3fa9e2);if(_0x59875d)return _0x59875d['addCommand'](_0x1cc77b,_0x188998,'string'),Promise['resolve'](null);else{const _0x584f53=await this['pgClient']['query'](_0x1cc77b,_0x188998);return _0x584f53['rows'][0x0]?.['value']||null;}}['_hget'](_0x5a02ad,_0x468567){const _0x51a955=this['tableForKey'](_0x5a02ad,'hash'),_0x42a51e='\x0a\x20\x20\x20\x20\x20\x20SELECT\x20value\x20FROM\x20'+_0x51a955+'\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',_0x26e5a1=[_0x5a02ad,_0x468567];return{'sql':_0x42a51e,'params':_0x26e5a1};}async['hdel'](_0x2e0618,_0x4f0302,_0x2d8c0f){!Array['isArray'](_0x4f0302)&&(_0x4f0302=[_0x4f0302]);const {sql:_0x1e6aea,params:_0x4eb6aa}=this['_hdel'](_0x2e0618,_0x4f0302);if(_0x2d8c0f)return _0x2d8c0f['addCommand'](_0x1e6aea,_0x4eb6aa,'number'),Promise['resolve'](0x0);else{const _0x131e0a=await this['pgClient']['query'](_0x1e6aea,_0x4eb6aa);return Number(_0x131e0a['rows'][0x0]?.['count']||0x0);}}['_hdel'](_0x44f1ba,_0x46a543){const _0x5c9740=this['tableForKey'](_0x44f1ba,'hash'),_0x3b9fa4=_0x46a543['map']((_0x2a26f1,_0x29290f)=>'$'+(_0x29290f+0x2))['join'](',\x20'),_0x3ad959='\x0a\x20\x20\x20\x20\x20\x20WITH\x20deleted\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20DELETE\x20FROM\x20'+_0x5c9740+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x20AND\x20field\x20IN\x20('+_0x3b9fa4+')\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',_0x4c10c7=[_0x44f1ba,..._0x46a543];return{'sql':_0x3ad959,'params':_0x4c10c7};}async['hmget'](_0x4bcfd0,_0x413ea7,_0xcaa768){const {sql:_0x127279,params:_0x33e292}=this['_hmget'](_0x4bcfd0,_0x413ea7);if(_0xcaa768)return _0xcaa768['addCommand'](_0x127279,_0x33e292,'array',_0x77e2eb=>{const _0x501cb9=new Map(_0x77e2eb['map'](_0x1ae835=>[_0x1ae835['field'],_0x1ae835['value']]));return _0x413ea7['map'](_0x3b66eb=>_0x501cb9['get'](_0x3b66eb)||null);}),Promise['resolve']([]);else{const _0x82f418=await this['pgClient']['query'](_0x127279,_0x33e292),_0x1c6d77=new Map(_0x82f418['rows']['map'](_0x25e683=>[_0x25e683['field'],_0x25e683['value']]));return _0x413ea7['map'](_0x568eed=>_0x1c6d77['get'](_0x568eed)||null);}}['_hmget'](_0x56aad7,_0x4dab4e){const _0x1c7b10=this['tableForKey'](_0x56aad7,'hash'),_0x3de67d='\x0a\x20\x20\x20\x20\x20\x20SELECT\x20field,\x20value\x20FROM\x20'+_0x1c7b10+'\x0a\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x20AND\x20field\x20=\x20ANY($2::text[])\x0a\x20\x20\x20\x20',_0xed52c5=[_0x56aad7,_0x4dab4e];return{'sql':_0x3de67d,'params':_0xed52c5};}async['hgetall'](_0x220100,_0x4cd8cc){const {sql:_0x5bb241,params:_0xcd3e0a}=this['_hgetall'](_0x220100);if(_0x4cd8cc)return _0x4cd8cc['addCommand'](_0x5bb241,_0xcd3e0a,'object',_0x12b38d=>{const _0x511233={};for(const _0x459094 of _0x12b38d){_0x511233[_0x459094['field']]=_0x459094['value'];}return _0x511233;}),Promise['resolve']({});else{const _0x333c31=await this['pgClient']['query'](_0x5bb241,_0xcd3e0a),_0x3beeb2={};for(const _0x29b5ef of _0x333c31['rows']){_0x3beeb2[_0x29b5ef['field']]=_0x29b5ef['value'];}return _0x3beeb2;}}['_hgetall'](_0x3ff94b){const _0x3ba779=this['tableForKey'](_0x3ff94b,'hash'),_0x4151cc='\x0a\x20\x20\x20\x20\x20\x20SELECT\x20field,\x20value\x20FROM\x20'+_0x3ba779+'\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',_0xaf2c68=[_0x3ff94b];return{'sql':_0x4151cc,'params':_0xaf2c68};}async['hincrbyfloat'](_0x81cabe,_0xb4a597,_0x408f95,_0x43103d){const {sql:_0x1697c4,params:_0x4898ef}=this['_hincrbyfloat'](_0x81cabe,_0xb4a597,_0x408f95);if(_0x43103d)return _0x43103d['addCommand'](_0x1697c4,_0x4898ef,'number',_0x70c60=>parseFloat(_0x70c60[0x0]['value'])),Promise['resolve'](0x0);else{const _0xd0ed9e=await this['pgClient']['query'](_0x1697c4,_0x4898ef);return parseFloat(_0xd0ed9e['rows'][0x0]['value']);}}['_hincrbyfloat'](_0x4fbf42,_0x219b2a,_0x36c172){const _0x165be6=this['tableForKey'](_0x4fbf42,'hash'),_0x205da8=_0x165be6['endsWith']('_jobs');let _0x160d62;const _0x35dde4=[_0x4fbf42,_0x219b2a,_0x36c172];if(_0x205da8){const _0x39a370=this['deriveType'](_0x219b2a);_0x35dde4['push'](_0x39a370),_0x160d62='\x0a\x20\x20\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x165be6+'\x20(key,\x20field,\x20value,\x20type)\x0a\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20($1,\x20$2,\x20($3)::text,\x20$4)\x0a\x20\x20\x20\x20\x20\x20\x20\x20ON\x20CONFLICT\x20(key,\x20field)\x20DO\x20UPDATE\x20SET\x20value\x20=\x20('+_0x165be6+'.value::double\x20precision\x20+\x20$3::double\x20precision)::text\x0a\x20\x20\x20\x20\x20\x20\x20\x20RETURNING\x20value\x0a\x20\x20\x20\x20\x20\x20';}else _0x160d62='\x0a\x20\x20\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x165be6+'\x20(key,\x20field,\x20value)\x0a\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20($1,\x20$2,\x20($3)::text)\x0a\x20\x20\x20\x20\x20\x20\x20\x20ON\x20CONFLICT\x20(key,\x20field)\x20DO\x20UPDATE\x20SET\x20value\x20=\x20('+_0x165be6+'.value::double\x20precision\x20+\x20$3::double\x20precision)::text\x0a\x20\x20\x20\x20\x20\x20\x20\x20RETURNING\x20value\x0a\x20\x20\x20\x20\x20\x20';return{'sql':_0x160d62,'params':_0x35dde4};}async['hscan'](_0x145b21,_0x141346,_0x1bf01c=0xa,_0x24c8aa,_0x446470){const {sql:_0x1755f5,params:_0xf0a3d7}=this['_hscan'](_0x145b21,_0x141346,_0x1bf01c,_0x24c8aa);if(_0x446470)return _0x446470['addCommand'](_0x1755f5,_0xf0a3d7,'object',_0x1efb6e=>{const _0x42958c={};for(const _0x2a18ae of _0x1efb6e){_0x42958c[_0x2a18ae['field']]=_0x2a18ae['value'];}const _0x3b4dcd=_0x1efb6e['length']<_0x1bf01c?0x0:Number(_0x141346)+_0x1efb6e['length'];return{'cursor':_0x3b4dcd['toString'](),'items':_0x42958c};}),Promise['resolve']({'cursor':'0','items':{}});else{const _0x469477=await this['pgClient']['query'](_0x1755f5,_0xf0a3d7),_0x33066b={};for(const _0x533f8a of _0x469477['rows']){_0x33066b[_0x533f8a['field']]=_0x533f8a['value'];}const _0x22397f=_0x469477['rowCount']<_0x1bf01c?0x0:Number(_0x141346)+_0x469477['rowCount'];return{'cursor':_0x22397f['toString'](),'items':_0x33066b};}}['_hscan'](_0x3a33f5,_0x1a936b,_0x268cf3,_0x341110){const _0x32e4e6=this['tableForKey'](_0x3a33f5,'hash'),_0x2b8d0f=[_0x3a33f5];let _0x3d9299='\x0a\x20\x20\x20\x20\x20\x20SELECT\x20field,\x20value\x20FROM\x20'+_0x32e4e6+'\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',_0x37e191=0x2;if(_0x341110){const _0xa87c30=_0x341110['replace'](/\*/g,'%');_0x3d9299+='\x20AND\x20field\x20LIKE\x20$'+_0x37e191,_0x2b8d0f['push'](_0xa87c30),_0x37e191++;}return _0x3d9299+='\x0a\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20field\x0a\x20\x20\x20\x20\x20\x20OFFSET\x20$'+_0x37e191+'\x20LIMIT\x20$'+(_0x37e191+0x1)+'\x0a\x20\x20\x20\x20',_0x2b8d0f['push'](_0x1a936b['toString']()),_0x2b8d0f['push'](_0x268cf3['toString']()),{'sql':_0x3d9299,'params':_0x2b8d0f};}async['lrange'](_0x5e7c2f,_0xf51e32,_0x37eb5e,_0x5258e3){const {sql:_0x14233a,params:_0x159445}=this['_lrange'](_0x5e7c2f,_0xf51e32,_0x37eb5e);if(_0x5258e3)return _0x5258e3['addCommand'](_0x14233a,_0x159445,'array',_0x40c5f2=>_0x40c5f2['map'](_0x743b09=>_0x743b09['value'])),Promise['resolve']([]);else{const _0x571ddf=await this['pgClient']['query'](_0x14233a,_0x159445);return _0x571ddf['rows']['map'](_0x38796a=>_0x38796a['value']);}}['_lrange'](_0x43029b,_0x461ff8,_0xa4f8d7){const _0x2f9c4c=this['tableForKey'](_0x43029b,'list'),_0x12e1f7='\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'+_0x2f9c4c+'\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',_0x4f7207=[_0x43029b,_0x461ff8,_0xa4f8d7];return{'sql':_0x12e1f7,'params':_0x4f7207};}async['rpush'](_0x636ca0,_0x3b4ce2,_0x15adf2){const {sql:_0x14dfc6,params:_0x2d80fa}=this['_rpush'](_0x636ca0,_0x3b4ce2);if(_0x15adf2)return _0x15adf2['addCommand'](_0x14dfc6,_0x2d80fa,'number',_0x1586bc=>_0x1586bc[0x0]?.['count']||0x0),Promise['resolve'](0x0);else{const _0xce922e=await this['pgClient']['query'](_0x14dfc6,_0x2d80fa);return Number(_0xce922e['rows'][0x0]?.['count']||0x0);}}['_rpush'](_0x55182f,_0x26ef14){const _0x2373a6=this['tableForKey'](_0x55182f,'list'),_0x2c6a7e=Array['isArray'](_0x26ef14)?_0x26ef14:[_0x26ef14],_0x589059=_0x2c6a7e['map']((_0x228b6f,_0xcf17ac)=>'($1,\x20(SELECT\x20COALESCE(MAX(\x22index\x22),\x200)\x20+\x20'+(_0xcf17ac+0x1)+'\x20FROM\x20'+_0x2373a6+'\x20WHERE\x20key\x20=\x20$1),\x20$'+(_0xcf17ac+0x2)+')')['join'](',\x20'),_0x2913d5='\x0a\x20\x20\x20\x20\x20\x20WITH\x20inserted\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x2373a6+'\x20(key,\x20\x22index\x22,\x20value)\x0a\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20'+_0x589059+'\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',_0x297da8=[_0x55182f,..._0x2c6a7e];return{'sql':_0x2913d5,'params':_0x297da8};}async['lpush'](_0x404e10,_0x5e52b9,_0x3d310e){const {sql:_0x17ed48,params:_0x4e9c47}=this['_lpush'](_0x404e10,_0x5e52b9);if(_0x3d310e)return _0x3d310e['addCommand'](_0x17ed48,_0x4e9c47,'number',_0x5e026c=>_0x5e026c[0x0]?.['count']||0x0),Promise['resolve'](0x0);else{const _0x171d67=await this['pgClient']['query'](_0x17ed48,_0x4e9c47);return Number(_0x171d67['rows'][0x0]?.['count']||0x0);}}['_lpush'](_0x1e624c,_0xf14925){const _0x190bd5=this['tableForKey'](_0x1e624c,'list'),_0x46a9d2=Array['isArray'](_0xf14925)?_0xf14925:[_0xf14925],_0x5477f6=_0x46a9d2['map']((_0x1ebe51,_0x4d63c1)=>'($1,\x20(SELECT\x20COALESCE(MIN(\x22index\x22),\x200)\x20-\x20'+(_0x4d63c1+0x1)+'\x20FROM\x20'+_0x190bd5+'\x20WHERE\x20key\x20=\x20$1),\x20$'+(_0x4d63c1+0x2)+')')['join'](',\x20'),_0x48614c='\x0a\x20\x20\x20\x20\x20\x20WITH\x20inserted\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x190bd5+'\x20(key,\x20\x22index\x22,\x20value)\x0a\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20'+_0x5477f6+'\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',_0x140bc4=[_0x1e624c,..._0x46a9d2];return{'sql':_0x48614c,'params':_0x140bc4};}async['lpop'](_0x3ce4ad,_0x1aa499){const {sql:_0x304152,params:_0x240472}=this['_lpop'](_0x3ce4ad);if(_0x1aa499)return _0x1aa499['addCommand'](_0x304152,_0x240472,'string'),Promise['resolve'](null);else{const _0x4275d7=await this['pgClient']['query'](_0x304152,_0x240472);return _0x4275d7['rows'][0x0]?.['value']||null;}}['_lpop'](_0x931184){const _0x266adb=this['tableForKey'](_0x931184,'list'),_0x2b2fdf='\x0a\x20\x20\x20\x20\x20\x20DELETE\x20FROM\x20'+_0x266adb+'\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'+_0x266adb+'\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',_0x31d8d4=[_0x931184];return{'sql':_0x2b2fdf,'params':_0x31d8d4};}async['lmove'](_0x28370f,_0x11d15c,_0x474e99,_0x576bf1,_0x45b724){const {sql:_0x533117,params:_0x238e3a}=this['_lmove'](_0x28370f,_0x11d15c,_0x474e99,_0x576bf1);if(_0x45b724)return _0x45b724['addCommand'](_0x533117,_0x238e3a,'string'),Promise['resolve'](null);else{const _0x4409c6=this['pgClient'];try{await _0x4409c6['query']('BEGIN');const _0x2681ec=await _0x4409c6['query'](_0x533117,_0x238e3a);return await _0x4409c6['query']('COMMIT'),_0x2681ec['rows'][0x0]?.['value']||null;}catch(_0x36dcdb){await _0x4409c6['query']('ROLLBACK');throw _0x36dcdb;}}}['_lmove'](_0x113b9c,_0x3005ea,_0x25150c,_0x1d2ed1){const _0x5d0f74=this['tableForKey'](_0x113b9c,'list'),_0x3050be=_0x25150c==='LEFT'?'ASC':'DESC',_0x5b79f2=_0x1d2ed1==='LEFT'?'(SELECT\x20COALESCE(MIN(\x22index\x22),\x200)\x20-\x201\x20FROM\x20'+_0x5d0f74+'\x20WHERE\x20key\x20=\x20$2)':'(SELECT\x20COALESCE(MAX(\x22index\x22),\x200)\x20+\x201\x20FROM\x20'+_0x5d0f74+'\x20WHERE\x20key\x20=\x20$2)',_0x4d0364='\x0a\x20\x20\x20\x20\x20\x20WITH\x20moved\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20DELETE\x20FROM\x20'+_0x5d0f74+'\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'+_0x5d0f74+'\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'+_0x3050be+'\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'+_0x5d0f74+'\x20(key,\x20\x22index\x22,\x20value)\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20$2,\x20'+_0x5b79f2+',\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',_0x9cb869=[_0x113b9c,_0x3005ea];return{'sql':_0x4d0364,'params':_0x9cb869};}async['zadd'](_0x510034,_0x460b25,_0x2d8e15,_0x3117e0,_0xdc710c){const {sql:_0x4612f0,params:_0x23ac61}=this['_zadd'](_0x510034,_0x460b25,_0x2d8e15,_0x3117e0);if(_0xdc710c)return _0xdc710c['addCommand'](_0x4612f0,_0x23ac61,'number',_0x32c7c5=>_0x32c7c5[0x0]?.['count']||0x0),Promise['resolve'](0x0);else{const _0xb6ea1=await this['pgClient']['query'](_0x4612f0,_0x23ac61);return Number(_0xb6ea1['rows'][0x0]?.['count']||0x0);}}['_zadd'](_0x29342d,_0x1edf20,_0x5f3507,_0x5c4796){const _0xcf00b8=this['tableForKey'](_0x29342d,'sorted_set');let _0x3b2739='';const _0x4c8468=[_0x29342d,_0x5f3507,_0x1edf20];return _0x5c4796?.['nx']?_0x3b2739='\x0a\x20\x20\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0xcf00b8+'\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':_0x3b2739='\x0a\x20\x20\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0xcf00b8+'\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':_0x3b2739,'params':_0x4c8468};}async['zrange'](_0x5463a5,_0x2238eb,_0x10fcfe,_0x560375,_0x10c071){const {sql:_0x3dfe05,params:_0x5557f6}=this['_zrange'](_0x5463a5,_0x2238eb,_0x10fcfe,_0x560375);if(_0x10c071)return _0x10c071['addCommand'](_0x3dfe05,_0x5557f6,'array',_0x262907=>{return _0x560375==='WITHSCORES'?_0x262907['flatMap'](_0x21d1d2=>[_0x21d1d2['member'],_0x21d1d2['score']['toString']()]):_0x262907['map'](_0xe33099=>_0xe33099['member']);}),Promise['resolve']([]);else{const _0x546a55=await this['pgClient']['query'](_0x3dfe05,_0x5557f6);return _0x560375==='WITHSCORES'?_0x546a55['rows']['flatMap'](_0x113940=>[_0x113940['member'],_0x113940['score']['toString']()]):_0x546a55['rows']['map'](_0x4a3649=>_0x4a3649['member']);}}['_zrange'](_0x50a718,_0x13b106,_0x478b50,_0x3f1c83){const _0x43b84e=this['tableForKey'](_0x50a718,'sorted_set'),_0x5ed69d=_0x3f1c83==='WITHSCORES'?'member,\x20score':'member',_0x2ade69='\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'+_0x43b84e+'\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'+_0x5ed69d+',\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'+_0x43b84e+'\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'+_0x5ed69d+'\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',_0x5b53e3=[_0x50a718,_0x13b106,_0x478b50];return{'sql':_0x2ade69,'params':_0x5b53e3};}async['zscore'](_0x4a47d0,_0x775d09,_0x4e6d51){const {sql:_0x20c41f,params:_0x1fc888}=this['_zscore'](_0x4a47d0,_0x775d09);if(_0x4e6d51)return _0x4e6d51['addCommand'](_0x20c41f,_0x1fc888,'single',_0x147536=>{return _0x147536?parseFloat(_0x147536['score']):null;}),Promise['resolve'](null);else{const _0x18c167=await this['pgClient']['query'](_0x20c41f,_0x1fc888);return _0x18c167['rows']['length']?parseFloat(_0x18c167['rows'][0x0]['score']):null;}}['_zscore'](_0xc5871d,_0x3e84d0){const _0x241577=this['tableForKey'](_0xc5871d,'sorted_set'),_0x3eeb46='\x0a\x20\x20\x20\x20\x20\x20SELECT\x20score\x0a\x20\x20\x20\x20\x20\x20FROM\x20'+_0x241577+'\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',_0x49450c=[_0xc5871d,_0x3e84d0];return{'sql':_0x3eeb46,'params':_0x49450c};}async['zrangebyscore'](_0x27d694,_0x2987d6,_0x4603a6,_0x7f5b12){const {sql:_0x2f4d99,params:_0x503822}=this['_zrangebyscore'](_0x27d694,_0x2987d6,_0x4603a6);if(_0x7f5b12)return _0x7f5b12['addCommand'](_0x2f4d99,_0x503822,'array',_0x377037=>_0x377037['map'](_0x51fceb=>_0x51fceb['member'])),Promise['resolve']([]);else{const _0xb1c6c6=await this['pgClient']['query'](_0x2f4d99,_0x503822);return _0xb1c6c6['rows']['map'](_0x59dabb=>_0x59dabb['member']);}}['_zrangebyscore'](_0x2e387b,_0x42b3ee,_0x1f1690){const _0x55f8f2=this['tableForKey'](_0x2e387b,'sorted_set'),_0x268db9='\x0a\x20\x20\x20\x20\x20\x20SELECT\x20member\x20FROM\x20'+_0x55f8f2+'\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',_0x3b778e=[_0x2e387b,_0x42b3ee,_0x1f1690];return{'sql':_0x268db9,'params':_0x3b778e};}async['zrangebyscore_withscores'](_0xaa96c5,_0x1a037e,_0x22d4d3,_0x19873f){const {sql:_0x562ee1,params:_0x28e648}=this['_zrangebyscore_withscores'](_0xaa96c5,_0x1a037e,_0x22d4d3);if(_0x19873f)return _0x19873f['addCommand'](_0x562ee1,_0x28e648,'array',_0x1fb27f=>_0x1fb27f['map'](_0x286a2a=>({'member':_0x286a2a['member'],'score':_0x286a2a['score']}))),Promise['resolve']([]);else{const _0x266907=await this['pgClient']['query'](_0x562ee1,_0x28e648);return _0x266907['rows']['map'](_0x46149f=>({'member':_0x46149f['member'],'score':_0x46149f['score']}));}}['_zrangebyscore_withscores'](_0x5239fc,_0x3418c2,_0x4287b9){const _0x4dc318=this['tableForKey'](_0x5239fc,'sorted_set'),_0x5b0746='\x0a\x20\x20\x20\x20\x20\x20SELECT\x20member,\x20score\x20FROM\x20'+_0x4dc318+'\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',_0x1e290d=[_0x5239fc,_0x3418c2,_0x4287b9];return{'sql':_0x5b0746,'params':_0x1e290d};}async['zrem'](_0x480042,_0x5b29ea,_0x4edcdb){const {sql:_0x12dd06,params:_0x5e8836}=this['_zrem'](_0x480042,_0x5b29ea);if(_0x4edcdb)return _0x4edcdb['addCommand'](_0x12dd06,_0x5e8836,'number',_0x1817b7=>_0x1817b7[0x0]?.['count']||0x0),Promise['resolve'](0x0);else{const _0x30a808=await this['pgClient']['query'](_0x12dd06,_0x5e8836);return Number(_0x30a808['rows'][0x0]?.['count']||0x0);}}['_zrem'](_0x3e74b8,_0x472c12){const _0x19a0f0=this['tableForKey'](_0x3e74b8,'sorted_set'),_0x24eafe='\x0a\x20\x20\x20\x20\x20\x20WITH\x20deleted\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20DELETE\x20FROM\x20'+_0x19a0f0+'\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',_0x843d19=[_0x3e74b8,_0x472c12];return{'sql':_0x24eafe,'params':_0x843d19};}async['zrank'](_0x1c867a,_0x5c995e,_0x3f5f22){const {sql:_0x57822f,params:_0x749120}=this['_zrank'](_0x1c867a,_0x5c995e);if(_0x3f5f22)return _0x3f5f22['addCommand'](_0x57822f,_0x749120,'number',_0xbad61f=>_0xbad61f[0x0]?.['rank']!==undefined?parseInt(_0xbad61f[0x0]['rank'],0xa)-0x1:null),Promise['resolve'](null);else{const _0x12c8d2=await this['pgClient']['query'](_0x57822f,_0x749120);return _0x12c8d2['rows'][0x0]?.['rank']?parseInt(_0x12c8d2['rows'][0x0]['rank'],0xa)>0x0?parseInt(_0x12c8d2['rows'][0x0]['rank'],0xa)-0x1:null:null;}}['_zrank'](_0x280b31,_0x4861a7){const _0x50cdc2=this['tableForKey'](_0x280b31,'sorted_set'),_0x25c6e7='\x0a\x20\x20\x20\x20\x20\x20WITH\x20member_score\x20AS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20score\x20FROM\x20'+_0x50cdc2+'\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'+_0x50cdc2+'\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',_0x12cbce=[_0x280b31,_0x4861a7];return{'sql':_0x25c6e7,'params':_0x12cbce};}async['scan'](_0x554896,_0x5c745f=0xa,_0xf08be7,_0x111a96){const {sql:_0x17c4aa,params:_0x1006a3}=this['_scan'](_0x554896,_0x5c745f,_0xf08be7);if(_0x111a96)return _0x111a96['addCommand'](_0x17c4aa,_0x1006a3,'object',_0xd5630e=>{const _0x43fba9=_0xd5630e['map'](_0x1712b3=>_0x1712b3['key']),_0x514a72=_0x554896+_0xd5630e['length'];return{'cursor':_0x514a72,'keys':_0x43fba9};}),Promise['resolve']({'cursor':0x0,'keys':[]});else{const _0x38a5ac=await this['pgClient']['query'](_0x17c4aa,_0x1006a3),_0x3d9ed8=_0x38a5ac['rows']['map'](_0x166c70=>_0x166c70['key']),_0xd349e4=_0x554896+_0x38a5ac['rowCount'];return{'cursor':_0xd349e4,'keys':_0x3d9ed8};}}['_scan'](_0x67cbd2,_0x29e6b2,_0x534b12){const _0x2a1491=this['tableForKey']('_:'+this['appId']+':j:_');let _0x48c51f='\x0a\x20\x20\x20\x20\x20\x20SELECT\x20key\x20FROM\x20'+_0x2a1491+'\x0a\x20\x20\x20\x20\x20\x20WHERE\x20(expiry\x20IS\x20NULL\x20OR\x20expiry\x20>\x20NOW())\x0a\x20\x20\x20\x20';const _0x1287e8=[];return _0x534b12&&(_0x48c51f+='\x20AND\x20key\x20LIKE\x20$1',_0x1287e8['push'](_0x534b12['replace'](/\*/g,'%'))),_0x48c51f+='\x0a\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20key\x0a\x20\x20\x20\x20\x20\x20OFFSET\x20$'+(_0x1287e8['length']+0x1)+'\x20LIMIT\x20$'+(_0x1287e8['length']+0x2)+'\x0a\x20\x20\x20\x20',_0x1287e8['push'](_0x67cbd2['toString']()),_0x1287e8['push'](_0x29e6b2['toString']()),{'sql':_0x48c51f,'params':_0x1287e8};}async['rename'](_0x22a1cd,_0x258d51,_0x5cefef){const {sql:_0x2d76e7,params:_0x4fe819}=this['_rename'](_0x22a1cd,_0x258d51);if(_0x5cefef)return _0x5cefef['addCommand'](_0x2d76e7,_0x4fe819,'void'),Promise['resolve']();else{const _0x1631e3=this['pgClient'];try{await _0x1631e3['query']('BEGIN'),await _0x1631e3['query'](_0x2d76e7,_0x4fe819),await _0x1631e3['query']('COMMIT');}catch(_0x3192cc){await _0x1631e3['query']('ROLLBACK');throw _0x3192cc;}}}['_rename'](_0x3fc320,_0x49acc5){const _0x2c896c=this['tableForKey'](_0x3fc320,'list'),_0x2bf191='\x0a\x20\x20\x20\x20\x20\x20UPDATE\x20'+_0x2c896c+'\x20SET\x20key\x20=\x20$2\x20WHERE\x20key\x20=\x20$1;\x0a\x20\x20\x20\x20',_0xaa3eec=[_0x3fc320,_0x49acc5];return{'sql':_0x2bf191,'params':_0xaa3eec};}async['exists'](_0x18b277){const {sql:_0x198bce,params:_0x3f24ac}=this['_exists'](_0x18b277),_0x57045d=await this['pgClient']['query'](_0x198bce,_0x3f24ac);return _0x57045d['rows']['length']?_0x57045d['rows'][0x0]['table_name']:0x0;}['_exists'](_0x453396){const _0x527643=this['tableForKey'](_0x453396),_0x160ff7='\x0a\x20\x20\x20\x20\x20\x20SELECT\x20FROM\x20'+_0x527643+'\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',_0x2fcf61=[_0x453396];return{'sql':_0x160ff7,'params':_0x2fcf61};}}function _0x390d(_0x5375b0,_0x41ecca){const _0x49af02=_0x49af();return _0x390d=function(_0x390d38,_0x8f7c15){_0x390d38=_0x390d38-0x11c;let _0x44022d=_0x49af02[_0x390d38];return _0x44022d;},_0x390d(_0x5375b0,_0x41ecca);}exports['KVSQL']=KVSQL;
|