n8n-nodes-bozonx-redis-sugar 1.18.0 → 1.21.0

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 (42) hide show
  1. package/README.md +175 -16
  2. package/dist/nodes/RedisCache/BozonxRedisCache.node.js +21 -6
  3. package/dist/nodes/RedisCache/BozonxRedisCache.node.js.map +1 -1
  4. package/dist/nodes/RedisCache/redisClient.js +19 -1
  5. package/dist/nodes/RedisCache/redisClient.js.map +1 -1
  6. package/dist/nodes/RedisListSugar/BozonxRedisListSugar.node.d.ts +5 -0
  7. package/dist/nodes/RedisListSugar/BozonxRedisListSugar.node.js +239 -0
  8. package/dist/nodes/RedisListSugar/BozonxRedisListSugar.node.js.map +1 -0
  9. package/dist/nodes/RedisListSugar/redis-list-sugar.svg +6 -0
  10. package/dist/nodes/RedisListSugar/redisClient.d.ts +10 -0
  11. package/dist/nodes/RedisListSugar/redisClient.js +97 -0
  12. package/dist/nodes/RedisListSugar/redisClient.js.map +1 -0
  13. package/dist/nodes/RedisQueueComplete/BozonxRedisQueueComplete.node.d.ts +5 -0
  14. package/dist/nodes/RedisQueueComplete/BozonxRedisQueueComplete.node.js +128 -0
  15. package/dist/nodes/RedisQueueComplete/BozonxRedisQueueComplete.node.js.map +1 -0
  16. package/dist/nodes/RedisQueueComplete/redis-queue-complete.svg +4 -0
  17. package/dist/nodes/RedisQueueComplete/redisClient.d.ts +9 -0
  18. package/dist/nodes/RedisQueueComplete/redisClient.js +93 -0
  19. package/dist/nodes/RedisQueueComplete/redisClient.js.map +1 -0
  20. package/dist/nodes/RedisQueueConsumer/BozonxRedisQueueConsumer.node.d.ts +5 -0
  21. package/dist/nodes/RedisQueueConsumer/BozonxRedisQueueConsumer.node.js +179 -0
  22. package/dist/nodes/RedisQueueConsumer/BozonxRedisQueueConsumer.node.js.map +1 -0
  23. package/dist/nodes/RedisQueueConsumer/redis-queue-consumer.svg +4 -0
  24. package/dist/nodes/RedisQueueConsumer/redisClient.d.ts +9 -0
  25. package/dist/nodes/RedisQueueConsumer/redisClient.js +93 -0
  26. package/dist/nodes/RedisQueueConsumer/redisClient.js.map +1 -0
  27. package/dist/nodes/RedisQueueProducer/BozonxRedisQueueProducer.node.d.ts +5 -0
  28. package/dist/nodes/RedisQueueProducer/BozonxRedisQueueProducer.node.js +224 -0
  29. package/dist/nodes/RedisQueueProducer/BozonxRedisQueueProducer.node.js.map +1 -0
  30. package/dist/nodes/RedisQueueProducer/redis-queue-producer.svg +4 -0
  31. package/dist/nodes/RedisQueueProducer/redisClient.d.ts +10 -0
  32. package/dist/nodes/RedisQueueProducer/redisClient.js +97 -0
  33. package/dist/nodes/RedisQueueProducer/redisClient.js.map +1 -0
  34. package/dist/nodes/RedisStreamProducer/BozonxRedisStreamProducer.node.js +20 -4
  35. package/dist/nodes/RedisStreamProducer/BozonxRedisStreamProducer.node.js.map +1 -1
  36. package/dist/nodes/RedisStreamProducer/redisClient.js +20 -2
  37. package/dist/nodes/RedisStreamProducer/redisClient.js.map +1 -1
  38. package/dist/nodes/RedisStreamTrigger/BozonxRedisStreamTrigger.node.js +4 -11
  39. package/dist/nodes/RedisStreamTrigger/BozonxRedisStreamTrigger.node.js.map +1 -1
  40. package/dist/package.json +13 -8
  41. package/dist/tsconfig.tsbuildinfo +1 -1
  42. package/package.json +13 -8
package/README.md CHANGED
@@ -1,10 +1,14 @@
1
- # n8n Nodes: Bozonx Redis Nodes (Cache + Streams)
1
+ # n8n Nodes: Bozonx Redis Sugar
2
2
 
3
3
  Community nodes for n8n to work with Redis:
4
4
 
5
- - Redis Cache: read/write JSON values with optional TTL
6
- - Redis Pub: append entries to Redis Streams (XADD)
7
- - Redis Stream Trigger: emit items from Redis Streams (XREAD)
5
+ - **Redis Cache**: read/write JSON values with optional TTL
6
+ - **Redis Pub**: append entries to Redis Streams (XADD)
7
+ - **Redis Sub Trigger**: emit items from Redis Streams (XREAD)
8
+ - **Redis Queue Add**: add jobs to a Redis-based queue
9
+ - **Redis Queue Trigger**: process jobs from a Redis-based queue
10
+ - **Redis Queue Complete**: mark queue job as complete and check if it was the last job
11
+ - **Redis List Sugar**: manage simple lists with YAML/JSON parsing
8
12
 
9
13
  n8n is a fair-code licensed workflow automation platform: https://n8n.io/
10
14
 
@@ -43,14 +47,14 @@ Read result hit: `{ found: true, key, data }`
43
47
  Read result miss: `{ found: false, key }`
44
48
 
45
49
  Details:
46
- - When Payload Type is JSON, a valid JSON string is required.
50
+ - When Payload Type is YAML / JSON, the input is a string and is parsed as YAML first (YAML is a superset of JSON), then as JSON.
47
51
  - When Payload Type is Data Fields, you can add multiple fields with a selected value type (string, number, boolean, json, null). JSON values are validated and stringified.
48
52
  - TTL is optional; set to 0 to store without expiration. Units supported: seconds, minutes, hours, days.
49
53
 
50
54
  ### 2) Redis Pub (Streams)
51
55
 
52
56
  - Event name: Redis stream key
53
- - Payload Mode: Text, JSON, or Key-Value
57
+ - Payload Mode: YAML / JSON or Key-Value
54
58
  - Stream trimming: `MAXLEN ~ 1000000`
