@suprsend/node-sdk 1.2.0 → 1.3.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/dist/constants.js CHANGED
@@ -38,9 +38,9 @@ exports.ALLOW_ATTACHMENTS_IN_BULK_API = ALLOW_ATTACHMENTS_IN_BULK_API;
38
38
  var ATTACHMENT_UPLOAD_ENABLED = false; // -- single Identity event limit
39
39
 
40
40
  exports.ATTACHMENT_UPLOAD_ENABLED = ATTACHMENT_UPLOAD_ENABLED;
41
- var IDENTITY_SINGLE_EVENT_MAX_APPARENT_SIZE_IN_BYTES = 2 * 1024;
41
+ var IDENTITY_SINGLE_EVENT_MAX_APPARENT_SIZE_IN_BYTES = 10 * 1024;
42
42
  exports.IDENTITY_SINGLE_EVENT_MAX_APPARENT_SIZE_IN_BYTES = IDENTITY_SINGLE_EVENT_MAX_APPARENT_SIZE_IN_BYTES;
43
- var IDENTITY_SINGLE_EVENT_MAX_APPARENT_SIZE_IN_BYTES_READABLE = "2KB";
43
+ var IDENTITY_SINGLE_EVENT_MAX_APPARENT_SIZE_IN_BYTES_READABLE = "10KB";
44
44
  exports.IDENTITY_SINGLE_EVENT_MAX_APPARENT_SIZE_IN_BYTES_READABLE = IDENTITY_SINGLE_EVENT_MAX_APPARENT_SIZE_IN_BYTES_READABLE;
45
45
  var MAX_IDENTITY_EVENTS_IN_BULK_API = 400;
46
46
  exports.MAX_IDENTITY_EVENTS_IN_BULK_API = MAX_IDENTITY_EVENTS_IN_BULK_API;
package/dist/event.js CHANGED
@@ -166,17 +166,7 @@ var EventCollector = /*#__PURE__*/function () {
166
166
  (0, _createClass2["default"])(EventCollector, [{
167
167
  key: "__get_url",
168
168
  value: function __get_url() {
169
- var url_template = "event/";
170
-
171
- if (this.config.include_signature_param) {
172
- if (this.config.auth_enabled) {
173
- url_template = url_template + "?verify=true";
174
- } else {
175
- url_template = url_template + "?verify=false";
176
- }
177
- }
178
-
179
- return "".concat(this.config.base_url).concat(url_template);
169
+ return "".concat(this.config.base_url, "event/");
180
170
  }
181
171
  }, {
182
172
  key: "__common_headers",
@@ -214,24 +204,20 @@ var EventCollector = /*#__PURE__*/function () {
214
204
  case 0:
215
205
  headers = _objectSpread(_objectSpread({}, this.__headers), this.__dynamic_headers());
216
206
  content_text = JSON.stringify(event);
217
-
218
- if (this.config.auth_enabled) {
219
- signature = (0, _signature["default"])(this.__url, "POST", content_text, headers, this.config.workspace_secret);
220
- headers["Authorization"] = "".concat(this.config.workspace_key, ":").concat(signature);
221
- }
222
-
223
- _context.prev = 3;
224
- _context.next = 6;
207
+ signature = (0, _signature["default"])(this.__url, "POST", content_text, headers, this.config.workspace_secret);
208
+ headers["Authorization"] = "".concat(this.config.workspace_key, ":").concat(signature);
209
+ _context.prev = 4;
210
+ _context.next = 7;
225
211
  return _axios["default"].post(this.__url, content_text, {
226
212
  headers: headers
227
213
  });
228
214
 
229
- case 6:
215
+ case 7:
230
216
  response = _context.sent;
231
217
  ok_response = Math.floor(response.status / 100) == 2;
232
218
 
233
219
  if (!ok_response) {
234
- _context.next = 12;
220
+ _context.next = 13;
235
221
  break;
236
222
  }
237
223
 
@@ -242,7 +228,7 @@ var EventCollector = /*#__PURE__*/function () {
242
228
  message: response.statusText
243
229
  });
244
230
 
245
- case 12:
231
+ case 13:
246
232
  return _context.abrupt("return", {
247
233
  success: false,
248
234
  status: "fail",
@@ -250,13 +236,13 @@ var EventCollector = /*#__PURE__*/function () {
250
236
  message: response.statusText
251
237
  });
252
238
 
253
- case 13:
254
- _context.next = 18;
239
+ case 14:
240
+ _context.next = 19;
255
241
  break;
256
242
 
257
- case 15:
258
- _context.prev = 15;
259
- _context.t0 = _context["catch"](3);
243
+ case 16:
244
+ _context.prev = 16;
245
+ _context.t0 = _context["catch"](4);
260
246
  return _context.abrupt("return", {
261
247
  success: false,
262
248
  status: "fail",
@@ -264,12 +250,12 @@ var EventCollector = /*#__PURE__*/function () {
264
250
  message: _context.t0.message
265
251
  });
266
252
 
267
- case 18:
253
+ case 19:
268
254
  case "end":
269
255
  return _context.stop();
270
256
  }
271
257
  }
272
- }, _callee, this, [[3, 15]]);
258
+ }, _callee, this, [[4, 16]]);
273
259
  }));
