@hotmeshio/hotmesh 0.3.32 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (207) hide show
  1. package/README.md +128 -823
  2. package/build/index.d.ts +9 -9
  3. package/build/index.js +10 -10
  4. package/build/modules/enums.d.ts +23 -23
  5. package/build/modules/enums.js +26 -26
  6. package/build/modules/errors.d.ts +16 -16
  7. package/build/modules/errors.js +28 -28
  8. package/build/modules/key.js +190 -1
  9. package/build/modules/utils.js +374 -1
  10. package/build/package.json +22 -21
  11. package/build/services/activities/activity.js +549 -1
  12. package/build/services/activities/await.js +114 -1
  13. package/build/services/activities/cycle.js +112 -1
  14. package/build/services/activities/hook.js +168 -1
  15. package/build/services/activities/index.js +20 -1
  16. package/build/services/activities/interrupt.js +158 -1
  17. package/build/services/activities/signal.js +134 -1
  18. package/build/services/activities/trigger.js +246 -1
  19. package/build/services/activities/worker.js +106 -1
  20. package/build/services/collator/index.js +293 -1
  21. package/build/services/compiler/deployer.js +488 -1
  22. package/build/services/compiler/index.js +112 -1
  23. package/build/services/compiler/validator.js +147 -1
  24. package/build/services/engine/index.js +761 -1
  25. package/build/services/exporter/index.js +126 -1
  26. package/build/services/hotmesh/index.d.ts +160 -17
  27. package/build/services/hotmesh/index.js +160 -17
  28. package/build/services/mapper/index.js +81 -1
  29. package/build/services/{meshflow → memflow}/client.d.ts +3 -3
  30. package/build/services/{meshflow → memflow}/client.js +17 -16
  31. package/build/services/{meshflow → memflow}/connection.d.ts +2 -2
  32. package/build/services/{meshflow → memflow}/connection.js +1 -1
  33. package/build/services/memflow/context.d.ts +143 -0
  34. package/build/services/memflow/context.js +299 -0
  35. package/build/services/{meshflow → memflow}/exporter.d.ts +6 -6
  36. package/build/services/memflow/exporter.js +215 -0
  37. package/build/services/{meshflow → memflow}/handle.d.ts +4 -4
  38. package/build/services/{meshflow → memflow}/handle.js +2 -2
  39. package/build/services/{meshflow → memflow}/index.d.ts +18 -13
  40. package/build/services/{meshflow → memflow}/index.js +26 -21
  41. package/build/services/{meshflow → memflow}/schemas/factory.d.ts +4 -4
  42. package/build/services/{meshflow → memflow}/schemas/factory.js +5 -5
  43. package/build/services/{meshflow → memflow}/search.d.ts +1 -1
  44. package/build/services/{meshflow → memflow}/search.js +4 -4
  45. package/build/services/{meshflow → memflow}/worker.d.ts +5 -5
  46. package/build/services/{meshflow → memflow}/worker.js +24 -24
  47. package/build/services/memflow/workflow/common.d.ts +20 -0
  48. package/build/services/memflow/workflow/common.js +47 -0
  49. package/build/services/memflow/workflow/contextMethods.d.ts +14 -0
  50. package/build/services/memflow/workflow/contextMethods.js +33 -0
  51. package/build/services/{meshflow → memflow}/workflow/execChild.js +12 -12
  52. package/build/services/memflow/workflow/execHook.d.ts +65 -0
  53. package/build/services/memflow/workflow/execHook.js +73 -0
  54. package/build/services/{meshflow → memflow}/workflow/hook.js +19 -3
  55. package/build/services/{meshflow → memflow}/workflow/index.d.ts +7 -3
  56. package/build/services/{meshflow → memflow}/workflow/index.js +7 -3
  57. package/build/services/{meshflow → memflow}/workflow/proxyActivities.d.ts +2 -2
  58. package/build/services/{meshflow → memflow}/workflow/proxyActivities.js +8 -8
  59. package/build/services/{meshflow → memflow}/workflow/sleepFor.js +2 -2
  60. package/build/services/{meshflow → memflow}/workflow/waitFor.js +2 -2
  61. package/build/services/meshdata/index.d.ts +24 -24
  62. package/build/services/meshdata/index.js +40 -40
  63. package/build/services/pipe/functions/array.js +74 -1
  64. package/build/services/pipe/functions/bitwise.js +24 -1
  65. package/build/services/pipe/functions/conditional.js +36 -1
  66. package/build/services/pipe/functions/cron.js +40 -1
  67. package/build/services/pipe/functions/date.js +171 -1
  68. package/build/services/pipe/functions/index.js +30 -1
  69. package/build/services/pipe/functions/json.js +12 -1
  70. package/build/services/pipe/functions/logical.js +12 -1
  71. package/build/services/pipe/functions/math.js +184 -1
  72. package/build/services/pipe/functions/number.js +60 -1
  73. package/build/services/pipe/functions/object.js +81 -1
  74. package/build/services/pipe/functions/string.js +69 -1
  75. package/build/services/pipe/functions/symbol.js +33 -1
  76. package/build/services/pipe/functions/unary.js +18 -1
  77. package/build/services/pipe/index.js +242 -1
  78. package/build/services/quorum/index.js +263 -1
  79. package/build/services/reporter/index.js +348 -1
  80. package/build/services/router/config/index.d.ts +11 -0
  81. package/build/services/router/config/index.js +36 -0
  82. package/build/services/router/consumption/index.d.ts +34 -0
  83. package/build/services/router/consumption/index.js +395 -0
  84. package/build/services/router/error-handling/index.d.ts +8 -0
  85. package/build/services/router/error-handling/index.js +98 -0
  86. package/build/services/router/index.d.ts +13 -16
  87. package/build/services/router/index.js +121 -1
  88. package/build/services/router/lifecycle/index.d.ts +27 -0
  89. package/build/services/router/lifecycle/index.js +80 -0
  90. package/build/services/router/telemetry/index.d.ts +11 -0
  91. package/build/services/router/telemetry/index.js +32 -0
  92. package/build/services/router/throttling/index.d.ts +23 -0
  93. package/build/services/router/throttling/index.js +76 -0
  94. package/build/services/search/index.d.ts +2 -1
  95. package/build/services/search/providers/postgres/postgres.d.ts +2 -1
  96. package/build/services/search/providers/postgres/postgres.js +149 -1
  97. package/build/services/search/providers/redis/ioredis.d.ts +1 -0
  98. package/build/services/search/providers/redis/ioredis.js +121 -1
  99. package/build/services/search/providers/redis/redis.d.ts +1 -0
  100. package/build/services/search/providers/redis/redis.js +134 -1
  101. package/build/services/serializer/index.js +282 -1
  102. package/build/services/store/providers/postgres/kvsql.d.ts +1 -1
  103. package/build/services/store/providers/postgres/kvsql.js +198 -1
  104. package/build/services/store/providers/postgres/kvtables.js +441 -1
  105. package/build/services/store/providers/postgres/kvtransaction.js +248 -1
  106. package/build/services/store/providers/postgres/kvtypes/hash.d.ts +1 -1
  107. package/build/services/store/providers/postgres/kvtypes/hash.js +1287 -1
  108. package/build/services/store/providers/postgres/kvtypes/list.js +194 -1
  109. package/build/services/store/providers/postgres/kvtypes/string.js +115 -1
  110. package/build/services/store/providers/postgres/kvtypes/zset.js +214 -1
  111. package/build/services/store/providers/postgres/postgres.js +1036 -1
  112. package/build/services/store/providers/redis/_base.js +980 -1
  113. package/build/services/store/providers/redis/ioredis.js +180 -1
  114. package/build/services/store/providers/redis/redis.js +199 -1
  115. package/build/services/store/providers/store-initializable.js +2 -1
  116. package/build/services/stream/index.d.ts +5 -0
  117. package/build/services/stream/providers/nats/nats.d.ts +1 -0
  118. package/build/services/stream/providers/nats/nats.js +225 -1
  119. package/build/services/stream/providers/postgres/kvtables.d.ts +1 -0
  120. package/build/services/stream/providers/postgres/kvtables.js +146 -1
  121. package/build/services/stream/providers/postgres/postgres.d.ts +19 -0
  122. package/build/services/stream/providers/postgres/postgres.js +519 -1
  123. package/build/services/stream/providers/redis/ioredis.d.ts +1 -0
  124. package/build/services/stream/providers/redis/ioredis.js +272 -1
  125. package/build/services/stream/providers/redis/redis.d.ts +1 -0
  126. package/build/services/stream/providers/redis/redis.js +305 -1
  127. package/build/services/stream/providers/stream-initializable.js +2 -1
  128. package/build/services/sub/providers/nats/nats.js +105 -1
  129. package/build/services/sub/providers/postgres/postgres.js +92 -1
  130. package/build/services/sub/providers/redis/ioredis.js +81 -1
  131. package/build/services/sub/providers/redis/redis.js +72 -1
  132. package/build/services/task/index.js +206 -1
  133. package/build/services/telemetry/index.js +306 -1
  134. package/build/services/worker/index.js +197 -1
  135. package/build/types/error.d.ts +5 -5
  136. package/build/types/exporter.d.ts +1 -1
  137. package/build/types/index.d.ts +3 -3
  138. package/build/types/manifest.d.ts +2 -2
  139. package/build/types/{meshflow.d.ts → memflow.d.ts} +15 -15
  140. package/build/types/meshdata.d.ts +3 -3
  141. package/build/types/postgres.d.ts +7 -0
  142. package/build/types/stream.d.ts +3 -0
  143. package/index.ts +11 -11
  144. package/package.json +22 -21
  145. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -38
  146. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
  147. package/build/services/meshflow/exporter.js +0 -1
  148. package/build/services/meshflow/workflow/common.d.ts +0 -18
  149. package/build/services/meshflow/workflow/common.js +0 -45
  150. package/typedoc.json +0 -46
  151. package/types/activity.ts +0 -268
  152. package/types/app.ts +0 -20
  153. package/types/async.ts +0 -6
  154. package/types/cache.ts +0 -1
  155. package/types/collator.ts +0 -9
  156. package/types/error.ts +0 -56
  157. package/types/exporter.ts +0 -102
  158. package/types/hook.ts +0 -44
  159. package/types/hotmesh.ts +0 -314
  160. package/types/index.ts +0 -306
  161. package/types/job.ts +0 -233
  162. package/types/logger.ts +0 -8
  163. package/types/manifest.ts +0 -70
  164. package/types/map.ts +0 -5
  165. package/types/meshcall.ts +0 -235
  166. package/types/meshdata.ts +0 -278
  167. package/types/meshflow.ts +0 -645
  168. package/types/ms.d.ts +0 -7
  169. package/types/nats.ts +0 -270
  170. package/types/pipe.ts +0 -90
  171. package/types/postgres.ts +0 -105
  172. package/types/provider.ts +0 -161
  173. package/types/quorum.ts +0 -167
  174. package/types/redis.ts +0 -404
  175. package/types/serializer.ts +0 -40
  176. package/types/stats.ts +0 -117
  177. package/types/stream.ts +0 -227
  178. package/types/task.ts +0 -7
  179. package/types/telemetry.ts +0 -16
  180. package/types/transition.ts +0 -20
  181. /package/build/services/{meshflow → memflow}/workflow/all.d.ts +0 -0
  182. /package/build/services/{meshflow → memflow}/workflow/all.js +0 -0
  183. /package/build/services/{meshflow → memflow}/workflow/context.d.ts +0 -0
  184. /package/build/services/{meshflow → memflow}/workflow/context.js +0 -0
  185. /package/build/services/{meshflow → memflow}/workflow/didRun.d.ts +0 -0
  186. /package/build/services/{meshflow → memflow}/workflow/didRun.js +0 -0
  187. /package/build/services/{meshflow → memflow}/workflow/emit.d.ts +0 -0
  188. /package/build/services/{meshflow → memflow}/workflow/emit.js +0 -0
  189. /package/build/services/{meshflow → memflow}/workflow/enrich.d.ts +0 -0
  190. /package/build/services/{meshflow → memflow}/workflow/enrich.js +0 -0
  191. /package/build/services/{meshflow → memflow}/workflow/execChild.d.ts +0 -0
  192. /package/build/services/{meshflow → memflow}/workflow/hook.d.ts +0 -0
  193. /package/build/services/{meshflow → memflow}/workflow/interrupt.d.ts +0 -0
  194. /package/build/services/{meshflow → memflow}/workflow/interrupt.js +0 -0
  195. /package/build/services/{meshflow → memflow}/workflow/isSideEffectAllowed.d.ts +0 -0
  196. /package/build/services/{meshflow → memflow}/workflow/isSideEffectAllowed.js +0 -0
  197. /package/build/services/{meshflow → memflow}/workflow/random.d.ts +0 -0
  198. /package/build/services/{meshflow → memflow}/workflow/random.js +0 -0
  199. /package/build/services/{meshflow → memflow}/workflow/searchMethods.d.ts +0 -0
  200. /package/build/services/{meshflow → memflow}/workflow/searchMethods.js +0 -0
  201. /package/build/services/{meshflow → memflow}/workflow/signal.d.ts +0 -0
  202. /package/build/services/{meshflow → memflow}/workflow/signal.js +0 -0
  203. /package/build/services/{meshflow → memflow}/workflow/sleepFor.d.ts +0 -0
  204. /package/build/services/{meshflow → memflow}/workflow/trace.d.ts +0 -0
  205. /package/build/services/{meshflow → memflow}/workflow/trace.js +0 -0
  206. /package/build/services/{meshflow → memflow}/workflow/waitFor.d.ts +0 -0
  207. /package/build/types/{meshflow.js → memflow.js} +0 -0
