@0xsequence/builder 2.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,487 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ function _extends() {
6
+ return _extends = Object.assign ? Object.assign.bind() : function (n) {
7
+ for (var e = 1; e < arguments.length; e++) {
8
+ var t = arguments[e];
9
+ for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
10
+ }
11
+ return n;
12
+ }, _extends.apply(null, arguments);
13
+ }
14
+
15
+ /* eslint-disable */
16
+ // NOTE: this is just a subset of the builder api to scope down the
17
+ // surface area of the client.
18
+ //
19
+ // In the future we can include additional interfaces as needed.
20
+ const WebrpcHeader = "Webrpc";
21
+ const WebrpcHeaderValue = "webrpc@v0.22.0;gen-typescript@v0.16.1;sequence-builder@v0.1.0";
22
+
23
+ // WebRPC description and code-gen version
24
+ const WebRPCVersion = "v1";
25
+
26
+ // Schema version of your RIDL schema
27
+ const WebRPCSchemaVersion = "v0.1.0";
28
+
29
+ // Schema hash generated from your RIDL schema
30
+ const WebRPCSchemaHash = "5b580e1afeb26e0b4a8ee026271e2466760da0aa";
31
+ function VersionFromHeader(headers) {
32
+ const headerValue = headers.get(WebrpcHeader);
33
+ if (!headerValue) {
34
+ return {
35
+ webrpcGenVersion: "",
36
+ codeGenName: "",
37
+ codeGenVersion: "",
38
+ schemaName: "",
39
+ schemaVersion: ""
40
+ };
41
+ }
42
+ return parseWebrpcGenVersions(headerValue);
43
+ }
44
+ function parseWebrpcGenVersions(header) {
45
+ const versions = header.split(";");
46
+ if (versions.length < 3) {
47
+ return {
48
+ webrpcGenVersion: "",
49
+ codeGenName: "",
50
+ codeGenVersion: "",
51
+ schemaName: "",
52
+ schemaVersion: ""
53
+ };
54
+ }
55
+ const [_, webrpcGenVersion] = versions[0].split("@");
56
+ const [codeGenName, codeGenVersion] = versions[1].split("@");
57
+ const [schemaName, schemaVersion] = versions[2].split("@");
58
+ return {
59
+ webrpcGenVersion,
60
+ codeGenName,
61
+ codeGenVersion,
62
+ schemaName,
63
+ schemaVersion
64
+ };
65
+ }
66
+
67
+ //
68
+ // Types
69
+ //
70
+
71
+ //
72
+ // Client
73
+ //
74
+ class Builder {
75
+ constructor(hostname, fetch) {
76
+ this.hostname = void 0;
77
+ this.fetch = void 0;
78
+ this.path = '/rpc/Builder/';
79
+ this.ping = (headers, signal) => {
80
+ return this.fetch(this.url('Ping'), createHTTPRequest({}, headers, signal)).then(res => {
81
+ return buildResponse(res).then(_data => {
82
+ return {
83
+ status: _data.status
84
+ };
85
+ });
86
+ }, error => {
87
+ throw WebrpcRequestFailedError.new({
88
+ cause: `fetch(): ${error.message || ''}`
89
+ });
90
+ });
91
+ };
92
+ this.registerAudienceContact = (args, headers, signal) => {
93
+ return this.fetch(this.url('RegisterAudienceContact'), createHTTPRequest(args, headers, signal)).then(res => {
94
+ return buildResponse(res).then(_data => {
95
+ return {
96
+ ok: _data.ok
97
+ };
98
+ });
99
+ }, error => {
100
+ throw WebrpcRequestFailedError.new({
101
+ cause: `fetch(): ${error.message || ''}`
102
+ });
103
+ });
104
+ };
105
+ this.getRegisteredAudienceContact = (args, headers, signal) => {
106
+ return this.fetch(this.url('GetRegisteredAudienceContact'), createHTTPRequest(args, headers, signal)).then(res => {
107
+ return buildResponse(res).then(_data => {
108
+ return {
109
+ contact: _data.contact
110
+ };
111
+ });
112
+ }, error => {
113
+ throw WebrpcRequestFailedError.new({
114
+ cause: `fetch(): ${error.message || ''}`
115
+ });
116
+ });
117
+ };
118
+ this.getAudienceRegistrationPublicStatus = (args, headers, signal) => {
119
+ return this.fetch(this.url('GetAudienceRegistrationPublicStatus'), createHTTPRequest(args, headers, signal)).then(res => {
120
+ return buildResponse(res).then(_data => {
121
+ return {
122
+ status: _data.status
123
+ };
124
+ });
125
+ }, error => {
126
+ throw WebrpcRequestFailedError.new({
127
+ cause: `fetch(): ${error.message || ''}`
128
+ });
129
+ });
130
+ };
131
+ this.isAudienceContactRegistered = (args, headers, signal) => {
132
+ return this.fetch(this.url('IsAudienceContactRegistered'), createHTTPRequest(args, headers, signal)).then(res => {
133
+ return buildResponse(res).then(_data => {
134
+ return {
135
+ registered: _data.registered
136
+ };
137
+ });
138
+ }, error => {
139
+ throw WebrpcRequestFailedError.new({
140
+ cause: `fetch(): ${error.message || ''}`
141
+ });
142
+ });
143
+ };
144
+ this.hostname = hostname.replace(/\/*$/, '');
145
+ this.fetch = (input, init) => fetch(input, init);
146
+ }
147
+ url(name) {
148
+ return this.hostname + this.path + name;
149
+ }
150
+ }
151
+ const createHTTPRequest = (body = {}, headers = {}, signal = null) => {
152
+ const reqHeaders = _extends({}, headers, {
153
+ 'Content-Type': 'application/json'
154
+ });
155
+ reqHeaders[WebrpcHeader] = WebrpcHeaderValue;
156
+ return {
157
+ method: 'POST',
158
+ headers: reqHeaders,
159
+ body: JSON.stringify(body || {}),
160
+ signal
161
+ };
162
+ };
163
+ const buildResponse = res => {
164
+ return res.text().then(text => {
165
+ let data;
166
+ try {
167
+ data = JSON.parse(text);
168
+ } catch (error) {
169
+ let message = '';
170
+ if (error instanceof Error) {
171
+ message = error.message;
172
+ }
173
+ throw WebrpcBadResponseError.new({
174
+ status: res.status,
175
+ cause: `JSON.parse(): ${message}: response text: ${text}`
176
+ });
177
+ }
178
+ if (!res.ok) {
179
+ const code = typeof data.code === 'number' ? data.code : 0;
180
+ throw (webrpcErrorByCode[code] || WebrpcError).new(data);
181
+ }
182
+ return data;
183
+ });
184
+ };
185
+
186
+ //
187
+ // Errors
188
+ //
189
+
190
+ class WebrpcError extends Error {
191
+ constructor(name, code, message, status, cause) {
192
+ super(message);
193
+ this.name = void 0;
194
+ this.code = void 0;
195
+ this.message = void 0;
196
+ this.status = void 0;
197
+ this.cause = void 0;
198
+ /** @deprecated Use message instead of msg. Deprecated in webrpc v0.11.0. */
199
+ this.msg = void 0;
200
+ this.name = name || 'WebrpcError';
201
+ this.code = typeof code === 'number' ? code : 0;
202
+ this.message = message || `endpoint error ${this.code}`;
203
+ this.msg = this.message;
204
+ this.status = typeof status === 'number' ? status : 0;
205
+ this.cause = cause;
206
+ Object.setPrototypeOf(this, WebrpcError.prototype);
207
+ }
208
+ static new(payload) {
209
+ return new this(payload.error, payload.code, payload.message || payload.msg, payload.status, payload.cause);
210
+ }
211
+ }
212
+
213
+ // Webrpc errors
214
+
215
+ class WebrpcEndpointError extends WebrpcError {
216
+ constructor(name = 'WebrpcEndpoint', code = 0, message = 'endpoint error', status = 0, cause) {
217
+ super(name, code, message, status, cause);
218
+ Object.setPrototypeOf(this, WebrpcEndpointError.prototype);
219
+ }
220
+ }
221
+ class WebrpcRequestFailedError extends WebrpcError {
222
+ constructor(name = 'WebrpcRequestFailed', code = -1, message = 'request failed', status = 0, cause) {
223
+ super(name, code, message, status, cause);
224
+ Object.setPrototypeOf(this, WebrpcRequestFailedError.prototype);
225
+ }
226
+ }
227
+ class WebrpcBadRouteError extends WebrpcError {
228
+ constructor(name = 'WebrpcBadRoute', code = -2, message = 'bad route', status = 0, cause) {
229
+ super(name, code, message, status, cause);
230
+ Object.setPrototypeOf(this, WebrpcBadRouteError.prototype);
231
+ }
232
+ }
233
+ class WebrpcBadMethodError extends WebrpcError {
234
+ constructor(name = 'WebrpcBadMethod', code = -3, message = 'bad method', status = 0, cause) {
235
+ super(name, code, message, status, cause);
236
+ Object.setPrototypeOf(this, WebrpcBadMethodError.prototype);
237
+ }
238
+ }
239
+ class WebrpcBadRequestError extends WebrpcError {
240
+ constructor(name = 'WebrpcBadRequest', code = -4, message = 'bad request', status = 0, cause) {
241
+ super(name, code, message, status, cause);
242
+ Object.setPrototypeOf(this, WebrpcBadRequestError.prototype);
243
+ }
244
+ }
245
+ class WebrpcBadResponseError extends WebrpcError {
246
+ constructor(name = 'WebrpcBadResponse', code = -5, message = 'bad response', status = 0, cause) {
247
+ super(name, code, message, status, cause);
248
+ Object.setPrototypeOf(this, WebrpcBadResponseError.prototype);
249
+ }
250
+ }
251
+ class WebrpcServerPanicError extends WebrpcError {
252
+ constructor(name = 'WebrpcServerPanic', code = -6, message = 'server panic', status = 0, cause) {
253
+ super(name, code, message, status, cause);
254
+ Object.setPrototypeOf(this, WebrpcServerPanicError.prototype);
255
+ }
256
+ }
257
+ class WebrpcInternalErrorError extends WebrpcError {
258
+ constructor(name = 'WebrpcInternalError', code = -7, message = 'internal error', status = 0, cause) {
259
+ super(name, code, message, status, cause);
260
+ Object.setPrototypeOf(this, WebrpcInternalErrorError.prototype);
261
+ }
262
+ }
263
+ class WebrpcClientDisconnectedError extends WebrpcError {
264
+ constructor(name = 'WebrpcClientDisconnected', code = -8, message = 'client disconnected', status = 0, cause) {
265
+ super(name, code, message, status, cause);
266
+ Object.setPrototypeOf(this, WebrpcClientDisconnectedError.prototype);
267
+ }
268
+ }
269
+ class WebrpcStreamLostError extends WebrpcError {
270
+ constructor(name = 'WebrpcStreamLost', code = -9, message = 'stream lost', status = 0, cause) {
271
+ super(name, code, message, status, cause);
272
+ Object.setPrototypeOf(this, WebrpcStreamLostError.prototype);
273
+ }
274
+ }
275
+ class WebrpcStreamFinishedError extends WebrpcError {
276
+ constructor(name = 'WebrpcStreamFinished', code = -10, message = 'stream finished', status = 0, cause) {
277
+ super(name, code, message, status, cause);
278
+ Object.setPrototypeOf(this, WebrpcStreamFinishedError.prototype);
279
+ }
280
+ }
281
+
282
+ // Schema errors
283
+
284
+ class UnauthorizedError extends WebrpcError {
285
+ constructor(name = 'Unauthorized', code = 1000, message = 'Unauthorized access', status = 0, cause) {
286
+ super(name, code, message, status, cause);
287
+ Object.setPrototypeOf(this, UnauthorizedError.prototype);
288
+ }
289
+ }
290
+ class PermissionDeniedError extends WebrpcError {
291
+ constructor(name = 'PermissionDenied', code = 1001, message = 'Permission denied', status = 0, cause) {
292
+ super(name, code, message, status, cause);
293
+ Object.setPrototypeOf(this, PermissionDeniedError.prototype);
294
+ }
295
+ }
296
+ class SessionExpiredError extends WebrpcError {
297
+ constructor(name = 'SessionExpired', code = 1002, message = 'Session expired', status = 0, cause) {
298
+ super(name, code, message, status, cause);
299
+ Object.setPrototypeOf(this, SessionExpiredError.prototype);
300
+ }
301
+ }
302
+ class MethodNotFoundError extends WebrpcError {
303
+ constructor(name = 'MethodNotFound', code = 1003, message = 'Method not found', status = 0, cause) {
304
+ super(name, code, message, status, cause);
305
+ Object.setPrototypeOf(this, MethodNotFoundError.prototype);
306
+ }
307
+ }
308
+ class RequestConflictError extends WebrpcError {
309
+ constructor(name = 'RequestConflict', code = 1004, message = 'Conflict with target resource', status = 0, cause) {
310
+ super(name, code, message, status, cause);
311
+ Object.setPrototypeOf(this, RequestConflictError.prototype);
312
+ }
313
+ }
314
+ class ServiceDisabledError extends WebrpcError {
315
+ constructor(name = 'ServiceDisabled', code = 1005, message = 'Service disabled', status = 0, cause) {
316
+ super(name, code, message, status, cause);
317
+ Object.setPrototypeOf(this, ServiceDisabledError.prototype);
318
+ }
319
+ }
320
+ class TimeoutError extends WebrpcError {
321
+ constructor(name = 'Timeout', code = 2000, message = 'Request timed out', status = 0, cause) {
322
+ super(name, code, message, status, cause);
323
+ Object.setPrototypeOf(this, TimeoutError.prototype);
324
+ }
325
+ }
326
+ class InvalidArgumentError extends WebrpcError {
327
+ constructor(name = 'InvalidArgument', code = 2001, message = 'Invalid argument', status = 0, cause) {
328
+ super(name, code, message, status, cause);
329
+ Object.setPrototypeOf(this, InvalidArgumentError.prototype);
330
+ }
331
+ }
332
+ class NotFoundError extends WebrpcError {
333
+ constructor(name = 'NotFound', code = 3000, message = 'Resource not found', status = 0, cause) {
334
+ super(name, code, message, status, cause);
335
+ Object.setPrototypeOf(this, NotFoundError.prototype);
336
+ }
337
+ }
338
+ class UserNotFoundError extends WebrpcError {
339
+ constructor(name = 'UserNotFound', code = 3001, message = 'User not found', status = 0, cause) {
340
+ super(name, code, message, status, cause);
341
+ Object.setPrototypeOf(this, UserNotFoundError.prototype);
342
+ }
343
+ }
344
+ class ProjectNotFoundError extends WebrpcError {
345
+ constructor(name = 'ProjectNotFound', code = 3002, message = 'Project not found', status = 0, cause) {
346
+ super(name, code, message, status, cause);
347
+ Object.setPrototypeOf(this, ProjectNotFoundError.prototype);
348
+ }
349
+ }
350
+ class AlreadyCollaboratorError extends WebrpcError {
351
+ constructor(name = 'AlreadyCollaborator', code = 4001, message = 'Already a collaborator', status = 0, cause) {
352
+ super(name, code, message, status, cause);
353
+ Object.setPrototypeOf(this, AlreadyCollaboratorError.prototype);
354
+ }
355
+ }
356
+ let errors = /*#__PURE__*/function (errors) {
357
+ errors["WebrpcEndpoint"] = "WebrpcEndpoint";
358
+ errors["WebrpcRequestFailed"] = "WebrpcRequestFailed";
359
+ errors["WebrpcBadRoute"] = "WebrpcBadRoute";
360
+ errors["WebrpcBadMethod"] = "WebrpcBadMethod";
361
+ errors["WebrpcBadRequest"] = "WebrpcBadRequest";
362
+ errors["WebrpcBadResponse"] = "WebrpcBadResponse";
363
+ errors["WebrpcServerPanic"] = "WebrpcServerPanic";
364
+ errors["WebrpcInternalError"] = "WebrpcInternalError";
365
+ errors["WebrpcClientDisconnected"] = "WebrpcClientDisconnected";
366
+ errors["WebrpcStreamLost"] = "WebrpcStreamLost";
367
+ errors["WebrpcStreamFinished"] = "WebrpcStreamFinished";
368
+ errors["Unauthorized"] = "Unauthorized";
369
+ errors["PermissionDenied"] = "PermissionDenied";
370
+ errors["SessionExpired"] = "SessionExpired";
371
+ errors["MethodNotFound"] = "MethodNotFound";
372
+ errors["RequestConflict"] = "RequestConflict";
373
+ errors["ServiceDisabled"] = "ServiceDisabled";
374
+ errors["Timeout"] = "Timeout";
375
+ errors["InvalidArgument"] = "InvalidArgument";
376
+ errors["NotFound"] = "NotFound";
377
+ errors["UserNotFound"] = "UserNotFound";
378
+ errors["ProjectNotFound"] = "ProjectNotFound";
379
+ return errors;
380
+ }({});
381
+ let WebrpcErrorCodes = /*#__PURE__*/function (WebrpcErrorCodes) {
382
+ WebrpcErrorCodes[WebrpcErrorCodes["WebrpcEndpoint"] = 0] = "WebrpcEndpoint";
383
+ WebrpcErrorCodes[WebrpcErrorCodes["WebrpcRequestFailed"] = -1] = "WebrpcRequestFailed";
384
+ WebrpcErrorCodes[WebrpcErrorCodes["WebrpcBadRoute"] = -2] = "WebrpcBadRoute";
385
+ WebrpcErrorCodes[WebrpcErrorCodes["WebrpcBadMethod"] = -3] = "WebrpcBadMethod";
386
+ WebrpcErrorCodes[WebrpcErrorCodes["WebrpcBadRequest"] = -4] = "WebrpcBadRequest";
387
+ WebrpcErrorCodes[WebrpcErrorCodes["WebrpcBadResponse"] = -5] = "WebrpcBadResponse";
388
+ WebrpcErrorCodes[WebrpcErrorCodes["WebrpcServerPanic"] = -6] = "WebrpcServerPanic";
389
+ WebrpcErrorCodes[WebrpcErrorCodes["WebrpcInternalError"] = -7] = "WebrpcInternalError";
390
+ WebrpcErrorCodes[WebrpcErrorCodes["WebrpcClientDisconnected"] = -8] = "WebrpcClientDisconnected";
391
+ WebrpcErrorCodes[WebrpcErrorCodes["WebrpcStreamLost"] = -9] = "WebrpcStreamLost";
392
+ WebrpcErrorCodes[WebrpcErrorCodes["WebrpcStreamFinished"] = -10] = "WebrpcStreamFinished";
393
+ WebrpcErrorCodes[WebrpcErrorCodes["Unauthorized"] = 1000] = "Unauthorized";
394
+ WebrpcErrorCodes[WebrpcErrorCodes["PermissionDenied"] = 1001] = "PermissionDenied";
395
+ WebrpcErrorCodes[WebrpcErrorCodes["SessionExpired"] = 1002] = "SessionExpired";
396
+ WebrpcErrorCodes[WebrpcErrorCodes["MethodNotFound"] = 1003] = "MethodNotFound";
397
+ WebrpcErrorCodes[WebrpcErrorCodes["RequestConflict"] = 1004] = "RequestConflict";
398
+ WebrpcErrorCodes[WebrpcErrorCodes["ServiceDisabled"] = 1005] = "ServiceDisabled";
399
+ WebrpcErrorCodes[WebrpcErrorCodes["Timeout"] = 2000] = "Timeout";
400
+ WebrpcErrorCodes[WebrpcErrorCodes["InvalidArgument"] = 2001] = "InvalidArgument";
401
+ WebrpcErrorCodes[WebrpcErrorCodes["NotFound"] = 3000] = "NotFound";
402
+ WebrpcErrorCodes[WebrpcErrorCodes["UserNotFound"] = 3001] = "UserNotFound";
403
+ WebrpcErrorCodes[WebrpcErrorCodes["ProjectNotFound"] = 3002] = "ProjectNotFound";
404
+ return WebrpcErrorCodes;
405
+ }({});
406
+ const webrpcErrorByCode = {
407
+ [0]: WebrpcEndpointError,
408
+ [-1]: WebrpcRequestFailedError,
409
+ [-2]: WebrpcBadRouteError,
410
+ [-3]: WebrpcBadMethodError,
411
+ [-4]: WebrpcBadRequestError,
412
+ [-5]: WebrpcBadResponseError,
413
+ [-6]: WebrpcServerPanicError,
414
+ [-7]: WebrpcInternalErrorError,
415
+ [-8]: WebrpcClientDisconnectedError,
416
+ [-9]: WebrpcStreamLostError,
417
+ [-10]: WebrpcStreamFinishedError,
418
+ [1000]: UnauthorizedError,
419
+ [1001]: PermissionDeniedError,
420
+ [1002]: SessionExpiredError,
421
+ [1003]: MethodNotFoundError,
422
+ [1004]: RequestConflictError,
423
+ [1005]: ServiceDisabledError,
424
+ [2000]: TimeoutError,
425
+ [2001]: InvalidArgumentError,
426
+ [3000]: NotFoundError,
427
+ [3001]: UserNotFoundError,
428
+ [3002]: ProjectNotFoundError
429
+ };
430
+
431
+ class SequenceBuilderClient extends Builder {
432
+ constructor(projectAccessKey, apiUrl) {
433
+ const hostname = apiUrl != null ? apiUrl : 'https://api.sequence.build';
434
+ super(hostname.endsWith('/') ? hostname.slice(0, -1) : hostname, fetch);
435
+ this.projectAccessKey = projectAccessKey;
436
+ this._fetch = (input, init) => {
437
+ // automatically include access key auth header to requests
438
+ // if its been set on the api client
439
+ const headers = {};
440
+ const projectAccessKey = this.projectAccessKey;
441
+ if (projectAccessKey && projectAccessKey.length > 0) {
442
+ headers['X-Access-Key'] = projectAccessKey;
443
+ }
444
+
445
+ // before the request is made
446
+ init.headers = _extends({}, init.headers, headers);
447
+ return fetch(input, init);
448
+ };
449
+ this.fetch = this._fetch;
450
+ }
451
+ }
452
+
453
+ exports.AlreadyCollaboratorError = AlreadyCollaboratorError;
454
+ exports.Builder = Builder;
455
+ exports.InvalidArgumentError = InvalidArgumentError;
456
+ exports.MethodNotFoundError = MethodNotFoundError;
457
+ exports.NotFoundError = NotFoundError;
458
+ exports.PermissionDeniedError = PermissionDeniedError;
459
+ exports.ProjectNotFoundError = ProjectNotFoundError;
460
+ exports.RequestConflictError = RequestConflictError;
461
+ exports.SequenceBuilderClient = SequenceBuilderClient;
462
+ exports.ServiceDisabledError = ServiceDisabledError;
463
+ exports.SessionExpiredError = SessionExpiredError;
464
+ exports.TimeoutError = TimeoutError;
465
+ exports.UnauthorizedError = UnauthorizedError;
466
+ exports.UserNotFoundError = UserNotFoundError;
467
+ exports.VersionFromHeader = VersionFromHeader;
468
+ exports.WebRPCSchemaHash = WebRPCSchemaHash;
469
+ exports.WebRPCSchemaVersion = WebRPCSchemaVersion;
470
+ exports.WebRPCVersion = WebRPCVersion;
471
+ exports.WebrpcBadMethodError = WebrpcBadMethodError;
472
+ exports.WebrpcBadRequestError = WebrpcBadRequestError;
473
+ exports.WebrpcBadResponseError = WebrpcBadResponseError;
474
+ exports.WebrpcBadRouteError = WebrpcBadRouteError;
475
+ exports.WebrpcClientDisconnectedError = WebrpcClientDisconnectedError;
476
+ exports.WebrpcEndpointError = WebrpcEndpointError;
477
+ exports.WebrpcError = WebrpcError;
478
+ exports.WebrpcErrorCodes = WebrpcErrorCodes;
479
+ exports.WebrpcHeader = WebrpcHeader;
480
+ exports.WebrpcHeaderValue = WebrpcHeaderValue;
481
+ exports.WebrpcInternalErrorError = WebrpcInternalErrorError;
482
+ exports.WebrpcRequestFailedError = WebrpcRequestFailedError;
483
+ exports.WebrpcServerPanicError = WebrpcServerPanicError;
484
+ exports.WebrpcStreamFinishedError = WebrpcStreamFinishedError;
485
+ exports.WebrpcStreamLostError = WebrpcStreamLostError;
486
+ exports.errors = errors;
487
+ exports.webrpcErrorByCode = webrpcErrorByCode;