274
260
 
275
261
  function send(_x) {
@@ -75,17 +75,7 @@ var _BulkEventsChunk = /*#__PURE__*/function () {
75
75
  (0, _createClass2["default"])(_BulkEventsChunk, [{
76
76
  key: "__get_url",
77
77
  value: function __get_url() {
78
- var url_template = "event/";
79
-
80
- if (this.config.include_signature_param) {
81
- if (this.config.auth_enabled) {
82
- url_template = url_template + "?verify=true";
83
- } else {
84
- url_template = url_template + "?verify=false";
85
- }
86
- }
87
-
88
- var url_formatted = "".concat(this.config.base_url).concat(url_template);
78
+ var url_formatted = "".concat(this.config.base_url, "event/");
89
79
  return url_formatted;
90
80
  }
91
81
  }, {
@@ -159,20 +149,16 @@ var _BulkEventsChunk = /*#__PURE__*/function () {
159
149
  switch (_context.prev = _context.next) {
160
150
  case 0:
161
151
  headers = _objectSpread(_objectSpread({}, this.__headers), this.__dynamic_headers());
162
- content_text = JSON.stringify(this.__chunk); // Based on whether signature is required or not, add Authorization header
163
-
164
- if (this.config.auth_enabled) {
165
- signature = (0, _signature["default"])(this.__url, "POST", content_text, headers, this.config.workspace_secret);
166
- headers["Authorization"] = "".concat(this.config.workspace_key, ":").concat(signature);
167
- }
168
-
169
- _context.prev = 3;
170
- _context.next = 6;
152
+ content_text = JSON.stringify(this.__chunk);
153
+ signature = (0, _signature["default"])(this.__url, "POST", content_text, headers, this.config.workspace_secret);
154
+ headers["Authorization"] = "".concat(this.config.workspace_key, ":").concat(signature);
155
+ _context.prev = 4;
156
+ _context.next = 7;
171
157
  return _axios["default"].post(this.__url, content_text, {
172
158
  headers: headers
173
159
  });
174
160
 
175
- case 6:
161
+ case 7:
176
162
  response = _context.sent;
177
163
  ok_response = Math.floor(response.status / 100) == 2;
178
164
 
@@ -202,12 +188,12 @@ var _BulkEventsChunk = /*#__PURE__*/function () {
202
188
  };
203
189
  }
204
190
 
205
- _context.next = 15;
191
+ _context.next = 16;
206
192
  break;
207
193
 
208
- case 11:
209
- _context.prev = 11;
210
- _context.t0 = _context["catch"](3);
194
+ case 12:
195
+ _context.prev = 12;
196
+ _context.t0 = _context["catch"](4);
211
197
  error_status = _context.t0.status || 500;
212
198
  return _context.abrupt("return", {
213
199
  status: "fail",
@@ -225,12 +211,12 @@ var _BulkEventsChunk = /*#__PURE__*/function () {
225
211
  })
226
212
  });
227
213
 
228
- case 15:
214
+ case 16:
229
215
  case "end":
230
216
  return _context.stop();
231
217
  }
232
218
  }
233
- }, _callee, this, [[3, 11]]);
219
+ }, _callee, this, [[4, 12]]);
234
220
  }));
235
221
 
