@api-client/core 0.4.0 → 0.4.3
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/build/browser.d.ts +6 -3
- package/build/browser.js +7 -2
- package/build/browser.js.map +1 -1
- package/build/index.d.ts +7 -5
- package/build/index.js +4 -3
- package/build/index.js.map +1 -1
- package/build/src/models/HttpHistory.d.ts +29 -0
- package/build/src/models/HttpHistory.js.map +1 -1
- package/build/src/models/HttpProject.d.ts +37 -1
- package/build/src/models/HttpProject.js +49 -1
- package/build/src/models/HttpProject.js.map +1 -1
- package/build/src/models/RequestLog.d.ts +8 -0
- package/build/src/models/RequestLog.js +14 -1
- package/build/src/models/RequestLog.js.map +1 -1
- package/build/src/runtime/node/InteropInterfaces.d.ts +115 -0
- package/build/src/runtime/node/InteropInterfaces.js +2 -0
- package/build/src/runtime/node/InteropInterfaces.js.map +1 -0
- package/build/src/runtime/node/ProjectParallelRunner.d.ts +2 -7
- package/build/src/runtime/node/ProjectParallelRunner.js.map +1 -1
- package/build/src/runtime/node/ProjectRequestRunner.d.ts +17 -49
- package/build/src/runtime/node/ProjectRequestRunner.js +39 -10
- package/build/src/runtime/node/ProjectRequestRunner.js.map +1 -1
- package/build/src/runtime/node/ProjectRunner.d.ts +1 -59
- package/build/src/runtime/node/ProjectRunner.js.map +1 -1
- package/build/src/runtime/node/ProjectRunnerWorker.js.map +1 -1
- package/build/src/runtime/store/AuthSdk.d.ts +28 -0
- package/build/src/runtime/store/AuthSdk.js +123 -0
- package/build/src/runtime/store/AuthSdk.js.map +1 -0
- package/build/src/runtime/store/BackendSdk.d.ts +8 -0
- package/build/src/runtime/store/BackendSdk.js +25 -0
- package/build/src/runtime/store/BackendSdk.js.map +1 -0
- package/build/src/runtime/store/HistorySdk.d.ts +48 -0
- package/build/src/runtime/store/HistorySdk.js +142 -0
- package/build/src/runtime/store/HistorySdk.js.map +1 -0
- package/build/src/runtime/store/Http.d.ts +14 -0
- package/build/src/runtime/store/Http.js +4 -0
- package/build/src/runtime/store/Http.js.map +1 -0
- package/build/src/runtime/store/HttpNode.d.ts +16 -0
- package/build/src/runtime/store/HttpNode.js +95 -0
- package/build/src/runtime/store/HttpNode.js.map +1 -0
- package/build/src/runtime/store/HttpWeb.d.ts +15 -0
- package/build/src/runtime/store/HttpWeb.js +83 -0
- package/build/src/runtime/store/HttpWeb.js.map +1 -0
- package/build/src/runtime/store/ProjectsSdk.d.ts +43 -0
- package/build/src/runtime/store/ProjectsSdk.js +144 -0
- package/build/src/runtime/store/ProjectsSdk.js.map +1 -0
- package/build/src/runtime/store/RouteBuilder.d.ts +42 -0
- package/build/src/runtime/store/RouteBuilder.js +75 -0
- package/build/src/runtime/store/RouteBuilder.js.map +1 -0
- package/build/src/runtime/store/Sdk.d.ts +79 -0
- package/build/src/runtime/store/Sdk.js +117 -0
- package/build/src/runtime/store/Sdk.js.map +1 -0
- package/build/src/runtime/store/SdkBase.d.ts +45 -0
- package/build/src/runtime/store/SdkBase.js +40 -0
- package/build/src/runtime/store/SdkBase.js.map +1 -0
- package/build/src/runtime/store/SpacesSdk.d.ts +50 -0
- package/build/src/runtime/store/SpacesSdk.js +185 -0
- package/build/src/runtime/store/SpacesSdk.js.map +1 -0
- package/build/src/runtime/store/StoreSdkNode.d.ts +10 -0
- package/build/src/runtime/store/StoreSdkNode.js +11 -0
- package/build/src/runtime/store/StoreSdkNode.js.map +1 -0
- package/build/src/runtime/store/StoreSdkWeb.d.ts +10 -0
- package/build/src/runtime/store/StoreSdkWeb.js +11 -0
- package/build/src/runtime/store/StoreSdkWeb.js.map +1 -0
- package/build/src/runtime/store/UsersSdk.d.ts +18 -0
- package/build/src/runtime/store/UsersSdk.js +88 -0
- package/build/src/runtime/store/UsersSdk.js.map +1 -0
- package/build/src/runtime/store/WsClient.d.ts +24 -0
- package/build/src/runtime/store/WsClient.js +4 -0
- package/build/src/runtime/store/WsClient.js.map +1 -0
- package/build/src/runtime/store/WsClientNode.d.ts +24 -0
- package/build/src/runtime/store/WsClientNode.js +66 -0
- package/build/src/runtime/store/WsClientNode.js.map +1 -0
- package/build/src/runtime/store/WsClientWeb.d.ts +23 -0
- package/build/src/runtime/store/WsClientWeb.js +73 -0
- package/build/src/runtime/store/WsClientWeb.js.map +1 -0
- package/package.json +4 -6
- package/src/models/HttpHistory.ts +30 -0
- package/src/models/HttpProject.ts +82 -1
- package/src/models/RequestLog.ts +17 -1
- package/src/runtime/node/InteropInterfaces.ts +121 -0
- package/src/runtime/node/ProjectParallelRunner.ts +2 -9
- package/src/runtime/node/ProjectRequestRunner.ts +42 -61
- package/src/runtime/node/ProjectRunner.ts +1 -60
- package/src/runtime/node/ProjectRunnerWorker.ts +2 -1
- package/src/runtime/store/AuthSdk.ts +126 -0
- package/src/runtime/store/BackendSdk.ts +25 -0
- package/src/runtime/store/HistorySdk.ts +157 -0
- package/src/runtime/store/Http.ts +18 -0
- package/src/runtime/store/HttpNode.ts +100 -0
- package/src/runtime/store/HttpWeb.ts +89 -0
- package/src/runtime/store/ProjectsSdk.ts +147 -0
- package/src/runtime/store/RouteBuilder.ts +89 -0
- package/src/runtime/store/Sdk.ts +131 -0
- package/src/runtime/store/SdkBase.ts +72 -0
- package/src/runtime/store/SpacesSdk.ts +190 -0
- package/src/runtime/store/StoreSdkNode.ts +13 -0
- package/src/runtime/store/StoreSdkWeb.ts +13 -0
- package/src/runtime/store/UsersSdk.ts +89 -0
- package/src/runtime/store/WsClient.ts +28 -0
- package/src/runtime/store/WsClientNode.ts +68 -0
- package/src/runtime/store/WsClientWeb.ts +75 -0
- package/build/src/models/HistoryIndex.d.ts +0 -45
- package/build/src/models/HistoryIndex.js +0 -56
- package/build/src/models/HistoryIndex.js.map +0 -1
- package/build/src/runtime/store/StoreSdk.d.ts +0 -279
- package/build/src/runtime/store/StoreSdk.js +0 -842
- package/build/src/runtime/store/StoreSdk.js.map +0 -1
- package/src/models/HistoryIndex.ts +0 -81
- package/src/runtime/store/StoreSdk.ts +0 -895
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import { SdkBase, E_RESPONSE_STATUS, E_RESPONSE_NO_VALUE, E_INVALID_JSON, E_RESPONSE_UNKNOWN, E_RESPONSE_LOCATION } from './SdkBase.js';
|
|
2
|
+
import { RouteBuilder } from './RouteBuilder.js';
|
|
3
|
+
import { Kind as WorkspaceKind } from '../../models/Workspace.js';
|
|
4
|
+
export class SpacesSdk extends SdkBase {
|
|
5
|
+
/**
|
|
6
|
+
* Lists spaces in the store.
|
|
7
|
+
* @param options Optional query options.
|
|
8
|
+
*/
|
|
9
|
+
async list(options) {
|
|
10
|
+
const { token } = this.sdk;
|
|
11
|
+
const url = this.sdk.getUrl(RouteBuilder.spaces());
|
|
12
|
+
this.sdk.appendListOptions(url, options);
|
|
13
|
+
const result = await this.sdk.http.get(url.toString(), { token });
|
|
14
|
+
this.inspectCommonStatusCodes(result.status);
|
|
15
|
+
const E_PREFIX = 'Unable to list spaces. ';
|
|
16
|
+
if (result.status !== 200) {
|
|
17
|
+
this.logInvalidResponse(result);
|
|
18
|
+
throw new Error(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`);
|
|
19
|
+
}
|
|
20
|
+
if (!result.body) {
|
|
21
|
+
throw new Error(`${E_PREFIX}${E_RESPONSE_NO_VALUE}`);
|
|
22
|
+
}
|
|
23
|
+
let data;
|
|
24
|
+
try {
|
|
25
|
+
data = JSON.parse(result.body);
|
|
26
|
+
}
|
|
27
|
+
catch (e) {
|
|
28
|
+
throw new Error(`${E_PREFIX}${E_INVALID_JSON}.`);
|
|
29
|
+
}
|
|
30
|
+
if (!Array.isArray(data.data)) {
|
|
31
|
+
throw new Error(`${E_PREFIX}${E_RESPONSE_UNKNOWN}.`);
|
|
32
|
+
}
|
|
33
|
+
return data;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Creates a workspace in the store.
|
|
37
|
+
* @param space The workspace definition.
|
|
38
|
+
* @returns The key of the creates space.
|
|
39
|
+
*/
|
|
40
|
+
async create(space) {
|
|
41
|
+
const { token } = this.sdk;
|
|
42
|
+
const url = this.sdk.getUrl(RouteBuilder.spaces());
|
|
43
|
+
const body = JSON.stringify(space);
|
|
44
|
+
const result = await this.sdk.http.post(url.toString(), { token, body });
|
|
45
|
+
this.inspectCommonStatusCodes(result.status);
|
|
46
|
+
const E_PREFIX = 'Unable to create a user space. ';
|
|
47
|
+
if (result.status !== 204) {
|
|
48
|
+
this.logInvalidResponse(result);
|
|
49
|
+
throw new Error(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`);
|
|
50
|
+
}
|
|
51
|
+
const location = result.headers.get('location');
|
|
52
|
+
if (!location) {
|
|
53
|
+
throw new Error(`${E_PREFIX}${E_RESPONSE_LOCATION}`);
|
|
54
|
+
}
|
|
55
|
+
const id = location.split('/').pop();
|
|
56
|
+
return id;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Reads a user space definition from the store.
|
|
60
|
+
* @param key The user space key
|
|
61
|
+
* @returns The definition of the user space.
|
|
62
|
+
*/
|
|
63
|
+
async read(key) {
|
|
64
|
+
const { token } = this.sdk;
|
|
65
|
+
const url = this.sdk.getUrl(RouteBuilder.space(key));
|
|
66
|
+
const result = await this.sdk.http.get(url.toString(), { token });
|
|
67
|
+
this.inspectCommonStatusCodes(result.status);
|
|
68
|
+
const E_PREFIX = 'Unable to read a user space. ';
|
|
69
|
+
if (result.status !== 200) {
|
|
70
|
+
this.logInvalidResponse(result);
|
|
71
|
+
throw new Error(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`);
|
|
72
|
+
}
|
|
73
|
+
if (!result.body) {
|
|
74
|
+
throw new Error(`${E_PREFIX}${E_RESPONSE_NO_VALUE}`);
|
|
75
|
+
}
|
|
76
|
+
let data;
|
|
77
|
+
try {
|
|
78
|
+
data = JSON.parse(result.body);
|
|
79
|
+
}
|
|
80
|
+
catch (e) {
|
|
81
|
+
throw new Error(`${E_PREFIX}${E_INVALID_JSON}.`);
|
|
82
|
+
}
|
|
83
|
+
if (data.kind !== WorkspaceKind) {
|
|
84
|
+
throw new Error(`${E_PREFIX}${E_RESPONSE_UNKNOWN}.`);
|
|
85
|
+
}
|
|
86
|
+
return data;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Patches a user space in the store.
|
|
90
|
+
* @param key The key of the user space to patch
|
|
91
|
+
* @param value The JSON patch to be processed.
|
|
92
|
+
* @returns The JSON patch to revert the change using the `json8-patch` library
|
|
93
|
+
*/
|
|
94
|
+
async patch(key, value) {
|
|
95
|
+
const { token } = this.sdk;
|
|
96
|
+
const url = this.sdk.getUrl(RouteBuilder.space(key));
|
|
97
|
+
const body = JSON.stringify(value);
|
|
98
|
+
const result = await this.sdk.http.patch(url.toString(), { token, body });
|
|
99
|
+
this.inspectCommonStatusCodes(result.status);
|
|
100
|
+
const E_PREFIX = 'Unable to patch a user space. ';
|
|
101
|
+
if (result.status !== 200) {
|
|
102
|
+
this.logInvalidResponse(result);
|
|
103
|
+
throw new Error(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`);
|
|
104
|
+
}
|
|
105
|
+
if (!result.body) {
|
|
106
|
+
throw new Error(`${E_PREFIX}${E_RESPONSE_NO_VALUE}`);
|
|
107
|
+
}
|
|
108
|
+
let data;
|
|
109
|
+
try {
|
|
110
|
+
data = JSON.parse(result.body);
|
|
111
|
+
}
|
|
112
|
+
catch (e) {
|
|
113
|
+
throw new Error(`${E_PREFIX}${E_INVALID_JSON}.`);
|
|
114
|
+
}
|
|
115
|
+
if (!data.revert) {
|
|
116
|
+
throw new Error(`${E_PREFIX}${E_RESPONSE_UNKNOWN}.`);
|
|
117
|
+
}
|
|
118
|
+
return data.revert;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Deletes the space in the store.
|
|
122
|
+
*
|
|
123
|
+
* @param key The key of the space to delete.
|
|
124
|
+
*/
|
|
125
|
+
async delete(key) {
|
|
126
|
+
const { token } = this.sdk;
|
|
127
|
+
const url = this.sdk.getUrl(RouteBuilder.space(key));
|
|
128
|
+
const result = await this.sdk.http.delete(url.toString(), { token });
|
|
129
|
+
this.inspectCommonStatusCodes(result.status);
|
|
130
|
+
const E_PREFIX = 'Unable to delete a user space. ';
|
|
131
|
+
if (result.status !== 204) {
|
|
132
|
+
this.logInvalidResponse(result);
|
|
133
|
+
throw new Error(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Updates the sharing options of the space.
|
|
138
|
+
*
|
|
139
|
+
* @param key The user space key
|
|
140
|
+
* @param value The patch operation on the space's ACL
|
|
141
|
+
*/
|
|
142
|
+
async patchUsers(key, value) {
|
|
143
|
+
const { token } = this.sdk;
|
|
144
|
+
const url = this.sdk.getUrl(RouteBuilder.spaceUsers(key));
|
|
145
|
+
const body = JSON.stringify(value);
|
|
146
|
+
const result = await this.sdk.http.patch(url.toString(), { token, body });
|
|
147
|
+
this.inspectCommonStatusCodes(result.status);
|
|
148
|
+
const E_PREFIX = 'Unable to patch a user space. ';
|
|
149
|
+
if (result.status !== 204) {
|
|
150
|
+
this.logInvalidResponse(result);
|
|
151
|
+
throw new Error(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Lists uses having access to the user space.
|
|
156
|
+
*
|
|
157
|
+
* @param key The user space key
|
|
158
|
+
*/
|
|
159
|
+
async listUsers(key) {
|
|
160
|
+
const { token } = this.sdk;
|
|
161
|
+
const url = this.sdk.getUrl(RouteBuilder.spaceUsers(key));
|
|
162
|
+
const result = await this.sdk.http.get(url.toString(), { token });
|
|
163
|
+
this.inspectCommonStatusCodes(result.status);
|
|
164
|
+
const E_PREFIX = 'Unable to list users in the space. ';
|
|
165
|
+
if (result.status !== 200) {
|
|
166
|
+
this.logInvalidResponse(result);
|
|
167
|
+
throw new Error(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`);
|
|
168
|
+
}
|
|
169
|
+
if (!result.body) {
|
|
170
|
+
throw new Error(`${E_PREFIX}${E_RESPONSE_NO_VALUE}`);
|
|
171
|
+
}
|
|
172
|
+
let data;
|
|
173
|
+
try {
|
|
174
|
+
data = JSON.parse(result.body);
|
|
175
|
+
}
|
|
176
|
+
catch (e) {
|
|
177
|
+
throw new Error(`${E_PREFIX}${E_INVALID_JSON}.`);
|
|
178
|
+
}
|
|
179
|
+
if (!Array.isArray(data.data)) {
|
|
180
|
+
throw new Error(`${E_PREFIX}${E_RESPONSE_UNKNOWN}.`);
|
|
181
|
+
}
|
|
182
|
+
return data;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
//# sourceMappingURL=SpacesSdk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SpacesSdk.js","sourceRoot":"","sources":["../../../../src/runtime/store/SpacesSdk.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,cAAc,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxI,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAyC,IAAI,IAAI,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAGzG,MAAM,OAAO,SAAU,SAAQ,OAAO;IACpC;;;OAGG;IACH,KAAK,CAAC,IAAI,CAAC,OAAsB;QAC/B,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;QAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,yBAAyB,CAAC;QAC3C,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,EAAE;YACzB,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,GAAG,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;SACpE;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;YAChB,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,GAAG,mBAAmB,EAAE,CAAC,CAAC;SACtD;QACD,IAAI,IAAmB,CAAC;QACxB,IAAI;YACF,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SAChC;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,GAAG,cAAc,GAAG,CAAC,CAAC;SAClD;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC7B,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,GAAG,kBAAkB,GAAG,CAAC,CAAC;SACtD;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,KAA6B;QACxC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;QAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACzE,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,iCAAiC,CAAC;QACnD,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,EAAE;YACzB,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,GAAG,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;SACpE;QACD,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,GAAG,mBAAmB,EAAE,CAAC,CAAC;SACtD;QACD,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QACrC,OAAO,EAAY,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,IAAI,CAAC,GAAW;QACpB,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;QAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,+BAA+B,CAAC;QACjD,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,EAAE;YACzB,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,GAAG,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;SACpE;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;YAChB,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,GAAG,mBAAmB,EAAE,CAAC,CAAC;SACtD;QACD,IAAI,IAAoB,CAAC;QACzB,IAAI;YACF,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SAChC;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,GAAG,cAAc,GAAG,CAAC,CAAC;SAClD;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE;YAC/B,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,GAAG,kBAAkB,GAAG,CAAC,CAAC;SACtD;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,KAAK,CAAC,GAAW,EAAE,KAAgB;QACvC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;QAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACrD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,gCAAgC,CAAC;QAClD,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,EAAE;YACzB,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,GAAG,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;SACpE;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;YAChB,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,GAAG,mBAAmB,EAAE,CAAC,CAAC;SACtD;QACD,IAAI,IAAS,CAAC;QACd,IAAI;YACF,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SAChC;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,GAAG,cAAc,GAAG,CAAC,CAAC;SAClD;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,GAAG,kBAAkB,GAAG,CAAC,CAAC;SACtD;QACD,OAAO,IAAI,CAAC,MAAmB,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,GAAW;QACtB,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;QAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACrE,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,iCAAiC,CAAC;QACnD,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,EAAE;YACzB,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,GAAG,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;SACpE;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,UAAU,CAAC,GAAW,EAAE,KAA4B;QACxD,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;QAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,gCAAgC,CAAC;QAClD,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,EAAE;YACzB,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,GAAG,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;SACpE;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,SAAS,CAAC,GAAW;QACzB,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;QAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,qCAAqC,CAAC;QACvD,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,EAAE;YACzB,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,GAAG,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;SACpE;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;YAChB,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,GAAG,mBAAmB,EAAE,CAAC,CAAC;SACtD;QACD,IAAI,IAAmB,CAAC;QACxB,IAAI;YACF,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SAChC;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,GAAG,cAAc,GAAG,CAAC,CAAC;SAClD;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC7B,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,GAAG,kBAAkB,GAAG,CAAC,CAAC;SACtD;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { HttpNode } from './HttpNode.js';
|
|
2
|
+
import { WsClientNode } from './WsClientNode.js';
|
|
3
|
+
import { Sdk } from './Sdk.js';
|
|
4
|
+
/**
|
|
5
|
+
* NodeJS API for API Client's net-store module.
|
|
6
|
+
*/
|
|
7
|
+
export class StoreSdk extends Sdk {
|
|
8
|
+
http = new HttpNode(this);
|
|
9
|
+
ws = new WsClientNode(this);
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=StoreSdkNode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StoreSdkNode.js","sourceRoot":"","sources":["../../../../src/runtime/store/StoreSdkNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAI/B;;GAEG;AACH,MAAM,OAAO,QAAS,SAAQ,GAAG;IAC/B,IAAI,GAAS,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;IAChC,EAAE,GAAa,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;CACvC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { HttpWeb } from './HttpWeb.js';
|
|
2
|
+
import { WsClientWeb } from './WsClientWeb.js';
|
|
3
|
+
import { Sdk } from './Sdk.js';
|
|
4
|
+
/**
|
|
5
|
+
* NodeJS API for API Client's net-store module.
|
|
6
|
+
*/
|
|
7
|
+
export class StoreSdk extends Sdk {
|
|
8
|
+
http = new HttpWeb(this);
|
|
9
|
+
ws = new WsClientWeb(this);
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=StoreSdkWeb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StoreSdkWeb.js","sourceRoot":"","sources":["../../../../src/runtime/store/StoreSdkWeb.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAI/B;;GAEG;AACH,MAAM,OAAO,QAAS,SAAQ,GAAG;IAC/B,IAAI,GAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,EAAE,GAAa,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;CACtC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { SdkBase } from './SdkBase.js';
|
|
2
|
+
import { IListOptions, IListResponse } from '../../models/Backend.js';
|
|
3
|
+
import { IUser } from '../../models/User.js';
|
|
4
|
+
export declare class UsersSdk extends SdkBase {
|
|
5
|
+
me(): Promise<IUser>;
|
|
6
|
+
/**
|
|
7
|
+
* Lists users in the store
|
|
8
|
+
*
|
|
9
|
+
* @param options Optional query options.
|
|
10
|
+
*/
|
|
11
|
+
list(options?: IListOptions): Promise<IListResponse>;
|
|
12
|
+
/**
|
|
13
|
+
* Reads a user information from the store.
|
|
14
|
+
* @param key The user key.
|
|
15
|
+
* @returns The user object
|
|
16
|
+
*/
|
|
17
|
+
read(key: string): Promise<IUser>;
|
|
18
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { SdkBase, E_RESPONSE_STATUS, E_RESPONSE_NO_VALUE, E_INVALID_JSON, E_RESPONSE_UNKNOWN } from './SdkBase.js';
|
|
2
|
+
import { RouteBuilder } from './RouteBuilder.js';
|
|
3
|
+
export class UsersSdk extends SdkBase {
|
|
4
|
+
async me() {
|
|
5
|
+
const { token } = this.sdk;
|
|
6
|
+
const url = this.sdk.getUrl(RouteBuilder.usersMe());
|
|
7
|
+
const result = await this.sdk.http.get(url.toString(), { token });
|
|
8
|
+
this.inspectCommonStatusCodes(result.status);
|
|
9
|
+
const E_PREFIX = 'Unable to read a user. ';
|
|
10
|
+
if (result.status !== 200) {
|
|
11
|
+
this.logInvalidResponse(result);
|
|
12
|
+
throw new Error(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`);
|
|
13
|
+
}
|
|
14
|
+
if (!result.body) {
|
|
15
|
+
throw new Error(`${E_PREFIX}${E_RESPONSE_NO_VALUE}`);
|
|
16
|
+
}
|
|
17
|
+
let data;
|
|
18
|
+
try {
|
|
19
|
+
data = JSON.parse(result.body);
|
|
20
|
+
}
|
|
21
|
+
catch (e) {
|
|
22
|
+
throw new Error(`${E_PREFIX}${E_INVALID_JSON}.`);
|
|
23
|
+
}
|
|
24
|
+
if (!data.key) {
|
|
25
|
+
throw new Error(`${E_PREFIX}${E_RESPONSE_UNKNOWN}.`);
|
|
26
|
+
}
|
|
27
|
+
return data;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Lists users in the store
|
|
31
|
+
*
|
|
32
|
+
* @param options Optional query options.
|
|
33
|
+
*/
|
|
34
|
+
async list(options) {
|
|
35
|
+
const { token } = this.sdk;
|
|
36
|
+
const url = this.sdk.getUrl(RouteBuilder.users());
|
|
37
|
+
this.sdk.appendListOptions(url, options);
|
|
38
|
+
const result = await this.sdk.http.get(url.toString(), { token });
|
|
39
|
+
this.inspectCommonStatusCodes(result.status);
|
|
40
|
+
const E_PREFIX = 'Unable to list projects. ';
|
|
41
|
+
if (result.status !== 200) {
|
|
42
|
+
this.logInvalidResponse(result);
|
|
43
|
+
throw new Error(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`);
|
|
44
|
+
}
|
|
45
|
+
if (!result.body) {
|
|
46
|
+
throw new Error(`${E_PREFIX}${E_RESPONSE_NO_VALUE}`);
|
|
47
|
+
}
|
|
48
|
+
let data;
|
|
49
|
+
try {
|
|
50
|
+
data = JSON.parse(result.body);
|
|
51
|
+
}
|
|
52
|
+
catch (e) {
|
|
53
|
+
throw new Error(`${E_PREFIX}${E_INVALID_JSON}.`);
|
|
54
|
+
}
|
|
55
|
+
if (!Array.isArray(data.data)) {
|
|
56
|
+
throw new Error(`${E_PREFIX}${E_RESPONSE_UNKNOWN}.`);
|
|
57
|
+
}
|
|
58
|
+
return data;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Reads a user information from the store.
|
|
62
|
+
* @param key The user key.
|
|
63
|
+
* @returns The user object
|
|
64
|
+
*/
|
|
65
|
+
async read(key) {
|
|
66
|
+
const { token } = this.sdk;
|
|
67
|
+
const url = this.sdk.getUrl(RouteBuilder.user(key));
|
|
68
|
+
const result = await this.sdk.http.get(url.toString(), { token });
|
|
69
|
+
this.inspectCommonStatusCodes(result.status);
|
|
70
|
+
const E_PREFIX = 'Unable to read the user info. ';
|
|
71
|
+
if (result.status !== 200) {
|
|
72
|
+
this.logInvalidResponse(result);
|
|
73
|
+
throw new Error(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`);
|
|
74
|
+
}
|
|
75
|
+
if (!result.body) {
|
|
76
|
+
throw new Error(`${E_PREFIX}${E_RESPONSE_NO_VALUE}`);
|
|
77
|
+
}
|
|
78
|
+
let data;
|
|
79
|
+
try {
|
|
80
|
+
data = JSON.parse(result.body);
|
|
81
|
+
}
|
|
82
|
+
catch (e) {
|
|
83
|
+
throw new Error(`${E_PREFIX}${E_INVALID_JSON}.`);
|
|
84
|
+
}
|
|
85
|
+
return data;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=UsersSdk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UsersSdk.js","sourceRoot":"","sources":["../../../../src/runtime/store/UsersSdk.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import WebSocketNode from 'ws';
|
|
2
|
+
import { SdkBase } from './SdkBase.js';
|
|
3
|
+
export declare abstract class WsClient extends SdkBase {
|
|
4
|
+
/**
|
|
5
|
+
* Creates a WS client with optional token
|
|
6
|
+
* @param addr The ws:// address
|
|
7
|
+
* @param token Optional token to add.
|
|
8
|
+
*/
|
|
9
|
+
abstract getClient(addr: string, token?: string): WebSocket | WebSocketNode;
|
|
10
|
+
/**
|
|
11
|
+
* Connect to the WS server
|
|
12
|
+
*
|
|
13
|
+
* @param client The client to wait for connection.
|
|
14
|
+
*/
|
|
15
|
+
abstract connect(client: WebSocket | WebSocketNode): Promise<void>;
|
|
16
|
+
/**
|
|
17
|
+
* Disconnects from the WS server.
|
|
18
|
+
*/
|
|
19
|
+
abstract disconnect(client: WebSocket | WebSocketNode): Promise<void>;
|
|
20
|
+
/**
|
|
21
|
+
* The combination of `getClient()` and `connect()`.
|
|
22
|
+
*/
|
|
23
|
+
abstract createAndConnect(addr: string, token?: string): Promise<WebSocket | WebSocketNode>;
|
|
24
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WsClient.js","sourceRoot":"","sources":["../../../../src/runtime/store/WsClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,OAAgB,QAAS,SAAQ,OAAO;CAwB7C"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import WebSocket from 'ws';
|
|
2
|
+
import { WsClient } from './WsClient.js';
|
|
3
|
+
export declare class WsClientNode extends WsClient {
|
|
4
|
+
/**
|
|
5
|
+
* Creates a WS client with optional token
|
|
6
|
+
* @param addr The ws:// address
|
|
7
|
+
* @param token Optional token to add.
|
|
8
|
+
*/
|
|
9
|
+
getClient(addr: string, token?: string | undefined): WebSocket;
|
|
10
|
+
/**
|
|
11
|
+
* Connect to the WS server
|
|
12
|
+
*
|
|
13
|
+
* @param client The client to wait for connection.
|
|
14
|
+
*/
|
|
15
|
+
connect(client: WebSocket): Promise<void>;
|
|
16
|
+
/**
|
|
17
|
+
* Disconnects from the WS server.
|
|
18
|
+
*/
|
|
19
|
+
disconnect(client: WebSocket): Promise<void>;
|
|
20
|
+
/**
|
|
21
|
+
* The combination of `getClient()` and `connect()`.
|
|
22
|
+
*/
|
|
23
|
+
createAndConnect(addr: string, token?: string): Promise<WebSocket>;
|
|
24
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import WebSocket from 'ws';
|
|
2
|
+
import { WsClient } from './WsClient.js';
|
|
3
|
+
export class WsClientNode extends WsClient {
|
|
4
|
+
/**
|
|
5
|
+
* Creates a WS client with optional token
|
|
6
|
+
* @param addr The ws:// address
|
|
7
|
+
* @param token Optional token to add.
|
|
8
|
+
*/
|
|
9
|
+
getClient(addr, token = this.sdk.token) {
|
|
10
|
+
let url = addr;
|
|
11
|
+
if (token) {
|
|
12
|
+
url += url.includes('?') ? '&' : '?';
|
|
13
|
+
url += 'token=';
|
|
14
|
+
url += token;
|
|
15
|
+
}
|
|
16
|
+
if (url.startsWith('http:')) {
|
|
17
|
+
url = `ws:${url.substring(5)}`;
|
|
18
|
+
}
|
|
19
|
+
else if (url.startsWith('https:')) {
|
|
20
|
+
url = `wss:${url.substring(6)}`;
|
|
21
|
+
}
|
|
22
|
+
return new WebSocket(url);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Connect to the WS server
|
|
26
|
+
*
|
|
27
|
+
* @param client The client to wait for connection.
|
|
28
|
+
*/
|
|
29
|
+
connect(client) {
|
|
30
|
+
return new Promise((resolve, reject) => {
|
|
31
|
+
client.once('open', () => {
|
|
32
|
+
client.removeAllListeners('error');
|
|
33
|
+
resolve();
|
|
34
|
+
});
|
|
35
|
+
client.once('error', (err) => {
|
|
36
|
+
client.removeAllListeners('open');
|
|
37
|
+
reject(err);
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Disconnects from the WS server.
|
|
43
|
+
*/
|
|
44
|
+
disconnect(client) {
|
|
45
|
+
return new Promise((resolve, reject) => {
|
|
46
|
+
client.once('close', () => {
|
|
47
|
+
client.removeAllListeners('error');
|
|
48
|
+
resolve();
|
|
49
|
+
});
|
|
50
|
+
client.once('error', (err) => {
|
|
51
|
+
client.removeAllListeners('close');
|
|
52
|
+
reject(err);
|
|
53
|
+
});
|
|
54
|
+
client.close();
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* The combination of `getClient()` and `connect()`.
|
|
59
|
+
*/
|
|
60
|
+
async createAndConnect(addr, token) {
|
|
61
|
+
const client = this.getClient(addr, token);
|
|
62
|
+
await this.connect(client);
|
|
63
|
+
return client;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=WsClientNode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WsClientNode.js","sourceRoot":"","sources":["../../../../src/runtime/store/WsClientNode.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,IAAI,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,OAAO,YAAa,SAAQ,QAAQ;IACxC;;;;OAIG;IACH,SAAS,CAAC,IAAY,EAAE,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK;QAC5C,IAAI,GAAG,GAAG,IAAI,CAAC;QACf,IAAI,KAAK,EAAE;YACT,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YACrC,GAAG,IAAI,QAAQ,CAAC;YAChB,GAAG,IAAI,KAAK,CAAC;SACd;QACD,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;YAC3B,GAAG,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;SAChC;aAAM,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;YACnC,GAAG,GAAG,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;SACjC;QACD,OAAO,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,MAAiB;QACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;gBACvB,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;gBACnC,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBAC3B,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;gBAClC,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,MAAiB;QAC1B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;gBACxB,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;gBACnC,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBAC3B,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;gBACnC,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,IAAY,EAAE,KAAc;QACjD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC3C,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3B,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { WsClient } from './WsClient.js';
|
|
2
|
+
export declare class WsClientWeb extends WsClient {
|
|
3
|
+
/**
|
|
4
|
+
* Creates a WS client with optional token
|
|
5
|
+
* @param addr The ws:// address
|
|
6
|
+
* @param token Optional token to add.
|
|
7
|
+
*/
|
|
8
|
+
getClient(addr: string, token?: string | undefined): WebSocket;
|
|
9
|
+
/**
|
|
10
|
+
* Connect to the WS server
|
|
11
|
+
*
|
|
12
|
+
* @param client The client to wait for connection.
|
|
13
|
+
*/
|
|
14
|
+
connect(client: WebSocket): Promise<void>;
|
|
15
|
+
/**
|
|
16
|
+
* Disconnects from the WS server.
|
|
17
|
+
*/
|
|
18
|
+
disconnect(client: WebSocket): Promise<void>;
|
|
19
|
+
/**
|
|
20
|
+
* The combination of `getClient()` and `connect()`.
|
|
21
|
+
*/
|
|
22
|
+
createAndConnect(addr: string, token?: string): Promise<WebSocket>;
|
|
23
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { WsClient } from './WsClient.js';
|
|
2
|
+
export class WsClientWeb extends WsClient {
|
|
3
|
+
/**
|
|
4
|
+
* Creates a WS client with optional token
|
|
5
|
+
* @param addr The ws:// address
|
|
6
|
+
* @param token Optional token to add.
|
|
7
|
+
*/
|
|
8
|
+
getClient(addr, token = this.sdk.token) {
|
|
9
|
+
let url = addr;
|
|
10
|
+
if (token) {
|
|
11
|
+
url += url.includes('?') ? '&' : '?';
|
|
12
|
+
url += 'token=';
|
|
13
|
+
url += token;
|
|
14
|
+
}
|
|
15
|
+
if (url.startsWith('http:')) {
|
|
16
|
+
url = `ws:${url.substring(5)}`;
|
|
17
|
+
}
|
|
18
|
+
else if (url.startsWith('https:')) {
|
|
19
|
+
url = `wss:${url.substring(6)}`;
|
|
20
|
+
}
|
|
21
|
+
return new WebSocket(url);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Connect to the WS server
|
|
25
|
+
*
|
|
26
|
+
* @param client The client to wait for connection.
|
|
27
|
+
*/
|
|
28
|
+
connect(client) {
|
|
29
|
+
return new Promise((resolve, reject) => {
|
|
30
|
+
function opened() {
|
|
31
|
+
client.removeEventListener('open', opened);
|
|
32
|
+
client.removeEventListener('error', errored);
|
|
33
|
+
resolve();
|
|
34
|
+
}
|
|
35
|
+
function errored() {
|
|
36
|
+
client.removeEventListener('open', opened);
|
|
37
|
+
client.removeEventListener('error', errored);
|
|
38
|
+
reject(new Error(`Unable to connect to: ${client.url}`));
|
|
39
|
+
}
|
|
40
|
+
client.addEventListener('open', opened);
|
|
41
|
+
client.addEventListener('error', errored);
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Disconnects from the WS server.
|
|
46
|
+
*/
|
|
47
|
+
disconnect(client) {
|
|
48
|
+
return new Promise((resolve, reject) => {
|
|
49
|
+
function closed() {
|
|
50
|
+
client.removeEventListener('close', closed);
|
|
51
|
+
client.removeEventListener('error', errored);
|
|
52
|
+
resolve();
|
|
53
|
+
}
|
|
54
|
+
function errored() {
|
|
55
|
+
client.removeEventListener('close', closed);
|
|
56
|
+
client.removeEventListener('error', errored);
|
|
57
|
+
reject(new Error(`Unable to connect to: ${client.url}`));
|
|
58
|
+
}
|
|
59
|
+
client.addEventListener('close', closed);
|
|
60
|
+
client.addEventListener('error', errored);
|
|
61
|
+
client.close();
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* The combination of `getClient()` and `connect()`.
|
|
66
|
+
*/
|
|
67
|
+
async createAndConnect(addr, token) {
|
|
68
|
+
const client = this.getClient(addr, token);
|
|
69
|
+
await this.connect(client);
|
|
70
|
+
return client;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=WsClientWeb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WsClientWeb.js","sourceRoot":"","sources":["../../../../src/runtime/store/WsClientWeb.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@api-client/core",
|
|
3
3
|
"description": "The API Client's core client library. Works in NodeJS and in a ES enabled browser.",
|
|
4
|
-
"version": "0.4.
|
|
4
|
+
"version": "0.4.3",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"main": "build/index.js",
|
|
7
7
|
"module": "build/index.js",
|
|
@@ -56,6 +56,7 @@
|
|
|
56
56
|
"mocha": "^9.1.3",
|
|
57
57
|
"shrink-ray-current": "^4.1.3",
|
|
58
58
|
"sinon": "^13.0.1",
|
|
59
|
+
"source-map-support": "^0.5.21",
|
|
59
60
|
"ssl-root-cas": "^1.3.1",
|
|
60
61
|
"ts-node": "^10.4.0",
|
|
61
62
|
"typescript": "^4.4.4"
|
|
@@ -68,10 +69,7 @@
|
|
|
68
69
|
"tsc:watch": "tsc --watch",
|
|
69
70
|
"test:browser": "wtr --playwright --browsers chromium firefox webkit --coverage",
|
|
70
71
|
"test:browser:watch": "wtr --watch --playwright --browsers chromium",
|
|
71
|
-
"test:mocha": "
|
|
72
|
-
"test:mocha:watch": "mocha --watch --require test/http-server-fixture.js",
|
|
73
|
-
"test:mocha:watch2": "node scripts/test-node-watch.js",
|
|
74
|
-
"test:mocha:watch3": "mocha --watch --recursive --parallel --require test/http-server-fixture.js",
|
|
72
|
+
"test:mocha": "npm run build-ts && mocha",
|
|
75
73
|
"test": "npm run test:mocha && npm run test:browser"
|
|
76
74
|
},
|
|
77
75
|
"husky": {
|
|
@@ -86,8 +84,8 @@
|
|
|
86
84
|
},
|
|
87
85
|
"dependencies": {
|
|
88
86
|
"@metrichor/jmespath": "^0.3.1",
|
|
89
|
-
"@pawel-up/jexl": "^3.0.0",
|
|
90
87
|
"@pawel-up/data-mock": "^0.1.7",
|
|
88
|
+
"@pawel-up/jexl": "^3.0.0",
|
|
91
89
|
"@xmldom/xmldom": "^0.8.1",
|
|
92
90
|
"console-table-printer": "^2.10.0",
|
|
93
91
|
"form-data": "^4.0.0",
|