@splitsoftware/splitio-commons 1.16.1-rc.3 → 1.16.1-rc.4

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.
@@ -23,6 +23,7 @@ function MySegmentsUpdateWorker(mySegmentsSyncTask, telemetryTracker, updateType
23
23
  var syncTask = _delay ?
24
24
  new Promise(function (res) {
25
25
  _delayTimeoutID = setTimeout(function () {
26
+ _delay = undefined;
26
27
  mySegmentsSyncTask.execute(_segmentsData, true).then(res);
27
28
  }, _delay);
28
29
  }) :
@@ -49,13 +50,15 @@ function MySegmentsUpdateWorker(mySegmentsSyncTask, telemetryTracker, updateType
49
50
  }
50
51
  return {
51
52
  /**
52
- * Invoked by NotificationProcessor on MY_SEGMENTS_UPDATE event
53
+ * Invoked by NotificationProcessor on MY_(LARGE)_SEGMENTS_UPDATE notifications
53
54
  *
54
- * @param {number} changeNumber change number of the MY_SEGMENTS_UPDATE notification
55
- * @param {SegmentsData | undefined} segmentsData might be undefined
55
+ * @param changeNumber change number of the notification
56
+ * @param segmentsData data for KeyList or SegmentRemoval instant updates
57
+ * @param delay optional time to wait for BoundedFetchRequest or BoundedFetchRequest updates
56
58
  */
57
59
  put: function (changeNumber, segmentsData, delay) {
58
- if (changeNumber <= currentChangeNumber || changeNumber <= maxChangeNumber)
60
+ // Ignore event if it is outdated or if there is a pending fetch request (_delay is set)
61
+ if (changeNumber <= currentChangeNumber || changeNumber <= maxChangeNumber || _delay)
59
62
  return;
60
63
  maxChangeNumber = changeNumber;
61
64
  handleNewEvent = true;
@@ -20,6 +20,7 @@ export function MySegmentsUpdateWorker(mySegmentsSyncTask, telemetryTracker, upd
20
20
  var syncTask = _delay ?
21
21
  new Promise(function (res) {
22
22
  _delayTimeoutID = setTimeout(function () {
23
+ _delay = undefined;
23
24
  mySegmentsSyncTask.execute(_segmentsData, true).then(res);
24
25
  }, _delay);
25
26
  }) :
@@ -46,13 +47,15 @@ export function MySegmentsUpdateWorker(mySegmentsSyncTask, telemetryTracker, upd
46
47
  }
47
48
  return {
48
49
  /**
49
- * Invoked by NotificationProcessor on MY_SEGMENTS_UPDATE event
50
+ * Invoked by NotificationProcessor on MY_(LARGE)_SEGMENTS_UPDATE notifications
50
51
  *
51
- * @param {number} changeNumber change number of the MY_SEGMENTS_UPDATE notification
52
- * @param {SegmentsData | undefined} segmentsData might be undefined
52
+ * @param changeNumber change number of the notification
53
+ * @param segmentsData data for KeyList or SegmentRemoval instant updates
54
+ * @param delay optional time to wait for BoundedFetchRequest or BoundedFetchRequest updates
53
55
  */
54
56
  put: function (changeNumber, segmentsData, delay) {
55
- if (changeNumber <= currentChangeNumber || changeNumber <= maxChangeNumber)
57
+ // Ignore event if it is outdated or if there is a pending fetch request (_delay is set)
58
+ if (changeNumber <= currentChangeNumber || changeNumber <= maxChangeNumber || _delay)
56
59
  return;
57
60
  maxChangeNumber = changeNumber;
58
61
  handleNewEvent = true;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@splitsoftware/splitio-commons",
3
- "version": "1.16.1-rc.3",
3
+ "version": "1.16.1-rc.4",
4
4
  "description": "Split JavaScript SDK common components",
5
5
  "main": "cjs/index.js",
6
6
  "module": "esm/index.js",
@@ -28,6 +28,7 @@ export function MySegmentsUpdateWorker(mySegmentsSyncTask: IMySegmentsSyncTask,
28
28
  const syncTask = _delay ?
29
29
  new Promise(res => {
30
30
  _delayTimeoutID = setTimeout(() => {
31
+ _delay = undefined;
31
32
  mySegmentsSyncTask.execute(_segmentsData, true).then(res);
32
33
  }, _delay);
33
34
  }) :
@@ -52,13 +53,15 @@ export function MySegmentsUpdateWorker(mySegmentsSyncTask: IMySegmentsSyncTask,
52
53
 
53
54
  return {
54
55
  /**
55
- * Invoked by NotificationProcessor on MY_SEGMENTS_UPDATE event
56
+ * Invoked by NotificationProcessor on MY_(LARGE)_SEGMENTS_UPDATE notifications
56
57
  *
57
- * @param {number} changeNumber change number of the MY_SEGMENTS_UPDATE notification
58
- * @param {SegmentsData | undefined} segmentsData might be undefined
58
+ * @param changeNumber change number of the notification
59
+ * @param segmentsData data for KeyList or SegmentRemoval instant updates
60
+ * @param delay optional time to wait for BoundedFetchRequest or BoundedFetchRequest updates
59
61
  */
60
62
  put(changeNumber: number, segmentsData?: MySegmentsData, delay?: number) {
61
- if (changeNumber <= currentChangeNumber || changeNumber <= maxChangeNumber) return;
63
+ // Ignore event if it is outdated or if there is a pending fetch request (_delay is set)
64
+ if (changeNumber <= currentChangeNumber || changeNumber <= maxChangeNumber || _delay) return;
62
65
 
63
66
  maxChangeNumber = changeNumber;
64
67
  handleNewEvent = true;