55
59
  - Stream TTL: `EXPIRE 86400` seconds
56
60
 
@@ -61,11 +65,10 @@ Output item example:
61
65
  ```
62
66
 
63
67
  Details:
64
- - Text mode sends a single field "payload" with the provided text.
65
- - JSON mode sends a single field "data". If left empty, the incoming item is used and stringified.
68
+ - YAML / JSON mode sends a single field "data". Input is a string and is parsed as YAML first (YAML is a superset of JSON), then as JSON. If left empty, the incoming item is used and stringified.
66
69
  - Key-Value mode lets you define typed fields (string, number, boolean, json, null). Invalid JSON values are rejected.
67
70
 
68
- ### 3) Redis Stream Trigger (Streams)
71
+ ### 3) Redis Sub Trigger (Streams)
69
72
 
70
73
  - Stream Key
71
74
  - Allowed Stale (Seconds): if > 0, on start emit recent entries; 0 → only new
@@ -78,20 +81,116 @@ Emitted item example:
78
81
  { "payload": <parsed_payload_or_fields>, "_stream": "mystream", "_id": "1728666000000-0" }
79
82
  ```
80
83
 
84
+ ### 4) Redis Queue Add
85
+
86
+ Add jobs to a Redis-based queue for sequential processing.
87
+
88
+ - **Queue ID**: unique identifier for the queue (leave empty to use current workflow ID)
89
+ - **Job Name**: optional name to group jobs within the same queue (e.g., separate queues per user: `user-123`)
90
+ - **Data**: job data in YAML/JSON format (leave empty to use incoming item)
91
+ - **Timeout (seconds)**: maximum time for job processing (default: 60)
92
+ - Queue TTL is automatically set to `timeout * 1.3 + 10` seconds
93
+
94
+ **Redis structure:**
95
+ - Without Job Name: `queue:{queueId}`
96
+ - With Job Name: `queue:{queueId}:{jobName}` (allows multiple independent queues per workflow)
97
+
98
+ Output:
99
+
100
+ ```json
101
+ { "queueId": "workflow-123", "jobName": "user-456", "position": 3, "timeoutSec": 60, "ttl": 88 }
102
+ ```
103
+
104
+ ### 5) Redis Queue Trigger
105
+
106
+ Process jobs from a Redis-based queue. This is a trigger node that starts a workflow for each job.
107
+
108
+ - **Queue ID**: which queue to consume from (leave empty to use current workflow ID)
109
+ - **Job Name**: optional name to match the Job Name from Redis Queue Add (for grouped queues)
110
+ - **BLPOP Timeout (seconds)**: timeout for blocking pop operation (default: 30)
111
+
112
+ Uses `BLPOP` for efficient, event-driven job consumption (no active polling).
113
+
114
+ Emitted item:
115
+
116
+ ```json
117
+ {
118
+ "data": { "your": "job data" },
119
+ "index": 1,
120
+ "queueId": "workflow-123",
121
+ "jobName": "user-456",
122
+ "uniqueJobId": "workflow-123-1735308000000-1"
123
+ }
124
+ ```
125
+
126
+ - `data`: the job payload
127
+ - `index`: position in the current queue "wave" (resets to 1 when queue empties)
128
+ - `queueId`: queue identifier (workflow ID if not specified)
129
+ - `jobName`: optional job group name (null if not used)
130
+ - `uniqueJobId`: unique identifier for this specific job execution
131
+
132
+ ### 6) Redis Queue Complete
133
+
134
+ Mark a job as complete and check if it was the last job in the queue. Place this node at the end of your queue processing workflow.
135
+
136
+ - **Queue ID**: from trigger (default: `={{ $json.queueId }}`)
137
+ - **Job Name**: optional, from trigger (default: `={{ $json.jobName }}`)
138
+ - **Unique Job ID**: from trigger (default: `={{ $json.uniqueJobId }}`)
139
+
140
+ Output:
141
+
142
+ ```json
143
+ {
144
+ "data": { "your": "job data" },
145
+ "index": 1,
146
+ "isLast": true,
147
+ "queueId": "workflow-123",
148
+ "jobName": "user-456",
149
+ "uniqueJobId": "workflow-123-1735308000000-1"
150
+ }
151
+ ```
152
+
153
+ - `isLast`: `true` if this was the last job in the queue (queue is now empty)
154
+ - When `isLast` is `true`, the index counter is reset for the next "wave" of jobs
155
+
156
+ ### 7) Redis List Sugar
157
+
158
+ Manage simple Redis lists (linked lists). Supports basic operations with YAML/JSON value parsing.
159
+
160
+ - **List ID**: Redis key for the list
161
+ - **Operation**:
162
+ - **Add Element**: Append value to the end of the list (`RPUSH`)
163
+ - **Delete Element (by Value)**: Remove all matching elements from the list (`LREM`)
164
+ - **Delete Element (at Index)**: Remove an element at a specific index
165
+ - **Get Range / All Elements**: Retrieve elements as an array (`LRANGE`). Supports pagination via Range Start and Range End.
166
+ - **Replace Element**: Update value at a specific index (`LSET`)
167
+ - **Clear List**: Delete the entire key (`DEL`)
168
+
169
+ **Details**:
170
+ - **Value (YAML/JSON)**: Input is parsed as YAML/JSON if possible. This allows storing structured objects as strings in the list. On retrieval, the node attempts to parse strings back to JSON objects.
171
+ - **Index / Range**: Zero-based. Negative numbers (e.g., `-1` for the last element, `0` to `-1` for all elements) are supported.
172
+
81
173
  ## Quick Start
82
174
 
175
+ ### Cache Example
83
176
  1. Create Redis credentials in n8n
84
177
  2. Redis Cache (Write): set key, payload JSON, TTL
85
178
  3. Redis Cache (Read): set same key
179
+
180
+ ### Streams Example
86
181
  4. Redis Pub: set stream key and payload
87
- 5. Redis Stream Trigger: set same stream key, optional Allowed Stale
182
+ 5. Redis Sub Trigger: set same stream key, optional Allowed Stale
183
+
184
+ ### Queue Example
185
+ 6. **Workflow 1 (Producer)**: Schedule Trigger → Redis Queue Add (queueId: "emails")
186
+ 7. **Workflow 2 (Consumer)**: Redis Queue Trigger (queueId: "emails") → Send Email → Redis Queue Complete → IF node (check `isLast`) → Send Summary Email (if last)
88
187
 
