@upstash/redis 1.34.3 → 1.34.5

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/fastly.js CHANGED
@@ -56,6 +56,43 @@ var UrlError = class extends Error {
56
56
  }
57
57
  };
58
58
 
59
+ // pkg/util.ts
60
+ function parseRecursive(obj) {
61
+ const parsed = Array.isArray(obj) ? obj.map((o) => {
62
+ try {
63
+ return parseRecursive(o);
64
+ } catch {
65
+ return o;
66
+ }
67
+ }) : JSON.parse(obj);
68
+ if (typeof parsed === "number" && parsed.toString() !== obj) {
69
+ return obj;
70
+ }
71
+ return parsed;
72
+ }
73
+ function parseResponse(result) {
74
+ try {
75
+ return parseRecursive(result);
76
+ } catch {
77
+ return result;
78
+ }
79
+ }
80
+ function deserializeScanResponse(result) {
81
+ return [result[0], ...parseResponse(result.slice(1))];
82
+ }
83
+ function mergeHeaders(...headers) {
84
+ const merged = {};
85
+ for (const header of headers) {
86
+ if (!header) continue;
87
+ for (const [key, value] of Object.entries(header)) {
88
+ if (value !== void 0 && value !== null) {
89
+ merged[key] = value;
90
+ }
91
+ }
92
+ }
93
+ return merged;
94
+ }
95
+
59
96
  // pkg/http.ts