236
222
  function trigger() {
package/dist/index.js CHANGED
@@ -67,8 +67,6 @@ var Suprsend = /*#__PURE__*/function () {
67
67
  this.workspace_secret = workspace_secret;
68
68
  this.config = config;
69
69
  this.base_url = this._get_url(config.base_url);
70
- this.auth_enabled = config.auth_enabled !== false;
71
- this.include_signature_param = config.include_signature_param !== false;
72
70
  this.user_agent = "suprsend/".concat(package_json.version, ";node/").concat(process.version.slice(1));
73
71
  this._workflow_trigger = new _workflow._WorkflowTrigger(this);
74
72
  this._eventcollector = new _event.EventCollector(this);
@@ -9,14 +9,12 @@ exports["default"] = exports.Subscriber = void 0;
9
9
 
10
10
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
11
 
12
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
+
12
14
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
15
 
14
16
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
17
 
16
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
-
18
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
19
-
20
18
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
21
19
 
22
20
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -31,10 +29,6 @@ var _subscriber_helper = _interopRequireDefault(require("./subscriber_helper"));
31
29
 
32
30
  var _constants = require("./constants");
33
31
 
34
- 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; }
35
-
36
- 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; }
37
-
38
32
  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
33
 
40
34
  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); }
@@ -79,31 +73,17 @@ var Subscriber = /*#__PURE__*/function () {
79
73
  this.config = config;
80
74
  this.distinct_id = distinct_id;
81
75
  this.__url = this.__get_url();
82
- this.__supr_props = this.__super_properties();
76
+ this.__super_props = this.__super_properties();
83
77
  this.__errors = [];
84
78
  this.__info = [];
85
- this._append_count = 0;
86
- this._remove_count = 0;
87
- this._set_count = 0;
88
- this._unset_count = 0;
89
- this._events = [];
90
- this._helper = new _subscriber_helper["default"](distinct_id, config.workspace_key);
79
+ this.user_operations = [];
80
+ this._helper = new _subscriber_helper["default"]();
91
81
  }
92
82
 
