@upstash/redis 0.0.0-ci.608697de-20221215 → 0.0.0-ci.6493a578-20230531
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -1
- package/esm/pkg/commands/command.js +12 -3
- package/esm/pkg/commands/json_arrappend.js +9 -0
- package/esm/pkg/commands/json_arrindex.js +9 -0
- package/esm/pkg/commands/json_arrinsert.js +9 -0
- package/esm/pkg/commands/json_arrlen.js +9 -0
- package/esm/pkg/commands/json_arrpop.js +9 -0
- package/esm/pkg/commands/json_arrtrim.js +12 -0
- package/esm/pkg/commands/json_clear.js +9 -0
- package/esm/pkg/commands/json_del.js +9 -0
- package/esm/pkg/commands/json_forget.js +9 -0
- package/esm/pkg/commands/json_get.js +30 -0
- package/esm/pkg/commands/json_mget.js +9 -0
- package/esm/pkg/commands/json_numincrby.js +9 -0
- package/esm/pkg/commands/json_nummultby.js +9 -0
- package/esm/pkg/commands/json_objkeys.js +9 -0
- package/esm/pkg/commands/json_objlen.js +9 -0
- package/esm/pkg/commands/json_resp.js +9 -0
- package/esm/pkg/commands/json_set.js +18 -0
- package/esm/pkg/commands/json_strappend.js +9 -0
- package/esm/pkg/commands/json_strlen.js +9 -0
- package/esm/pkg/commands/json_toggle.js +9 -0
- package/esm/pkg/commands/json_type.js +9 -0
- package/esm/pkg/commands/lmove.js +9 -0
- package/esm/pkg/commands/mod.js +23 -0
- package/esm/pkg/commands/smismember.js +9 -0
- package/esm/pkg/commands/zdiffstore.js +9 -0
- package/esm/pkg/http.js +26 -16
- package/esm/pkg/pipeline.js +128 -7
- package/esm/pkg/redis.js +145 -1
- package/esm/platforms/cloudflare.js +6 -6
- package/esm/platforms/fastly.js +5 -0
- package/esm/platforms/node_with_fetch.js +23 -11
- package/esm/platforms/nodejs.js +21 -11
- package/esm/version.js +1 -1
- package/package.json +53 -20
- package/script/pkg/commands/command.js +12 -3
- package/script/pkg/commands/json_arrappend.js +13 -0
- package/script/pkg/commands/json_arrindex.js +13 -0
- package/script/pkg/commands/json_arrinsert.js +13 -0
- package/script/pkg/commands/json_arrlen.js +13 -0
- package/script/pkg/commands/json_arrpop.js +13 -0
- package/script/pkg/commands/json_arrtrim.js +16 -0
- package/script/pkg/commands/json_clear.js +13 -0
- package/script/pkg/commands/json_del.js +13 -0
- package/script/pkg/commands/json_forget.js +13 -0
- package/script/pkg/commands/json_get.js +34 -0
- package/script/pkg/commands/json_mget.js +13 -0
- package/script/pkg/commands/json_numincrby.js +13 -0
- package/script/pkg/commands/json_nummultby.js +13 -0
- package/script/pkg/commands/json_objkeys.js +13 -0
- package/script/pkg/commands/json_objlen.js +13 -0
- package/script/pkg/commands/json_resp.js +13 -0
- package/script/pkg/commands/json_set.js +22 -0
- package/script/pkg/commands/json_strappend.js +13 -0
- package/script/pkg/commands/json_strlen.js +13 -0
- package/script/pkg/commands/json_toggle.js +13 -0
- package/script/pkg/commands/json_type.js +13 -0
- package/script/pkg/commands/lmove.js +13 -0
- package/script/pkg/commands/mod.js +23 -0
- package/script/pkg/commands/smismember.js +13 -0
- package/script/pkg/commands/zdiffstore.js +13 -0
- package/script/pkg/http.js +26 -16
- package/script/pkg/pipeline.js +127 -6
- package/script/pkg/redis.js +144 -0
- package/script/platforms/cloudflare.js +6 -6
- package/script/platforms/fastly.js +5 -0
- package/script/platforms/node_with_fetch.js +23 -11
- package/script/platforms/nodejs.js +21 -11
- package/script/version.js +1 -1
- package/types/pkg/commands/command.d.ts +5 -5
- package/types/pkg/commands/hdel.d.ts +1 -1
- package/types/pkg/commands/json_arrappend.d.ts +7 -0
- package/types/pkg/commands/json_arrindex.d.ts +13 -0
- package/types/pkg/commands/json_arrinsert.d.ts +7 -0
- package/types/pkg/commands/json_arrlen.d.ts +7 -0
- package/types/pkg/commands/json_arrpop.d.ts +7 -0
- package/types/pkg/commands/json_arrtrim.d.ts +7 -0
- package/types/pkg/commands/json_clear.d.ts +7 -0
- package/types/pkg/commands/json_del.d.ts +7 -0
- package/types/pkg/commands/json_forget.d.ts +7 -0
- package/types/pkg/commands/json_get.d.ts +15 -0
- package/types/pkg/commands/json_mget.d.ts +7 -0
- package/types/pkg/commands/json_numincrby.d.ts +7 -0
- package/types/pkg/commands/json_nummultby.d.ts +7 -0
- package/types/pkg/commands/json_objkeys.d.ts +7 -0
- package/types/pkg/commands/json_objlen.d.ts +7 -0
- package/types/pkg/commands/json_resp.d.ts +7 -0
- package/types/pkg/commands/json_set.d.ts +18 -0
- package/types/pkg/commands/json_strappend.d.ts +7 -0
- package/types/pkg/commands/json_strlen.d.ts +7 -0
- package/types/pkg/commands/json_toggle.d.ts +7 -0
- package/types/pkg/commands/json_type.d.ts +7 -0
- package/types/pkg/commands/lmove.d.ts +12 -0
- package/types/pkg/commands/mod.d.ts +23 -0
- package/types/pkg/commands/scan.d.ts +1 -1
- package/types/pkg/commands/script_flush.d.ts +1 -1
- package/types/pkg/commands/set.d.ts +3 -3
- package/types/pkg/commands/smembers.d.ts +2 -2
- package/types/pkg/commands/smismember.d.ts +7 -0
- package/types/pkg/commands/type.d.ts +1 -1
- package/types/pkg/commands/zadd.d.ts +3 -3
- package/types/pkg/commands/zdiffstore.d.ts +7 -0
- package/types/pkg/commands/zinterstore.d.ts +1 -1
- package/types/pkg/commands/zrange.d.ts +1 -1
- package/types/pkg/commands/zunionstore.d.ts +1 -1
- package/types/pkg/http.d.ts +12 -23
- package/types/pkg/pipeline.d.ts +239 -126
- package/types/pkg/redis.d.ts +116 -13
- package/types/pkg/types.d.ts +27 -1
- package/types/platforms/cloudflare.d.ts +2 -2
- package/types/platforms/fastly.d.ts +1 -1
- package/types/platforms/node_with_fetch.d.ts +1 -1
- package/types/platforms/nodejs.d.ts +1 -1
- package/types/version.d.ts +1 -1
package/types/pkg/redis.d.ts
CHANGED
|
@@ -1,22 +1,17 @@
|
|
|
1
|
-
import { CommandOptions, DelCommand, ExistsCommand, FlushAllCommand, MGetCommand, PingCommand, ScoreMember, ScriptExistsCommand, SetCommandOptions, TouchCommand, UnlinkCommand, ZAddCommandOptions, ZAddCommandOptionsWithIncr, ZRangeCommandOptions } from "./commands/mod.js";
|
|
1
|
+
import { CommandOptions, DelCommand, ExistsCommand, FlushAllCommand, JsonGetCommand, MGetCommand, PingCommand, ScoreMember, ScriptExistsCommand, SetCommandOptions, TouchCommand, UnlinkCommand, ZAddCommandOptions, ZAddCommandOptionsWithIncr, ZRangeCommandOptions } from "./commands/mod.js";
|
|
2
2
|
import { Requester, UpstashRequest, UpstashResponse } from "./http.js";
|
|
3
3
|
import { Pipeline } from "./pipeline.js";
|
|
4
4
|
import type { CommandArgs } from "./types.js";
|
|
5
5
|
import { Script } from "./script.js";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
* Automatically try to deserialize the returned data from upstash using `JSON.deserialize`
|
|
9
|
-
*
|
|
10
|
-
* @default true
|
|
11
|
-
*/
|
|
12
|
-
automaticDeserialization?: boolean;
|
|
13
|
-
};
|
|
6
|
+
import type { RedisOptions, Telemetry } from "./types.js";
|
|
7
|
+
export type { RedisOptions } from "./types.js";
|
|
14
8
|
/**
|
|
15
9
|
* Serverless redis client for upstash.
|
|
16
10
|
*/
|
|
17
11
|
export declare class Redis {
|
|
18
12
|
protected client: Requester;
|
|
19
13
|
protected opts?: CommandOptions<any, any>;
|
|
14
|
+
protected enableTelemetry: boolean;
|
|
20
15
|
/**
|
|
21
16
|
* Create a new redis client
|
|
22
17
|
*
|
|
@@ -29,17 +24,113 @@ export declare class Redis {
|
|
|
29
24
|
* ```
|
|
30
25
|
*/
|
|
31
26
|
constructor(client: Requester, opts?: RedisOptions);
|
|
27
|
+
get json(): {
|
|
28
|
+
/**
|
|
29
|
+
* @see https://redis.io/commands/json.arrappend
|
|
30
|
+
*/
|
|
31
|
+
arrappend: (key: string, path: string, ...values: unknown[]) => Promise<(number | null)[]>;
|
|
32
|
+
/**
|
|
33
|
+
* @see https://redis.io/commands/json.arrindex
|
|
34
|
+
*/
|
|
35
|
+
arrindex: (key: string, path: string, value: unknown, start?: number | undefined, stop?: number | undefined) => Promise<(number | null)[]>;
|
|
36
|
+
/**
|
|
37
|
+
* @see https://redis.io/commands/json.arrinsert
|
|
38
|
+
*/
|
|
39
|
+
arrinsert: (key: string, path: string, index: number, ...values: unknown[]) => Promise<(number | null)[]>;
|
|
40
|
+
/**
|
|
41
|
+
* @see https://redis.io/commands/json.arrlen
|
|
42
|
+
*/
|
|
43
|
+
arrlen: (key: string, path?: string | undefined) => Promise<(number | null)[]>;
|
|
44
|
+
/**
|
|
45
|
+
* @see https://redis.io/commands/json.arrpop
|
|
46
|
+
*/
|
|
47
|
+
arrpop: (key: string, path?: string | undefined, index?: number | undefined) => Promise<unknown[]>;
|
|
48
|
+
/**
|
|
49
|
+
* @see https://redis.io/commands/json.arrtrim
|
|
50
|
+
*/
|
|
51
|
+
arrtrim: (key: string, path?: string | undefined, start?: number | undefined, stop?: number | undefined) => Promise<(number | null)[]>;
|
|
52
|
+
/**
|
|
53
|
+
* @see https://redis.io/commands/json.clear
|
|
54
|
+
*/
|
|
55
|
+
clear: (key: string, path?: string | undefined) => Promise<number>;
|
|
56
|
+
/**
|
|
57
|
+
* @see https://redis.io/commands/json.del
|
|
58
|
+
*/
|
|
59
|
+
del: (key: string, path?: string | undefined) => Promise<number>;
|
|
60
|
+
/**
|
|
61
|
+
* @see https://redis.io/commands/json.forget
|
|
62
|
+
*/
|
|
63
|
+
forget: (key: string, path?: string | undefined) => Promise<number>;
|
|
64
|
+
/**
|
|
65
|
+
* @see https://redis.io/commands/json.get
|
|
66
|
+
*/
|
|
67
|
+
get: (...args: CommandArgs<typeof JsonGetCommand>) => Promise<any>;
|
|
68
|
+
/**
|
|
69
|
+
* @see https://redis.io/commands/json.mget
|
|
70
|
+
*/
|
|
71
|
+
mget: (keys: string[], path: string) => Promise<any>;
|
|
72
|
+
/**
|
|
73
|
+
* @see https://redis.io/commands/json.numincrby
|
|
74
|
+
*/
|
|
75
|
+
numincrby: (key: string, path: string, value: number) => Promise<(number | null)[]>;
|
|
76
|
+
/**
|
|
77
|
+
* @see https://redis.io/commands/json.nummultby
|
|
78
|
+
*/
|
|
79
|
+
nummultby: (key: string, path: string, value: number) => Promise<(number | null)[]>;
|
|
80
|
+
/**
|
|
81
|
+
* @see https://redis.io/commands/json.objkeys
|
|
82
|
+
*/
|
|
83
|
+
objkeys: (key: string, path?: string | undefined) => Promise<(string[] | null)[]>;
|
|
84
|
+
/**
|
|
85
|
+
* @see https://redis.io/commands/json.objlen
|
|
86
|
+
*/
|
|
87
|
+
objlen: (key: string, path?: string | undefined) => Promise<(number | null)[]>;
|
|
88
|
+
/**
|
|
89
|
+
* @see https://redis.io/commands/json.resp
|
|
90
|
+
*/
|
|
91
|
+
resp: (key: string, path?: string | undefined) => Promise<any>;
|
|
92
|
+
/**
|
|
93
|
+
* @see https://redis.io/commands/json.set
|
|
94
|
+
*/
|
|
95
|
+
set: (key: string, path: string, value: string | number | boolean | Record<string, unknown> | (string | number | boolean | Record<string, unknown>)[], opts?: {
|
|
96
|
+
nx: true;
|
|
97
|
+
xx?: undefined;
|
|
98
|
+
} | {
|
|
99
|
+
nx?: undefined;
|
|
100
|
+
xx: true;
|
|
101
|
+
} | undefined) => Promise<"OK" | null>;
|
|
102
|
+
/**
|
|
103
|
+
* @see https://redis.io/commands/json.strappend
|
|
104
|
+
*/
|
|
105
|
+
strappend: (key: string, path: string, value: string) => Promise<(number | null)[]>;
|
|
106
|
+
/**
|
|
107
|
+
* @see https://redis.io/commands/json.strlen
|
|
108
|
+
*/
|
|
109
|
+
strlen: (key: string, path?: string | undefined) => Promise<(number | null)[]>;
|
|
110
|
+
/**
|
|
111
|
+
* @see https://redis.io/commands/json.toggle
|
|
112
|
+
*/
|
|
113
|
+
toggle: (key: string, path: string) => Promise<number[]>;
|
|
114
|
+
/**
|
|
115
|
+
* @see https://redis.io/commands/json.type
|
|
116
|
+
*/
|
|
117
|
+
type: (key: string, path?: string | undefined) => Promise<string[]>;
|
|
118
|
+
};
|
|
32
119
|
/**
|
|
33
120
|
* Wrap a new middleware around the HTTP client.
|
|
34
121
|
*/
|
|
35
122
|
use: <TResult = unknown>(middleware: (r: UpstashRequest, next: <TResult_1 = unknown>(req: UpstashRequest) => Promise<UpstashResponse<TResult_1>>) => Promise<UpstashResponse<TResult>>) => void;
|
|
123
|
+
/**
|
|
124
|
+
* Technically this is not private, we can hide it from intellisense by doing this
|
|
125
|
+
*/
|
|
126
|
+
protected addTelemetry: (telemetry: Telemetry) => void;
|
|
36
127
|
createScript(script: string): Script;
|
|
37
128
|
/**
|
|
38
129
|
* Create a new pipeline that allows you to send requests in bulk.
|
|
39
130
|
*
|
|
40
131
|
* @see {@link Pipeline}
|
|
41
132
|
*/
|
|
42
|
-
pipeline: () => Pipeline
|
|
133
|
+
pipeline: () => Pipeline<[]>;
|
|
43
134
|
/**
|
|
44
135
|
* Create a new transaction to allow executing multiple steps atomically.
|
|
45
136
|
*
|
|
@@ -49,7 +140,7 @@ export declare class Redis {
|
|
|
49
140
|
*
|
|
50
141
|
* @see {@link Pipeline}
|
|
51
142
|
*/
|
|
52
|
-
multi: () => Pipeline
|
|
143
|
+
multi: () => Pipeline<[]>;
|
|
53
144
|
/**
|
|
54
145
|
* @see https://redis.io/commands/append
|
|
55
146
|
*/
|
|
@@ -142,7 +233,7 @@ export declare class Redis {
|
|
|
142
233
|
/**
|
|
143
234
|
* @see https://redis.io/commands/hdel
|
|
144
235
|
*/
|
|
145
|
-
hdel: (key: string,
|
|
236
|
+
hdel: (key: string, ...fields: string[]) => Promise<0 | 1>;
|
|
146
237
|
/**
|
|
147
238
|
* @see https://redis.io/commands/hexists
|
|
148
239
|
*/
|
|
@@ -239,6 +330,10 @@ export declare class Redis {
|
|
|
239
330
|
* @see https://redis.io/commands/llen
|
|
240
331
|
*/
|
|
241
332
|
llen: (key: string) => Promise<number>;
|
|
333
|
+
/**
|
|
334
|
+
* @see https://redis.io/commands/lmove
|
|
335
|
+
*/
|
|
336
|
+
lmove: <TData = string>(source: string, destination: string, whereFrom: "left" | "right", whereTo: "left" | "right") => Promise<TData>;
|
|
242
337
|
/**
|
|
243
338
|
* @see https://redis.io/commands/lpop
|
|
244
339
|
*/
|
|
@@ -407,10 +502,14 @@ export declare class Redis {
|
|
|
407
502
|
* @see https://redis.io/commands/sismember
|
|
408
503
|
*/
|
|
409
504
|
sismember: <TData>(key: string, member: TData) => Promise<0 | 1>;
|
|
505
|
+
/**
|
|
506
|
+
* @see https://redis.io/commands/smismember
|
|
507
|
+
*/
|
|
508
|
+
smismember: <TMembers extends unknown[]>(key: string, members: TMembers) => Promise<(0 | 1)[]>;
|
|
410
509
|
/**
|
|
411
510
|
* @see https://redis.io/commands/smembers
|
|
412
511
|
*/
|
|
413
|
-
smembers: (key: string) => Promise<
|
|
512
|
+
smembers: <TData extends unknown[] = string[]>(key: string) => Promise<TData>;
|
|
414
513
|
/**
|
|
415
514
|
* @see https://redis.io/commands/smove
|
|
416
515
|
*/
|
|
@@ -475,6 +574,10 @@ export declare class Redis {
|
|
|
475
574
|
* @see https://redis.io/commands/zcount
|
|
476
575
|
*/
|
|
477
576
|
zcount: (key: string, min: string | number, max: string | number) => Promise<number>;
|
|
577
|
+
/**
|
|
578
|
+
* @see https://redis.io/commands/zdiffstore
|
|
579
|
+
*/
|
|
580
|
+
zdiffstore: (destination: string, numkeys: number, ...keys: string[]) => Promise<number>;
|
|
478
581
|
/**
|
|
479
582
|
* @see https://redis.io/commands/zincrby
|
|
480
583
|
*/
|
package/types/pkg/types.d.ts
CHANGED
|
@@ -1 +1,27 @@
|
|
|
1
|
-
export
|
|
1
|
+
export type CommandArgs<TCommand extends new (...args: any) => any> = ConstructorParameters<TCommand>[0];
|
|
2
|
+
export type Telemetry = {
|
|
3
|
+
/**
|
|
4
|
+
* Upstash-Telemetry-Sdk
|
|
5
|
+
* @example @upstash/redis@v1.1.1
|
|
6
|
+
*/
|
|
7
|
+
sdk?: string;
|
|
8
|
+
/**
|
|
9
|
+
* Upstash-Telemetry-Platform
|
|
10
|
+
* @example cloudflare
|
|
11
|
+
*/
|
|
12
|
+
platform?: string;
|
|
13
|
+
/**
|
|
14
|
+
* Upstash-Telemetry-Runtime
|
|
15
|
+
* @example node@v18
|
|
16
|
+
*/
|
|
17
|
+
runtime?: string;
|
|
18
|
+
};
|
|
19
|
+
export type RedisOptions = {
|
|
20
|
+
/**
|
|
21
|
+
* Automatically try to deserialize the returned data from upstash using `JSON.deserialize`
|
|
22
|
+
*
|
|
23
|
+
* @default true
|
|
24
|
+
*/
|
|
25
|
+
automaticDeserialization?: boolean;
|
|
26
|
+
enableTelemetry?: boolean;
|
|
27
|
+
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as core from "../pkg/redis.js";
|
|
2
2
|
import type { Requester, UpstashRequest, UpstashResponse } from "../pkg/http.js";
|
|
3
3
|
import { RequesterConfig } from "../pkg/http.js";
|
|
4
|
-
|
|
4
|
+
type Env = {
|
|
5
5
|
UPSTASH_DISABLE_TELEMETRY?: string;
|
|
6
6
|
};
|
|
7
7
|
export type { Requester, UpstashRequest, UpstashResponse };
|
|
@@ -9,7 +9,7 @@ export type { Requester, UpstashRequest, UpstashResponse };
|
|
|
9
9
|
* Connection credentials for upstash redis.
|
|
10
10
|
* Get them from https://console.upstash.com/redis/<uuid>
|
|
11
11
|
*/
|
|
12
|
-
export
|
|
12
|
+
export type RedisConfigCloudflare = {
|
|
13
13
|
/**
|
|
14
14
|
* UPSTASH_REDIS_REST_URL
|
|
15
15
|
*/
|
|
@@ -5,7 +5,7 @@ export type { Requester, UpstashRequest, UpstashResponse };
|
|
|
5
5
|
* Connection credentials for upstash redis.
|
|
6
6
|
* Get them from https://console.upstash.com/redis/<uuid>
|
|
7
7
|
*/
|
|
8
|
-
export
|
|
8
|
+
export type RedisConfigFastly = {
|
|
9
9
|
/**
|
|
10
10
|
* UPSTASH_REDIS_REST_URL
|
|
11
11
|
*/
|
|
@@ -6,7 +6,7 @@ export type { Requester, UpstashRequest, UpstashResponse };
|
|
|
6
6
|
* Connection credentials for upstash redis.
|
|
7
7
|
* Get them from https://console.upstash.com/redis/<uuid>
|
|
8
8
|
*/
|
|
9
|
-
export
|
|
9
|
+
export type RedisConfigNodejs = {
|
|
10
10
|
/**
|
|
11
11
|
* UPSTASH_REDIS_REST_URL
|
|
12
12
|
*/
|
|
@@ -5,7 +5,7 @@ export type { Requester, UpstashRequest, UpstashResponse };
|
|
|
5
5
|
* Connection credentials for upstash redis.
|
|
6
6
|
* Get them from https://console.upstash.com/redis/<uuid>
|
|
7
7
|
*/
|
|
8
|
-
export
|
|
8
|
+
export type RedisConfigNodejs = {
|
|
9
9
|
/**
|
|
10
10
|
* UPSTASH_REDIS_REST_URL
|
|
11
11
|
*/
|
package/types/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const VERSION = "v0.0.0-ci.
|
|
1
|
+
export declare const VERSION = "v0.0.0-ci.6493a578-20230531";
|