60
97
  var HttpClient = class {
61
98
  baseUrl;
@@ -104,15 +141,18 @@ var HttpClient = class {
104
141
  this.headers = merge(this.headers, "Upstash-Telemetry-Sdk", telemetry.sdk);
105
142
  }
106
143
  async request(req) {
144
+ const requestHeaders = mergeHeaders(this.headers, req.headers ?? {});
145
+ const requestUrl = [this.baseUrl, ...req.path ?? []].join("/");
146
+ const isEventStream = requestHeaders.Accept === "text/event-stream";
107
147
  const requestOptions = {
108
148
  //@ts-expect-error this should throw due to bun regression
109
149
  cache: this.options.cache,
110
150
  method: "POST",
111
- headers: this.headers,
151
+ headers: requestHeaders,
112
152
  body: JSON.stringify(req.body),
113
153
  keepalive: this.options.keepAlive,
114
154
  agent: this.options.agent,
115
- signal: this.options.signal,
155
+ signal: req.signal ?? this.options.signal,
116
156
  /**
117
157
  * Fastly specific
118
158
  */
@@ -131,7 +171,7 @@ var HttpClient = class {
131
171
  let error = null;
132
172
  for (let i = 0; i <= this.retry.attempts; i++) {
133
173
  try {
134
- res = await fetch([this.baseUrl, ...req.path ?? []].join("/"), requestOptions);
174
+ res = await fetch(requestUrl, requestOptions);
135
175
  break;
136
176
  } catch (error_) {
137
177
  if (this.options.signal?.aborted) {
@@ -146,20 +186,54 @@ var HttpClient = class {
146
186
  break;
147
187
  }
148
188
  error = error_;
149
- await new Promise((r) => setTimeout(r, this.retry.backoff(i)));
189
+ if (i < this.retry.attempts) {
190
+ await new Promise((r) => setTimeout(r, this.retry.backoff(i)));
191
+ }
150
192
  }
151
193
  }
152
194
  if (!res) {
153
195
  throw error ?? new Error("Exhausted all retries");
154
196
  }
155
- const body = await res.json();
156
197
  if (!res.ok) {
157
- throw new UpstashError(`${body.error}, command was: ${JSON.stringify(req.body)}`);
198
+ const body2 = await res.json();
199
+ throw new UpstashError(`${body2.error}, command was: ${JSON.stringify(req.body)}`);
158
200
  }
159
201
  if (this.readYourWrites) {
160
202
  const headers = res.headers;
161
203
  this.upstashSyncToken = headers.get("upstash-sync-token") ?? "";
162
204
  }
205
+ if (isEventStream && req && req.onMessage && res.body) {
206
+ const reader = res.body.getReader();
207
+ const decoder = new TextDecoder();
208
+ (async () => {
209
+ try {
210
+ while (true) {
211
+ const { value, done } = await reader.read();
212
+ if (done) break;
213
+ const chunk = decoder.decode(value);
214
+ const lines = chunk.split("\n");
215
+ for (const line of lines) {
216
+ if (line.startsWith("data: ")) {
217
+ const data = line.slice(6);
218
+ req.onMessage?.(data);
219
+ }
220
+ }
221
+ }
222
+ } catch (error2) {
223
+ if (error2 instanceof Error && error2.name === "AbortError") {
224
+ } else {
225
+ console.error("Stream reading error:", error2);
226
+ }
227
+ } finally {
228
+ try {
229
+ await reader.cancel();
230
+ } catch {
231
+ }
232
+ }
233
+ })();
234
+ return { result: 1 };
235
+ }
236
+ const body = await res.json();
163
237
  if (this.readYourWrites) {
164
238
  const headers = res.headers;
165
239
  this.upstashSyncToken = headers.get("upstash-sync-token") ?? "";
@@ -309,31 +383,6 @@ var AutoPipelineExecutor = class {
309
383
  }
310
384
  };
311
385
 
312
- // pkg/util.ts
313
- function parseRecursive(obj) {
314
- const parsed = Array.isArray(obj) ? obj.map((o) => {
315
- try {
316
- return parseRecursive(o);
317
- } catch {
318
- return o;
319
- }
320
- }) : JSON.parse(obj);
321
- if (typeof parsed === "number" && parsed.toString() !== obj) {
322
- return obj;
323
- }
324
- return parsed;
325
- }
326
- function parseResponse(result) {
327
- try {
328
- return parseRecursive(result);
329
- } catch {
330
- return result;
331
- }
332
- }
333
- function deserializeScanResponse(result) {
334
- return [result[0], ...parseResponse(result.slice(1))];
335
- }
336
-
337
386
  // pkg/commands/command.ts
338
387
  var defaultSerializer = (c) => {
339
388
  switch (typeof c) {
@@ -351,6 +400,11 @@ var Command = class {
351
400
  command;
352
401
  serialize;
353
402
  deserialize;
403
+ headers;
404
+ path;
405
+ onMessage;
406
+ isStreaming;
407
+ signal;
354
408
  /**
355
409
  * Create a new command instance.
356
410
  *
@@ -360,6 +414,11 @@ var Command = class {
360
414
  this.serialize = defaultSerializer;
361
415
  this.deserialize = opts?.automaticDeserialization === void 0 || opts.automaticDeserialization ? opts?.deserialize ?? parseResponse : (x) => x;
362
416
  this.command = command.map((c) => this.serialize(c));
417
+ this.headers = opts?.headers;
418
+ this.path = opts?.path;
419
+ this.onMessage = opts?.streamOptions?.onMessage;
420
+ this.isStreaming = opts?.streamOptions?.isStreaming ?? false;
421
+ this.signal = opts?.streamOptions?.signal;
363
422
  if (opts?.latencyLogging) {
364
423
  const originalExec = this.exec.bind(this);
365
424
  this.exec = async (client) => {
@@ -380,7 +439,12 @@ var Command = class {
380
439
  async exec(client) {
381
440
  const { result, error } = await client.request({
382
441
  body: this.command,
383
- upstashSyncToken: client.upstashSyncToken
442
+ path: this.path,
443
+ upstashSyncToken: client.upstashSyncToken,
444
+ headers: this.headers,
445
+ onMessage: this.onMessage,
446
+ isStreaming: this.isStreaming,
447
+ signal: this.signal
384
448
  });
385
449
  if (error) {
386
450
  throw new UpstashError(error);
@@ -522,6 +586,14 @@ var EvalshaCommand = class extends Command {
522
586
  }
523
587
  };
524
588
 
589
+ // pkg/commands/exec.ts
590
+ var ExecCommand = class extends Command {
591
+ constructor(cmd, opts) {
592
+ const normalizedCmd = cmd.map((arg) => typeof arg === "string" ? arg : String(arg));
593
+ super(normalizedCmd, opts);
594
+ }
595
+ };
596
+
525
597
  // pkg/commands/exists.ts
526
598
  var ExistsCommand = class extends Command {
527
599
  constructor(cmd, opts) {
@@ -738,6 +810,27 @@ var GetDelCommand = class extends Command {
738
810
  }
739
811
  };
740
812
 
813
+ // pkg/commands/getex.ts
814
+ var GetExCommand = class extends Command {
815
+ constructor([key, opts], cmdOpts) {
816
+ const command = ["getex", key];
817
+ if (opts) {
818
+ if ("ex" in opts && typeof opts.ex === "number") {
819
+ command.push("ex", opts.ex);
820
+ } else if ("px" in opts && typeof opts.px === "number") {
821
+ command.push("px", opts.px);
822
+ } else if ("exat" in opts && typeof opts.exat === "number") {
823
+ command.push("exat", opts.exat);
824
+ } else if ("pxat" in opts && typeof opts.pxat === "number") {
825
+ command.push("pxat", opts.pxat);
826
+ } else if ("persist" in opts && opts.persist) {
827
+ command.push("persist");
828
+ }
829
+ }
830
+ super(command, cmdOpts);
831
+ }
832
+ };
833
+
741
834
  // pkg/commands/getrange.ts
742
835
  var GetRangeCommand = class extends Command {
743
836
  constructor(cmd, opts) {
@@ -2204,6 +2297,183 @@ var ZUnionStoreCommand = class extends Command {
2204
2297
  }
2205
2298
  };
2206
2299
 
2300
+ // pkg/commands/psubscribe.ts
2301
+ var PSubscribeCommand = class extends Command {
2302
+ constructor(cmd, opts) {
2303
+ const sseHeaders = {
2304
+ Accept: "text/event-stream",
2305
+ "Cache-Control": "no-cache",
2306
+ Connection: "keep-alive"
2307
+ };
2308
+ super([], {
2309
+ ...opts,
2310
+ headers: sseHeaders,
2311
+ path: ["psubscribe", ...cmd],
2312
+ streamOptions: {
2313
+ isStreaming: true,
2314
+ onMessage: opts?.streamOptions?.onMessage,
2315
+ signal: opts?.streamOptions?.signal
2316
+ }
2317
+ });
2318
+ }
2319
+ };
2320
+
2321
+ // pkg/commands/subscribe.ts
2322
+ var Subscriber = class extends EventTarget {
2323
+ subscriptions;
2324
+ client;
2325
+ listeners;
2326
+ constructor(client, channels, isPattern = false) {
2327
+ super();
2328
+ this.client = client;
2329
+ this.subscriptions = /* @__PURE__ */ new Map();
2330
+ this.listeners = /* @__PURE__ */ new Map();
2331
+ for (const channel of channels) {
2332
+ if (isPattern) {
2333
+ this.subscribeToPattern(channel);
2334
+ } else {
2335
+ this.subscribeToChannel(channel);
2336
+ }
2337
+ }
2338
+ }
2339
+ subscribeToChannel(channel) {
2340
+ const controller = new AbortController();
2341
+ const command = new SubscribeCommand([channel], {
2342
+ streamOptions: {
2343
+ signal: controller.signal,
2344
+ onMessage: (data) => this.handleMessage(data, false)
2345
+ }
2346
+ });
2347
+ command.exec(this.client).catch((error) => {
2348
+ if (error.name !== "AbortError") {
2349
+ this.dispatchToListeners("error", error);
2350
+ }
2351
+ });
2352
+ this.subscriptions.set(channel, {
2353
+ command,
2354
+ controller,
2355
+ isPattern: false
2356
+ });
2357
+ }
2358
+ subscribeToPattern(pattern) {
2359
+ const controller = new AbortController();
2360
+ const command = new PSubscribeCommand([pattern], {
2361
+ streamOptions: {
2362
+ signal: controller.signal,
2363
+ onMessage: (data) => this.handleMessage(data, true)
2364
+ }
2365
+ });
2366
+ command.exec(this.client).catch((error) => {
2367
+ if (error.name !== "AbortError") {
2368
+ this.dispatchToListeners("error", error);
2369
+ }
2370
+ });
2371
+ this.subscriptions.set(pattern, {
2372
+ command,
2373
+ controller,
2374
+ isPattern: true
2375
+ });
2376
+ }
2377
+ handleMessage(data, isPattern) {
2378
+ const messageData = data.replace(/^data:\s*/, "");
2379
+ const firstCommaIndex = messageData.indexOf(",");
2380
+ const secondCommaIndex = messageData.indexOf(",", firstCommaIndex + 1);
2381
+ const thirdCommaIndex = isPattern ? messageData.indexOf(",", secondCommaIndex + 1) : -1;
2382
+ if (firstCommaIndex !== -1 && secondCommaIndex !== -1) {
2383
+ const type = messageData.slice(0, firstCommaIndex);
2384
+ if (isPattern && type === "pmessage" && thirdCommaIndex !== -1) {
2385
+ const pattern = messageData.slice(firstCommaIndex + 1, secondCommaIndex);
2386
+ const channel = messageData.slice(secondCommaIndex + 1, thirdCommaIndex);
2387
+ const messageStr = messageData.slice(thirdCommaIndex + 1);
2388
+ try {
2389
+ const message = JSON.parse(messageStr);
2390
+ this.dispatchToListeners("pmessage", { pattern, channel, message });
2391
+ this.dispatchToListeners(`pmessage:${pattern}`, { pattern, channel, message });
2392
+ } catch (error) {
2393
+ this.dispatchToListeners("error", new Error(`Failed to parse message: ${error}`));
2394
+ }
2395
+ } else {
2396
+ const channel = messageData.slice(firstCommaIndex + 1, secondCommaIndex);
2397
+ const messageStr = messageData.slice(secondCommaIndex + 1);
2398
+ try {
2399
+ if (type === "subscribe" || type === "psubscribe" || type === "unsubscribe" || type === "punsubscribe") {
2400
+ const count = Number.parseInt(messageStr);
2401
+ this.dispatchToListeners(type, count);
2402
+ } else {
2403
+ const message = JSON.parse(messageStr);
2404
+ this.dispatchToListeners(type, { channel, message });
2405
+ this.dispatchToListeners(`${type}:${channel}`, { channel, message });
2406
+ }
2407
+ } catch (error) {
2408
+ this.dispatchToListeners("error", new Error(`Failed to parse message: ${error}`));
2409
+ }
2410
+ }
2411
+ }
2412
+ }
2413
+ dispatchToListeners(type, data) {
2414
+ const listeners = this.listeners.get(type);
2415
+ if (listeners) {
2416
+ for (const listener of listeners) {
2417
+ listener(data);
2418
+ }
2419
+ }
2420
+ }
2421
+ on(type, listener) {
2422
+ if (!this.listeners.has(type)) {
2423
+ this.listeners.set(type, /* @__PURE__ */ new Set());
2424
+ }
2425
+ this.listeners.get(type)?.add(listener);
2426
+ }
2427
+ removeAllListeners() {
2428
+ this.listeners.clear();
2429
+ }
2430
+ async unsubscribe(channels) {
2431
+ if (channels) {
2432
+ for (const channel of channels) {
2433
+ const subscription = this.subscriptions.get(channel);
2434
+ if (subscription) {
2435
+ try {
2436
+ subscription.controller.abort();
2437
+ } catch {
2438
+ }
2439
+ this.subscriptions.delete(channel);
2440
+ }
2441
+ }
2442
+ } else {
2443
+ for (const subscription of this.subscriptions.values()) {
2444
+ try {
2445
+ subscription.controller.abort();
2446
+ } catch {
2447
+ }
2448
+ }
2449
+ this.subscriptions.clear();
2450
+ this.removeAllListeners();
2451
+ }
2452
+ }
2453
+ getSubscribedChannels() {
2454
+ return [...this.subscriptions.keys()];
2455
+ }
2456
+ };
2457
+ var SubscribeCommand = class extends Command {
2458
+ constructor(cmd, opts) {
2459
+ const sseHeaders = {
2460
+ Accept: "text/event-stream",
2461
+ "Cache-Control": "no-cache",
2462
+ Connection: "keep-alive"
2463
+ };
2464
+ super([], {
2465
+ ...opts,
2466
+ headers: sseHeaders,
2467
+ path: ["subscribe", ...cmd],
2468
+ streamOptions: {
2469
+ isStreaming: true,
2470
+ onMessage: opts?.streamOptions?.onMessage,
2471
+ signal: opts?.streamOptions?.signal
2472
+ }
2473
+ });
2474
+ }
2475
+ };
2476
+
2207
2477
  // pkg/commands/zdiffstore.ts
2208
2478
  var ZDiffStoreCommand = class extends Command {
2209
2479
  constructor(cmd, opts) {
@@ -2408,6 +2678,10 @@ var Pipeline = class {
2408
2678
  * @see https://redis.io/commands/getdel
2409
2679
  */
2410
2680
  getdel = (...args) => this.chain(new GetDelCommand(args, this.commandOptions));
2681
+ /**
2682
+ * @see https://redis.io/commands/getex
2683
+ */
2684
+ getex = (...args) => this.chain(new GetExCommand(args, this.commandOptions));
2411
2685
  /**
2412
2686
  * @see https://redis.io/commands/getrange
2413
2687
  */
@@ -3279,6 +3553,10 @@ var Redis = class {
3279
3553
  * @see https://redis.io/commands/evalsha
3280
3554
  */
3281
3555
  evalsha = (...args) => new EvalshaCommand(args, this.opts).exec(this.client);
3556
+ /**
3557
+ * Generic method to execute any Redis command.
3558
+ */
3559
+ exec = (args) => new ExecCommand(args, this.opts).exec(this.client);
3282
3560
  /**
3283
3561
  * @see https://redis.io/commands/exists
3284
3562
  */
@@ -3335,6 +3613,10 @@ var Redis = class {
3335
3613
  * @see https://redis.io/commands/getdel
3336
3614
  */
3337
3615
  getdel = (...args) => new GetDelCommand(args, this.opts).exec(this.client);
3616
+ /**
3617
+ * @see https://redis.io/commands/getex
3618
+ */
3619
+ getex = (...args) => new GetExCommand(args, this.opts).exec(this.client);
3338
3620
  /**
3339
3621
  * @see https://redis.io/commands/getrange
3340
3622
  */
@@ -3519,6 +3801,13 @@ var Redis = class {
3519
3801
  * @see https://redis.io/commands/psetex
3520
3802
  */
3521
3803
  psetex = (key, ttl, value) => new PSetEXCommand([key, ttl, value], this.opts).exec(this.client);
3804
+ /**
3805
+ * @see https://redis.io/commands/psubscribe
3806
+ */
3807
+ psubscribe = (patterns) => {
3808
+ const patternArray = Array.isArray(patterns) ? patterns : [patterns];
3809
+ return new Subscriber(this.client, patternArray, true);
3810
+ };
3522
3811
  /**
3523
3812
  * @see https://redis.io/commands/pttl
3524
3813
  */
@@ -3647,6 +3936,13 @@ var Redis = class {
3647
3936
  * @see https://redis.io/commands/strlen
3648
3937
  */
3649
3938
  strlen = (...args) => new StrLenCommand(args, this.opts).exec(this.client);
3939
+ /**
3940
+ * @see https://redis.io/commands/subscribe
3941
+ */
3942
+ subscribe = (channels) => {
3943
+ const channelArray = Array.isArray(channels) ? channels : [channels];
3944
+ return new Subscriber(this.client, channelArray);
3945
+ };
3650
3946
  /**
3651
3947
  * @see https://redis.io/commands/sunion
3652
3948
  */
@@ -3828,7 +4124,7 @@ var Redis = class {
3828
4124
  };
3829
4125
 
3830
4126
  // version.ts
3831
- var VERSION = "v1.34.3";
4127
+ var VERSION = "v1.34.5";
3832
4128
 
3833
4129
  // platforms/fastly.ts
3834
4130
  var Redis2 = class extends Redis {
package/fastly.mjs CHANGED
@@ -3,7 +3,7 @@ import {
3
3
  Redis,
4
4
  VERSION,
5
5
  error_exports
6
- } from "./chunk-FV6JMGNF.mjs";
6
+ } from "./chunk-NAQE7K3X.mjs";
7
7
 
8
8
  // platforms/fastly.ts
9
9
  var Redis2 = class extends Redis {
package/nodejs.d.mts CHANGED
@@ -1,5 +1,5 @@
1
- import { R as RedisOptions, a as RequesterConfig, b as Redis$1 } from './zmscore-Dc6Llqgr.mjs';
2
- export { A as AppendCommand, B as BitCountCommand, f as BitOpCommand, g as BitPosCommand, C as CopyCommand, D as DBSizeCommand, i as DecrByCommand, h as DecrCommand, j as DelCommand, E as EchoCommand, k as EvalCommand, l as EvalshaCommand, m as ExistsCommand, o as ExpireAtCommand, n as ExpireCommand, F as FlushAllCommand, p as FlushDBCommand, G as GeoAddCommand, q as GeoAddCommandOptions, s as GeoDistCommand, t as GeoHashCommand, r as GeoMember, u as GeoPosCommand, v as GeoSearchCommand, w as GeoSearchStoreCommand, y as GetBitCommand, x as GetCommand, z as GetDelCommand, H as GetRangeCommand, I as GetSetCommand, J as HDelCommand, K as HExistsCommand, M as HGetAllCommand, L as HGetCommand, N as HIncrByCommand, O as HIncrByFloatCommand, Q as HKeysCommand, S as HLenCommand, T as HMGetCommand, V as HMSetCommand, W as HRandFieldCommand, X as HScanCommand, Y as HSetCommand, Z as HSetNXCommand, _ as HStrLenCommand, $ as HValsCommand, a1 as IncrByCommand, a2 as IncrByFloatCommand, a0 as IncrCommand, a3 as JsonArrAppendCommand, a4 as JsonArrIndexCommand, a5 as JsonArrInsertCommand, a6 as JsonArrLenCommand, a7 as JsonArrPopCommand, a8 as JsonArrTrimCommand, a9 as JsonClearCommand, aa as JsonDelCommand, ab as JsonForgetCommand, ac as JsonGetCommand, ad as JsonMGetCommand, ae as JsonNumIncrByCommand, af as JsonNumMultByCommand, ag as JsonObjKeysCommand, ah as JsonObjLenCommand, ai as JsonRespCommand, aj as JsonSetCommand, ak as JsonStrAppendCommand, al as JsonStrLenCommand, am as JsonToggleCommand, an as JsonTypeCommand, ao as KeysCommand, ap as LIndexCommand, aq as LInsertCommand, ar as LLenCommand, as as LMoveCommand, at as LPopCommand, au as LPushCommand, av as LPushXCommand, aw as LRangeCommand, ax as LRemCommand, ay as LSetCommand, az as LTrimCommand, aA as MGetCommand, aB as MSetCommand, aC as MSetNXCommand, aF as PExpireAtCommand, aE as PExpireCommand, aH as PSetEXCommand, aI as PTtlCommand, aD as PersistCommand, aG as PingCommand, P as Pipeline, aJ as PublishCommand, aN as RPopCommand, aO as RPushCommand, aP as RPushXCommand, aK as RandomKeyCommand, aL as RenameCommand, aM as RenameNXCommand, d as Requester, aQ as SAddCommand, aT as SCardCommand, aX as SDiffCommand, aY as SDiffStoreCommand, b3 as SInterCommand, b4 as SInterStoreCommand, b5 as SIsMemberCommand, b7 as SMIsMemberCommand, b6 as SMembersCommand, b8 as SMoveCommand, b9 as SPopCommand, ba as SRandMemberCommand, bb as SRemCommand, bc as SScanCommand, be as SUnionCommand, bf as SUnionStoreCommand, aR as ScanCommand, aS as ScanCommandOptions, bo as ScoreMember, aU as ScriptExistsCommand, aV as ScriptFlushCommand, aW as ScriptLoadCommand, a$ as SetBitCommand, aZ as SetCommand, a_ as SetCommandOptions, b0 as SetExCommand, b1 as SetNxCommand, b2 as SetRangeCommand, bd as StrLenCommand, bg as TimeCommand, bh as TouchCommand, bi as TtlCommand, bj as Type, bk as TypeCommand, bl as UnlinkCommand, U as UpstashRequest, c as UpstashResponse, bm as XAddCommand, bn as XRangeCommand, bq as ZAddCommand, bp as ZAddCommandOptions, br as ZCardCommand, bs as ZCountCommand, bt as ZDiffStoreCommand, bu as ZIncrByCommand, bv as ZInterStoreCommand, bw as ZInterStoreCommandOptions, bx as ZLexCountCommand, by as ZMScoreCommand, bz as ZPopMaxCommand, bA as ZPopMinCommand, bB as ZRangeCommand, bC as ZRangeCommandOptions, bD as ZRankCommand, bE as ZRemCommand, bF as ZRemRangeByLexCommand, bG as ZRemRangeByRankCommand, bH as ZRemRangeByScoreCommand, bI as ZRevRankCommand, bJ as ZScanCommand, bK as ZScoreCommand, bL as ZUnionCommand, bM as ZUnionCommandOptions, bN as ZUnionStoreCommand, bO as ZUnionStoreCommandOptions, e as errors } from './zmscore-Dc6Llqgr.mjs';
1
+ import { R as RedisOptions, a as RequesterConfig, b as Redis$1 } from './zmscore-BdNsMd17.mjs';
2
+ export { A as AppendCommand, B as BitCountCommand, f as BitOpCommand, g as BitPosCommand, C as CopyCommand, D as DBSizeCommand, i as DecrByCommand, h as DecrCommand, j as DelCommand, E as EchoCommand, k as EvalCommand, l as EvalshaCommand, m as ExistsCommand, o as ExpireAtCommand, n as ExpireCommand, F as FlushAllCommand, p as FlushDBCommand, G as GeoAddCommand, q as GeoAddCommandOptions, s as GeoDistCommand, t as GeoHashCommand, r as GeoMember, u as GeoPosCommand, v as GeoSearchCommand, w as GeoSearchStoreCommand, y as GetBitCommand, x as GetCommand, z as GetDelCommand, H as GetExCommand, I as GetRangeCommand, J as GetSetCommand, K as HDelCommand, L as HExistsCommand, N as HGetAllCommand, M as HGetCommand, O as HIncrByCommand, Q as HIncrByFloatCommand, S as HKeysCommand, T as HLenCommand, V as HMGetCommand, W as HMSetCommand, X as HRandFieldCommand, Y as HScanCommand, Z as HSetCommand, _ as HSetNXCommand, $ as HStrLenCommand, a0 as HValsCommand, a2 as IncrByCommand, a3 as IncrByFloatCommand, a1 as IncrCommand, a4 as JsonArrAppendCommand, a5 as JsonArrIndexCommand, a6 as JsonArrInsertCommand, a7 as JsonArrLenCommand, a8 as JsonArrPopCommand, a9 as JsonArrTrimCommand, aa as JsonClearCommand, ab as JsonDelCommand, ac as JsonForgetCommand, ad as JsonGetCommand, ae as JsonMGetCommand, af as JsonNumIncrByCommand, ag as JsonNumMultByCommand, ah as JsonObjKeysCommand, ai as JsonObjLenCommand, aj as JsonRespCommand, ak as JsonSetCommand, al as JsonStrAppendCommand, am as JsonStrLenCommand, an as JsonToggleCommand, ao as JsonTypeCommand, ap as KeysCommand, aq as LIndexCommand, ar as LInsertCommand, as as LLenCommand, at as LMoveCommand, au as LPopCommand, av as LPushCommand, aw as LPushXCommand, ax as LRangeCommand, ay as LRemCommand, az as LSetCommand, aA as LTrimCommand, aB as MGetCommand, aC as MSetCommand, aD as MSetNXCommand, aG as PExpireAtCommand, aF as PExpireCommand, aI as PSetEXCommand, aJ as PTtlCommand, aE as PersistCommand, aH as PingCommand, P as Pipeline, aK as PublishCommand, aO as RPopCommand, aP as RPushCommand, aQ as RPushXCommand, aL as RandomKeyCommand, aM as RenameCommand, aN as RenameNXCommand, d as Requester, aR as SAddCommand, aU as SCardCommand, aY as SDiffCommand, aZ as SDiffStoreCommand, b4 as SInterCommand, b5 as SInterStoreCommand, b6 as SIsMemberCommand, b8 as SMIsMemberCommand, b7 as SMembersCommand, b9 as SMoveCommand, ba as SPopCommand, bb as SRandMemberCommand, bc as SRemCommand, bd as SScanCommand, bf as SUnionCommand, bg as SUnionStoreCommand, aS as ScanCommand, aT as ScanCommandOptions, bp as ScoreMember, aV as ScriptExistsCommand, aW as ScriptFlushCommand, aX as ScriptLoadCommand, b0 as SetBitCommand, a_ as SetCommand, a$ as SetCommandOptions, b1 as SetExCommand, b2 as SetNxCommand, b3 as SetRangeCommand, be as StrLenCommand, bh as TimeCommand, bi as TouchCommand, bj as TtlCommand, bk as Type, bl as TypeCommand, bm as UnlinkCommand, U as UpstashRequest, c as UpstashResponse, bn as XAddCommand, bo as XRangeCommand, br as ZAddCommand, bq as ZAddCommandOptions, bs as ZCardCommand, bt as ZCountCommand, bu as ZDiffStoreCommand, bv as ZIncrByCommand, bw as ZInterStoreCommand, bx as ZInterStoreCommandOptions, by as ZLexCountCommand, bz as ZMScoreCommand, bA as ZPopMaxCommand, bB as ZPopMinCommand, bC as ZRangeCommand, bD as ZRangeCommandOptions, bE as ZRankCommand, bF as ZRemCommand, bG as ZRemRangeByLexCommand, bH as ZRemRangeByRankCommand, bI as ZRemRangeByScoreCommand, bJ as ZRevRankCommand, bK as ZScanCommand, bL as ZScoreCommand, bM as ZUnionCommand, bN as ZUnionCommandOptions, bO as ZUnionStoreCommand, bP as ZUnionStoreCommandOptions, e as errors } from './zmscore-BdNsMd17.mjs';
3
3
 
4
4
  /**
5
5
  * Connection credentials for upstash redis.
package/nodejs.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { R as RedisOptions, a as RequesterConfig, b as Redis$1 } from './zmscore-Dc6Llqgr.js';
2
- export { A as AppendCommand, B as BitCountCommand, f as BitOpCommand, g as BitPosCommand, C as CopyCommand, D as DBSizeCommand, i as DecrByCommand, h as DecrCommand, j as DelCommand, E as EchoCommand, k as EvalCommand, l as EvalshaCommand, m as ExistsCommand, o as ExpireAtCommand, n as ExpireCommand, F as FlushAllCommand, p as FlushDBCommand, G as GeoAddCommand, q as GeoAddCommandOptions, s as GeoDistCommand, t as GeoHashCommand, r as GeoMember, u as GeoPosCommand, v as GeoSearchCommand, w as GeoSearchStoreCommand, y as GetBitCommand, x as GetCommand, z as GetDelCommand, H as GetRangeCommand, I as GetSetCommand, J as HDelCommand, K as HExistsCommand, M as HGetAllCommand, L as HGetCommand, N as HIncrByCommand, O as HIncrByFloatCommand, Q as HKeysCommand, S as HLenCommand, T as HMGetCommand, V as HMSetCommand, W as HRandFieldCommand, X as HScanCommand, Y as HSetCommand, Z as HSetNXCommand, _ as HStrLenCommand, $ as HValsCommand, a1 as IncrByCommand, a2 as IncrByFloatCommand, a0 as IncrCommand, a3 as JsonArrAppendCommand, a4 as JsonArrIndexCommand, a5 as JsonArrInsertCommand, a6 as JsonArrLenCommand, a7 as JsonArrPopCommand, a8 as JsonArrTrimCommand, a9 as JsonClearCommand, aa as JsonDelCommand, ab as JsonForgetCommand, ac as JsonGetCommand, ad as JsonMGetCommand, ae as JsonNumIncrByCommand, af as JsonNumMultByCommand, ag as JsonObjKeysCommand, ah as JsonObjLenCommand, ai as JsonRespCommand, aj as JsonSetCommand, ak as JsonStrAppendCommand, al as JsonStrLenCommand, am as JsonToggleCommand, an as JsonTypeCommand, ao as KeysCommand, ap as LIndexCommand, aq as LInsertCommand, ar as LLenCommand, as as LMoveCommand, at as LPopCommand, au as LPushCommand, av as LPushXCommand, aw as LRangeCommand, ax as LRemCommand, ay as LSetCommand, az as LTrimCommand, aA as MGetCommand, aB as MSetCommand, aC as MSetNXCommand, aF as PExpireAtCommand, aE as PExpireCommand, aH as PSetEXCommand, aI as PTtlCommand, aD as PersistCommand, aG as PingCommand, P as Pipeline, aJ as PublishCommand, aN as RPopCommand, aO as RPushCommand, aP as RPushXCommand, aK as RandomKeyCommand, aL as RenameCommand, aM as RenameNXCommand, d as Requester, aQ as SAddCommand, aT as SCardCommand, aX as SDiffCommand, aY as SDiffStoreCommand, b3 as SInterCommand, b4 as SInterStoreCommand, b5 as SIsMemberCommand, b7 as SMIsMemberCommand, b6 as SMembersCommand, b8 as SMoveCommand, b9 as SPopCommand, ba as SRandMemberCommand, bb as SRemCommand, bc as SScanCommand, be as SUnionCommand, bf as SUnionStoreCommand, aR as ScanCommand, aS as ScanCommandOptions, bo as ScoreMember, aU as ScriptExistsCommand, aV as ScriptFlushCommand, aW as ScriptLoadCommand, a$ as SetBitCommand, aZ as SetCommand, a_ as SetCommandOptions, b0 as SetExCommand, b1 as SetNxCommand, b2 as SetRangeCommand, bd as StrLenCommand, bg as TimeCommand, bh as TouchCommand, bi as TtlCommand, bj as Type, bk as TypeCommand, bl as UnlinkCommand, U as UpstashRequest, c as UpstashResponse, bm as XAddCommand, bn as XRangeCommand, bq as ZAddCommand, bp as ZAddCommandOptions, br as ZCardCommand, bs as ZCountCommand, bt as ZDiffStoreCommand, bu as ZIncrByCommand, bv as ZInterStoreCommand, bw as ZInterStoreCommandOptions, bx as ZLexCountCommand, by as ZMScoreCommand, bz as ZPopMaxCommand, bA as ZPopMinCommand, bB as ZRangeCommand, bC as ZRangeCommandOptions, bD as ZRankCommand, bE as ZRemCommand, bF as ZRemRangeByLexCommand, bG as ZRemRangeByRankCommand, bH as ZRemRangeByScoreCommand, bI as ZRevRankCommand, bJ as ZScanCommand, bK as ZScoreCommand, bL as ZUnionCommand, bM as ZUnionCommandOptions, bN as ZUnionStoreCommand, bO as ZUnionStoreCommandOptions, e as errors } from './zmscore-Dc6Llqgr.js';
1
+ import { R as RedisOptions, a as RequesterConfig, b as Redis$1 } from './zmscore-BdNsMd17.js';
2
+ export { A as AppendCommand, B as BitCountCommand, f as BitOpCommand, g as BitPosCommand, C as CopyCommand, D as DBSizeCommand, i as DecrByCommand, h as DecrCommand, j as DelCommand, E as EchoCommand, k as EvalCommand, l as EvalshaCommand, m as ExistsCommand, o as ExpireAtCommand, n as ExpireCommand, F as FlushAllCommand, p as FlushDBCommand, G as GeoAddCommand, q as GeoAddCommandOptions, s as GeoDistCommand, t as GeoHashCommand, r as GeoMember, u as GeoPosCommand, v as GeoSearchCommand, w as GeoSearchStoreCommand, y as GetBitCommand, x as GetCommand, z as GetDelCommand, H as GetExCommand, I as GetRangeCommand, J as GetSetCommand, K as HDelCommand, L as HExistsCommand, N as HGetAllCommand, M as HGetCommand, O as HIncrByCommand, Q as HIncrByFloatCommand, S as HKeysCommand, T as HLenCommand, V as HMGetCommand, W as HMSetCommand, X as HRandFieldCommand, Y as HScanCommand, Z as HSetCommand, _ as HSetNXCommand, $ as HStrLenCommand, a0 as HValsCommand, a2 as IncrByCommand, a3 as IncrByFloatCommand, a1 as IncrCommand, a4 as JsonArrAppendCommand, a5 as JsonArrIndexCommand, a6 as JsonArrInsertCommand, a7 as JsonArrLenCommand, a8 as JsonArrPopCommand, a9 as JsonArrTrimCommand, aa as JsonClearCommand, ab as JsonDelCommand, ac as JsonForgetCommand, ad as JsonGetCommand, ae as JsonMGetCommand, af as JsonNumIncrByCommand, ag as JsonNumMultByCommand, ah as JsonObjKeysCommand, ai as JsonObjLenCommand, aj as JsonRespCommand, ak as JsonSetCommand, al as JsonStrAppendCommand, am as JsonStrLenCommand, an as JsonToggleCommand, ao as JsonTypeCommand, ap as KeysCommand, aq as LIndexCommand, ar as LInsertCommand, as as LLenCommand, at as LMoveCommand, au as LPopCommand, av as LPushCommand, aw as LPushXCommand, ax as LRangeCommand, ay as LRemCommand, az as LSetCommand, aA as LTrimCommand, aB as MGetCommand, aC as MSetCommand, aD as MSetNXCommand, aG as PExpireAtCommand, aF as PExpireCommand, aI as PSetEXCommand, aJ as PTtlCommand, aE as PersistCommand, aH as PingCommand, P as Pipeline, aK as PublishCommand, aO as RPopCommand, aP as RPushCommand, aQ as RPushXCommand, aL as RandomKeyCommand, aM as RenameCommand, aN as RenameNXCommand, d as Requester, aR as SAddCommand, aU as SCardCommand, aY as SDiffCommand, aZ as SDiffStoreCommand, b4 as SInterCommand, b5 as SInterStoreCommand, b6 as SIsMemberCommand, b8 as SMIsMemberCommand, b7 as SMembersCommand, b9 as SMoveCommand, ba as SPopCommand, bb as SRandMemberCommand, bc as SRemCommand, bd as SScanCommand, bf as SUnionCommand, bg as SUnionStoreCommand, aS as ScanCommand, aT as ScanCommandOptions, bp as ScoreMember, aV as ScriptExistsCommand, aW as ScriptFlushCommand, aX as ScriptLoadCommand, b0 as SetBitCommand, a_ as SetCommand, a$ as SetCommandOptions, b1 as SetExCommand, b2 as SetNxCommand, b3 as SetRangeCommand, be as StrLenCommand, bh as TimeCommand, bi as TouchCommand, bj as TtlCommand, bk as Type, bl as TypeCommand, bm as UnlinkCommand, U as UpstashRequest, c as UpstashResponse, bn as XAddCommand, bo as XRangeCommand, br as ZAddCommand, bq as ZAddCommandOptions, bs as ZCardCommand, bt as ZCountCommand, bu as ZDiffStoreCommand, bv as ZIncrByCommand, bw as ZInterStoreCommand, bx as ZInterStoreCommandOptions, by as ZLexCountCommand, bz as ZMScoreCommand, bA as ZPopMaxCommand, bB as ZPopMinCommand, bC as ZRangeCommand, bD as ZRangeCommandOptions, bE as ZRankCommand, bF as ZRemCommand, bG as ZRemRangeByLexCommand, bH as ZRemRangeByRankCommand, bI as ZRemRangeByScoreCommand, bJ as ZRevRankCommand, bK as ZScanCommand, bL as ZScoreCommand, bM as ZUnionCommand, bN as ZUnionCommandOptions, bO as ZUnionStoreCommand, bP as ZUnionStoreCommandOptions, e as errors } from './zmscore-BdNsMd17.js';
3
3
 
4
4
  /**
5
5
  * Connection credentials for upstash redis.