@@ -1 +1,121 @@
1
- 'use strict';const j=b;(function(c,d){const i=b,e=c();while(!![]){try{const f=parseInt(i(0x1f4))/0x1*(parseInt(i(0x202))/0x2)+parseInt(i(0x1d7))/0x3*(parseInt(i(0x1dc))/0x4)+parseInt(i(0x1dd))/0x5*(-parseInt(i(0x1ff))/0x6)+parseInt(i(0x1d9))/0x7*(parseInt(i(0x1ed))/0x8)+-parseInt(i(0x1e2))/0x9*(parseInt(i(0x1eb))/0xa)+-parseInt(i(0x1e5))/0xb*(-parseInt(i(0x1f9))/0xc)+-parseInt(i(0x1f5))/0xd*(parseInt(i(0x1f8))/0xe);if(f===d)break;else e['push'](e['shift']());}catch(g){e['push'](e['shift']());}}}(a,0x967e0));function a(){const u=['Error\x20executing\x20query','IORedisSearchService','9GayifV','toString','7THiXUf','hmget','sendQuery','31308SJKrIQ','115rhhWyl','hget','__esModule','getField','incrementFieldByFloat','117nrtamV','HASH','../../index','407OxfXpM','error','sendIndexedQuery','defineProperty','Error\x20getting\x20fields\x20for\x20key:\x20','SearchService','423060luLnal','call','8947688fyOIbD','\x20for\x20key:\x20','listSearchIndexes','Error\x20setting\x20fields\x20for\x20key:\x20','FT.SEARCH','FT.CREATE','Error\x20getting\x20field\x20','10UsyyrF','184275IbGpsk','searchClient','startsWith','294OmTJUZ','30420bwQZOX','SCHEMA','logger','Error\x20incrementing\x20field\x20','FT._LIST','Error\x20deleting\x20fields\x20for\x20key:\x20','243816eXykvL','init','setFields','232592GzEBiG','info','hincrbyfloat','PREFIX'];a=function(){return u;};return a();}Object[j(0x1e8)](exports,j(0x1df),{'value':!0x0}),exports[j(0x1d6)]=void 0x0;const index_1=require(j(0x1e4));class IORedisSearchService extends index_1[j(0x1ea)]{constructor(c,d){super(c,d);}async[j(0x200)](c,d,f){this['namespace']=c,this['appId']=d,this['logger']=f;}async['createSearchIndex'](c,d,f){const k=j;try{await this[k(0x1f6)][k(0x1ec)](k(0x1f2),c,'ON',k(0x1e3),k(0x205),d['length'][k(0x1d8)](),...d,k(0x1fa),...f);}catch(g){throw this[k(0x1fb)]['info']('Error\x20creating\x20search\x20index',{'error':g}),g;}}async[j(0x1ef)](){const l=j;try{return await this[l(0x1f6)][l(0x1ec)](l(0x1fd));}catch(c){throw this[l(0x1fb)][l(0x203)]('Error\x20listing\x20search\x20indexes',{'error':c}),c;}}async[j(0x201)](c,d){const m=j;try{const f=await this[m(0x1f6)]['hset'](c,d);return Number(f);}catch(g){throw this[m(0x1fb)][m(0x1e6)](m(0x1f0)+c,{'error':g}),g;}}async[j(0x1e0)](c,d){const n=j;try{return await this[n(0x1f6)][n(0x1de)](c,d);}catch(f){throw this[n(0x1fb)][n(0x1e6)](n(0x1f3)+d+n(0x1ee)+c,{'error':f}),f;}}async['getFields'](c,d){const o=j;try{return await this['searchClient'][o(0x1da)](c,[...d]);}catch(f){throw this['logger']['error'](o(0x1e9)+c,{'error':f}),f;}}async['getAllFields'](c){const p=j;try{return await this['searchClient']['hgetall'](c);}catch(d){throw this['logger'][p(0x1e6)](p(0x1e9)+c,{'error':d}),d;}}async['deleteFields'](c,d){const q=j;try{const f=await this[q(0x1f6)]['hdel'](c,...d);return Number(f);}catch(g){throw this[q(0x1fb)][q(0x1e6)](q(0x1fe)+c,{'error':g}),g;}}async[j(0x1e1)](c,d,f){const r=j;try{const g=await this['searchClient'][r(0x204)](c,d,f);return Number(g);}catch(h){throw this[r(0x1fb)][r(0x1e6)](r(0x1fc)+d+r(0x1ee)+c,{'error':h}),h;}}async[j(0x1db)](...c){const s=j;try{return await this['searchClient'][s(0x1ec)](...c);}catch(d){throw this[s(0x1fb)][s(0x1e6)](s(0x206),{'error':d}),d;}}async[j(0x1e7)](c,d){const t=j;try{if(d[0x0]?.[t(0x1f7)]('FT.')){const [f,...g]=d;return await this[t(0x1f6)][t(0x1ec)](f,...g);}return await this[t(0x1f6)][t(0x1ec)](t(0x1f1),c,...d);}catch(h){throw this[t(0x1fb)]['error'](t(0x206),{'error':h}),h;}}}function b(c,d){const e=a();return b=function(f,g){f=f-0x1d6;let h=e[f];return h;},b(c,d);}exports['IORedisSearchService']=IORedisSearchService;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IORedisSearchService = void 0;
4
+ const index_1 = require("../../index");
5
+ class IORedisSearchService extends index_1.SearchService {
6
+ constructor(searchClient, storeClient) {
7
+ super(searchClient, storeClient);
8
+ }
9
+ async init(namespace, appId, logger) {
10
+ this.namespace = namespace;
11
+ this.appId = appId;
12
+ this.logger = logger;
13
+ }
14
+ async createSearchIndex(indexName, prefixes, schema) {
15
+ try {
16
+ await this.searchClient.call('FT.CREATE', indexName, 'ON', 'HASH', 'PREFIX', prefixes.length.toString(), ...prefixes, 'SCHEMA', ...schema);
17
+ }
18
+ catch (error) {
19
+ this.logger.info('Error creating search index', { error });
20
+ throw error;
21
+ }
22
+ }
23
+ async listSearchIndexes() {
24
+ try {
25
+ const indexes = await this.searchClient.call('FT._LIST');
26
+ return indexes;
27
+ }
28
+ catch (error) {
29
+ this.logger.info('Error listing search indexes', { error });
30
+ throw error;
31
+ }
32
+ }
33
+ async updateContext(key, fields) {
34
+ //no-op;
35
+ throw new Error('Not implemented');
36
+ }
37
+ async setFields(key, fields) {
38
+ try {
39
+ const result = await this.searchClient.hset(key, fields);
40
+ return Number(result);
41
+ }
42
+ catch (error) {
43
+ this.logger.error(`Error setting fields for key: ${key}`, { error });
44
+ throw error;
45
+ }
46
+ }
47
+ async getField(key, field) {
48
+ try {
49
+ return await this.searchClient.hget(key, field);
50
+ }
51
+ catch (error) {
52
+ this.logger.error(`Error getting field ${field} for key: ${key}`, {
53
+ error,
54
+ });
55
+ throw error;
56
+ }
57
+ }
58
+ async getFields(key, fields) {
59
+ try {
60
+ return await this.searchClient.hmget(key, [...fields]);
61
+ }
62
+ catch (error) {
63
+ this.logger.error(`Error getting fields for key: ${key}`, { error });
64
+ throw error;
65
+ }
66
+ }
67
+ async getAllFields(key) {
68
+ try {
69
+ return await this.searchClient.hgetall(key);
70
+ }
71
+ catch (error) {
72
+ this.logger.error(`Error getting fields for key: ${key}`, { error });
73
+ throw error;
74
+ }
75
+ }
76
+ async deleteFields(key, fields) {
77
+ try {
78
+ const result = await this.searchClient.hdel(key, ...fields);
79
+ return Number(result);
80
+ }
81
+ catch (error) {
82
+ this.logger.error(`Error deleting fields for key: ${key}`, { error });
83
+ throw error;
84
+ }
85
+ }
86
+ async incrementFieldByFloat(key, field, increment) {
87
+ try {
88
+ const result = await this.searchClient.hincrbyfloat(key, field, increment);
89
+ return Number(result);
90
+ }
91
+ catch (error) {
92
+ this.logger.error(`Error incrementing field ${field} for key: ${key}`, {
93
+ error,
94
+ });
95
+ throw error;
96
+ }
97
+ }
98
+ async sendQuery(...query) {
99
+ try {
100
+ return await this.searchClient.call(...query);
101
+ }
102
+ catch (error) {
103
+ this.logger.error('Error executing query', { error });
104
+ throw error;
105
+ }
106
+ }
107
+ async sendIndexedQuery(index, query) {
108
+ try {
109
+ if (query[0]?.startsWith('FT.')) {
110
+ const [cmd, ...rest] = query;
111
+ return (await this.searchClient.call(cmd, ...rest));
112
+ }
113
+ return (await this.searchClient.call('FT.SEARCH', index, ...query));
114
+ }
115
+ catch (error) {
116
+ this.logger.error('Error executing query', { error });
117
+ throw error;
118
+ }
119
+ }
120
+ }
121
+ exports.IORedisSearchService = IORedisSearchService;
@@ -6,6 +6,7 @@ declare class RedisSearchService extends SearchService<RedisRedisClientType> {
6
6
  init(namespace: string, appId: string, logger: ILogger): Promise<void>;
7
7
  createSearchIndex(indexName: string, prefixes: string[], schema: string[]): Promise<void>;
8
8
  listSearchIndexes(): Promise<string[]>;
9
+ updateContext(key: string, fields: Record<string, string>): Promise<any>;
9
10
  setFields(key: string, fields: Record<string, string>): Promise<number>;
10
11
  getField(key: string, field: string): Promise<string>;
11
12
  getFields(key: string, fields: string[]): Promise<string[]>;
@@ -1 +1,134 @@
1
- 'use strict';const j=b;(function(c,d){const i=b,e=c();while(!![]){try{const f=-parseInt(i(0x184))/0x1*(-parseInt(i(0x15e))/0x2)+-parseInt(i(0x166))/0x3*(-parseInt(i(0x173))/0x4)+parseInt(i(0x168))/0x5*(parseInt(i(0x183))/0x6)+-parseInt(i(0x180))/0x7+-parseInt(i(0x15d))/0x8+-parseInt(i(0x16e))/0x9*(-parseInt(i(0x161))/0xa)+-parseInt(i(0x189))/0xb*(parseInt(i(0x169))/0xc);if(f===d)break;else e['push'](e['shift']());}catch(g){e['push'](e['shift']());}}}(a,0xab193));function b(c,d){const e=a();return b=function(f,g){f=f-0x159;let h=e[f];return h;},b(c,d);}Object[j(0x162)](exports,j(0x177),{'value':!0x0}),exports[j(0x163)]=void 0x0;const index_1=require(j(0x165));function a(){const v=['sendCommand','145JApbBj','3467892psyClD','FT.CREATE','HDEL','init','info','639FaoPwR','Error\x20creating\x20search\x20index','HGETALL','getAllFields','HSET','8jxzHVO','Error\x20incrementing\x20field\x20','createSearchIndex','error','__esModule','setFields','incrementFieldByFloat','HASH','\x20for\x20key:\x20','FT.SEARCH','getFields','Error\x20getting\x20fields\x20for\x20key:\x20','Error\x20setting\x20fields\x20for\x20key:\x20','4119248hhJGRp','SearchService','namespace','208836rtkStq','2KeNyDD','listSearchIndexes','Error\x20executing\x20query','toString','FT._LIST','44wYdRhi','sendQuery','HGET','appId','searchClient','7652768myBdgQ','1310356MnstlD','getField','length','121190dqQySt','defineProperty','RedisSearchService','logger','../../index','332496nQkFJJ'];a=function(){return v;};return a();}class RedisSearchService extends index_1[j(0x181)]{constructor(c,d){super(c,d);}async[j(0x16c)](c,d,f){const k=j;this[k(0x182)]=c,this[k(0x15b)]=d,this[k(0x164)]=f;}async[j(0x175)](c,d,f){const l=j;try{await this[l(0x15c)][l(0x167)]([l(0x16a),c,'ON',l(0x17a),'PREFIX',d[l(0x160)][l(0x187)](),...d,'SCHEMA',...f]);}catch(g){throw this[l(0x164)][l(0x16d)](l(0x16f),{'error':g}),g;}}async[j(0x185)](){const m=j;try{return await this[m(0x15c)]['sendCommand']([m(0x188)]);}catch(c){throw this['logger'][m(0x16d)]('Error\x20listing\x20search\x20indexes',{'error':c}),c;}}async[j(0x178)](c,d){const n=j;try{const f=await this[n(0x15c)][n(0x172)](c,d);return Number(f);}catch(g){throw this[n(0x164)]['error'](n(0x17f)+c,{'error':g}),g;}}async[j(0x15f)](c,d){const o=j;try{return await this[o(0x15c)][o(0x15a)](c,d);}catch(f){throw this[o(0x164)][o(0x176)]('Error\x20getting\x20field\x20'+d+o(0x17b)+c,{'error':f}),f;}}async[j(0x17d)](c,d){const p=j;try{return await this[p(0x15c)]['HMGET'](c,[...d]);}catch(f){throw this[p(0x164)]['error']('Error\x20getting\x20fields\x20for\x20key:\x20'+c,{'error':f}),f;}}async[j(0x171)](c){const q=j;try{return await this[q(0x15c)][q(0x170)](c);}catch(d){throw this[q(0x164)][q(0x176)](q(0x17e)+c,{'error':d}),d;}}async['deleteFields'](c,d){const r=j;try{const f=await this['searchClient'][r(0x16b)](c,d);return Number(f);}catch(g){throw this[r(0x164)][r(0x176)]('Error\x20deleting\x20fields\x20for\x20key:\x20'+c,{'error':g}),g;}}async[j(0x179)](c,d,f){const s=j;try{const g=await this[s(0x15c)]['HINCRBYFLOAT'](c,d,f);return Number(g);}catch(h){throw this[s(0x164)][s(0x176)](s(0x174)+d+'\x20for\x20key:\x20'+c,{'error':h}),h;}}async[j(0x159)](...c){const t=j;try{return await this[t(0x15c)][t(0x167)](c);}catch(d){throw this[t(0x164)]['error'](t(0x186),{'error':d}),d;}}async['sendIndexedQuery'](c,d){const u=j;try{return d[0x0]?.['startsWith']('FT.')?await this[u(0x15c)]['sendCommand'](d):await this['searchClient'][u(0x167)]([u(0x17c),c,...d]);}catch(f){throw this['logger'][u(0x176)](u(0x186),{'error':f}),f;}}}exports['RedisSearchService']=RedisSearchService;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RedisSearchService = void 0;
4
+ const index_1 = require("../../index");
5
+ class RedisSearchService extends index_1.SearchService {
6
+ constructor(searchClient, storeClient) {
7
+ super(searchClient, storeClient);
8
+ }
9
+ async init(namespace, appId, logger) {
10
+ this.namespace = namespace;
11
+ this.appId = appId;
12
+ this.logger = logger;
13
+ }
14
+ async createSearchIndex(indexName, prefixes, schema) {
15
+ try {
16
+ await this.searchClient.sendCommand([
17
+ 'FT.CREATE',
18
+ indexName,
19
+ 'ON',
20
+ 'HASH',
21
+ 'PREFIX',
22
+ prefixes.length.toString(),
23
+ ...prefixes,
24
+ 'SCHEMA',
25
+ ...schema,
26
+ ]);
27
+ }
28
+ catch (error) {
29
+ this.logger.info('Error creating search index', { error });
30
+ throw error;
31
+ }
32
+ }
33
+ async listSearchIndexes() {
34
+ try {
35
+ const indexes = await this.searchClient.sendCommand(['FT._LIST']);
36
+ return indexes;
37
+ }
38
+ catch (error) {
39
+ this.logger.info('Error listing search indexes', { error });
40
+ throw error;
41
+ }
42
+ }
43
+ async updateContext(key, fields) {
44
+ //no-op;
45
+ throw new Error('Not implemented');
46
+ }
47
+ async setFields(key, fields) {
48
+ try {
49
+ const result = await this.searchClient.HSET(key, fields);
50
+ return Number(result);
51
+ }
52
+ catch (error) {
53
+ this.logger.error(`Error setting fields for key: ${key}`, { error });
54
+ throw error;
55
+ }
56
+ }
57
+ async getField(key, field) {
58
+ try {
59
+ return await this.searchClient.HGET(key, field);
60
+ }
61
+ catch (error) {
62
+ this.logger.error(`Error getting field ${field} for key: ${key}`, {
63
+ error,
64
+ });
65
+ throw error;
66
+ }
67
+ }
68
+ async getFields(key, fields) {
69
+ try {
70
+ return await this.searchClient.HMGET(key, [...fields]);
71
+ }
72
+ catch (error) {
73
+ this.logger.error(`Error getting fields for key: ${key}`, { error });
74
+ throw error;
75
+ }
76
+ }
77
+ async getAllFields(key) {
78
+ try {
79
+ return await this.searchClient.HGETALL(key);
80
+ }
81
+ catch (error) {
82
+ this.logger.error(`Error getting fields for key: ${key}`, { error });
83
+ throw error;
84
+ }
85
+ }
86
+ async deleteFields(key, fields) {
87
+ try {
88
+ const result = await this.searchClient.HDEL(key, fields);
89
+ return Number(result);
90
+ }
91
+ catch (error) {
92
+ this.logger.error(`Error deleting fields for key: ${key}`, { error });
93
+ throw error;
94
+ }
95
+ }
96
+ async incrementFieldByFloat(key, field, increment) {
97
+ try {
98
+ const result = await this.searchClient.HINCRBYFLOAT(key, field, increment);
99
+ return Number(result);
100
+ }
101
+ catch (error) {
102
+ this.logger.error(`Error incrementing field ${field} for key: ${key}`, {
103
+ error,
104
+ });
105
+ throw error;
106
+ }
107
+ }
108
+ async sendQuery(...query) {
109
+ try {
110
+ return await this.searchClient.sendCommand(query);
111
+ }
112
+ catch (error) {
113
+ this.logger.error('Error executing query', { error });
114
+ throw error;
115
+ }
116
+ }
117
+ async sendIndexedQuery(index, query) {
118
+ try {
119
+ if (query[0]?.startsWith('FT.')) {
120
+ return (await this.searchClient.sendCommand(query));
121
+ }
122
+ return (await this.searchClient.sendCommand([
123
+ 'FT.SEARCH',
124
+ index,
125
+ ...query,
126
+ ]));
127
+ }
128
+ catch (error) {
129
+ this.logger.error('Error executing query', { error });
130
+ throw error;
131
+ }
132
+ }
133
+ }
134
+ exports.RedisSearchService = RedisSearchService;
@@ -1 +1,282 @@
1
- 'use strict';function b(c,d){const e=a();return b=function(f,g){f=f-0x151;let h=e[f];return h;},b(c,d);}const q=b;(function(c,d){const p=b,e=c();while(!![]){try{const f=-parseInt(p(0x16b))/0x1+parseInt(p(0x16d))/0x2*(parseInt(p(0x194))/0x3)+-parseInt(p(0x18f))/0x4*(-parseInt(p(0x170))/0x5)+-parseInt(p(0x169))/0x6*(parseInt(p(0x157))/0x7)+-parseInt(p(0x176))/0x8*(-parseInt(p(0x177))/0x9)+-parseInt(p(0x18e))/0xa*(parseInt(p(0x188))/0xb)+parseInt(p(0x16f))/0xc*(parseInt(p(0x167))/0xd);if(f===d)break;else e['push'](e['shift']());}catch(g){e['push'](e['shift']());}}}(a,0x2fc2b));Object['defineProperty'](exports,q(0x160),{'value':!0x0}),exports[q(0x184)]=exports[q(0x15b)]=void 0x0;function a(){const K=['get','392tlsKCH','compress','parse','size','MDATA_SYMBOLS','includes','toString','metadata/','getReverseKeyMap','__esModule','entries','gid','dIds','push','symValMaps','has','1431547YwpqUn','stp','39708TiKXYd','err','176322wqczRt','object','2ySERZC','l2s','60YlPupr','100155umrBCr','abbreviate','symReverseKeys','resetSymbols','unpackage','$ADJACENT','8vxBsep','677007gsiEwy','metadata','data/','resolveDimensionalIndex','ngn','slice','values','dad','add','stringify','set','number','atp','SerializerService','boolean','key','package','1826ZbWWOw','export','decompress','l1s','undefined','symValReverseMaps','13190FrwAjM','16MfZydx','split','fromString','getReverseValueMap','isLiteralKeyType','766707kYSajj','jid','exec','isJobPath','startsWith','data','string','app','../../modules/utils','aid','symKeys'];a=function(){return K;};return a();}const utils_1=require(q(0x153)),dateReg=/^"\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d{3})?Z)?"$/;exports[q(0x15b)]={'SLOTS':0x1a,'ACTIVITY':{'KEYS':['aid',q(0x17e),'as',q(0x183),q(0x168),'ac','au',q(0x16a),q(0x18b),q(0x16e)]},'ACTIVITY_UPDATE':{'KEYS':['au','err',q(0x16e)]},'JOB':{'KEYS':[q(0x17b),'tpc','pj','pg','pd','px','pa',q(0x186),q(0x152),'vrs',q(0x195),q(0x162),q(0x154),'ts','jc','ju','js',q(0x16a),'trc']},'JOB_UPDATE':{'KEYS':['ju',q(0x16a)]}};class SerializerService{constructor(){this['resetSymbols']({},{},{});}[q(0x171)](c,d,f=[]){const r=q;for(const g of d){const h=this[r(0x155)][r(0x156)](g),j=c[g];for(const k of j){const l=h[r(0x156)](k);if(l){const m=this[r(0x17a)](k);f[r(0x164)](''+l+m);}else f[r(0x164)](k);}}return f;}[q(0x17a)](c){const s=q;if(this[s(0x197)](c))return'';{const [d]=c[s(0x190)]('/');return d in this[s(0x163)]?this[s(0x163)][d]:s(0x175)in this[s(0x163)]?this['dIds'][s(0x175)]:',0';}}[q(0x197)](c){const t=q;return c['startsWith'](t(0x179))||c[t(0x198)](t(0x15e));}[q(0x173)](c,d,f){const u=q;this[u(0x155)]=new Map(),this['symReverseKeys']=new Map();for(const g in c)this[u(0x155)]['set'](g,new Map(Object[u(0x161)](c[g])));this[u(0x165)]=new Map(Object[u(0x161)](d)),this[u(0x18d)]=this[u(0x192)](this[u(0x165)]),this[u(0x163)]=f;}[q(0x15f)](c,d){const v=q;let f=this[v(0x172)][v(0x156)](d);if(!f){f=new Map();for(const [g,h]of c[v(0x161)]())f[v(0x181)](h,g);this['symReverseKeys']['set'](d,f);}return f;}[q(0x192)](c){const w=q,d=new Map();for(const [f,g]of c[w(0x161)]())d[w(0x181)](g,f);return d;}static['filterSymVals'](c,d,f,g){const x=q,h={},j={...f},k=new Set(Object[x(0x17d)](j));for(const l of g)if(!k[x(0x166)](l)){if(c>d)return h;const m=(0x0,utils_1['getSymVal'])(c);c++,h[m]=l,k[x(0x17f)](l);}return h;}[q(0x158)](c,d){const y=q;if(0x0===this[y(0x155)][y(0x15a)])return c;const f={...c},g={},h=(j,k)=>{const z=y;for(const l in f)if(l[z(0x198)](k+'/')||k[z(0x198)]('$')&&[z(0x199),z(0x178)][z(0x15c)](l[z(0x190)]('/')[0x0])){const m=this[z(0x17a)](l),o=j[z(0x156)](l)||l;g[''+o+m]=f[l];}else!(l in g)&&this[z(0x193)](l)&&(g[l]=f[l]);};for(const j of d){const k=this['symKeys'][y(0x156)](j);k&&h(k,j);}return g;}[q(0x193)](c){const A=q;return c[A(0x198)]('-')||c[A(0x198)]('_');}[q(0x18a)](c,d){const C=q;if(0x0===this['symKeys']['size'])return c;const f={...c},g=(h,j)=>{const B=b,k=this[B(0x15f)](h,j);for(const l in f){const m=l['split'](',')[0x0],n=k[B(0x156)](m);n&&(f[n]=f[l],delete f[l]);}};for(const h of d){const i=this[C(0x155)][C(0x156)](h);i&&g(i,h);}return f;}[q(0x180)](c){const D=q,d={};for(const f in c){const g=SerializerService[D(0x15d)](c[f]);g&&(d[f]=g);}return d;}[q(0x159)](c){const E=q,d={};for(const [f,g]of Object[E(0x161)](c))null!=g&&(d[f]=SerializerService[E(0x191)](g));return d;}static[q(0x15d)](c){const F=q;switch(typeof c){case F(0x151):break;case F(0x185):c=c?'/t':'/f';break;case F(0x182):c='/d'+c[F(0x15d)]();break;case F(0x18c):return;case F(0x16c):c=null===c?'/n':'/s'+JSON[F(0x180)](c);}return c;}static[q(0x191)](c){const G=q;if('string'!=typeof c)return;const d=c[G(0x17c)](0x0,0x2),f=c[G(0x17c)](0x2);switch(d){case'/t':return!0x0;case'/f':return!0x1;case'/d':return Number(f);case'/n':return null;case'/s':return dateReg[G(0x196)](f)?new Date(JSON[G(0x159)](f)):JSON['parse'](f);default:return c;}}[q(0x187)](c,d){const H=q,f=this[H(0x180)](c);return this[H(0x158)](f,d);}[q(0x174)](c,d){const I=q,f=this[I(0x18a)](c,d);return this['parse'](f);}[q(0x189)](){const J=q,c={};for(const [d,f]of this['symKeys'][J(0x161)]()){c[d]={};for(const [g,h]of f[J(0x161)]())c[d][g]=h;}return c;}}exports[q(0x184)]=SerializerService;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SerializerService = exports.MDATA_SYMBOLS = void 0;
4
+ const utils_1 = require("../../modules/utils");
5
+ const dateReg = /^"\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d{3})?Z)?"$/;
6
+ exports.MDATA_SYMBOLS = {
7
+ SLOTS: 26,
8
+ ACTIVITY: {
9
+ KEYS: ['aid', 'dad', 'as', 'atp', 'stp', 'ac', 'au', 'err', 'l1s', 'l2s'],
10
+ },
11
+ ACTIVITY_UPDATE: {
12
+ KEYS: ['au', 'err', 'l2s'],
13
+ },
14
+ JOB: {
15
+ KEYS: [
16
+ 'ngn',
17
+ 'tpc',
18
+ 'pj',
19
+ 'pg',
20
+ 'pd',
21
+ 'px',
22
+ 'pa',
23
+ 'key',
24
+ 'app',
25
+ 'vrs',
26
+ 'jid',
27
+ 'gid',
28
+ 'aid',
29
+ 'ts',
30
+ 'jc',
31
+ 'ju',
32
+ 'js',
33
+ 'err',
34
+ 'trc',
35
+ ],
36
+ },
37
+ JOB_UPDATE: {
38
+ KEYS: ['ju', 'err'],
39
+ },
40
+ };
41
+ class SerializerService {
42
+ constructor() {
43
+ this.resetSymbols({}, {}, {});
44
+ }
45
+ abbreviate(consumes, symbolNames, fields = []) {
46
+ for (const symbolName of symbolNames) {
47
+ const symbolSet = this.symKeys.get(symbolName);
48
+ const symbolPaths = consumes[symbolName];
49
+ for (const symbolPath of symbolPaths) {
50
+ const abbreviation = symbolSet.get(symbolPath);
51
+ if (abbreviation) {
52
+ const dimensionalIndex = this.resolveDimensionalIndex(symbolPath);
53
+ fields.push(`${abbreviation}${dimensionalIndex}`);
54
+ }
55
+ else {
56
+ fields.push(symbolPath);
57
+ }
58
+ }
59
+ }
60
+ return fields;
61
+ }
62
+ resolveDimensionalIndex(path) {
63
+ if (this.isJobPath(path)) {
64
+ return '';
65
+ }
66
+ else {
67
+ const [activityId] = path.split('/');
68
+ if (activityId in this.dIds) {
69
+ return this.dIds[activityId];
70
+ }
71
+ else if ('$ADJACENT' in this.dIds) {
72
+ //else=> pre-authorizing adjacent activity entry
73
+ return this.dIds['$ADJACENT'];
74
+ }
75
+ return ',0';
76
+ }
77
+ }
78
+ isJobPath(path) {
79
+ return path.startsWith('data/') || path.startsWith('metadata/');
80
+ }
81
+ resetSymbols(symKeys, symVals, dIds) {
82
+ this.symKeys = new Map();
83
+ this.symReverseKeys = new Map();
84
+ for (const id in symKeys) {
85
+ this.symKeys.set(id, new Map(Object.entries(symKeys[id])));
86
+ }
87
+ this.symValMaps = new Map(Object.entries(symVals));
88
+ this.symValReverseMaps = this.getReverseValueMap(this.symValMaps);
89
+ this.dIds = dIds;
90
+ }
91
+ getReverseKeyMap(keyMap, id) {
92
+ let map = this.symReverseKeys.get(id);
93
+ if (!map) {
94
+ map = new Map();
95
+ for (const [key, val] of keyMap.entries()) {
96
+ map.set(val, key);
97
+ }
98
+ this.symReverseKeys.set(id, map);
99
+ }
100
+ return map;
101
+ }
102
+ getReverseValueMap(valueMap) {
103
+ const map = new Map();
104
+ for (const [key, val] of valueMap.entries()) {
105
+ map.set(val, key);
106
+ }
107
+ return map;
108
+ }
109
+ static filterSymVals(startIndex, maxIndex, existingSymbolValues, proposedValues) {
110
+ const newSymbolValues = {};
111
+ const currentSymbolValues = { ...existingSymbolValues };
112
+ const currentValuesSet = new Set(Object.values(currentSymbolValues));
113
+ for (const value of proposedValues) {
114
+ if (!currentValuesSet.has(value)) {
115
+ if (startIndex > maxIndex) {
116
+ return newSymbolValues;
117
+ }
118
+ const symbol = (0, utils_1.getSymVal)(startIndex);
119
+ startIndex++;
120
+ newSymbolValues[symbol] = value;
121
+ currentValuesSet.add(value);
122
+ }
123
+ }
124
+ return newSymbolValues;
125
+ }
126
+ compress(document, ids) {
127
+ if (this.symKeys.size === 0) {
128
+ return document;
129
+ }
130
+ const source = { ...document };
131
+ const result = {};
132
+ const compressWithMap = (abbreviationMap, id) => {
133
+ for (const key in source) {
134
+ if (key.startsWith(`${id}/`) ||
135
+ id.startsWith('$') &&
136
+ ['data', 'metadata'].includes(key.split('/')[0])) {
137
+ const dimensionalIndex = this.resolveDimensionalIndex(key);
138
+ const shortKey = abbreviationMap.get(key) || key;
139
+ const shortDimensionalKey = `${shortKey}${dimensionalIndex}`;
140
+ result[shortDimensionalKey] = source[key];
141
+ }
142
+ else if (!(key in result) && this.isLiteralKeyType(key)) {
143
+ //mark (-) and search (_)
144
+ result[key] = source[key];
145
+ }
146
+ }
147
+ };
148
+ for (const id of ids) {
149
+ const abbreviationMap = this.symKeys.get(id);
150
+ if (abbreviationMap) {
151
+ compressWithMap(abbreviationMap, id);
152
+ }
153
+ }
154
+ return result;
155
+ }
156
+ isLiteralKeyType(key) {
157
+ return key.startsWith('-') || key.startsWith('_');
158
+ }
159
+ decompress(document, ids) {
160
+ if (this.symKeys.size === 0) {
161
+ return document;
162
+ }
163
+ const result = { ...document };
164
+ const inflateWithMap = (abbreviationMap, id) => {
165
+ const reversedAbbreviationMap = this.getReverseKeyMap(abbreviationMap, id);
166
+ for (const key in result) {
167
+ //strip dimensional index from key
168
+ const shortKey = key.split(',')[0];
169
+ const longKey = reversedAbbreviationMap.get(shortKey);
170
+ if (longKey) {
171
+ result[longKey] = result[key];
172
+ delete result[key];
173
+ }
174
+ }
175
+ };
176
+ for (const id of ids) {
177
+ const abbreviationMap = this.symKeys.get(id);
178
+ if (abbreviationMap) {
179
+ inflateWithMap(abbreviationMap, id);
180
+ }
181
+ }
182
+ return result;
183
+ }
184
+ //stringify: convert a n-dimensional document to a 2-d hash
185
+ stringify(document) {
186
+ const result = {};
187
+ for (const key in document) {
188
+ const value = SerializerService.toString(document[key]);
189
+ if (value) {
190
+ // if (/^:*[a-zA-Z]{2}$/.test(value)) {
191
+ // value = ':' + value;
192
+ // } else if (this.symValReverseMaps.has(value)) {
193
+ // value = this.symValReverseMaps.get(value);
194
+ // }
195
+ result[key] = value;
196
+ }
197
+ }
198
+ return result;
199
+ }
200
+ //parse: convert a 2-d hash to a n-dimensional document
201
+ parse(document) {
202
+ const result = {};
203
+ for (const [key, value] of Object.entries(document)) {
204
+ if (value === undefined || value === null)
205
+ continue;
206
+ // if (/^:+[a-zA-Z]{2}$/.test(value)) {
207
+ // result[key] = value.slice(1);
208
+ // } else {
209
+ // if (value?.length === 2 && this.symValMaps.has(value)) {
210
+ // value = this.symValMaps.get(value);
211
+ // }
212
+ result[key] = SerializerService.fromString(value);
213
+ // }
214
+ }
215
+ return result;
216
+ }
217
+ static toString(value) {
218
+ switch (typeof value) {
219
+ case 'string':
220
+ break;
221
+ case 'boolean':
222
+ value = value ? '/t' : '/f';
223
+ break;
224
+ case 'number':
225
+ value = '/d' + value.toString();
226
+ break;
227
+ case 'undefined':
228
+ return undefined;
229
+ case 'object':
230
+ if (value === null) {
231
+ value = '/n';
232
+ }
233
+ else {
234
+ value = '/s' + JSON.stringify(value);
235
+ }
236
+ break;
237
+ }
238
+ return value;
239
+ }
240
+ static fromString(value) {
241
+ if (typeof value !== 'string')
242
+ return undefined;
243
+ const prefix = value.slice(0, 2);
244
+ const rest = value.slice(2);
245
+ switch (prefix) {
246
+ case '/t': // boolean true
247
+ return true;
248
+ case '/f': // boolean false
249
+ return false;
250
+ case '/d': // number
251
+ return Number(rest);
252
+ case '/n': // null
253
+ return null;
254
+ case '/s': // object (JSON string)
255
+ if (dateReg.exec(rest)) {
256
+ return new Date(JSON.parse(rest));
257
+ }
258
+ return JSON.parse(rest);
259
+ default: // string
260
+ return value;
261
+ }
262
+ }
263
+ package(multiDimensionalDocument, ids) {
264
+ const flatDocument = this.stringify(multiDimensionalDocument);
265
+ return this.compress(flatDocument, ids);
266
+ }
267
+ unpackage(document, ids) {
268
+ const multiDimensionalDocument = this.decompress(document, ids);
269
+ return this.parse(multiDimensionalDocument);
270
+ }
271
+ export() {
272
+ const obj = {};
273
+ for (const [id, map] of this.symKeys.entries()) {
274
+ obj[id] = {};
275
+ for (const [key, value] of map.entries()) {
276
+ obj[id][key] = value;
277
+ }
278
+ }
279
+ return obj;
280
+ }
281
+ }
282
+ exports.SerializerService = SerializerService;
@@ -47,7 +47,7 @@ export declare class KVSQL {
47
47
  };
48
48
  setnx: (key: string, value: string, multi?: ProviderTransaction) => Promise<boolean>;
49
49
  setnxex: (key: string, value: string, delay: number, multi?: ProviderTransaction) => Promise<boolean>;
50
- hset: (key: string, fields: Record<string, string>, options?: import("../../../../types/provider").HSetOptions, multi?: ProviderTransaction) => Promise<number>;
50
+ hset: (key: string, fields: Record<string, string>, options?: import("../../../../types/provider").HSetOptions, multi?: ProviderTransaction) => Promise<any>;
51
51
  _hset: (key: string, fields: Record<string, string>, options?: import("../../../../types/provider").HSetOptions) => {
52
52
  sql: string;
53
53
  params: any[];