@blackglory/estore-js 0.7.0 → 0.7.1
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 +25 -12
- package/lib/estore-client.d.ts +15 -11
- package/lib/estore-client.js +31 -27
- package/lib/estore-client.js.map +1 -1
- package/package.json +1 -1
- package/src/estore-client.ts +55 -27
package/README.md
CHANGED
|
@@ -13,44 +13,57 @@ interface INamespaceStats {
|
|
|
13
13
|
items: number
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
interface IEStoreClientOptions {
|
|
17
17
|
server: string
|
|
18
18
|
timeout?: number
|
|
19
19
|
retryIntervalForReconnection?: number
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
interface IEStoreClientRequestOptions {
|
|
23
|
+
signal?: AbortSignal
|
|
24
|
+
timeout?: number | false
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
class EStoreClient {
|
|
23
28
|
static create(options: IEStoreClientOptions): Promise<EStoreClient>
|
|
24
29
|
|
|
25
30
|
close(): Promise<void>
|
|
26
31
|
|
|
27
32
|
getNamespaceStats(
|
|
28
33
|
namespace: string
|
|
29
|
-
,
|
|
34
|
+
, signalOrOptions?: AbortSignal | IEStoreClientRequestOptions
|
|
30
35
|
): Promise<INamespaceStats>
|
|
31
36
|
|
|
32
|
-
getAllNamespaces(
|
|
37
|
+
getAllNamespaces(
|
|
38
|
+
signalOrOptions?: AbortSignal | IEStoreClientRequestOptions
|
|
39
|
+
): Promise<string[]>
|
|
33
40
|
|
|
34
|
-
getAllItemIds(
|
|
41
|
+
getAllItemIds(
|
|
42
|
+
namespace: string
|
|
43
|
+
, signalOrOptions?: AbortSignal | IEStoreClientRequestOptions
|
|
44
|
+
): Promise<string[]>
|
|
35
45
|
|
|
36
46
|
getAllEvents(
|
|
37
47
|
namespace: string
|
|
38
48
|
, itemId: string
|
|
39
|
-
,
|
|
49
|
+
, signalOrOptions?: AbortSignal | IEStoreClientRequestOptions
|
|
40
50
|
): Promise<JSONValue[]>
|
|
41
51
|
|
|
42
|
-
clearItemsByNamespace(
|
|
52
|
+
clearItemsByNamespace(
|
|
53
|
+
namespace: string
|
|
54
|
+
, signalOrOptions?: AbortSignal | IEStoreClientRequestOptions
|
|
55
|
+
): Promise<void>
|
|
43
56
|
|
|
44
57
|
removeItem(
|
|
45
58
|
namespace: string
|
|
46
59
|
, itemId: string
|
|
47
|
-
,
|
|
60
|
+
, signalOrOptions?: AbortSignal | IEStoreClientRequestOptions
|
|
48
61
|
): Promise<void>
|
|
49
62
|
|
|
50
63
|
getItemSize(
|
|
51
64
|
namespace: string
|
|
52
65
|
, itemId: string
|
|
53
|
-
,
|
|
66
|
+
, signalOrOptions?: AbortSignal | IEStoreClientRequestOptions
|
|
54
67
|
): Promise<number>
|
|
55
68
|
|
|
56
69
|
/**
|
|
@@ -62,7 +75,7 @@ export class EStoreClient {
|
|
|
62
75
|
, itemId: string
|
|
63
76
|
, event: JSONValue
|
|
64
77
|
, nextEventIndex?: number
|
|
65
|
-
,
|
|
78
|
+
, signalOrOptions?: AbortSignal | IEStoreClientRequestOptions
|
|
66
79
|
): Promise<void>
|
|
67
80
|
|
|
68
81
|
/**
|
|
@@ -73,14 +86,14 @@ export class EStoreClient {
|
|
|
73
86
|
namespace: string
|
|
74
87
|
, itemId: string
|
|
75
88
|
, lastEventIndex?: number
|
|
76
|
-
,
|
|
89
|
+
, signalOrOptions?: AbortSignal | IEStoreClientRequestOptions
|
|
77
90
|
): Promise<void>
|
|
78
91
|
|
|
79
92
|
getEvent(
|
|
80
93
|
namespace: string
|
|
81
94
|
, itemId: string
|
|
82
95
|
, index: number
|
|
83
|
-
,
|
|
96
|
+
, signalOrOptions?: AbortSignal | IEStoreClientRequestOptions
|
|
84
97
|
): Promise<JSONValue | null>
|
|
85
98
|
}
|
|
86
99
|
```
|
package/lib/estore-client.d.ts
CHANGED
|
@@ -7,6 +7,10 @@ export interface IEStoreClientOptions {
|
|
|
7
7
|
timeout?: number;
|
|
8
8
|
retryIntervalForReconnection?: number;
|
|
9
9
|
}
|
|
10
|
+
export interface IEStoreClientRequestOptions {
|
|
11
|
+
signal?: AbortSignal;
|
|
12
|
+
timeout?: number | false;
|
|
13
|
+
}
|
|
10
14
|
export declare class EStoreClient {
|
|
11
15
|
private client;
|
|
12
16
|
private closeClients;
|
|
@@ -14,15 +18,15 @@ export declare class EStoreClient {
|
|
|
14
18
|
static create(options: IEStoreClientOptions): Promise<EStoreClient>;
|
|
15
19
|
private constructor();
|
|
16
20
|
close(): Promise<void>;
|
|
17
|
-
getNamespaceStats(namespace: string,
|
|
18
|
-
getAllNamespaces(
|
|
19
|
-
getAllItemIds(namespace: string,
|
|
20
|
-
getAllEvents(namespace: string, itemId: string,
|
|
21
|
-
clearItemsByNamespace(namespace: string,
|
|
22
|
-
removeItem(namespace: string, itemId: string,
|
|
23
|
-
getItemSize(namespace: string, itemId: string,
|
|
24
|
-
appendEvent(namespace: string, itemId: string, event: JSONValue, nextEventIndex?: number,
|
|
25
|
-
popEvent(namespace: string, itemId: string, lastEventIndex?: number,
|
|
26
|
-
getEvent(namespace: string, itemId: string, index: number,
|
|
27
|
-
private
|
|
21
|
+
getNamespaceStats(namespace: string, signalOrOptions?: AbortSignal | IEStoreClientRequestOptions): Promise<INamespaceStats>;
|
|
22
|
+
getAllNamespaces(signalOrOptions?: AbortSignal | IEStoreClientRequestOptions): Promise<string[]>;
|
|
23
|
+
getAllItemIds(namespace: string, signalOrOptions?: AbortSignal | IEStoreClientRequestOptions): Promise<string[]>;
|
|
24
|
+
getAllEvents(namespace: string, itemId: string, signalOrOptions?: AbortSignal | IEStoreClientRequestOptions): Promise<JSONValue[]>;
|
|
25
|
+
clearItemsByNamespace(namespace: string, signalOrOptions?: AbortSignal | IEStoreClientRequestOptions): Promise<void>;
|
|
26
|
+
removeItem(namespace: string, itemId: string, signalOrOptions?: AbortSignal | IEStoreClientRequestOptions): Promise<void>;
|
|
27
|
+
getItemSize(namespace: string, itemId: string, signalOrOptions?: AbortSignal | IEStoreClientRequestOptions): Promise<number>;
|
|
28
|
+
appendEvent(namespace: string, itemId: string, event: JSONValue, nextEventIndex?: number, signalOrOptions?: AbortSignal | IEStoreClientRequestOptions): Promise<void>;
|
|
29
|
+
popEvent(namespace: string, itemId: string, lastEventIndex?: number, signalOrOptions?: AbortSignal | IEStoreClientRequestOptions): Promise<void>;
|
|
30
|
+
getEvent(namespace: string, itemId: string, index: number, signalOrOptions?: AbortSignal | IEStoreClientRequestOptions): Promise<JSONValue | null>;
|
|
31
|
+
private createSignal;
|
|
28
32
|
}
|
package/lib/estore-client.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRPCClient } from "./utils/rpc-client.js";
|
|
2
|
-
import { raceAbortSignals, timeoutSignal } from 'extra-abort';
|
|
3
|
-
import {
|
|
2
|
+
import { isAbortSignal, raceAbortSignals, timeoutSignal } from 'extra-abort';
|
|
3
|
+
import { isUndefined } from '@blackglory/prelude';
|
|
4
4
|
export { EventIndexConflict } from './contract.js';
|
|
5
5
|
export class EStoreClient {
|
|
6
6
|
static async create(options) {
|
|
@@ -15,50 +15,54 @@ export class EStoreClient {
|
|
|
15
15
|
async close() {
|
|
16
16
|
await this.closeClients();
|
|
17
17
|
}
|
|
18
|
-
async getNamespaceStats(namespace,
|
|
19
|
-
return await this.client.getNamespaceStats(namespace, this.
|
|
18
|
+
async getNamespaceStats(namespace, signalOrOptions) {
|
|
19
|
+
return await this.client.getNamespaceStats(namespace, this.createSignal(signalOrOptions));
|
|
20
20
|
}
|
|
21
|
-
async getAllNamespaces(
|
|
22
|
-
return await this.client.getAllNamespaces(this.
|
|
21
|
+
async getAllNamespaces(signalOrOptions) {
|
|
22
|
+
return await this.client.getAllNamespaces(this.createSignal(signalOrOptions));
|
|
23
23
|
}
|
|
24
|
-
async getAllItemIds(namespace,
|
|
25
|
-
return await this.client.getAllItemIds(namespace, this.
|
|
24
|
+
async getAllItemIds(namespace, signalOrOptions) {
|
|
25
|
+
return await this.client.getAllItemIds(namespace, this.createSignal(signalOrOptions));
|
|
26
26
|
}
|
|
27
|
-
async getAllEvents(namespace, itemId,
|
|
28
|
-
return await this.client.getAllEvents(namespace, itemId, this.
|
|
27
|
+
async getAllEvents(namespace, itemId, signalOrOptions) {
|
|
28
|
+
return await this.client.getAllEvents(namespace, itemId, this.createSignal(signalOrOptions));
|
|
29
29
|
}
|
|
30
|
-
async clearItemsByNamespace(namespace,
|
|
31
|
-
await this.client.clearItemsByNamespace(namespace, this.
|
|
30
|
+
async clearItemsByNamespace(namespace, signalOrOptions) {
|
|
31
|
+
await this.client.clearItemsByNamespace(namespace, this.createSignal(signalOrOptions));
|
|
32
32
|
}
|
|
33
|
-
async removeItem(namespace, itemId,
|
|
34
|
-
await this.client.removeItem(namespace, itemId, this.
|
|
33
|
+
async removeItem(namespace, itemId, signalOrOptions) {
|
|
34
|
+
await this.client.removeItem(namespace, itemId, this.createSignal(signalOrOptions));
|
|
35
35
|
}
|
|
36
|
-
async getItemSize(namespace, itemId,
|
|
37
|
-
return await this.client.getItemSize(namespace, itemId, this.
|
|
36
|
+
async getItemSize(namespace, itemId, signalOrOptions) {
|
|
37
|
+
return await this.client.getItemSize(namespace, itemId, this.createSignal(signalOrOptions));
|
|
38
38
|
}
|
|
39
|
-
async appendEvent(namespace, itemId, event, nextEventIndex,
|
|
39
|
+
async appendEvent(namespace, itemId, event, nextEventIndex, signalOrOptions) {
|
|
40
40
|
if (isUndefined(nextEventIndex)) {
|
|
41
|
-
await this.client.appendEvent(namespace, itemId, event, this.
|
|
41
|
+
await this.client.appendEvent(namespace, itemId, event, this.createSignal(signalOrOptions));
|
|
42
42
|
}
|
|
43
43
|
else {
|
|
44
|
-
await this.client.appendEvent(namespace, itemId, event, nextEventIndex, this.
|
|
44
|
+
await this.client.appendEvent(namespace, itemId, event, nextEventIndex, this.createSignal(signalOrOptions));
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
|
-
async popEvent(namespace, itemId, lastEventIndex,
|
|
47
|
+
async popEvent(namespace, itemId, lastEventIndex, signalOrOptions) {
|
|
48
48
|
if (isUndefined(lastEventIndex)) {
|
|
49
|
-
await this.client.popEvent(namespace, itemId, this.
|
|
49
|
+
await this.client.popEvent(namespace, itemId, this.createSignal(signalOrOptions));
|
|
50
50
|
}
|
|
51
51
|
else {
|
|
52
|
-
await this.client.popEvent(namespace, itemId, lastEventIndex, this.
|
|
52
|
+
await this.client.popEvent(namespace, itemId, lastEventIndex, this.createSignal(signalOrOptions));
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
|
-
async getEvent(namespace, itemId, index,
|
|
56
|
-
return await this.client.getEvent(namespace, itemId, index, this.
|
|
55
|
+
async getEvent(namespace, itemId, index, signalOrOptions) {
|
|
56
|
+
return await this.client.getEvent(namespace, itemId, index, this.createSignal(signalOrOptions));
|
|
57
57
|
}
|
|
58
|
-
|
|
58
|
+
createSignal(signalOrOptions = {}) {
|
|
59
|
+
var _a;
|
|
60
|
+
const options = isAbortSignal(signalOrOptions)
|
|
61
|
+
? { signal: signalOrOptions }
|
|
62
|
+
: signalOrOptions;
|
|
59
63
|
return raceAbortSignals([
|
|
60
|
-
|
|
61
|
-
|
|
64
|
+
options.signal,
|
|
65
|
+
options.timeout !== false && ((_a = (options.timeout && timeoutSignal(options.timeout))) !== null && _a !== void 0 ? _a : (this.timeout && timeoutSignal(this.timeout)))
|
|
62
66
|
]);
|
|
63
67
|
}
|
|
64
68
|
}
|
package/lib/estore-client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"estore-client.js","sourceRoot":"","sources":["../src/estore-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,8BAA4B;AAGtD,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"estore-client.js","sourceRoot":"","sources":["../src/estore-client.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/estore-client.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { createRPCClient } from '@utils/rpc-client.js'
|
|
2
2
|
import { ClientProxy } from 'delight-rpc'
|
|
3
3
|
import { IAPI, INamespaceStats } from './contract.js'
|
|
4
|
-
import { raceAbortSignals, timeoutSignal } from 'extra-abort'
|
|
5
|
-
import {
|
|
4
|
+
import { isAbortSignal, raceAbortSignals, timeoutSignal } from 'extra-abort'
|
|
5
|
+
import { isUndefined, JSONValue } from '@blackglory/prelude'
|
|
6
6
|
export { INamespaceStats } from './contract.js'
|
|
7
7
|
export { EventIndexConflict } from './contract.js'
|
|
8
8
|
|
|
@@ -12,6 +12,11 @@ export interface IEStoreClientOptions {
|
|
|
12
12
|
retryIntervalForReconnection?: number
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
+
export interface IEStoreClientRequestOptions {
|
|
16
|
+
signal?: AbortSignal
|
|
17
|
+
timeout?: number | false
|
|
18
|
+
}
|
|
19
|
+
|
|
15
20
|
export class EStoreClient {
|
|
16
21
|
static async create(options: IEStoreClientOptions): Promise<EStoreClient> {
|
|
17
22
|
const { client, close } = await createRPCClient(
|
|
@@ -34,61 +39,75 @@ export class EStoreClient {
|
|
|
34
39
|
|
|
35
40
|
async getNamespaceStats(
|
|
36
41
|
namespace: string
|
|
37
|
-
,
|
|
42
|
+
, signalOrOptions?: AbortSignal | IEStoreClientRequestOptions
|
|
38
43
|
): Promise<INamespaceStats> {
|
|
39
44
|
return await this.client.getNamespaceStats(
|
|
40
45
|
namespace
|
|
41
|
-
, this.
|
|
46
|
+
, this.createSignal(signalOrOptions)
|
|
42
47
|
)
|
|
43
48
|
}
|
|
44
49
|
|
|
45
|
-
async getAllNamespaces(
|
|
46
|
-
|
|
50
|
+
async getAllNamespaces(
|
|
51
|
+
signalOrOptions?: AbortSignal | IEStoreClientRequestOptions
|
|
52
|
+
): Promise<string[]> {
|
|
53
|
+
return await this.client.getAllNamespaces(
|
|
54
|
+
this.createSignal(signalOrOptions)
|
|
55
|
+
)
|
|
47
56
|
}
|
|
48
57
|
|
|
49
58
|
async getAllItemIds(
|
|
50
59
|
namespace: string
|
|
51
|
-
,
|
|
60
|
+
, signalOrOptions?: AbortSignal | IEStoreClientRequestOptions
|
|
52
61
|
): Promise<string[]> {
|
|
53
|
-
return await this.client.getAllItemIds(
|
|
62
|
+
return await this.client.getAllItemIds(
|
|
63
|
+
namespace
|
|
64
|
+
, this.createSignal(signalOrOptions)
|
|
65
|
+
)
|
|
54
66
|
}
|
|
55
67
|
|
|
56
68
|
async getAllEvents(
|
|
57
69
|
namespace: string
|
|
58
70
|
, itemId: string
|
|
59
|
-
,
|
|
71
|
+
, signalOrOptions?: AbortSignal | IEStoreClientRequestOptions
|
|
60
72
|
): Promise<JSONValue[]> {
|
|
61
73
|
return await this.client.getAllEvents(
|
|
62
74
|
namespace
|
|
63
75
|
, itemId
|
|
64
|
-
, this.
|
|
76
|
+
, this.createSignal(signalOrOptions)
|
|
65
77
|
)
|
|
66
78
|
}
|
|
67
79
|
|
|
68
80
|
async clearItemsByNamespace(
|
|
69
81
|
namespace: string
|
|
70
|
-
,
|
|
82
|
+
, signalOrOptions?: AbortSignal | IEStoreClientRequestOptions
|
|
71
83
|
): Promise<void> {
|
|
72
|
-
await this.client.clearItemsByNamespace(
|
|
84
|
+
await this.client.clearItemsByNamespace(
|
|
85
|
+
namespace
|
|
86
|
+
, this.createSignal(signalOrOptions)
|
|
87
|
+
)
|
|
73
88
|
}
|
|
74
89
|
|
|
75
90
|
async removeItem(
|
|
76
91
|
namespace: string
|
|
77
92
|
, itemId: string
|
|
78
|
-
,
|
|
93
|
+
, signalOrOptions?: AbortSignal | IEStoreClientRequestOptions
|
|
79
94
|
): Promise<void> {
|
|
80
|
-
await this.client.removeItem(
|
|
95
|
+
await this.client.removeItem(
|
|
96
|
+
namespace
|
|
97
|
+
, itemId
|
|
98
|
+
, this.createSignal(signalOrOptions)
|
|
99
|
+
)
|
|
81
100
|
}
|
|
82
101
|
|
|
83
102
|
async getItemSize(
|
|
84
103
|
namespace: string
|
|
85
104
|
, itemId: string
|
|
86
|
-
,
|
|
105
|
+
, signalOrOptions?: AbortSignal | IEStoreClientRequestOptions
|
|
87
106
|
): Promise<number> {
|
|
88
107
|
return await this.client.getItemSize(
|
|
89
108
|
namespace
|
|
90
109
|
, itemId
|
|
91
|
-
, this.
|
|
110
|
+
, this.createSignal(signalOrOptions)
|
|
92
111
|
)
|
|
93
112
|
}
|
|
94
113
|
|
|
@@ -101,14 +120,14 @@ export class EStoreClient {
|
|
|
101
120
|
, itemId: string
|
|
102
121
|
, event: JSONValue
|
|
103
122
|
, nextEventIndex?: number
|
|
104
|
-
,
|
|
123
|
+
, signalOrOptions?: AbortSignal | IEStoreClientRequestOptions
|
|
105
124
|
): Promise<void> {
|
|
106
125
|
if (isUndefined(nextEventIndex)) {
|
|
107
126
|
await this.client.appendEvent(
|
|
108
127
|
namespace
|
|
109
128
|
, itemId
|
|
110
129
|
, event
|
|
111
|
-
, this.
|
|
130
|
+
, this.createSignal(signalOrOptions)
|
|
112
131
|
)
|
|
113
132
|
} else {
|
|
114
133
|
await this.client.appendEvent(
|
|
@@ -116,7 +135,7 @@ export class EStoreClient {
|
|
|
116
135
|
, itemId
|
|
117
136
|
, event
|
|
118
137
|
, nextEventIndex
|
|
119
|
-
, this.
|
|
138
|
+
, this.createSignal(signalOrOptions)
|
|
120
139
|
)
|
|
121
140
|
}
|
|
122
141
|
}
|
|
@@ -129,20 +148,20 @@ export class EStoreClient {
|
|
|
129
148
|
namespace: string
|
|
130
149
|
, itemId: string
|
|
131
150
|
, lastEventIndex?: number
|
|
132
|
-
,
|
|
151
|
+
, signalOrOptions?: AbortSignal | IEStoreClientRequestOptions
|
|
133
152
|
): Promise<void> {
|
|
134
153
|
if (isUndefined(lastEventIndex)) {
|
|
135
154
|
await this.client.popEvent(
|
|
136
155
|
namespace
|
|
137
156
|
, itemId
|
|
138
|
-
, this.
|
|
157
|
+
, this.createSignal(signalOrOptions)
|
|
139
158
|
)
|
|
140
159
|
} else {
|
|
141
160
|
await this.client.popEvent(
|
|
142
161
|
namespace
|
|
143
162
|
, itemId
|
|
144
163
|
, lastEventIndex
|
|
145
|
-
, this.
|
|
164
|
+
, this.createSignal(signalOrOptions)
|
|
146
165
|
)
|
|
147
166
|
}
|
|
148
167
|
}
|
|
@@ -151,20 +170,29 @@ export class EStoreClient {
|
|
|
151
170
|
namespace: string
|
|
152
171
|
, itemId: string
|
|
153
172
|
, index: number
|
|
154
|
-
,
|
|
173
|
+
, signalOrOptions?: AbortSignal | IEStoreClientRequestOptions
|
|
155
174
|
): Promise<JSONValue | null> {
|
|
156
175
|
return await this.client.getEvent(
|
|
157
176
|
namespace
|
|
158
177
|
, itemId
|
|
159
178
|
, index
|
|
160
|
-
, this.
|
|
179
|
+
, this.createSignal(signalOrOptions)
|
|
161
180
|
)
|
|
162
181
|
}
|
|
163
182
|
|
|
164
|
-
private
|
|
183
|
+
private createSignal(
|
|
184
|
+
signalOrOptions: AbortSignal | IEStoreClientRequestOptions = {}
|
|
185
|
+
): AbortSignal {
|
|
186
|
+
const options: IEStoreClientRequestOptions = isAbortSignal(signalOrOptions)
|
|
187
|
+
? { signal: signalOrOptions }
|
|
188
|
+
: signalOrOptions
|
|
189
|
+
|
|
165
190
|
return raceAbortSignals([
|
|
166
|
-
|
|
167
|
-
,
|
|
191
|
+
options.signal
|
|
192
|
+
, options.timeout !== false && (
|
|
193
|
+
(options.timeout && timeoutSignal(options.timeout)) ??
|
|
194
|
+
(this.timeout && timeoutSignal(this.timeout))
|
|
195
|
+
)
|
|
168
196
|
])
|
|
169
197
|
}
|
|
170
198
|
}
|