@suprsend/node-sdk 1.8.0 → 1.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,56 +1,34 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports["default"] = void 0;
9
-
10
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
-
12
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
-
14
10
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
15
-
16
11
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
-
18
12
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
19
-
20
13
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
21
-
22
14
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
23
-
24
15
  var _constants = require("./constants");
25
-
26
16
  var _signature = _interopRequireDefault(require("./signature"));
27
-
28
17
  var _bulk_response = _interopRequireDefault(require("./bulk_response"));
29
-
30
18
  var _subscriber = require("./subscriber");
31
-
32
19
  var _lodash = require("lodash");
33
-
34
20
  var _axios = _interopRequireDefault(require("axios"));
35
-
36
21
  var _utils = require("./utils");
37
-
38
22
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
39
-
40
23
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
41
-
42
24
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
43
-
44
25
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
45
-
46
26
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
47
-
48
27
  var BulkSubscribersFactory = /*#__PURE__*/function () {
49
28
  function BulkSubscribersFactory(config) {
50
29
  (0, _classCallCheck2["default"])(this, BulkSubscribersFactory);
51
30
  this.config = config;
52
31
  }
53
-
54
32
  (0, _createClass2["default"])(BulkSubscribersFactory, [{
55
33
  key: "new_instance",
56
34
  value: function new_instance() {
@@ -59,9 +37,7 @@ var BulkSubscribersFactory = /*#__PURE__*/function () {
59
37
  }]);
60
38
  return BulkSubscribersFactory;
61
39
  }();
62
-
63
40
  exports["default"] = BulkSubscribersFactory;
64
-
65
41
  var _BulkSubscribersChunk = /*#__PURE__*/function () {
66
42
  function _BulkSubscribersChunk(config) {
67
43
  (0, _classCallCheck2["default"])(this, _BulkSubscribersChunk);
@@ -73,7 +49,6 @@ var _BulkSubscribersChunk = /*#__PURE__*/function () {
73
49
  this.__running_length = 0;
74
50
  this.response;
75
51
  }
76
-
77
52
  (0, _createClass2["default"])(_BulkSubscribersChunk, [{
78
53
  key: "__get_url",
79
54
  value: function __get_url() {
@@ -99,9 +74,7 @@ var _BulkSubscribersChunk = /*#__PURE__*/function () {
99
74
  value: function __add_event_to_chunk(event, event_size) {
100
75
  // First add size, then body to reduce effects of race condition
101
76
  this.__running_size += event_size;
102
-
103
77
  this.__chunk.push(event);
104
-
105
78
  this.__running_length += 1;
106
79
  }
107
80
  }, {
@@ -119,21 +92,16 @@ var _BulkSubscribersChunk = /*#__PURE__*/function () {
119
92
  if (!event) {
120
93
  return true;
121
94
  }
122
-
123
95
  if (this.__check_limit_reached()) {
124
96
  return false;
125
97
  }
126
-
127
98
  if (event_size > _constants.IDENTITY_SINGLE_EVENT_MAX_APPARENT_SIZE_IN_BYTES) {
128
99
  throw new _utils.InputValueError("Event too big - ".concat(event_size, " Bytes, must not cross ").concat(_constants.IDENTITY_SINGLE_EVENT_MAX_APPARENT_SIZE_IN_BYTES_READABLE));
129
100
  }
130
-
131
101
  if (this.__running_size + event_size > _constants.BODY_MAX_APPARENT_SIZE_IN_BYTES) {
132
102
  return false;
133
103
  }
134
-
135
104
  this.__add_event_to_chunk(event, event_size);
136
-
137
105
  return true;
138
106
  }
139
107
  }, {
@@ -154,11 +122,9 @@ var _BulkSubscribersChunk = /*#__PURE__*/function () {
154
122
  return _axios["default"].post(this.__url, content_text, {
155
123
  headers: headers
156
124
  });
157
-
158
125
  case 7:
159
126
  response = _context.sent;
160
127
  ok_response = Math.floor(response.status / 100) == 2;
161
-
162
128
  if (ok_response) {
163
129
  this.response = {
164
130
  status: "success",
@@ -184,10 +150,8 @@ var _BulkSubscribersChunk = /*#__PURE__*/function () {
184
150
  })
185
151
  };
186
152
  }
187
-
188
153
  _context.next = 16;
189
154
  break;
190
-
191
155
  case 12:
192
156
  _context.prev = 12;
193
157
  _context.t0 = _context["catch"](4);
@@ -207,7 +171,6 @@ var _BulkSubscribersChunk = /*#__PURE__*/function () {
207
171
  };
208
172
  })
209
173
  };
210
-
211
174
  case 16:
212
175
  case "end":
213
176
  return _context.stop();
@@ -215,17 +178,14 @@ var _BulkSubscribersChunk = /*#__PURE__*/function () {
215
178
  }
216
179
  }, _callee, this, [[4, 12]]);
217
180
  }));
218
-
219
181
  function trigger() {
220
182
  return _trigger.apply(this, arguments);
221
183
  }
222
-
223
184
  return trigger;
224
185
  }()
