@upstash/redis 0.0.0-ci.c37cc01e → 0.0.0-ci.c763747d-20221010
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/esm/deps/deno.land/x/base64@v0.2.1/base.js +100 -0
- package/esm/deps/deno.land/x/base64@v0.2.1/base64url.js +9 -0
- package/esm/deps/deno.land/x/sha1@v1.0.3/deps.js +1 -0
- package/esm/deps/deno.land/x/sha1@v1.0.3/mod.js +191 -0
- package/esm/deps/denopkg.com/chiefbiiko/std-encoding@v1.0.0/mod.js +50 -0
- package/esm/pkg/commands/scan.js +3 -0
- package/esm/pkg/commands/set.js +16 -4
- package/esm/pkg/commands/zmscore.js +10 -0
- package/esm/pkg/http.js +53 -2
- package/esm/pkg/pipeline.js +10 -0
- package/esm/pkg/redis.js +14 -0
- package/esm/pkg/script.js +77 -0
- package/package.json +1 -39
- package/script/deps/deno.land/x/base64@v0.2.1/base.js +104 -0
- package/script/deps/deno.land/x/base64@v0.2.1/base64url.js +13 -0
- package/script/deps/deno.land/x/sha1@v1.0.3/deps.js +6 -0
- package/script/deps/deno.land/x/sha1@v1.0.3/mod.js +196 -0
- package/script/deps/denopkg.com/chiefbiiko/std-encoding@v1.0.0/mod.js +55 -0
- package/script/pkg/commands/scan.js +3 -0
- package/script/pkg/commands/set.js +16 -4
- package/script/pkg/commands/zmscore.js +14 -0
- package/script/pkg/http.js +53 -2
- package/script/pkg/pipeline.js +10 -0
- package/script/pkg/redis.js +14 -0
- package/script/pkg/script.js +81 -0
- package/types/deps/deno.land/x/base64@v0.2.1/base.d.ts +5 -0
- package/types/deps/deno.land/x/base64@v0.2.1/base64url.d.ts +1 -0
- package/types/deps/deno.land/x/sha1@v1.0.3/deps.d.ts +1 -0
- package/types/deps/deno.land/x/sha1@v1.0.3/mod.d.ts +26 -0
- package/types/deps/denopkg.com/chiefbiiko/std-encoding@v1.0.0/mod.d.ts +3 -0
- package/types/pkg/commands/scan.d.ts +1 -0
- package/types/pkg/commands/set.d.ts +31 -2
- package/types/pkg/commands/zmscore.d.ts +7 -0
- package/types/pkg/pipeline.d.ts +5 -1
- package/types/pkg/redis.d.ts +7 -1
- package/types/pkg/script.d.ts +42 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/** Byte length of a SHA1 digest. */
|
|
2
|
+
export declare const BYTES: number;
|
|
3
|
+
/** A class representation of the SHA1 algorithm. */
|
|
4
|
+
export declare class SHA1 {
|
|
5
|
+
readonly hashSize: number;
|
|
6
|
+
private _buf;
|
|
7
|
+
private _bufIdx;
|
|
8
|
+
private _count;
|
|
9
|
+
private _K;
|
|
10
|
+
private _H;
|
|
11
|
+
private _finalized;
|
|
12
|
+
/** Creates a SHA1 instance. */
|
|
13
|
+
constructor();
|
|
14
|
+
/** Reduces the four input numbers to a single one. */
|
|
15
|
+
protected static F(t: number, b: number, c: number, d: number): number;
|
|
16
|
+
/** Initializes a hash instance. */
|
|
17
|
+
init(): SHA1;
|
|
18
|
+
/** Updates a hash with additional message data. */
|
|
19
|
+
update(msg: string | Uint8Array, inputEncoding?: string): SHA1;
|
|
20
|
+
/** Finalizes a hash with additional message data. */
|
|
21
|
+
digest(outputEncoding?: string): string | Uint8Array;
|
|
22
|
+
/** Performs one transformation cycle. */
|
|
23
|
+
private transform;
|
|
24
|
+
}
|
|
25
|
+
/** Generates a SHA1 hash of the input data. */
|
|
26
|
+
export declare function sha1(msg: string | Uint8Array, inputEncoding?: string, outputEncoding?: string): string | Uint8Array;
|
|
@@ -1,13 +1,42 @@
|
|
|
1
1
|
import { Command, CommandOptions } from "./command.js";
|
|
2
|
-
export declare type SetCommandOptions =
|
|
2
|
+
export declare type SetCommandOptions = {
|
|
3
|
+
get: boolean;
|
|
4
|
+
} | ({
|
|
3
5
|
ex: number;
|
|
4
6
|
px?: never;
|
|
7
|
+
exat?: never;
|
|
8
|
+
pxat?: never;
|
|
9
|
+
keepTtl?: never;
|
|
5
10
|
} | {
|
|
6
11
|
ex?: never;
|
|
7
12
|
px: number;
|
|
13
|
+
exat?: never;
|
|
14
|
+
pxat?: never;
|
|
15
|
+
keepTtl?: never;
|
|
8
16
|
} | {
|
|
9
17
|
ex?: never;
|
|
10
18
|
px?: never;
|
|
19
|
+
exat: number;
|
|
20
|
+
pxat?: never;
|
|
21
|
+
keepTtl?: never;
|
|
22
|
+
} | {
|
|
23
|
+
ex?: never;
|
|
24
|
+
px?: never;
|
|
25
|
+
exat?: never;
|
|
26
|
+
pxat: number;
|
|
27
|
+
keepTtl?: never;
|
|
28
|
+
} | {
|
|
29
|
+
ex?: never;
|
|
30
|
+
px?: never;
|
|
31
|
+
exat?: never;
|
|
32
|
+
pxat?: never;
|
|
33
|
+
keepTtl: true;
|
|
34
|
+
} | {
|
|
35
|
+
ex?: never;
|
|
36
|
+
px?: never;
|
|
37
|
+
exat?: never;
|
|
38
|
+
pxat?: never;
|
|
39
|
+
keepTtl?: never;
|
|
11
40
|
}) & ({
|
|
12
41
|
nx: true;
|
|
13
42
|
xx?: never;
|
|
@@ -21,6 +50,6 @@ export declare type SetCommandOptions = ({
|
|
|
21
50
|
/**
|
|
22
51
|
* @see https://redis.io/commands/set
|
|
23
52
|
*/
|
|
24
|
-
export declare class SetCommand<TData, TResult = "OK"> extends Command<TResult, TData> {
|
|
53
|
+
export declare class SetCommand<TData, TResult = TData | "OK" | null> extends Command<TResult, TData | "OK" | null> {
|
|
25
54
|
constructor([key, value, opts]: [key: string, value: TData, opts?: SetCommandOptions], cmdOpts?: CommandOptions<TResult, TData>);
|
|
26
55
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Command, CommandOptions } from "./command.js";
|
|
2
|
+
/**
|
|
3
|
+
* @see https://redis.io/commands/zmscore
|
|
4
|
+
*/
|
|
5
|
+
export declare class ZMScoreCommand<TData> extends Command<string[] | null, number[] | null> {
|
|
6
|
+
constructor(cmd: [key: string, members: TData[]], opts?: CommandOptions<string[] | null, number[] | null>);
|
|
7
|
+
}
|
package/types/pkg/pipeline.d.ts
CHANGED
|
@@ -374,7 +374,7 @@ export declare class Pipeline {
|
|
|
374
374
|
/**
|
|
375
375
|
* @see https://redis.io/commands/set
|
|
376
376
|
*/
|
|
377
|
-
set: <TData>(key: string, value: TData, opts?: SetCommandOptions
|
|
377
|
+
set: <TData>(key: string, value: TData, opts?: SetCommandOptions) => this;
|
|
378
378
|
/**
|
|
379
379
|
* @see https://redis.io/commands/setbit
|
|
380
380
|
*/
|
|
@@ -483,6 +483,10 @@ export declare class Pipeline {
|
|
|
483
483
|
* @see https://redis.io/commands/zlexcount
|
|
484
484
|
*/
|
|
485
485
|
zlexcount: (key: string, min: string, max: string) => this;
|
|
486
|
+
/**
|
|
487
|
+
* @see https://redis.io/commands/zmscore
|
|
488
|
+
*/
|
|
489
|
+
zmscore: (key: string, members: unknown[]) => this;
|
|
486
490
|
/**
|
|
487
491
|
* @see https://redis.io/commands/zpopmax
|
|
488
492
|
*/
|
package/types/pkg/redis.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { CommandOptions, DelCommand, ExistsCommand, FlushAllCommand, MGetCommand
|
|
|
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
|
+
import { Script } from "./script.js";
|
|
5
6
|
export declare type RedisOptions = {
|
|
6
7
|
/**
|
|
7
8
|
* Automatically try to deserialize the returned data from upstash using `JSON.deserialize`
|
|
@@ -32,6 +33,7 @@ export declare class Redis {
|
|
|
32
33
|
* Wrap a new middleware around the HTTP client.
|
|
33
34
|
*/
|
|
34
35
|
use: <TResult = unknown>(middleware: (r: UpstashRequest, next: <TResult_1 = unknown>(req: UpstashRequest) => Promise<UpstashResponse<TResult_1>>) => Promise<UpstashResponse<TResult>>) => void;
|
|
36
|
+
createScript(script: string): Script;
|
|
35
37
|
/**
|
|
36
38
|
* Create a new pipeline that allows you to send requests in bulk.
|
|
37
39
|
*
|
|
@@ -354,7 +356,7 @@ export declare class Redis {
|
|
|
354
356
|
/**
|
|
355
357
|
* @see https://redis.io/commands/set
|
|
356
358
|
*/
|
|
357
|
-
set: <TData>(key: string, value: TData, opts?: SetCommandOptions
|
|
359
|
+
set: <TData>(key: string, value: TData, opts?: SetCommandOptions) => Promise<"OK" | TData | null>;
|
|
358
360
|
/**
|
|
359
361
|
* @see https://redis.io/commands/setbit
|
|
360
362
|
*/
|
|
@@ -463,6 +465,10 @@ export declare class Redis {
|
|
|
463
465
|
* @see https://redis.io/commands/zlexcount
|
|
464
466
|
*/
|
|
465
467
|
zlexcount: (key: string, min: string, max: string) => Promise<number>;
|
|
468
|
+
/**
|
|
469
|
+
* @see https://redis.io/commands/zmscore
|
|
470
|
+
*/
|
|
471
|
+
zmscore: (key: string, members: unknown[]) => Promise<number[] | null>;
|
|
466
472
|
/**
|
|
467
473
|
* @see https://redis.io/commands/zpopmax
|
|
468
474
|
*/
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Redis } from "./redis.js";
|
|
2
|
+
/**
|
|
3
|
+
* Creates a new script.
|
|
4
|
+
*
|
|
5
|
+
* Scripts offer the ability to optimistically try to execute a script without having to send the
|
|
6
|
+
* entire script to the server. If the script is loaded on the server, it tries again by sending
|
|
7
|
+
* the entire script. Afterwards, the script is cached on the server.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```ts
|
|
11
|
+
* const redis = new Redis({...})
|
|
12
|
+
*
|
|
13
|
+
* const script = redis.createScript<string>("return ARGV[1];")
|
|
14
|
+
* const arg1 = await script.eval([], ["Hello World"])
|
|
15
|
+
* assertEquals(arg1, "Hello World")
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
export declare class Script<TResult = unknown> {
|
|
19
|
+
readonly script: string;
|
|
20
|
+
readonly sha1: string;
|
|
21
|
+
private readonly redis;
|
|
22
|
+
constructor(redis: Redis, script: string);
|
|
23
|
+
/**
|
|
24
|
+
* Send an `EVAL` command to redis.
|
|
25
|
+
*/
|
|
26
|
+
eval(keys: string[], args: string[]): Promise<TResult>;
|
|
27
|
+
/**
|
|
28
|
+
* Calculates the sha1 hash of the script and then calls `EVALSHA`.
|
|
29
|
+
*/
|
|
30
|
+
evalsha(keys: string[], args: string[]): Promise<TResult>;
|
|
31
|
+
/**
|
|
32
|
+
* Optimistically try to run `EVALSHA` first.
|
|
33
|
+
* If the script is not loaded in redis, it will fall back and try again with `EVAL`.
|
|
34
|
+
*
|
|
35
|
+
* Following calls will be able to use the cached script
|
|
36
|
+
*/
|
|
37
|
+
exec(keys: string[], args: string[]): Promise<TResult>;
|
|
38
|
+
/**
|
|
39
|
+
* Compute the sha1 hash of the script and return its hex representation.
|
|
40
|
+
*/
|
|
41
|
+
private digest;
|
|
42
|
+
}
|