93
83
  (0, _createClass2["default"])(Subscriber, [{
94
84
  key: "__get_url",
95
85
  value: function __get_url() {
96
- var url_template = "event/";
97
-
98
- if (this.config.include_signature_param) {
99
- if (this.config.auth_enabled) {
100
- url_template = url_template + "?verify=true";
101
- } else {
102
- url_template = url_template + "?verify=false";
103
- }
104
- }
105
-
106
- return "".concat(this.config.base_url).concat(url_template);
86
+ return "".concat(this.config.base_url, "event/");
107
87
  }
108
88
  }, {
109
89
  key: "__get_headers",
@@ -122,38 +102,17 @@ var Subscriber = /*#__PURE__*/function () {
122
102
  };
123
103
  }
124
104
  }, {
125
- key: "events",
126
- value: function events() {
127
- var all_events = (0, _toConsumableArray2["default"])(this._events);
128
-
129
- var _iterator = _createForOfIteratorHelper(all_events),
130
- _step;
131
-
132
- try {
133
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
134
- var e = _step.value;
135
- e["properties"] = this.__supr_props;
136
- }
137
- } catch (err) {
138
- _iterator.e(err);
139
- } finally {
140
- _iterator.f();
141
- }
142
-
143
- if (all_events.length === 0 || this._append_count > 0 || this._set_count > 0) {
144
- var user_identify_event = {
145
- $insert_id: (0, _utils.uuid)(),
146
- $time: (0, _utils.epoch_milliseconds)(),
147
- env: this.config.workspace_key,
148
- event: "$identify",
149
- properties: _objectSpread({
150
- $identified_id: this.distinct_id
151
- }, this.__supr_props)
152
- };
153
- all_events = [user_identify_event].concat((0, _toConsumableArray2["default"])(all_events));
154
- }
155
-
156
- return all_events;
105
+ key: "get_events",
106
+ value: function get_events() {
107
+ return {
108
+ $schema: "2",
109
+ $insert_id: (0, _utils.uuid)(),
110
+ $time: (0, _utils.epoch_milliseconds)(),
111
+ env: this.config.workspace_key,
112
+ distinct_id: this.distinct_id,
113
+ $user_operations: this.user_operations,
114
+ properties: this.__super_props
115
+ };
157
116
  }
158
117
  }, {
159
118
  key: "validate_event_size",
@@ -197,7 +156,7 @@ var Subscriber = /*#__PURE__*/function () {
197
156
  key: "save",
198
157
  value: function () {
199
158
  var _save = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
200
- var is_part_of_bulk, headers, events, _iterator2, _step2, ev, _this$validate_event_, _this$validate_event_2, validated_ev, size, content_text, signature, response, ok_response;
159
+ var is_part_of_bulk, headers, event, _this$validate_event_, _this$validate_event_2, validated_ev, size, content_text, signature, response, ok_response;
201
160
 
202
161
  return _regenerator["default"].wrap(function _callee$(_context) {
203
162
  while (1) {
@@ -206,27 +165,11 @@ var Subscriber = /*#__PURE__*/function () {
206
165
  is_part_of_bulk = false;
207
166
  this.validate_body(is_part_of_bulk);
208
167
  headers = this.__get_headers();
209
- events = this.events();
210
- _iterator2 = _createForOfIteratorHelper(events);
211
-
212
- try {
213
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
214
- ev = _step2.value;
215
- _this$validate_event_ = this.validate_event_size(ev), _this$validate_event_2 = (0, _slicedToArray2["default"])(_this$validate_event_, 2), validated_ev = _this$validate_event_2[0], size = _this$validate_event_2[1];
216
- }
217
- } catch (err) {
218
- _iterator2.e(err);
219
- } finally {
220
- _iterator2.f();
221
- }
222
-
223
- content_text = JSON.stringify(events);
224
-
225
- if (this.config.auth_enabled) {
226
- signature = (0, _signature["default"])(this.__url, "POST", content_text, headers, this.config.workspace_secret);
227
- headers["Authorization"] = "".concat(this.config.workspace_key, ":").concat(signature);
228
- }
229
-
168
+ event = this.get_events();
169
+ _this$validate_event_ = this.validate_event_size(event), _this$validate_event_2 = (0, _slicedToArray2["default"])(_this$validate_event_, 2), validated_ev = _this$validate_event_2[0], size = _this$validate_event_2[1];
170
+ content_text = JSON.stringify(validated_ev);
171
+ signature = (0, _signature["default"])(this.__url, "POST", content_text, headers, this.config.workspace_secret);
172
+ headers["Authorization"] = "".concat(this.config.workspace_key, ":").concat(signature);
230
173
  _context.prev = 8;
231
174
  _context.next = 11;
232
175
  return _axios["default"].post(this.__url, content_text, {
@@ -299,12 +242,7 @@ var Subscriber = /*#__PURE__*/function () {
299
242
  }
300
243
 
301
244
  if (!(0, _utils.is_empty)(resp["event"])) {
302
- this._events.push(resp["event"]);
303
-
304
- this._set_count += resp["set"];
305
- this._append_count += resp["append"];
306
- this._remove_count += resp["remove"];
307
- this._unset_count += resp["unset"];
245
+ this.user_operations.push(resp["event"]);
308
246
  }
309
247
  }
310
248
  }, {
@@ -381,19 +319,19 @@ var Subscriber = /*#__PURE__*/function () {
381
319
 
382
320
  this._collect_event();
383
321
  } else {
384
- var _iterator3 = _createForOfIteratorHelper(key),
385
- _step3;
322
+ var _iterator = _createForOfIteratorHelper(key),
323
+ _step;
386
324
 
387
325
  try {
388
- for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
389
- var item = _step3.value;
326
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
327
+ var item = _step.value;
390
328
 
391
329
  this._helper._unset_k(item, caller);
392
330
  }
393
331
  } catch (err) {
394
- _iterator3.e(err);
332
+ _iterator.e(err);
395
333
  } finally {
396
- _iterator3.f();
334
+ _iterator.f();
397
335
  }
398
336
 
399
337
  this._collect_event();
@@ -40,13 +40,9 @@ var _SubscriberInternalHelper = /*#__PURE__*/function () {
40
40
  this.distinct_id = distinct_id;
41
41
  this.workspace_key = workspace_key;
42
42
  this.__dict_set = {};
43
- this.__set_count = 0;
44
43
  this.__dict_append = {};
45
- this.__append_count = 0;
46
44
  this.__dict_remove = {};
47
- this.__remove_count = 0;
48
45
  this.__list_unset = [];
49
- this.__unset_count = 0;
50
46
  this.__errors = [];
51
47
  this.__info = [];
52
48
  }
@@ -55,13 +51,9 @@ var _SubscriberInternalHelper = /*#__PURE__*/function () {
55
51
  key: "reset",
56
52
  value: function reset() {
57
53
  this.__dict_set = {};
58
- this.__set_count = 0;
59
54
  this.__dict_append = {};
60
- this.__append_count = 0;
61
55
  this.__dict_remove = {};
62
- this.__remove_count = 0;
63
56
  this.__list_unset = [];
64
- this.__unset_count = 0;
65
57
  this.__errors = [];
66
58
  this.__info = [];
67
59
  }
@@ -73,11 +65,7 @@ var _SubscriberInternalHelper = /*#__PURE__*/function () {
73
65
  var ret_val = {
74
66
  errors: this.__errors,
75
67
  info: this.__info,
76
- event: evt,
77
- set: this.__set_count,
78
- append: this.__append_count,
79
- remove: this.__remove_count,
80
- unset: this.__unset_count
68
+ event: evt
81
69
  };
82
70
  this.reset();
83
71
  return ret_val;
@@ -85,38 +73,25 @@ var _SubscriberInternalHelper = /*#__PURE__*/function () {
85
73
  }, {
86
74
  key: "__form_event",
87
75
  value: function __form_event() {
88
- if (!(0, _utils.is_empty)(this.__dict_set) || !(0, _utils.is_empty)(this.__dict_append) || !(0, _utils.is_empty)(this.__dict_remove) || !(0, _utils.is_empty)(this.__list_unset)) {
89
- var event = {
90
- $insert_id: (0, _utils.uuid)(),
91
- $time: (0, _utils.epoch_milliseconds)(),
92
- env: this.workspace_key,
93
- distinct_id: this.distinct_id
94
- };
95
-
96
- if (!(0, _utils.is_empty)(this.__dict_set)) {
97
- event["$set"] = this.__dict_set;
98
- this.__set_count += 1;
99
- }
76
+ var event = {};
100
77
 
101
- if (!(0, _utils.is_empty)(this.__dict_append)) {
102
- event["$append"] = this.__dict_append;
103
- this.__append_count += 1;
104
- }
78
+ if (!(0, _utils.is_empty)(this.__dict_set)) {
79
+ event["$set"] = this.__dict_set;
80
+ }
105
81
 
106
- if (!(0, _utils.is_empty)(this.__dict_remove)) {
107
- event["$remove"] = this.__dict_remove;
108
- this.__remove_count += 1;
109
- }
82
+ if (!(0, _utils.is_empty)(this.__dict_append)) {
83
+ event["$append"] = this.__dict_append;
84
+ }
110
85
 
111
- if (!(0, _utils.is_empty)(this.__list_unset)) {
112
- event["$unset"] = this.__list_unset;
113
- this.__unset_count += 1;
114
- }
86
+ if (!(0, _utils.is_empty)(this.__dict_remove)) {
87
+ event["$remove"] = this.__dict_remove;
88
+ }
115
89
 
116
- return event;
117
- } else {
118
- return;
90
+ if (!(0, _utils.is_empty)(this.__list_unset)) {
91
+ event["$unset"] = this.__list_unset;
119
92
  }
93
+
94
+ return event;
120
95
  }
121
96
  }, {
122
97
  key: "__validate_key_basic",
@@ -235,46 +210,36 @@ var _SubscriberInternalHelper = /*#__PURE__*/function () {
235
210
  }, {
236
211
  key: "__add_identity",
237
212
  value: function __add_identity(key, value, args, caller) {
213
+ var new_caller = "".concat(caller, ":").concat(key);
214
+
238
215
  switch (key) {
239
216
  case IDENT_KEY_EMAIL:
240
- this._add_email(value, caller);
217
+ this._add_email(value, new_caller);
241
218
 
242
219
  break;
243
220
 
244
221
  case IDENT_KEY_SMS:
245
- this._add_sms(value, caller);
222
+ this._add_sms(value, new_caller);
246
223
 
247
224
  break;
248
225
 
249
226
  case IDENT_KEY_WHATSAPP:
250
- this._add_whatsapp(value, caller);
227
+ this._add_whatsapp(value, new_caller);
251
228
 
252
229
  break;
253
230
 
254
231
  case IDENT_KEY_ANDROIDPUSH:
255
- this._add_androidpush(value, args[KEY_PUSHVENDOR], caller);
256
-
257
- if (this.__dict_append[KEY_PUSHVENDOR]) {
258
- args[KEY_PUSHVENDOR] = this.__dict_append[KEY_PUSHVENDOR];
259
- }
232
+ this._add_androidpush(value, args[KEY_PUSHVENDOR], new_caller);
260
233
 
261
234
  break;
262
235
 
263
236
  case IDENT_KEY_IOSPUSH:
264
- this._add_iospush(value, args[KEY_PUSHVENDOR], caller);
265
-
266
- if (this.__dict_append[KEY_PUSHVENDOR]) {
267
- args[KEY_PUSHVENDOR] = this.__dict_append[KEY_PUSHVENDOR];
268
- }
237
+ this._add_iospush(value, args[KEY_PUSHVENDOR], new_caller);
269
238
 
270
239
  break;
271
240
 
272
241
  case IDENT_KEY_WEBPUSH:
273
- this._add_webpush(value, args[KEY_PUSHVENDOR], caller);
274
-
275
- if (this.__dict_append[KEY_PUSHVENDOR]) {
276
- args[KEY_PUSHVENDOR] = this.__dict_append[KEY_PUSHVENDOR];
277
- }
242
+ this._add_webpush(value, args[KEY_PUSHVENDOR], new_caller);
278
243
 
279
244
  break;
280
245
 
@@ -290,46 +255,36 @@ var _SubscriberInternalHelper = /*#__PURE__*/function () {
290
255
  }, {
291
256
  key: "__remove_identity",
292
257
  value: function __remove_identity(key, value, args, caller) {
258
+ var new_caller = "".concat(caller, ":").concat(key);
259
+
293
260
  switch (key) {
294
261
  case IDENT_KEY_EMAIL:
295
- this._remove_email(value, caller);
262
+ this._remove_email(value, new_caller);
296
263
 
297
264
  break;
298
265
 
299
266
  case IDENT_KEY_SMS:
300
- this._remove_sms(value, caller);
267
+ this._remove_sms(value, new_caller);
301
268
 
302
269
  break;
303
270
 
304
271
  case IDENT_KEY_WHATSAPP:
305
- this._remove_whatsapp(value, caller);
272
+ this._remove_whatsapp(value, new_caller);
306
273
 
307
274
  break;
308
275
 
309
276
  case IDENT_KEY_ANDROIDPUSH:
310
- this._remove_androidpush(value, args[KEY_PUSHVENDOR], caller);
311
-
312
- if (this.__dict_remove[KEY_PUSHVENDOR]) {
313
- args[KEY_PUSHVENDOR] = this.__dict_remove[KEY_PUSHVENDOR];
314
- }
277
+ this._remove_androidpush(value, args[KEY_PUSHVENDOR], new_caller);
315
278
 
316
279
  break;
317
280
 
318
281
  case IDENT_KEY_IOSPUSH:
319
- this._remove_iospush(value, args[KEY_PUSHVENDOR], caller);
320
-
321
- if (this.__dict_remove[KEY_PUSHVENDOR]) {
322
- args[KEY_PUSHVENDOR] = this.__dict_remove[KEY_PUSHVENDOR];
323
- }
282
+ this._remove_iospush(value, args[KEY_PUSHVENDOR], new_caller);
324
283
 
325
284
  break;
326
285
 
327
286
  case IDENT_KEY_WEBPUSH:
328
- this._remove_webpush(value, args[KEY_PUSHVENDOR], caller);
329
-
330
- if (this.__dict_remove[KEY_PUSHVENDOR]) {
331
- args[KEY_PUSHVENDOR] = this.__dict_remove[KEY_PUSHVENDOR];
332
- }
287
+ this._remove_webpush(value, args[KEY_PUSHVENDOR], new_caller);
333
288
 
334
289
  break;
335
290
 
@@ -527,6 +482,10 @@ var _SubscriberInternalHelper = /*#__PURE__*/function () {
527
482
  provider = "fcm";
528
483
  }
529
484
 
485
+ if (typeof provider === "string") {
486
+ provider = provider.toLocaleLowerCase();
487
+ }
488
+
530
489
  if (!["fcm", "xiaomi", "oppo"].includes(provider)) {
531
490
  this.__errors.push("[".concat(caller, "] unsupported androidpush provider ").concat(provider));
532
491
 
@@ -590,6 +549,10 @@ var _SubscriberInternalHelper = /*#__PURE__*/function () {
590
549
  provider = "apns";
591
550
  }
592
551
 
552
+ if (typeof provider === "string") {
553
+ provider = provider.toLocaleLowerCase();
554
+ }
555
+
593
556
  if (!["apns"].includes(provider)) {
594
557
  this.__errors.push("[".concat(caller, "] unsupported iospush provider ").concat(provider));
595
558
 
@@ -650,6 +613,10 @@ var _SubscriberInternalHelper = /*#__PURE__*/function () {
650
613
  provider = "vapid";
651
614
  }
652
615
 
616
+ if (typeof provider === "string") {
617
+ provider = provider.toLocaleLowerCase();
618
+ }
619
+
653
620
  if (!["vapid"].includes(provider)) {
654
621
  this.__errors.push("[".concat(caller, "] unsupported webpush provider ").concat(provider));
655
622