225
186
  }]);
226
187
  return _BulkSubscribersChunk;
227
188
  }();
228
-
229
189
  var BulkSubscribers = /*#__PURE__*/function () {
230
190
  function BulkSubscribers(config) {
231
191
  (0, _classCallCheck2["default"])(this, BulkSubscribers);
@@ -233,40 +193,33 @@ var BulkSubscribers = /*#__PURE__*/function () {
233
193
  this.__subscribers = [];
234
194
  this.__pending_records = [];
235
195
  this.chunks = [];
236
- this.response = new _bulk_response["default"](); // invalid_record json: {"record": event-json, "error": error_str, "code": 500}
196
+ this.response = new _bulk_response["default"]();
237
197
 
198
+ // invalid_record json: {"record": event-json, "error": error_str, "code": 500}
238
199
  this.__invalid_records = [];
239
200
  }
240
-
241
201
  (0, _createClass2["default"])(BulkSubscribers, [{
242
202
  key: "__validate_subscriber_events",
243
203
  value: function __validate_subscriber_events() {
244
204
  var _iterator = _createForOfIteratorHelper(this.__subscribers),
245
- _step;
246
-
205
+ _step;
247
206
  try {
248
207
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
249
208
  var sub = _step.value;
250
-
251
209
  try {
252
210
  var is_part_of_bulk = true;
253
211
  var warnings_list = sub.validate_body(is_part_of_bulk);
254
-
255
212
  if (warnings_list) {
256
213
  this.response.warnings = [].concat((0, _toConsumableArray2["default"])(this.response.warnings), (0, _toConsumableArray2["default"])(warnings_list));
257
214
  }
258
-
259
215
  var ev = sub.get_events();
260
-
261
216
  var _sub$validate_event_s = sub.validate_event_size(ev),
262
- _sub$validate_event_s2 = (0, _slicedToArray2["default"])(_sub$validate_event_s, 2),
263
- ev_json = _sub$validate_event_s2[0],
264
- body_size = _sub$validate_event_s2[1];
265
-
217
+ _sub$validate_event_s2 = (0, _slicedToArray2["default"])(_sub$validate_event_s, 2),
218
+ ev_json = _sub$validate_event_s2[0],
219
+ body_size = _sub$validate_event_s2[1];
266
220
  this.__pending_records.push([ev_json, body_size]);
267
221
  } catch (ex) {
268
222
  var inv_rec = (0, _utils.invalid_record_json)(sub.as_json(), ex);
269
-
270
223
  this.__invalid_records.push(inv_rec);
271
224
  }
272
225
  }
@@ -282,25 +235,19 @@ var BulkSubscribers = /*#__PURE__*/function () {
282
235
  var start_idx = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
283
236
  var curr_chunk = new _BulkSubscribersChunk(this.config);
284
237
  this.chunks.push(curr_chunk);
285
-
286
238
  var entries = this.__pending_records.slice(start_idx).entries();
287
-
288
239
  var _iterator2 = _createForOfIteratorHelper(entries),
289
- _step2;
290
-
240
+ _step2;
291
241
  try {
292
242
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
293
243
  var _step2$value = (0, _slicedToArray2["default"])(_step2.value, 2),
294
- rel_idx = _step2$value[0],
295
- rec = _step2$value[1];
296
-
244
+ rel_idx = _step2$value[0],
245
+ rec = _step2$value[1];
297
246
  var is_added = curr_chunk.try_to_add_into_chunk(rec[0], rec[1]);
298
-
299
247
  if (!is_added) {
300
248
  // create chunks from remaining records
301
- this.__chunkify(start_idx + rel_idx); // Don't forget to break. As current loop must not continue further
302
-
303
-
249
+ this.__chunkify(start_idx + rel_idx);
250
+ // Don't forget to break. As current loop must not continue further
304
251
  break;
305
252
  }
306
253
  }
@@ -316,17 +263,13 @@ var BulkSubscribers = /*#__PURE__*/function () {
316
263
  for (var _len = arguments.length, subscribers = new Array(_len), _key = 0; _key < _len; _key++) {
317
264
  subscribers[_key] = arguments[_key];
318
265
  }
319
-
320
266
  if (!subscribers) {
321
267
  return;
322
268
  }
323
-
324
269
  for (var _i = 0, _subscribers = subscribers; _i < _subscribers.length; _i++) {
325
270
  var sub = _subscribers[_i];
326
-
327
271
  if (sub && sub instanceof _subscriber.Subscriber) {
328
272
  var sub_copy = (0, _lodash.cloneDeep)(sub);
329
-
330
273
  this.__subscribers.push(sub_copy);
331
274
  }
332
275
  }
@@ -341,85 +284,63 @@ var BulkSubscribers = /*#__PURE__*/function () {
341
284
  value: function () {
342
285
  var _save = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
343
286
  var ch_response, _iterator3, _step3, _step3$value, c_idx, ch;
344
-
345
287
  return _regenerator["default"].wrap(function _callee2$(_context2) {
346
288
  while (1) {
347
289
  switch (_context2.prev = _context2.next) {
348
290
  case 0:
349
291
  this.__validate_subscriber_events();
350
-
351
292
  if (this.__invalid_records.length > 0) {
352
293
  ch_response = _bulk_response["default"].invalid_records_chunk_response(this.__invalid_records);
353
294
  this.response.merge_chunk_response(ch_response);
354
295
  }
355
-
356
296
  if (!this.__pending_records.length) {
357
297
  _context2.next = 25;
358
298
  break;
359
299
  }
360
-
361
300
  this.__chunkify();
362
-
363
301
  _iterator3 = _createForOfIteratorHelper(this.chunks.entries());
364
302
  _context2.prev = 5;
365
-
366
303
  _iterator3.s();
367
-
368
304
  case 7:
369
305
  if ((_step3 = _iterator3.n()).done) {
370
306
  _context2.next = 15;
371
307
  break;
372
308
  }
373
-
374
309
  _step3$value = (0, _slicedToArray2["default"])(_step3.value, 2), c_idx = _step3$value[0], ch = _step3$value[1];
375
-
376
310
  if (this.config.req_log_level > 0) {
377
311
  console.log("DEBUG: triggering api call for chunk: ".concat(c_idx));
378
- } // do api call
379
-
380
-
312
+ }
313
+ // do api call
381
314
  _context2.next = 12;
382
315
  return ch.trigger();
383
-
384
316
  case 12:
385
317
  // merge response
386
318
  this.response.merge_chunk_response(ch.response);
387
-
388
319
  case 13:
389
320
  _context2.next = 7;
390
321
  break;
391
-
392
322
  case 15:
393
323
  _context2.next = 20;
394
324
  break;
395
-
396
325
  case 17:
397
326
  _context2.prev = 17;
398
327
  _context2.t0 = _context2["catch"](5);
399
-
400
328
  _iterator3.e(_context2.t0);
401
-
402
329
  case 20:
403
330
  _context2.prev = 20;
404
-
405
331
  _iterator3.f();
406
-
407
332
  return _context2.finish(20);
408
-
409
333
  case 23:
410
334
  _context2.next = 26;
411
335
  break;
412
-
413
336
  case 25:
414
337
  // if no records. i.e. invalid_records.length and pending_records.length both are 0
415
338
  // then add empty success response
416
339
  if (this.__invalid_records.length === 0) {
417
340
  this.response.merge_chunk_response(_bulk_response["default"].empty_chunk_success_response());
418
341
  }
419
-
420
342
  case 26:
421
343
  return _context2.abrupt("return", this.response);
422
-
423
344
  case 27:
424
345
  case "end":
425
346
  return _context2.stop();
@@ -427,15 +348,12 @@ var BulkSubscribers = /*#__PURE__*/function () {
427
348
  }
428
349
  }, _callee2, this, [[5, 17, 20, 23]]);
429
350
  }));
430
-
431
351
  function save() {
432
352
  return _save.apply(this, arguments);
433
353
  }
434
-
435
354
  return save;
436
355
  }()
437
356
  }]);
438
357
  return BulkSubscribers;
439
358
  }();
440
-
441
359
  module.exports = exports.default;