@suprsend/node-sdk 1.8.1 → 1.9.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.
@@ -1,46 +1,29 @@
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"] = exports.Subscriber = void 0;
9
-
10
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
-
12
9
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
-
14
10
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
-
16
11
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
17
-
18
12
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
19
-
20
13
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
21
-
22
14
  var _utils = require("./utils");
23
-
24
15
  var _signature = _interopRequireDefault(require("./signature"));
25
-
26
16
  var _axios = _interopRequireDefault(require("axios"));
27
-
28
17
  var _subscriber_helper = _interopRequireDefault(require("./subscriber_helper"));
29
-
30
18
  var _constants = require("./constants");
31
-
32
19
  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; } } }; }
33
-
34
20
  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); }
35
-
36
21
  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; }
37
-
38
22
  var SubscriberFactory = /*#__PURE__*/function () {
39
23
  function SubscriberFactory(config) {
40
24
  (0, _classCallCheck2["default"])(this, SubscriberFactory);
41
25
  this.config = config;
42
26
  }
43
-
44
27
  (0, _createClass2["default"])(SubscriberFactory, [{
45
28
  key: "new_user",
46
29
  value: function new_user(distinct_id) {
@@ -52,21 +35,16 @@ var SubscriberFactory = /*#__PURE__*/function () {
52
35
  if (!(0, _utils.is_string)(distinct_id)) {
53
36
  throw new _utils.InputValueError("distinct_id must be a string. an Id which uniquely identify a user in your app");
54
37
  }
55
-
56
38
  distinct_id = distinct_id.trim();
57
-
58
39
  if (!distinct_id) {
59
40
  throw new _utils.InputValueError("distinct_id must be passed");
60
41
  }
61
-
62
42
  return new Subscriber(this.config, distinct_id);
63
43
  }
64
44
  }]);
65
45
  return SubscriberFactory;
66
46
  }();
67
-
68
47
  exports["default"] = SubscriberFactory;
69
-
70
48
  var Subscriber = /*#__PURE__*/function () {
71
49
  function Subscriber(config, distinct_id) {
72
50
  (0, _classCallCheck2["default"])(this, Subscriber);
@@ -80,7 +58,6 @@ var Subscriber = /*#__PURE__*/function () {
80
58
  this._helper = new _subscriber_helper["default"]();
81
59
  this.__warnings_list = [];
82
60
  }
83
-
84
61
  (0, _createClass2["default"])(Subscriber, [{
85
62
  key: "__get_url",
86
63
  value: function __get_url() {
@@ -129,11 +106,9 @@ var Subscriber = /*#__PURE__*/function () {
129
106
  key: "validate_event_size",
130
107
  value: function validate_event_size(event_dict) {
131
108
  var apparent_size = (0, _utils.get_apparent_identity_event_size)(event_dict);
132
-
133
109
  if (apparent_size > _constants.IDENTITY_SINGLE_EVENT_MAX_APPARENT_SIZE_IN_BYTES) {
134
110
  throw new _utils.InputValueError("User Event size too big - ".concat(apparent_size, " Bytes, must not cross ").concat(_constants.IDENTITY_SINGLE_EVENT_MAX_APPARENT_SIZE_IN_BYTES_READABLE));
135
111
  }
136
-
137
112
  return [event_dict, apparent_size];
138
113
  }
139
114
  }, {
@@ -141,29 +116,21 @@ var Subscriber = /*#__PURE__*/function () {
141
116
  value: function validate_body() {
142
117
  var is_part_of_bulk = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
143
118
  this.__warnings_list = [];
144
-
145
119
  if (!(0, _utils.is_empty)(this.__info)) {
146
120
  var msg = "[distinct_id: ".concat(this.distinct_id, "]").concat(this.__info.join("\n"));
147
-
148
121
  this.__warnings_list.push(msg);
149
-
150
122
  console.log("WARNING: ".concat(msg));
151
123
  }
152
-
153
124
  if (!(0, _utils.is_empty)(this.__errors)) {
154
125
  var _msg = "[distinct_id: ".concat(this.distinct_id, "] ").concat(this.__errors.join("\n"));
155
-
156
126
  this.__warnings_list.push(_msg);
157
-
158
127
  var err_msg = "ERROR: ".concat(_msg);
159
-
160
128
  if (is_part_of_bulk) {
161
129
  console.log(err_msg);
162
130
  } else {
163
131
  throw new _utils.InputValueError(err_msg);
164
132
  }
165
133
  }
166
-
167
134
  return this.__warnings_list;
168
135
  }
169
136
  }, {
@@ -171,7 +138,6 @@ var Subscriber = /*#__PURE__*/function () {
171
138
  value: function () {
172
139
  var _save = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
173
140
  var is_part_of_bulk, headers, event, _this$validate_event_, _this$validate_event_2, validated_ev, size, content_text, signature, response, ok_response;
174
-
175
141
  return _regenerator["default"].wrap(function _callee$(_context) {
176
142
  while (1) {
177
143
  switch (_context.prev = _context.next) {
@@ -189,23 +155,19 @@ var Subscriber = /*#__PURE__*/function () {
189
155
  return _axios["default"].post(this.__url, content_text, {
190
156
  headers: headers
191
157
  });
192
-
193
158
  case 11:
194
159
  response = _context.sent;
195
160
  ok_response = Math.floor(response.status / 100) == 2;
196
-
197
161
  if (!ok_response) {
198
162
  _context.next = 17;
199
163
  break;
200
164
  }
201
-
202
165
  return _context.abrupt("return", {
203
166
  success: true,
204
167
  status: "success",
205
168
  status_code: response.status,
206
169
  message: response.statusText
207
170
  });
208
-
209
171
  case 17:
210
172
  return _context.abrupt("return", {
211
173
  success: false,
@@ -213,11 +175,9 @@ var Subscriber = /*#__PURE__*/function () {
213
175
  status_code: response.status,
214
176
  message: response.statusText
215
177
  });
216
-
217
178
  case 18:
218
179
  _context.next = 23;
219
180
  break;
220
-
221
181
  case 20:
222
182
  _context.prev = 20;
223
183
  _context.t0 = _context["catch"](8);
@@ -227,7 +187,6 @@ var Subscriber = /*#__PURE__*/function () {
227
187
  status_code: _context.t0.status || 500,
228
188
  message: _context.t0.message
229
189
  });
230
-
231
190
  case 23:
232
191
  case "end":
233
192
  return _context.stop();
@@ -235,26 +194,21 @@ var Subscriber = /*#__PURE__*/function () {
235
194
  }
236
195
  }, _callee, this, [[8, 20]]);
237
196
  }));
238
-
239
197
  function save() {
240
198
  return _save.apply(this, arguments);
241
199
  }
242
-
243
200
  return save;
244
201
  }()
245
202
  }, {
246
203
  key: "_collect_event",
247
204
  value: function _collect_event() {
248
205
  var resp = this._helper.get_identity_events();
249
-
250
206
  if (!(0, _utils.is_empty)(resp["errors"])) {
251
207
  this.__errors = [].concat((0, _toConsumableArray2["default"])(this.__errors), (0, _toConsumableArray2["default"])(resp["errors"]));
252
208
  }
253
-
254
209
  if (!(0, _utils.is_empty)(resp["info"])) {
255
210
  this.__info = [].concat((0, _toConsumableArray2["default"])(this.__info), (0, _toConsumableArray2["default"])(resp["info"]));
256
211
  }
257
-
258
212
  if (!(0, _utils.is_empty)(resp["event"])) {
259
213
  this.user_operations.push(resp["event"]);
260
214
  }
@@ -263,28 +217,91 @@ var Subscriber = /*#__PURE__*/function () {
263
217
  key: "append",
264
218
  value: function append(key, value) {
265
219
  var caller = "append";
266
-
267
220
  if (!(0, _utils.is_string)(key) && !(0, _utils.is_object)(key)) {
268
221
  this.__errors.push("[".concat(caller, "] arg1 must be either string or a dict"));
269
-
270
222
  return;
271
223
  }
272
-
273
224
  if ((0, _utils.is_string)(key)) {
274
225
  if (!value) {
275
226
  this.__errors.push("[".concat(caller, "] if arg1 is a string, then arg2 must be passed"));
276
-
277
227
  return;
278
228
  } else {
279
229
  this._helper._append_kv(key, value, {}, caller);
280
-
281
230
  this._collect_event();
282
231
  }
283
232
  } else {
284
233
  for (var item in key) {
285
234
  this._helper._append_kv(item, key[item], key, caller);
286
235
  }
287
-
236
+ this._collect_event();
237
+ }
238
+ }
239
+ }, {
240
+ key: "set",
241
+ value: function set(key, value) {
242
+ var caller = "set";
243
+ if (!(0, _utils.is_string)(key) && !(0, _utils.is_object)(key)) {
244
+ this.__errors.push("[".concat(caller, "] arg1 must be either string or a dict"));
245
+ return;
246
+ }
247
+ if ((0, _utils.is_string)(key)) {
248
+ if (value === null || value === undefined) {
249
+ this.__errors.push("[".concat(caller, "] if arg1 is a string, then arg2 must be passed"));
250
+ return;
251
+ } else {
252
+ this._helper._set_kv(key, value, {}, caller);
253
+ this._collect_event();
254
+ }
255
+ } else {
256
+ for (var item in key) {
257
+ this._helper._set_kv(item, key[item], key, caller);
258
+ }
259
+ this._collect_event();
260
+ }
261
+ }
262
+ }, {
263
+ key: "set_once",
264
+ value: function set_once(key, value) {
265
+ var caller = "set_once";
266
+ if (!(0, _utils.is_string)(key) && !(0, _utils.is_object)(key)) {
267
+ this.__errors.push("[".concat(caller, "] arg1 must be either string or a dict"));
268
+ return;
269
+ }
270
+ if ((0, _utils.is_string)(key)) {
271
+ if (value === null || value === undefined) {
272
+ this.__errors.push("[".concat(caller, "] if arg1 is a string, then arg2 must be passed"));
273
+ return;
274
+ } else {
275
+ this._helper._set_once_kv(key, value, {}, caller);
276
+ this._collect_event();
277
+ }
278
+ } else {
279
+ for (var item in key) {
280
+ this._helper._set_once_kv(item, key[item], key, caller);
281
+ }
282
+ this._collect_event();
283
+ }
284
+ }
285
+ }, {
286
+ key: "increment",
287
+ value: function increment(key, value) {
288
+ var caller = "increment";
289
+ if (!(0, _utils.is_string)(key) && !(0, _utils.is_object)(key)) {
290
+ this.__errors.push("[".concat(caller, "] arg1 must be either string or a dict"));
291
+ return;
292
+ }
293
+ if ((0, _utils.is_string)(key)) {
294
+ if (value === null || value === undefined) {
295
+ this.__errors.push("[".concat(caller, "] if arg1 is a string, then arg2 must be passed"));
296
+ return;
297
+ } else {
298
+ this._helper._increment_kv(key, value, {}, caller);
299
+ this._collect_event();
300
+ }
301
+ } else {
302
+ for (var item in key) {
303
+ this._helper._increment_kv(item, key[item], key, caller);
304
+ }
288
305
  this._collect_event();
289
306
  }
290
307
  }
@@ -292,28 +309,22 @@ var Subscriber = /*#__PURE__*/function () {
292
309
  key: "remove",
293
310
  value: function remove(key, value) {
294
311
  var caller = "remove";
295
-
296
312
  if (!(0, _utils.is_string)(key) && !(0, _utils.is_object)(key)) {
297
313
  this.__errors.push("[".concat(caller, "] arg1 must be either string or a dict"));
298
-
299
314
  return;
300
315
  }
301
-
302
316
  if ((0, _utils.is_string)(key)) {
303
317
  if (!value) {
304
318
  this.__errors.push("[".concat(caller, "] if arg1 is a string, then arg2 must be passed"));
305
-
306
319
  return;
307
320
  } else {
308
321
  this._helper._remove_kv(key, value, {}, caller);
309
-
310
322
  this._collect_event();
311
323
  }
312
324
  } else {
313
325
  for (var item in key) {
314
326
  this._helper._remove_kv(item, key[item], key, caller);
315
327
  }
316
-
317
328
  this._collect_event();
318
329
  }
319
330
  }
@@ -321,25 +332,19 @@ var Subscriber = /*#__PURE__*/function () {
321
332
  key: "unset",
322
333
  value: function unset(key) {
323
334
  var caller = "unset";
324
-
325
335
  if (!(0, _utils.is_string)(key) && !Array.isArray(key)) {
326
336
  this.__errors.push("[".concat(caller, "] key must be either string or array"));
327
-
328
337
  return;
329
338
  }
330
-
331
339
  if ((0, _utils.is_string)(key)) {
332
340
  this._helper._unset_k(key, caller);
333
-
334
341
  this._collect_event();
335
342
  } else {
336
343
  var _iterator = _createForOfIteratorHelper(key),
337
- _step;
338
-
344
+ _step;
339
345
  try {
340
346
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
341
347
  var item = _step.value;
342
-
343
348
  this._helper._unset_k(item, caller);
344
349
  }
345
350
  } catch (err) {
@@ -347,7 +352,6 @@ var Subscriber = /*#__PURE__*/function () {
347
352
  } finally {
348
353
  _iterator.f();
349
354
  }
350
-
351
355
  this._collect_event();
352
356
  }
353
357
  }
@@ -355,63 +359,49 @@ var Subscriber = /*#__PURE__*/function () {
355
359
  key: "set_preferred_language",
356
360
  value: function set_preferred_language(lang_code) {
357
361
  var caller = "set_preferred_language";
358
-
359
362
  this._helper._set_preferred_language(lang_code, caller);
360
-
361
363
  this._collect_event();
362
364
  }
363
365
  }, {
364
366
  key: "add_email",
365
367
  value: function add_email(email) {
366
368
  var caller = "add_email";
367
-
368
369
  this._helper._add_email(email, caller);
369
-
370
370
  this._collect_event();
371
371
  }
372
372
  }, {
373
373
  key: "remove_email",
374
374
  value: function remove_email(email) {
375
375
  var caller = "remove_email";
376
-
377
376
  this._helper._remove_email(email, caller);
378
-
379
377
  this._collect_event();
380
378
  }
381
379
  }, {
382
380
  key: "add_sms",
383
381
  value: function add_sms(mobile_no) {
384
382
  var caller = "add_sms";
385
-
386
383
  this._helper._add_sms(mobile_no, caller);
387
-
388
384
  this._collect_event();
389
385
  }
390
386
  }, {
391
387
  key: "remove_sms",
392
388
  value: function remove_sms(mobile_no) {
393
389
  var caller = "remove_sms";
394
-
395
390
  this._helper._remove_sms(mobile_no, caller);
396
-
397
391
  this._collect_event();
398
392
  }
399
393
  }, {
400
394
  key: "add_whatsapp",
401
395
  value: function add_whatsapp(mobile_no) {
402
396
  var caller = "add_whatsapp";
403
-
404
397
  this._helper._add_whatsapp(mobile_no, caller);
405
-
406
398
  this._collect_event();
407
399
  }
408
400
  }, {
409
401
  key: "remove_whatsapp",
410
402
  value: function remove_whatsapp(mobile_no) {
411
403
  var caller = "remove_whatsapp";
412
-
413
404
  this._helper._remove_whatsapp(mobile_no, caller);
414
-
415
405
  this._collect_event();
416
406
  }
417
407
  }, {
@@ -419,9 +409,7 @@ var Subscriber = /*#__PURE__*/function () {
419
409
  value: function add_androidpush(push_token) {
420
410
  var provider = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "fcm";
421
411
  var caller = "add_androidpush";
422
-
423
412
  this._helper._add_androidpush(push_token, provider, caller);
424
-
425
413
  this._collect_event();
426
414
  }
427
415
  }, {
@@ -429,9 +417,7 @@ var Subscriber = /*#__PURE__*/function () {
429
417
  value: function remove_androidpush(push_token) {
430
418
  var provider = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "fcm";
431
419
  var caller = "remove_androidpush";
432
-
433
420
  this._helper._remove_androidpush(push_token, provider, caller);
434
-
435
421
  this._collect_event();
436
422
  }
437
423
  }, {
@@ -439,9 +425,7 @@ var Subscriber = /*#__PURE__*/function () {
439
425
  value: function add_iospush(push_token) {
440
426
  var provider = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "apns";
441
427
  var caller = "add_iospush";
442
-
443
428
  this._helper._add_iospush(push_token, provider, caller);
444
-
445
429
  this._collect_event();
446
430
  }
447
431
  }, {
@@ -449,9 +433,7 @@ var Subscriber = /*#__PURE__*/function () {
449
433
  value: function remove_iospush(push_token) {
450
434
  var provider = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "apns";
451
435
  var caller = "remove_iospush";
452
-
453
436
  this._helper._remove_iospush(push_token, provider, caller);
454
-
455
437
  this._collect_event();
456
438
  }
457
439
  }, {
@@ -459,9 +441,7 @@ var Subscriber = /*#__PURE__*/function () {
459
441
  value: function add_webpush(push_token) {
460
442
  var provider = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "vapid";
461
443
  var caller = "add_webpush";
462
-
463
444
  this._helper._add_webpush(push_token, provider, caller);
464
-
465
445
  this._collect_event();
466
446
  }
467
447
  }, {
@@ -469,27 +449,35 @@ var Subscriber = /*#__PURE__*/function () {
469
449
  value: function remove_webpush(push_token) {
470
450
  var provider = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "vapid";
471
451
  var caller = "remove_webpush";
472
-
473
452
  this._helper._remove_webpush(push_token, provider, caller);
474
-
475
453
  this._collect_event();
476
454
  }
477
455
  }, {
478
456
  key: "add_slack",
479
457
  value: function add_slack(value) {
480
458
  var caller = "add_slack";
481
-
482
459
  this._helper._add_slack(value, caller);
483
-
484
460
  this._collect_event();
485
461
  }
486
462
  }, {
487
463
  key: "remove_slack",
488
464
  value: function remove_slack(value) {
489
465
  var caller = "remove_slack";
490
-
491
466
  this._helper._remove_slack(value, caller);
492
-
467
+ this._collect_event();
468
+ }
469
+ }, {
470
+ key: "add_ms_teams",
471
+ value: function add_ms_teams(value) {
472
+ var caller = "add_ms_teams";
473
+ this._helper._add_ms_teams(value, caller);
474
+ this._collect_event();
475
+ }
476
+ }, {
477
+ key: "remove_ms_teams",
478
+ value: function remove_ms_teams(value) {
479
+ var caller = "remove_ms_teams";
480
+ this._helper._remove_ms_teams(value, caller);
493
481
  this._collect_event();
494
482
  }
495
483
  }, {
@@ -497,11 +485,9 @@ var Subscriber = /*#__PURE__*/function () {
497
485
  value: function add_slack_email(value) {
498
486
  console.warn("add_slack_email() method has been deprecated. use add_slack() instead");
499
487
  var caller = "add_slack_email";
500
-
501
488
  this._helper._add_slack({
502
489
  email: value
503
490
  }, caller);
504
-
505
491
  this._collect_event();
506
492
  }
507
493
  }, {
@@ -509,11 +495,9 @@ var Subscriber = /*#__PURE__*/function () {
509
495
  value: function remove_slack_email(value) {
510
496
  console.warn("remove_slack_email() method has been deprecated. use remove_slack() instead");
511
497
  var caller = "remove_slack_email";
512
-
513
498
  this._helper._remove_slack({
514
499
  email: value
515
500
  }, caller);
516
-
517
501
  this._collect_event();
518
502
  }
519
503
  }, {
@@ -521,11 +505,9 @@ var Subscriber = /*#__PURE__*/function () {
521
505
  value: function add_slack_userid(value) {
522
506
  console.warn("add_slack_userid() method has been deprecated. use add_slack() instead");
523
507
  var caller = "add_slack_userid";
524
-
525
508
  this._helper._add_slack({
526
509
  user_id: value
527
510
  }, caller);
528
-
529
511
  this._collect_event();
530
512
  }
531
513
  }, {
@@ -533,15 +515,12 @@ var Subscriber = /*#__PURE__*/function () {
533
515
  value: function remove_slack_userid(value) {
534
516
  console.warn("remove_slack_userid() method has been deprecated. use remove_slack() instead");
535
517
  var caller = "remove_slack_userid";
536
-
537
518
  this._helper._remove_slack({
538
519
  user_id: value
539
520
  }, caller);
540
-
541
521
  this._collect_event();
542
522
  }
543
523
  }]);
544
524
  return Subscriber;
545
525
  }();
546
-
547
526
  exports.Subscriber = Subscriber;