@compassdigital/sdk.typescript 3.33.0 → 3.34.0

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/lib/base.js CHANGED
@@ -1,30 +1,4 @@
1
1
  "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- var __assign = (this && this.__assign) || function () {
18
- __assign = Object.assign || function(t) {
19
- for (var s, i = 1, n = arguments.length; i < n; i++) {
20
- s = arguments[i];
21
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
- t[p] = s[p];
23
- }
24
- return t;
25
- };
26
- return __assign.apply(this, arguments);
27
- };
28
2
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
29
3
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
30
4
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -34,46 +8,19 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
34
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
35
9
  });
36
10
  };
37
- var __generator = (this && this.__generator) || function (thisArg, body) {
38
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
39
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
40
- function verb(n) { return function (v) { return step([n, v]); }; }
41
- function step(op) {
42
- if (f) throw new TypeError("Generator is already executing.");
43
- while (_) try {
44
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
45
- if (y = 0, t) op = [op[0] & 2, t.value];
46
- switch (op[0]) {
47
- case 0: case 1: t = op; break;
48
- case 4: _.label++; return { value: op[1], done: false };
49
- case 5: _.label++; y = op[1]; op = [0]; continue;
50
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
51
- default:
52
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
53
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
54
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
55
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
56
- if (t[2]) _.ops.pop();
57
- _.trys.pop(); continue;
58
- }
59
- op = body.call(thisArg, _);
60
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
61
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
62
- }
63
- };
64
11
  var __importDefault = (this && this.__importDefault) || function (mod) {
65
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
66
13
  };
67
14
  var _a;
68
15
  Object.defineProperty(exports, "__esModule", { value: true });
69
16
  exports.BaseServiceClient = exports.ServiceError = exports.ResponsePromise = void 0;
70
- var cross_fetch_1 = __importDefault(require("cross-fetch"));
17
+ const cross_fetch_1 = __importDefault(require("cross-fetch"));
71
18
  /**
72
19
  * We have to re-implement the promise methods instead of just existing
73
20
  * the existing Promise class due to: https://github.com/microsoft/TypeScript/issues/15202
74
21
  */
75
- var ResponsePromise = /** @class */ (function () {
76
- function ResponsePromise(promise) {
22
+ class ResponsePromise {
23
+ constructor(promise) {
77
24
  this.promise = promise;
78
25
  /**
79
26
  * Implements Promise interface.
@@ -83,157 +30,129 @@ var ResponsePromise = /** @class */ (function () {
83
30
  /**
84
31
  * Implements Promise interface.
85
32
  */
86
- ResponsePromise.prototype.then = function (onfulfilled, onrejected) {
33
+ then(onfulfilled, onrejected) {
87
34
  return new ResponsePromise(this.promise.then(onfulfilled, onrejected));
88
- };
35
+ }
89
36
  /**
90
37
  * Implements Promise interface.
91
38
  */
92
- ResponsePromise.prototype.catch = function (onrejected) {
39
+ catch(onrejected) {
93
40
  return new ResponsePromise(this.promise.catch(onrejected));
94
- };
41
+ }
95
42
  /**
96
43
  * Implements Promise interface.
97
44
  */
98
- ResponsePromise.prototype.finally = function (onfinally) {
45
+ finally(onfinally) {
99
46
  return new ResponsePromise(this.promise.finally(onfinally));
100
- };
47
+ }
101
48
  /**
102
49
  * Returns a promise that resolves to null if http status code
103
50
  * or service error code matches one of the provided codes.
104
51
  * If no codes are specified, all codes are ignored.
105
52
  */
106
- ResponsePromise.prototype.ignore = function () {
107
- var codes = [];
108
- for (var _i = 0; _i < arguments.length; _i++) {
109
- codes[_i] = arguments[_i];
110
- }
53
+ ignore(...codes) {
111
54
  return new ResponsePromise(ServiceError.ignore(codes, this.promise));
112
- };
55
+ }
113
56
  /**
114
57
  * Returns a promise that resolves to either the response body
115
58
  * or a ServiceError.
116
59
  */
117
- ResponsePromise.prototype.combine = function () {
118
- var codes = [];
119
- for (var _i = 0; _i < arguments.length; _i++) {
120
- codes[_i] = arguments[_i];
121
- }
60
+ combine(...codes) {
122
61
  return new ResponsePromise(ServiceError.combine(codes, this.promise));
123
- };
124
- return ResponsePromise;
125
- }());
62
+ }
63
+ }
126
64
  exports.ResponsePromise = ResponsePromise;
127
65
  _a = Symbol.toStringTag;
128
66
  /**
129
67
  * An error returned from an api service.
130
68
  */
131
- var ServiceError = /** @class */ (function (_super) {
132
- __extends(ServiceError, _super);
133
- function ServiceError(status, // http status
69
+ class ServiceError extends Error {
70
+ constructor(status, // http status
134
71
  code, // service error code
135
72
  message // service error message
136
73
  ) {
137
- var _this = _super.call(this, message) || this;
138
- _this.status = status;
139
- _this.code = code;
140
- _this.name = "ServiceError(".concat(code, ")");
74
+ super(message);
75
+ this.status = status;
76
+ this.code = code;
77
+ this.name = `ServiceError(${code})`;
141
78
  // TODO: remove this if we change compilation target > es5
142
- Object.setPrototypeOf(_this, ServiceError.prototype);
143
- return _this;
79
+ Object.setPrototypeOf(this, ServiceError.prototype);
144
80
  }
145
81
  /**
146
82
  * Returns the http status code from err.
147
83
  * If err isn't an instance of ServiceError, -1 is returned.
148
84
  */
149
- ServiceError.status = function (err) {
85
+ static status(err) {
150
86
  if (err instanceof ServiceError) {
151
87
  return err.status;
152
88
  }
153
89
  return -1;
154
- };
90
+ }
155
91
  /**
156
92
  * Returns the service error code from err.
157
93
  * If err isn't an instance of ServiceError, -1 is returned.
158
94
  */
159
- ServiceError.code = function (err) {
95
+ static code(err) {
160
96
  if (err instanceof ServiceError) {
161
97
  return err.code;
162
98
  }
163
99
  return -1;
164
- };
100
+ }
165
101
  /**
166
102
  * Returns a promise that resolves to null if http status code
167
103
  * or service error code matches one of the provided codes.
168
104
  * If no codes are specified, all codes are ignored.
169
105
  */
170
- ServiceError.ignore = function (codes, response) {
171
- return __awaiter(this, void 0, void 0, function () {
172
- var err_1, _i, codes_1, code;
173
- return __generator(this, function (_b) {
174
- switch (_b.label) {
175
- case 0:
176
- _b.trys.push([0, 2, , 3]);
177
- return [4 /*yield*/, response];
178
- case 1: return [2 /*return*/, _b.sent()];
179
- case 2:
180
- err_1 = _b.sent();
181
- if (err_1 instanceof ServiceError) {
182
- if (codes.length === 0) {
183
- return [2 /*return*/, null];
184
- }
185
- for (_i = 0, codes_1 = codes; _i < codes_1.length; _i++) {
186
- code = codes_1[_i];
187
- if (err_1.status === code || err_1.code === code) {
188
- return [2 /*return*/, null];
189
- }
190
- }
106
+ static ignore(codes, response) {
107
+ return __awaiter(this, void 0, void 0, function* () {
108
+ try {
109
+ return yield response;
110
+ }
111
+ catch (err) {
112
+ if (err instanceof ServiceError) {
113
+ if (codes.length === 0) {
114
+ return null;
115
+ }
116
+ for (const code of codes) {
117
+ if (err.status === code || err.code === code) {
118
+ return null;
191
119
  }
192
- throw err_1;
193
- case 3: return [2 /*return*/];
120
+ }
194
121
  }
195
- });
122
+ throw err;
123
+ }
196
124
  });
197
- };
125
+ }
198
126
  /**
199
127
  * Returns a promise that resolves to either T or a ServiceError.
200
128
  */
201
- ServiceError.combine = function (codes, response) {
202
- return __awaiter(this, void 0, void 0, function () {
203
- var data, err_2, _i, codes_2, code;
204
- return __generator(this, function (_b) {
205
- switch (_b.label) {
206
- case 0:
207
- _b.trys.push([0, 2, , 3]);
208
- return [4 /*yield*/, response];
209
- case 1:
210
- data = _b.sent();
211
- return [2 /*return*/, { ok: true, data: data, err: null }];
212
- case 2:
213
- err_2 = _b.sent();
214
- if (err_2 instanceof ServiceError) {
215
- if (codes.length === 0) {
216
- return [2 /*return*/, { ok: false, data: null, err: err_2 }];
217
- }
218
- for (_i = 0, codes_2 = codes; _i < codes_2.length; _i++) {
219
- code = codes_2[_i];
220
- if (err_2.status === code || err_2.code === code) {
221
- return [2 /*return*/, { ok: false, data: null, err: err_2 }];
222
- }
223
- }
129
+ static combine(codes, response) {
130
+ return __awaiter(this, void 0, void 0, function* () {
131
+ try {
132
+ const data = yield response;
133
+ return { ok: true, data, err: null };
134
+ }
135
+ catch (err) {
136
+ if (err instanceof ServiceError) {
137
+ if (codes.length === 0) {
138
+ return { ok: false, data: null, err };
139
+ }
140
+ for (const code of codes) {
141
+ if (err.status === code || err.code === code) {
142
+ return { ok: false, data: null, err };
224
143
  }
225
- throw err_2;
226
- case 3: return [2 /*return*/];
144
+ }
227
145
  }
228
- });
146
+ throw err;
147
+ }
229
148
  });
230
- };
149
+ }
231
150
  /**
232
151
  * Constructs a ServiceError from the provided response data.
233
152
  */
234
- ServiceError.from_res = function (res) {
235
- var message = res.body;
236
- var code = res.status;
153
+ static from_res(res) {
154
+ let message = res.body;
155
+ let code = res.status;
237
156
  if (res.err) {
238
157
  // network error
239
158
  if (res.err instanceof Error) {
@@ -246,7 +165,7 @@ var ServiceError = /** @class */ (function (_super) {
246
165
  }
247
166
  else {
248
167
  try {
249
- var data = JSON.parse(res.body);
168
+ let data = JSON.parse(res.body);
250
169
  if (data.code && (data.message || data.error)) {
251
170
  code = data.code;
252
171
  message = data.message || data.error;
@@ -254,100 +173,83 @@ var ServiceError = /** @class */ (function (_super) {
254
173
  }
255
174
  catch (_) { }
256
175
  }
257
- var err = new ServiceError(res.status, code, message);
176
+ const err = new ServiceError(res.status, code, message);
258
177
  // override the stack trace so that it doesn't include the from_res helper.
259
178
  if (Error.captureStackTrace) {
260
179
  Error.captureStackTrace(err, ServiceError.from_res);
261
180
  }
262
181
  return err;
263
- };
264
- return ServiceError;
265
- }(Error));
182
+ }
183
+ }
266
184
  exports.ServiceError = ServiceError;
267
185
  /**
268
186
  * BaseServiceClient contains the logic for executing http requests.
269
187
  * This class is meant to be extended by the generated code.
270
188
  */
271
- var BaseServiceClient = /** @class */ (function () {
272
- function BaseServiceClient(options) {
189
+ class BaseServiceClient {
190
+ constructor(options) {
273
191
  this.options = options !== null && options !== void 0 ? options : {};
274
192
  }
275
193
  /**
276
194
  * Combine the route and query parameters into a full url.
277
195
  */
278
- BaseServiceClient.prototype.build_url = function (route, _b, params) {
279
- var base_url = _b.base_url, _c = _b.stage, stage = _c === void 0 ? "dev" : _c;
280
- var url = "https://api.compassdigital.org/".concat(stage).concat(route);
196
+ build_url(route, { base_url, stage = "dev" }, params) {
197
+ let url = `https://api.compassdigital.org/${stage}${route}`;
281
198
  // use the base url if one was provided.
282
199
  if (base_url) {
283
200
  if (base_url.endsWith("/")) {
284
201
  base_url = base_url.slice(0, -1);
285
202
  }
286
- url = "".concat(base_url).concat(route);
203
+ url = `${base_url}${route}`;
287
204
  }
288
205
  // add query parameters.
289
- var query = [];
290
- for (var _i = 0, _d = Object.entries(params); _i < _d.length; _i++) {
291
- var _e = _d[_i], name_1 = _e[0], values = _e[1];
292
- for (var _f = 0, _g = Array.isArray(values) ? values : [values]; _f < _g.length; _f++) {
293
- var value = _g[_f];
294
- query.push("".concat(encodeURIComponent(name_1), "=").concat(encodeURIComponent(value)));
206
+ const query = [];
207
+ for (const [name, values] of Object.entries(params)) {
208
+ for (const value of Array.isArray(values) ? values : [values]) {
209
+ query.push(`${encodeURIComponent(name)}=${encodeURIComponent(value)}`);
295
210
  }
296
211
  }
297
212
  if (query.length > 0) {
298
213
  url += "?" + query.join("&");
299
214
  }
300
215
  return url;
301
- };
216
+ }
302
217
  /**
303
218
  * Perform the http request or pass it to the intercept function
304
219
  * if one was configured.
305
220
  */
306
- BaseServiceClient.prototype.fetch = function (req, options) {
307
- return __awaiter(this, void 0, void 0, function () {
308
- var res, err_3;
309
- var _b;
310
- return __generator(this, function (_c) {
311
- switch (_c.label) {
312
- case 0:
313
- if (options === null || options === void 0 ? void 0 : options.intercept) {
314
- return [2 /*return*/, options.intercept(req, this.fetch.bind(this))];
315
- }
316
- _c.label = 1;
317
- case 1:
318
- _c.trys.push([1, 4, , 5]);
319
- return [4 /*yield*/, (0, cross_fetch_1.default)(req.url, {
320
- method: req.method,
321
- body: req.body,
322
- headers: req.headers,
323
- })];
324
- case 2:
325
- res = _c.sent();
326
- _b = {
327
- ok: res.ok,
328
- status: res.status
329
- };
330
- return [4 /*yield*/, res.text()];
331
- case 3: return [2 /*return*/, (_b.body = _c.sent(),
332
- _b)];
333
- case 4:
334
- err_3 = _c.sent();
335
- return [2 /*return*/, {
336
- ok: false,
337
- status: 0,
338
- body: "",
339
- err: err_3,
340
- }];
341
- case 5: return [2 /*return*/];
342
- }
343
- });
221
+ fetch(req, options) {
222
+ return __awaiter(this, void 0, void 0, function* () {
223
+ if (options === null || options === void 0 ? void 0 : options.intercept) {
224
+ return options.intercept(req, this.fetch.bind(this));
225
+ }
226
+ try {
227
+ const res = yield (0, cross_fetch_1.default)(req.url, {
228
+ method: req.method,
229
+ body: req.body,
230
+ headers: req.headers,
231
+ });
232
+ return {
233
+ ok: res.ok,
234
+ status: res.status,
235
+ body: yield res.text(),
236
+ };
237
+ }
238
+ catch (err) {
239
+ return {
240
+ ok: false,
241
+ status: 0,
242
+ body: "",
243
+ err: err,
244
+ };
245
+ }
344
246
  });
345
- };
247
+ }
346
248
  /**
347
249
  * Returns true if the status code represents a transient error
348
250
  * or it's a network error.
349
251
  */
350
- BaseServiceClient.prototype.should_retry = function (res) {
252
+ should_retry(res) {
351
253
  if (res.err) {
352
254
  return true;
353
255
  }
@@ -364,72 +266,61 @@ var BaseServiceClient = /** @class */ (function () {
364
266
  default:
365
267
  return false;
366
268
  }
367
- };
269
+ }
368
270
  /**
369
271
  * Returns the merged options.
370
272
  */
371
- BaseServiceClient.prototype.get_options = function (options) {
372
- return __assign(__assign(__assign({}, this.options), options), { headers: __assign(__assign({}, this.options.headers), options.headers) });
373
- };
273
+ get_options(options) {
274
+ return Object.assign(Object.assign(Object.assign({}, this.options), options), { headers: Object.assign(Object.assign({}, this.options.headers), options.headers) });
275
+ }
374
276
  /**
375
277
  * A delegate to _request that wraps the response in a ResponsePromise.
376
278
  */
377
- BaseServiceClient.prototype.request = function (service, name, method, route, body, options) {
378
- if (options === void 0) { options = {}; }
379
- var promise = this._request(service, name, method, route, body, options);
279
+ request(service, name, method, route, body, options = {}) {
280
+ const promise = this._request(service, name, method, route, body, options);
380
281
  return new ResponsePromise(promise);
381
- };
282
+ }
382
283
  /**
383
284
  * The main logic for fulfilling a request as perscribed by
384
285
  * the request options.
385
286
  */
386
- BaseServiceClient.prototype._request = function (service, name, method, route, body, options) {
287
+ _request(service, name, method, route, body, options = {}) {
387
288
  var _b;
388
- if (options === void 0) { options = {}; }
389
- return __awaiter(this, void 0, void 0, function () {
390
- var url, headers, req, res, err, data;
391
- return __generator(this, function (_c) {
392
- switch (_c.label) {
393
- case 0:
394
- options = this.get_options(options);
395
- url = this.build_url(route, options, (_b = options.query) !== null && _b !== void 0 ? _b : {});
396
- headers = Object.assign({
397
- "User-Agent": "CDL/ServiceClient"
398
- }, options.headers);
399
- if (options.token) {
400
- headers["Authorization"] = "Bearer ".concat(options.token);
401
- }
402
- req = { name: name, service: service, url: url, method: method, headers: headers };
403
- if (body) {
404
- req.body = JSON.stringify(body);
405
- }
406
- if (options.debug) {
407
- console.log("REQ(".concat(method.toUpperCase(), ")"), url, JSON.stringify(req, null, 2));
408
- }
409
- return [4 /*yield*/, this.fetch(req, options)];
410
- case 1:
411
- res = _c.sent();
412
- if (!res.ok) {
413
- err = ServiceError.from_res(res);
414
- if (options.debug) {
415
- console.log("ERR(".concat(res.status, ")"), url, err.message);
416
- }
417
- if (typeof options.retry === "number" && options.retry > 0 && this.should_retry(res)) {
418
- options.retry--;
419
- return [2 /*return*/, this.request(service, name, method, route, body, options)];
420
- }
421
- throw err;
422
- }
423
- data = res.body ? JSON.parse(res.body) : res.body;
424
- if (options.debug) {
425
- console.log("RES(".concat(res.status, ")"), url, JSON.stringify(data, null, 2));
426
- }
427
- return [2 /*return*/, data];
289
+ return __awaiter(this, void 0, void 0, function* () {
290
+ options = this.get_options(options);
291
+ const url = this.build_url(route, options, (_b = options.query) !== null && _b !== void 0 ? _b : {});
292
+ const headers = Object.assign({
293
+ "User-Agent": "CDL/ServiceClient"
294
+ }, options.headers);
295
+ if (options.token) {
296
+ headers["Authorization"] = `Bearer ${options.token}`;
297
+ }
298
+ const req = { name, service, url, method, headers };
299
+ if (body) {
300
+ req.body = JSON.stringify(body);
301
+ }
302
+ if (options.debug) {
303
+ console.log(`REQ(${method.toUpperCase()})`, url, JSON.stringify(req, null, 2));
304
+ }
305
+ const res = yield this.fetch(req, options);
306
+ if (!res.ok) {
307
+ const err = ServiceError.from_res(res);
308
+ if (options.debug) {
309
+ console.log(`ERR(${res.status})`, url, err.message);
310
+ }
311
+ if (typeof options.retry === "number" && options.retry > 0 && this.should_retry(res)) {
312
+ options.retry--;
313
+ return this.request(service, name, method, route, body, options);
428
314
  }
429
- });
315
+ throw err;
316
+ }
317
+ const data = res.body ? JSON.parse(res.body) : res.body;
318
+ if (options.debug) {
319
+ console.log(`RES(${res.status})`, url, JSON.stringify(data, null, 2));
320
+ }
321
+ return data;
430
322
  });
431
- };
432
- return BaseServiceClient;
433
- }());
323
+ }
324
+ }
434
325
  exports.BaseServiceClient = BaseServiceClient;
435
326
  //# sourceMappingURL=base.js.map
package/lib/base.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"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"}