@skipruntime/helpers 0.0.1 → 0.0.2
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/dist/external.d.ts +18 -18
- package/dist/external.d.ts.map +1 -1
- package/dist/external.js +18 -19
- package/dist/external.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/remote.d.ts +8 -14
- package/dist/remote.d.ts.map +1 -1
- package/dist/remote.js +24 -60
- package/dist/remote.js.map +1 -1
- package/dist/rest.d.ts +8 -13
- package/dist/rest.d.ts.map +1 -1
- package/dist/rest.js +8 -50
- package/dist/rest.js.map +1 -1
- package/dist/utils.d.ts +12 -12
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +8 -15
- package/dist/utils.js.map +1 -1
- package/package.json +2 -3
- package/src/external.ts +27 -51
- package/src/index.ts +1 -0
- package/src/remote.ts +31 -120
- package/src/rest.ts +14 -77
- package/src/utils.ts +16 -24
package/src/utils.ts
CHANGED
|
@@ -1,51 +1,51 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Nullable } from "@skip-wasm/std";
|
|
2
2
|
import { ManyToOneMapper } from "@skipruntime/api";
|
|
3
3
|
import type {
|
|
4
|
-
|
|
4
|
+
Reducer,
|
|
5
5
|
NonEmptyIterator,
|
|
6
6
|
ReactiveResponse,
|
|
7
|
-
|
|
7
|
+
Json,
|
|
8
8
|
} from "@skipruntime/api";
|
|
9
9
|
|
|
10
|
-
export class Sum implements
|
|
10
|
+
export class Sum implements Reducer<number, number> {
|
|
11
11
|
default = 0;
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
add(acc: number, value: number): number {
|
|
14
14
|
return acc + value;
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
remove(acc: number, value: number): Nullable<number> {
|
|
18
18
|
return acc - value;
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
export class Min implements
|
|
22
|
+
export class Min implements Reducer<number, number> {
|
|
23
23
|
default = null;
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
add(acc: Nullable<number>, value: number): number {
|
|
26
26
|
return acc === null ? value : Math.min(acc, value);
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
|
|
29
|
+
remove(acc: number, value: number): Nullable<number> {
|
|
30
30
|
return value > acc ? acc : null;
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
-
export class Max implements
|
|
34
|
+
export class Max implements Reducer<number, number> {
|
|
35
35
|
default = null;
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
add(acc: Nullable<number>, value: number): number {
|
|
38
38
|
return acc === null ? value : Math.max(acc, value);
|
|
39
39
|
}
|
|
40
40
|
|
|
41
|
-
|
|
41
|
+
remove(acc: number, value: number): Nullable<number> {
|
|
42
42
|
return value < acc ? acc : null;
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
export class CountMapper<
|
|
47
|
-
K extends
|
|
48
|
-
V extends
|
|
47
|
+
K extends Json,
|
|
48
|
+
V extends Json,
|
|
49
49
|
> extends ManyToOneMapper<K, V, number> {
|
|
50
50
|
mapValues(values: NonEmptyIterator<V>): number {
|
|
51
51
|
return values.toArray().length;
|
|
@@ -60,19 +60,11 @@ export function parseReactiveResponse(
|
|
|
60
60
|
? header
|
|
61
61
|
: header.get("Skip-Reactive-Response-Token");
|
|
62
62
|
if (!strReactiveResponse) return undefined;
|
|
63
|
-
return JSON.parse(strReactiveResponse
|
|
64
|
-
if (key == "watermark") return BigInt(value);
|
|
65
|
-
return value;
|
|
66
|
-
}) as ReactiveResponse;
|
|
63
|
+
return JSON.parse(strReactiveResponse) as ReactiveResponse;
|
|
67
64
|
}
|
|
68
65
|
|
|
69
66
|
export function reactiveResponseHeader(
|
|
70
67
|
reactiveResponse: ReactiveResponse,
|
|
71
68
|
): [string, string] {
|
|
72
|
-
return [
|
|
73
|
-
"Skip-Reactive-Response-Token",
|
|
74
|
-
JSON.stringify(reactiveResponse, (_key: string, value: unknown) =>
|
|
75
|
-
typeof value === "bigint" ? value.toString() : value,
|
|
76
|
-
),
|
|
77
|
-
];
|
|
69
|
+
return ["Skip-Reactive-Response-Token", JSON.stringify(reactiveResponse)];
|
|
78
70
|
}
|