@splitsoftware/splitio-commons 1.10.1-rc.1 → 1.10.1-rc.3

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.
@@ -100,7 +100,7 @@ function splitChangesUpdaterFactory(log, splitChangesFetcher, splits, segments,
100
100
  return promise;
101
101
  }
102
102
  /** Returns true if at least one split was updated */
103
- function update(flagsChange) {
103
+ function isThereUpdate(flagsChange) {
104
104
  var added = flagsChange[1], removed = flagsChange[2];
105
105
  // There is at least one added or modified feature flag
106
106
  if (added && added.some(function (update) { return update; }))
@@ -143,12 +143,9 @@ function splitChangesUpdaterFactory(log, splitChangesFetcher, splits, segments,
143
143
  splits.removeSplits(mutation.removed),
144
144
  segments.registerSegments(mutation.segments)
145
145
  ]).then(function (flagsChange) {
146
- var triggerSdkUpdate = update(flagsChange);
147
- if (!triggerSdkUpdate)
148
- return true;
149
146
  if (splitsEventEmitter) {
150
147
  // To emit SDK_SPLITS_ARRIVED for server-side SDK, we must check that all registered segments have been fetched
151
- return Promise.resolve(!splitsEventEmitter.splitsArrived || (since !== splitChanges.till && (isClientSide || checkAllSegmentsExist(segments))))
148
+ return Promise.resolve(!splitsEventEmitter.splitsArrived || (since !== splitChanges.till && isThereUpdate(flagsChange) && (isClientSide || checkAllSegmentsExist(segments))))
152
149
  .catch(function () { return false; } /** noop. just to handle a possible `checkAllSegmentsExist` rejection, before emitting SDK event */)
153
150
  .then(function (emitSplitsArrivedEvent) {
154
151
  // emit SDK events
@@ -95,7 +95,7 @@ export function splitChangesUpdaterFactory(log, splitChangesFetcher, splits, seg
95
95
  return promise;
96
96
  }
97
97
  /** Returns true if at least one split was updated */
98
- function update(flagsChange) {
98
+ function isThereUpdate(flagsChange) {
99
99
  var added = flagsChange[1], removed = flagsChange[2];
100
100
  // There is at least one added or modified feature flag
101
101
  if (added && added.some(function (update) { return update; }))
@@ -138,12 +138,9 @@ export function splitChangesUpdaterFactory(log, splitChangesFetcher, splits, seg
138
138
  splits.removeSplits(mutation.removed),
139
139
  segments.registerSegments(mutation.segments)
140
140
  ]).then(function (flagsChange) {
141
- var triggerSdkUpdate = update(flagsChange);
142
- if (!triggerSdkUpdate)
143
- return true;
144
141
  if (splitsEventEmitter) {
145
142
  // To emit SDK_SPLITS_ARRIVED for server-side SDK, we must check that all registered segments have been fetched
146
- return Promise.resolve(!splitsEventEmitter.splitsArrived || (since !== splitChanges.till && (isClientSide || checkAllSegmentsExist(segments))))
143
+ return Promise.resolve(!splitsEventEmitter.splitsArrived || (since !== splitChanges.till && isThereUpdate(flagsChange) && (isClientSide || checkAllSegmentsExist(segments))))
147
144
  .catch(function () { return false; } /** noop. just to handle a possible `checkAllSegmentsExist` rejection, before emitting SDK event */)
148
145
  .then(function (emitSplitsArrivedEvent) {
149
146
  // emit SDK events
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@splitsoftware/splitio-commons",
3
- "version": "1.10.1-rc.1",
3
+ "version": "1.10.1-rc.3",
4
4
  "description": "Split Javascript SDK common components",
5
5
  "main": "cjs/index.js",
6
6
  "module": "esm/index.js",
@@ -128,7 +128,7 @@ export function splitChangesUpdaterFactory(
128
128
  }
129
129
 
130
130
  /** Returns true if at least one split was updated */
131
- function update(flagsChange: [boolean | void, void | boolean[], void | boolean[], boolean | void] | [any, any, any]) {
131
+ function isThereUpdate(flagsChange: [boolean | void, void | boolean[], void | boolean[], boolean | void] | [any, any, any]) {
132
132
  const [, added, removed, ] = flagsChange;
133
133
  // There is at least one added or modified feature flag
134
134
  if (added && added.some((update: boolean) => update)) return true;
@@ -174,11 +174,9 @@ export function splitChangesUpdaterFactory(
174
174
  splits.removeSplits(mutation.removed),
175
175
  segments.registerSegments(mutation.segments)
176
176
  ]).then((flagsChange) => {
177
- const triggerSdkUpdate = update(flagsChange);
178
- if (!triggerSdkUpdate) return true;
179
177
  if (splitsEventEmitter) {
180
178
  // To emit SDK_SPLITS_ARRIVED for server-side SDK, we must check that all registered segments have been fetched
181
- return Promise.resolve(!splitsEventEmitter.splitsArrived || (since !== splitChanges.till && (isClientSide || checkAllSegmentsExist(segments))))
179
+ return Promise.resolve(!splitsEventEmitter.splitsArrived || (since !== splitChanges.till && isThereUpdate(flagsChange) && (isClientSide || checkAllSegmentsExist(segments))))
182
180
  .catch(() => false /** noop. just to handle a possible `checkAllSegmentsExist` rejection, before emitting SDK event */)
183
181
  .then(emitSplitsArrivedEvent => {
184
182
  // emit SDK events