89
188
  ## Usage Examples
90
189
 
91
- - Redis Cache (Write JSON):
190
+ - Redis Cache (Write YAML / JSON):
92
191
  - Mode: Write
93
192
  - Key: `cache:user:42`
94
- - Payload Type: JSON
193
+ - Payload Type: YAML / JSON
95
194
  - Data: `{ "id": 42, "name": "Ada" }`
96
195
  - TTL Unit: hours, TTL Value: 24
97
196
 
@@ -99,15 +198,36 @@ Emitted item example:
99
198
  - Mode: Read
100
199
  - Key: `cache:user:42`
101
200
 
102
- - Redis Pub (JSON):
201
+ - Redis Pub (YAML / JSON):
103
202
  - Stream Key: `my-service:main`
104
- - Payload Mode: JSON
105
- - Payload: leave empty to send the incoming item as JSON
203
+ - Payload Mode: YAML / JSON
204
+ - Payload: leave empty to send the incoming item as YAML/JSON
106
205
 
107
- - Redis Stream Trigger:
206
+ - Redis Sub Trigger:
108
207
  - Stream Key: `my-service:main`
109
208
  - Allowed Stale (Seconds): `0` for only new entries
110
209
 
210
+ - Redis Queue (Producer Workflow):
211
+ - Redis Queue Add:
212
+ - Queue ID: `` (empty - uses workflow ID)
213
+ - Job Name: `={{ $json.userId }}` (separate queue per user)
214
+ - Data: `{ "url": "https://example.com/image.jpg", "format": "webp" }`
215
+ - Timeout: `120` seconds
216
+
217
+ - Redis Queue (Consumer Workflow):
218
+ - Redis Queue Trigger:
219
+ - Queue ID: `` (empty - uses workflow ID)
220
+ - Job Name: `={{ $json.userId }}` (must match producer)
221
+ - BLPOP Timeout: `30` seconds
222
+ - → Process Image node
223
+ - → Redis Queue Complete:
224
+ - Queue ID: `={{ $json.queueId }}`
225
+ - Job Name: `={{ $json.jobName }}`
226
+ - Unique Job ID: `={{ $json.uniqueJobId }}`
227
+ - → IF node: `={{ $json.result.isLast }}`
228
+ - True → Send notification "All images processed for user"
229
+ - False → End
230
+
111
231
  ## Development
112
232
 
113
233
  - Install deps: `pnpm install`
@@ -115,6 +235,45 @@ Emitted item example:
115
235
  - Build: `pnpm build`
116
236
  - Dev (watch): `pnpm dev` or `pnpm run build:watch`
117
237
 
238
+ ### Local Redis (for tests)
239
+
240
+ This package includes a ready-to-use `compose.yaml` that starts:
241
+
242
+ - `redis` on `localhost:6379`
243
+ - `redisinsight` UI on `http://localhost:5540`
244
+
245
+ Start containers:
246
+
247
+ ```bash
248
+ docker compose -f compose.yaml up -d
249
+ ```
250
+
251
+ Stop containers:
252
+
253
+ ```bash
254
+ docker compose -f compose.yaml down
255
+ ```
256
+
257
+ Redis connection params (matching `compose.yaml`):
258
+
259
+ - Host: `localhost`
260
+ - Port: `6379`
261
+ - Username: (empty)
262
+ - Password: (empty)
263
+ - TLS: `false`
264
+ - DB Index: `0`
265
+
266
+ Quick connectivity check:
267
+
268
+ ```bash
269
+ redis-cli -h localhost -p 6379 ping
270
+ ```
271
+
272
+ If you run n8n in Docker, use the correct host from the n8n container perspective:
273
+
274
+ - If n8n is started from the same Compose project/network, use the service name `redis` as host.
275
+ - If n8n runs in a separate Compose project, either connect the networks or expose Redis and use the host that is reachable from n8n.
276
+
118
277
  Before publishing, the CLI will run `n8n-node prerelease` automatically.
119
278
 
120
279
  Publishing options:
@@ -68,7 +68,8 @@ class BozonxRedisCache {
68
68
  {
69
69
  displayName: 'Data (YAML / JSON)',
70
70
  name: 'dataYamlJson',
71
- type: 'json',
71
+ type: 'string',
72
+ typeOptions: { rows: 8 },
72
73
  default: '',
73
74
  placeholder: 'foo: bar\ncount: 42\n# or JSON: { "foo": "bar" }',
74
75
  description: 'Data in YAML or JSON format. If a string is provided, it will first be parsed as YAML, then as JSON. If an expression returns a non-string value, it will be serialized to JSON.',
@@ -153,12 +154,13 @@ class BozonxRedisCache {
153
154
  displayOptions: { show: { valueType: ['string'] } },
154
155
  },
155
156
  {
156
- displayName: 'JSON Value',
157
+ displayName: 'Value (YAML / JSON)',
157
158
  name: 'valueJson',
158
- type: 'json',
159
+ type: 'string',
160
+ typeOptions: { rows: 8 },
159
161
  default: '',
160
- placeholder: "{ 'nested': true }",
161
- description: 'Provide valid JSON to be parsed as the field value (e.g. object or array). Use expressions like {{ $json.items }} to pass data.',
162
+ placeholder: 'foo: bar\ncount: 42\n# or JSON: { "foo": "bar" }',
163
+ description: 'Data in YAML or JSON format. If a string is provided, it will first be parsed as YAML, then as JSON. If an expression returns a non-string value, it will be serialized to JSON.',
162
164
  displayOptions: { show: { valueType: ['json'] } },
163
165
  },
164
166
  ],
@@ -312,9 +314,22 @@ class BozonxRedisCache {
312
314
  }
313
315
  case 'json': {
314
316
  const raw = pair.valueJson;
315
- if (raw === undefined) {
317
+ if (raw === undefined || raw === '') {
316
318
  value = null;
317
319
  }
320
+ else if (typeof raw === 'string') {
321
+ try {
322
+ value = (0, js_yaml_1.load)(raw);
323
+ }
324
+ catch {
325
+ try {
326
+ value = JSON.parse(raw);
327
+ }
328
+ catch (jsonError) {
329
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Invalid YAML or JSON provided in field "${k}": ${jsonError.message}`, { itemIndex: i });
330
+ }
331
+ }
332
+ }
318
333
  else {
319
334
  value = raw;
320
335
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BozonxRedisCache.node.js","sourceRoot":"","sources":["../../../nodes/RedisCache/BozonxRedisCache.node.ts"],"names":[],"mappings":";;;AAAA,+CAUsB;AACtB,qCAA2C;AAE3C,+CAIuB;AAWvB,MAAa,gBAAgB;IAA7B;QACC,gBAAW,GAAyB;YACnC,WAAW,EAAE,aAAa;YAC1B,IAAI,EAAE,kBAAkB;YACxB,KAAK,EAAE,CAAC,WAAW,CAAC;YACpB,OAAO,EAAE,CAAC;YACV,QAAQ,EAAE,oDAAoD;YAC9D,WAAW,EAAE,qCAAqC;YAClD,QAAQ,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;YACjC,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EAAE,CAAC,MAAM,CAAC;YAChB,OAAO,EAAE,CAAC,MAAM,CAAC;YACjB,gBAAgB,EACf,iGAAiG;YAClG,WAAW,EAAE;gBACZ;oBACC,IAAI,EAAE,aAAa;oBACnB,QAAQ,EAAE,IAAI;iBACd;aACD;YACD,UAAU,EAAE;gBACX;oBACC,WAAW,EAAE,MAAM;oBACnB,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE;wBACR;4BACC,IAAI,EAAE,OAAO;4BACb,KAAK,EAAE,OAAO;4BACd,WAAW,EAAE,+CAA+C;yBAC5D;wBACD;4BACC,IAAI,EAAE,MAAM;4BACZ,KAAK,EAAE,MAAM;4BACb,WAAW,EAAE,2CAA2C;yBACxD;qBACD;oBACD,OAAO,EAAE,OAAO;oBAChB,WAAW,EAAE,+CAA+C;iBAC5D;gBACD;oBACC,WAAW,EAAE,KAAK;oBAClB,IAAI,EAAE,KAAK;oBACX,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,EAAE;oBACX,QAAQ,EAAE,IAAI;oBACd,WAAW,EAAE,cAAc;oBAC3B,WAAW,EAAE,oCAAoC;iBACjD;gBACD;oBACC,WAAW,EAAE,cAAc;oBAC3B,IAAI,EAAE,aAAa;oBACnB,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE;wBACR,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE;wBACxC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE;qBAC1C;oBACD,OAAO,EAAE,QAAQ;oBACjB,WAAW,EAAE,+CAA+C;oBAC5D,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE;iBAC7C;gBACD;oBACC,WAAW,EAAE,oBAAoB;oBACjC,IAAI,EAAE,cAAc;oBACpB,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,EAAE;oBACX,WAAW,EAAE,kDAAkD;oBAC/D,WAAW,EACV,kLAAkL;oBACnL,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE;iBACxE;gBACD;oBACC,WAAW,EAAE,QAAQ;oBACrB,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,iBAAiB;oBACvB,WAAW,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE;oBACrC,OAAO,EAAE,EAAE;oBACX,WAAW,EAAE,WAAW;oBACxB,WAAW,EAAE,wDAAwD;oBACrE,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE;oBACtE,OAAO,EAAE;wBACR;4BACC,IAAI,EAAE,OAAO;4BACb,WAAW,EAAE,OAAO;4BACpB,MAAM,EAAE;gCACP;oCACC,WAAW,EAAE,KAAK;oCAClB,IAAI,EAAE,KAAK;oCACX,IAAI,EAAE,QAAQ;oCACd,OAAO,EAAE,EAAE;oCACX,QAAQ,EAAE,IAAI;oCACd,WAAW,EAAE,QAAQ;oCACrB,WAAW,EAAE,yCAAyC;iCACtD;gCACD;oCACC,WAAW,EAAE,MAAM;oCACnB,IAAI,EAAE,WAAW;oCACjB,IAAI,EAAE,SAAS;oCACf,OAAO,EAAE;wCACR;4CACC,IAAI,EAAE,SAAS;4CACf,KAAK,EAAE,SAAS;yCAChB;wCACD;4CACC,IAAI,EAAE,MAAM;4CACZ,KAAK,EAAE,MAAM;yCACb;wCACD;4CACC,IAAI,EAAE,MAAM;4CACZ,KAAK,EAAE,MAAM;yCACb;wCACD;4CACC,IAAI,EAAE,QAAQ;4CACd,KAAK,EAAE,QAAQ;yCACf;wCACD;4CACC,IAAI,EAAE,QAAQ;4CACd,KAAK,EAAE,QAAQ;yCACf;qCACD;oCACD,OAAO,EAAE,QAAQ;oCACjB,WAAW,EAAE,0CAA0C;iCACvD;gCACD;oCACC,WAAW,EAAE,eAAe;oCAC5B,IAAI,EAAE,cAAc;oCACpB,IAAI,EAAE,SAAS;oCACf,OAAO,EAAE,KAAK;oCACd,WAAW,EAAE,0CAA0C;oCACvD,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE;iCACpD;gCACD;oCACC,WAAW,EAAE,cAAc;oCAC3B,IAAI,EAAE,aAAa;oCACnB,IAAI,EAAE,QAAQ;oCACd,OAAO,EAAE,CAAC;oCACV,WAAW,EAAE,IAAI;oCACjB,WAAW,EAAE,6BAA6B;oCAC1C,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE;iCACnD;gCACD;oCACC,WAAW,EAAE,cAAc;oCAC3B,IAAI,EAAE,aAAa;oCACnB,IAAI,EAAE,QAAQ;oCACd,OAAO,EAAE,EAAE;oCACX,WAAW,EAAE,UAAU;oCACvB,WAAW,EAAE,0BAA0B;oCACvC,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE;iCACnD;gCACD;oCACC,WAAW,EAAE,YAAY;oCACzB,IAAI,EAAE,WAAW;oCACjB,IAAI,EAAE,MAAM;oCACZ,OAAO,EAAE,EAAE;oCACX,WAAW,EAAE,oBAAoB;oCACjC,WAAW,EACV,iIAAiI;oCAClI,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE;iCACjD;6BACD;yBACD;qBACD;iBACD;gBACD;oBACC,WAAW,EAAE,UAAU;oBACvB,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE;wBACR,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;wBACrC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;wBACrC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;wBACjC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;qBAC/B;oBACD,OAAO,EAAE,OAAO;oBAChB,WAAW,EAAE,uBAAuB;oBACpC,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE;iBAC7C;gBACD;oBACC,WAAW,EAAE,WAAW;oBACxB,IAAI,EAAE,KAAK;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE;oBAC5B,OAAO,EAAE,CAAC;oBACV,WAAW,EAAE,GAAG;oBAChB,WAAW,EAAE,8CAA8C;oBAC3D,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE;iBAC7C;gBACD;oBACC,WAAW,EAAE,4BAA4B;oBACzC,IAAI,EAAE,oBAAoB;oBAC1B,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,KAAK;oBACd,WAAW,EACV,iHAAiH;iBAClH;aACD;YACD,YAAY,EAAE,IAAI;SAClB,CAAC;QAEF,YAAO,GAAG;YACT,cAAc,EAAE;gBACf,KAAK,CAAC,WAAW,CAEhB,UAAiC;;oBAEjC,IAAI,CAAC;wBACJ,MAAM,KAAK,GAAG,UAAU,CAAC,IAAmB,CAAC;wBAC7C,MAAM,OAAO,GAA2B;4BACvC,IAAI,EAAG,KAAK,CAAC,IAAe,IAAI,WAAW;4BAC3C,IAAI,EAAE,MAAC,KAAK,CAAC,IAAe,mCAAI,IAAI;4BACpC,QAAQ,EAAG,KAAK,CAAC,QAAmB,IAAI,SAAS;4BACjD,QAAQ,EAAG,KAAK,CAAC,QAAmB,IAAI,SAAS;4BACjD,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;4BACvB,EAAE,EAAE,MAAC,KAAK,CAAC,EAAa,mCAAI,CAAC;yBAC7B,CAAC;wBAEF,MAAM,MAAM,GAAG,MAAM,IAAA,wCAA0B,EAAC,OAAO,CAAC,CAAC;wBACzD,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;wBACpB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC;oBAC3D,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBAChB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC;oBAC/D,CAAC;gBACF,CAAC;aACD;SACD,CAAC;IA6NH,CAAC;IA3NA,KAAK,CAAC,OAAO;;QACZ,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,MAAM,UAAU,GAAyB,EAAE,CAAC;QAG5C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QAEvD,MAAM,OAAO,GAA2B;YACvC,IAAI,EAAE,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAe,KAAI,WAAW;YAC5C,IAAI,EAAE,MAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAe,mCAAI,IAAI;YACrC,QAAQ,EAAE,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAmB,KAAI,SAAS;YAClD,QAAQ,EAAE,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAmB,KAAI,SAAS;YAClD,GAAG,EAAE,OAAO,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,GAAG,CAAC;YACxB,EAAE,EAAE,MAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,EAAa,mCAAI,CAAC;SAC9B,CAAC;QAEF,IAAI,MAA0E,CAAC;QAE/E,IAAI,CAAC;YACJ,MAAM,GAAG,MAAM,IAAA,wCAA0B,EAAC,OAAO,CAAC,CAAC;YAEnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvC,IAAI,CAAC;oBACJ,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAqB,CAAC;oBAClE,MAAM,GAAG,GAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAY,CAAC,IAAI,EAAE,CAAC;oBAE/D,IAAI,CAAC,GAAG,EAAE,CAAC;wBACV,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,uBAAuB,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;oBACzF,CAAC;oBAED,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;wBACtB,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC,EAAE,UAAU,CAE3D,CAAC;wBAEZ,IAAI,UAAkB,CAAC;wBACvB,IAAI,UAAmB,CAAC;wBACxB,IAAI,WAAW,KAAK,UAAU,EAAE,CAAC;4BAChC,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;4BAEjE,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;gCACvC,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,gCAAgC,EAAE;oCAC9E,SAAS,EAAE,CAAC;iCACZ,CAAC,CAAC;4BACJ,CAAC;4BAID,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gCAC9B,IAAI,MAAe,CAAC;gCACpB,IAAI,CAAC;oCAEJ,MAAM,GAAG,IAAA,cAAQ,EAAC,IAAI,CAAC,CAAC;gCACzB,CAAC;gCAAC,MAAM,CAAC;oCAER,IAAI,CAAC;wCACJ,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oCAC3B,CAAC;oCAAC,OAAO,SAAS,EAAE,CAAC;wCACpB,MAAM,IAAI,iCAAkB,CAC3B,IAAI,CAAC,OAAO,EAAE,EACd,0CAA2C,SAAmB,CAAC,OAAO,EAAE,EACxE,EAAE,SAAS,EAAE,CAAC,EAAE,CAChB,CAAC;oCACH,CAAC;gCACF,CAAC;gCACD,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gCACpC,UAAU,GAAG,MAAM,CAAC;4BACrB,CAAC;iCAAM,CAAC;gCAEP,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gCAClC,UAAU,GAAG,IAAI,CAAC;4BACnB,CAAC;wBACF,CAAC;6BAAM,CAAC;4BACP,MAAM,MAAM,GAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAiB,IAAI,EAAE,CAAC;4BAC7E,MAAM,KAAK,GAAG,MAAC,MAAkC,CAAC,KAAK,mCAAI,EAAE,CAAC;4BAC9D,MAAM,GAAG,GAA4B,EAAE,CAAC;4BACxC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gCAC1B,MAAM,CAAC,GAAG,MAAM,CAAC,MAAA,IAAI,CAAC,GAAG,mCAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gCACxC,IAAI,CAAC,CAAC,EAAE,CAAC;oCACR,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,6BAA6B,EAAE;wCAC3E,SAAS,EAAE,CAAC;qCACZ,CAAC,CAAC;gCACJ,CAAC;gCAED,MAAM,IAAI,GAAG,CAAC,MAAA,IAAI,CAAC,SAAS,mCAAI,QAAQ,CAAwC,CAAC;gCACjF,IAAI,KAAc,CAAC;gCACnB,QAAQ,IAAI,EAAE,CAAC;oCACd,KAAK,QAAQ,CAAC,CAAC,CAAC;wCACf,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC;wCAC7B,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;wCACtB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;4CACzB,MAAM,IAAI,iCAAkB,CAC3B,IAAI,CAAC,OAAO,EAAE,EACd,6BAA6B,CAAC,GAAG,EACjC,EAAE,SAAS,EAAE,CAAC,EAAE,CAChB,CAAC;wCACH,CAAC;wCACD,KAAK,GAAG,CAAC,CAAC;wCACV,MAAM;oCACP,CAAC;oCACD,KAAK,SAAS,CAAC,CAAC,CAAC;wCAChB,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;wCACnC,MAAM;oCACP,CAAC;oCACD,KAAK,MAAM,CAAC,CAAC,CAAC;wCACb,KAAK,GAAG,IAAI,CAAC;wCACb,MAAM;oCACP,CAAC;oCACD,KAAK,MAAM,CAAC,CAAC,CAAC;wCACb,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC;wCAG3B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;4CACvB,KAAK,GAAG,IAAI,CAAC;wCACd,CAAC;6CAAM,CAAC;4CACP,KAAK,GAAG,GAAG,CAAC;wCACb,CAAC;wCACD,MAAM;oCACP,CAAC;oCACD,KAAK,QAAQ,CAAC;oCACd,OAAO,CAAC,CAAC,CAAC;wCACT,KAAK,GAAG,MAAA,IAAI,CAAC,WAAW,mCAAI,EAAE,CAAC;wCAC/B,MAAM;oCACP,CAAC;gCACF,CAAC;gCACD,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;4BAChB,CAAC;4BACD,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;4BACjC,UAAU,GAAG,GAAG,CAAC;wBAClB,CAAC;wBACD,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAW,CAAC;wBACzD,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;4BACb,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,kBAAkB,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;wBACpF,CAAC;wBACD,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,EAAE,OAAO,CAIlD,CAAC;wBACV,MAAM,UAAU,GAAG,IAAA,0BAAY,EAAC,GAAG,EAAE,OAAO,CAAC,CAAC;wBAE9C,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;4BACpB,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;wBACvD,CAAC;6BAAM,CAAC;4BACP,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;wBACnC,CAAC;wBAED,MAAM,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,CAC/C,oBAAoB,EACpB,CAAC,EACD,KAAK,CACM,CAAC;wBACb,MAAM,MAAM,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAiB,CAAC;wBAE9E,UAAU,CAAC,IAAI,CAAC;4BACf,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAE,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAkB,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE;4BACrF,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;yBACvB,CAAC,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACP,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wBACpC,MAAM,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,CAC/C,oBAAoB,EACpB,CAAC,EACD,KAAK,CACM,CAAC;wBAEb,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;4BACpB,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAiB,CAAC;4BACpD,UAAU,CAAC,IAAI,CAAC;gCACf,IAAI,EAAE,kBAAkB;oCACvB,CAAC,CAAE,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAkB;oCAC/C,CAAC,CAAC,EAAE,MAAM,EAAE;gCACb,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;6BACvB,CAAC,CAAC;4BACH,SAAS;wBACV,CAAC;wBAED,IAAI,CAAC;4BACJ,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;4BACjC,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAiB,CAAC;4BACjE,UAAU,CAAC,IAAI,CAAC;gCACf,IAAI,EAAE,kBAAkB;oCACvB,CAAC,CAAE,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAkB;oCAC/C,CAAC,CAAC,EAAE,MAAM,EAAE;gCACb,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;6BACvB,CAAC,CAAC;wBACJ,CAAC;wBAAC,MAAM,CAAC;4BACR,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,gCAAgC,EAAE;gCAC9E,SAAS,EAAE,CAAC;6BACZ,CAAC,CAAC;wBACJ,CAAC;oBACF,CAAC;gBACF,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAChB,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;wBAC3B,UAAU,CAAC,IAAI,CAAC;4BACf,IAAI,EAAE,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAiB;4BACxD,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;yBACvB,CAAC,CAAC;wBACH,SAAS;oBACV,CAAC;oBACD,IAAI,KAAK,YAAY,iCAAkB,EAAE,CAAC;wBACzC,MAAM,KAAK,CAAC;oBACb,CAAC;oBACD,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAc,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;gBAChF,CAAC;YACF,CAAC;QACF,CAAC;gBAAS,CAAC;YACV,IAAI,MAAM,EAAE,CAAC;gBACZ,IAAI,CAAC;oBACJ,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBACrB,CAAC;gBAAC,MAAM,CAAC;oBAER,MAAA,MAAM,CAAC,OAAO,sDAAI,CAAC;gBACpB,CAAC;YACF,CAAC;QACF,CAAC;QAED,OAAO,CAAC,UAAU,CAAC,CAAC;IACrB,CAAC;CACD;AA7bD,4CA6bC"}
1
+ {"version":3,"file":"BozonxRedisCache.node.js","sourceRoot":"","sources":["../../../nodes/RedisCache/BozonxRedisCache.node.ts"],"names":[],"mappings":"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"}
@@ -35,6 +35,20 @@ var __importStar = (this && this.__importStar) || (function () {
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.ttlToSeconds = ttlToSeconds;
37
37
  exports.createRedisClientConnected = createRedisClientConnected;
38
+ const timers_1 = require("timers");
39
+ const REDIS_CONNECT_DEADLINE_MS = 10000;
40
+ function withTimeout(promise, timeoutMs, message) {
41
+ let timeout;
42
+ return Promise.race([
43
+ promise,
44
+ new Promise((_, reject) => {
45
+ timeout = (0, timers_1.setTimeout)(() => reject(new Error(message)), timeoutMs);
46
+ }),
47
+ ]).finally(() => {
48
+ if (timeout)
49
+ (0, timers_1.clearTimeout)(timeout);
50
+ });
51
+ }
38
52
  function ttlToSeconds(ttl, unit) {
39
53
  if (!ttl || ttl <= 0)
40
54
  return 0;
@@ -64,11 +78,15 @@ async function createRedisClientConnected(options) {
64
78
  const { createClient } = await Promise.resolve().then(() => __importStar(require('redis')));
65
79
  const clientImpl = createClient({
66
80
  url,
81
+ disableOfflineQueue: true,
67
82
  socket: {
68
83
  connectTimeout: 10000,
84
+ reconnectStrategy: (retries) => {
85
+ return Math.min(retries * 100, 3000);
86
+ },
69
87
  },
70
88
  });
71
- await clientImpl.connect();
89
+ await withTimeout(clientImpl.connect(), REDIS_CONNECT_DEADLINE_MS, `Redis connect timeout after ${REDIS_CONNECT_DEADLINE_MS}ms`);
72
90
  const client = {
73
91
  async connect() { },
74
92
  async quit() {
@@ -1 +1 @@
1
- {"version":3,"file":"redisClient.js","sourceRoot":"","sources":["../../../nodes/RedisCache/redisClient.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,oCAcC;AAUD,gEA+CC;AAvED,SAAgB,YAAY,CAAC,GAAW,EAAE,IAA8C;IACvF,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAC/B,QAAQ,IAAI,EAAE,CAAC;QACd,KAAK,SAAS;YACb,OAAO,GAAG,CAAC;QACZ,KAAK,SAAS;YACb,OAAO,GAAG,GAAG,EAAE,CAAC;QACjB,KAAK,OAAO;YACX,OAAO,GAAG,GAAG,IAAI,CAAC;QACnB,KAAK,MAAM;YACV,OAAO,GAAG,GAAG,KAAK,CAAC;QACpB;YACC,OAAO,GAAG,CAAC;IACb,CAAC;AACF,CAAC;AAUM,KAAK,UAAU,0BAA0B,CAC/C,OAA+B;;IAE/B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;IAChD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ;QAChC,CAAC,CAAC,GAAG,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,kBAAkB,CAAC,MAAA,OAAO,CAAC,QAAQ,mCAAI,EAAE,CAAC,GAAG;QAC1F,CAAC,CAAC,OAAO,CAAC,QAAQ;YACjB,CAAC,CAAC,IAAI,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG;YAC7C,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,MAAM,GAAG,OAAO,OAAO,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,MAAM,GAAG,GAAG,GAAG,MAAM,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,GAAG,MAAM,EAAE,CAAC;IAE9E,MAAM,EAAE,YAAY,EAAE,GAAG,wDAAa,OAAO,GAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,YAAY,CAAC;QAC/B,GAAG;QACH,MAAM,EAAE;YACP,cAAc,EAAE,KAAK;SACrB;KACD,CAAC,CAAC;IACH,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC;IAE3B,MAAM,MAAM,GAAuB;QAClC,KAAK,CAAC,OAAO,KAAI,CAAC;QAClB,KAAK,CAAC,IAAI;YACT,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;QACzB,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,GAAW;YACpB,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACxC,OAAO,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,IAAI,CAAC;QACtB,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAa,EAAE,OAAyB;YAC9D,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,EAAE,KAAI,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;gBACnC,MAAM,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;YACtD,CAAC;iBAAM,CAAC;gBACP,MAAM,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAClC,CAAC;QACF,CAAC;QACD,OAAO;YACN,IAAI,CAAC;gBACJ,UAAU,CAAC,UAAU,EAAE,CAAC;YACzB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACZ,KAAK,CAAC,CAAC;YACR,CAAC;QACF,CAAC;KACD,CAAC;IAEF,OAAO,MAAM,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"redisClient.js","sourceRoot":"","sources":["../../../nodes/RedisCache/redisClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { type IExecuteFunctions, type INodeExecutionData, type INodeType, type INodeTypeDescription } from 'n8n-workflow';
2
+ export declare class BozonxRedisListSugar implements INodeType {
3
+ description: INodeTypeDescription;
4
+ execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
5
+ }
@@ -0,0 +1,239 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BozonxRedisListSugar = void 0;
4
+ const n8n_workflow_1 = require("n8n-workflow");
5
+ const js_yaml_1 = require("js-yaml");
6
+ const redisClient_1 = require("./redisClient");
7
+ class BozonxRedisListSugar {
8
+ constructor() {
9
+ this.description = {
10
+ displayName: 'Redis List Sugar',
11
+ name: 'bozonxRedisListSugar',
12
+ group: ['output'],
13
+ version: 1,
14
+ description: 'Manage simple lists in Redis',
15
+ defaults: { name: 'Redis List Sugar' },
16
+ icon: 'file:redis-list-sugar.svg',
17
+ inputs: ['main'],
18
+ outputs: ['main'],
19
+ credentials: [
20
+ {
21
+ name: 'bozonxRedis',
22
+ required: true,
23
+ },
24
+ ],
25
+ properties: [
26
+ {
27
+ displayName: 'List ID',
28
+ name: 'listId',
29
+ type: 'string',
30
+ default: '',
31
+ required: true,
32
+ description: 'Redis key name for the list',
33
+ },
34
+ {
35
+ displayName: 'Operation',
36
+ name: 'operation',
37
+ type: 'options',
38
+ noDataExpression: true,
39
+ options: [
40
+ {
41
+ name: 'Add Element',
42
+ value: 'add',
43
+ description: 'Add an element to the end of the list (RPUSH)',
44
+ action: 'Add an element to the end of the list',
45
+ },
46
+ {
47
+ name: 'Delete Element (by Value)',
48
+ value: 'deleteValue',
49
+ description: 'Remove occurrences of a value from the list (LREM)',
50
+ action: 'Remove occurrences of a value from the list',
51
+ },
52
+ {
53
+ name: 'Delete Element (at Index)',
54
+ value: 'deleteIndex',
55
+ description: 'Remove an element at a specific index',
56
+ action: 'Remove an element at a specific index',
57
+ },
58
+ {
59
+ name: 'Get Range / All Elements',
60
+ value: 'getAll',
61
+ description: 'Retrieve elements from the list (LRANGE)',
62
+ action: 'Retrieve elements from the list',
63
+ },
64
+ {
65
+ name: 'Replace Element',
66
+ value: 'replace',
67
+ description: 'Replace an element at a specific index (LSET)',
68
+ action: 'Replace an element at a specific index',
69
+ },
70
+ {
71
+ name: 'Clear List',
72
+ value: 'clear',
73
+ description: 'Delete the entire list (DEL)',
74
+ action: 'Delete the entire list',
75
+ },
76
+ ],
77
+ default: 'add',
78
+ },
79
+ {
80
+ displayName: 'Value (YAML / JSON)',
81
+ name: 'value',
82
+ type: 'string',
83
+ typeOptions: {
84
+ rows: 5,
85
+ },
86
+ displayOptions: {
87
+ show: {
88
+ operation: ['add', 'replace', 'deleteValue'],
89
+ },
90
+ },
91
+ default: '',
92
+ description: 'Data in YAML or JSON format. If a string is provided, it will first be parsed as YAML, then as JSON. If it remains a string, it will be saved as a string.',
93
+ },
94
+ {
95
+ displayName: 'Index',
96
+ name: 'index',
97
+ type: 'number',
98
+ displayOptions: {
99
+ show: {
100
+ operation: ['replace', 'deleteIndex'],
101
+ },
102
+ },
103
+ default: 0,
104
+ description: 'The zero-based index of the element. Use negative numbers to count from the end (-1 is last).',
105
+ },
106
+ {
107
+ displayName: 'Range Start',
108
+ name: 'rangeStart',
109
+ type: 'number',
110
+ displayOptions: {
111
+ show: {
112
+ operation: ['getAll'],
113
+ },
114
+ },
115
+ default: 0,
116
+ description: 'The starting index of the range. 0 is the first element.',
117
+ },
118
+ {
119
+ displayName: 'Range End',
120
+ name: 'rangeEnd',
121
+ type: 'number',
122
+ displayOptions: {
123
+ show: {
124
+ operation: ['getAll'],
125
+ },
126
+ },
127
+ default: -1,
128
+ description: 'The ending index of the range. Use -1 for the last element, -2 for the second to last, etc.',
129
+ },
130
+ {
131
+ displayName: 'Include Other Input Fields',
132
+ name: 'includeInputFields',
133
+ type: 'boolean',
134
+ default: false,
135
+ description: 'Whether to copy all input data to the output. When enabled, the node result will be placed in a "result" field.',
136
+ },
137
+ ],
138
+ usableAsTool: true,
139
+ };
140
+ }
141
+ async execute() {
142
+ var _a, _b;
143
+ const items = this.getInputData();
144
+ const returnData = [];
145
+ const creds = await this.getCredentials('bozonxRedis');
146
+ const host = (creds === null || creds === void 0 ? void 0 : creds.host) || 'localhost';
147
+ const port = (_a = creds === null || creds === void 0 ? void 0 : creds.port) !== null && _a !== void 0 ? _a : 6379;
148
+ const username = (creds === null || creds === void 0 ? void 0 : creds.username) || '';
149
+ const password = (creds === null || creds === void 0 ? void 0 : creds.password) || '';
150
+ const tls = (creds === null || creds === void 0 ? void 0 : creds.tls) || false;
151
+ const db = (_b = creds === null || creds === void 0 ? void 0 : creds.db) !== null && _b !== void 0 ? _b : 0;
152
+ const client = await (0, redisClient_1.getRedisClientConnected)({ host, port, username, password, tls, db });
153
+ const c = client;
154
+ for (let i = 0; i < items.length; i++) {
155
+ try {
156
+ const listId = this.getNodeParameter('listId', i);
157
+ const operation = this.getNodeParameter('operation', i);
158
+ const includeInputFields = this.getNodeParameter('includeInputFields', i, false);
159
+ let result;
160
+ if (operation === 'add') {
161
+ const valueStr = this.getNodeParameter('value', i, '');
162
+ const value = parseValue(valueStr);
163
+ const serialized = typeof value === 'string' ? value : JSON.stringify(value);
164
+ result = (await c.sendCommand(['RPUSH', listId, serialized]));
165
+ }
166
+ else if (operation === 'deleteValue') {
167
+ const valueStr = this.getNodeParameter('value', i, '');
168
+ const value = parseValue(valueStr);
169
+ const serialized = typeof value === 'string' ? value : JSON.stringify(value);
170
+ result = (await c.sendCommand(['LREM', listId, '0', serialized]));
171
+ }
172
+ else if (operation === 'deleteIndex') {
173
+ const index = this.getNodeParameter('index', i);
174
+ const sentinel = `__DELETED_${Math.random().toString(36).substring(2)}__`;
175
+ await c.sendCommand(['LSET', listId, String(index), sentinel]);
176
+ result = (await c.sendCommand(['LREM', listId, '1', sentinel]));
177
+ }
178
+ else if (operation === 'replace') {
179
+ const index = this.getNodeParameter('index', i);
180
+ const valueStr = this.getNodeParameter('value', i, '');
181
+ const value = parseValue(valueStr);
182
+ const serialized = typeof value === 'string' ? value : JSON.stringify(value);
183
+ result = (await c.sendCommand(['LSET', listId, String(index), serialized]));
184
+ }
185
+ else if (operation === 'getAll') {
186
+ const start = this.getNodeParameter('rangeStart', i, 0);
187
+ const end = this.getNodeParameter('rangeEnd', i, -1);
188
+ const res = (await c.sendCommand(['LRANGE', listId, String(start), String(end)]));
189
+ result = res.map((s) => {
190
+ try {
191
+ return JSON.parse(s);
192
+ }
193
+ catch {
194
+ return s;
195
+ }
196
+ });
197
+ }
198
+ else if (operation === 'clear') {
199
+ result = (await c.sendCommand(['DEL', listId]));
200
+ }
201
+ returnData.push({
202
+ json: includeInputFields
203
+ ? { ...items[i].json, result }
204
+ : { result },
205
+ pairedItem: { item: i },
206
+ });
207
+ }
208
+ catch (error) {
209
+ if (this.continueOnFail()) {
210
+ returnData.push({
211
+ json: { error: error.message },
212
+ pairedItem: { item: i },
213
+ });
214
+ continue;
215
+ }
216
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), error, { itemIndex: i });
217
+ }
218
+ }
219
+ return [returnData];
220
+ }
221
+ }
222
+ exports.BozonxRedisListSugar = BozonxRedisListSugar;
223
+ function parseValue(val) {
224
+ if (val === '')
225
+ return '';
226
+ try {
227
+ const parsed = (0, js_yaml_1.load)(val);
228
+ return parsed;
229
+ }
230
+ catch (yamlError) {
231
+ try {
232
+ return JSON.parse(val);
233
+ }
234
+ catch (jsonError) {
235
+ return val;
236
+ }
237
+ }
238
+ }
239
+ //# sourceMappingURL=BozonxRedisListSugar.node.js.map