@splitsoftware/splitio-commons 1.17.0-rc.5 → 1.17.1-rc.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.
Files changed (167) hide show
  1. package/CHANGES.txt +6 -0
  2. package/cjs/evaluator/matchers/index.js +3 -1
  3. package/cjs/evaluator/matchers/large_segment.js +16 -0
  4. package/cjs/evaluator/matchers/matcherTypes.js +1 -0
  5. package/cjs/evaluator/matchersTransform/index.js +4 -1
  6. package/cjs/evaluator/matchersTransform/segment.js +3 -1
  7. package/cjs/logger/constants.js +2 -2
  8. package/cjs/logger/messages/info.js +1 -1
  9. package/cjs/logger/messages/warn.js +1 -1
  10. package/cjs/readiness/readinessManager.js +5 -6
  11. package/cjs/readiness/sdkReadinessManager.js +5 -6
  12. package/cjs/sdkClient/sdkClientMethodCS.js +2 -2
  13. package/cjs/sdkClient/sdkClientMethodCSWithTT.js +2 -2
  14. package/cjs/sdkFactory/index.js +1 -1
  15. package/cjs/services/splitApi.js +5 -5
  16. package/cjs/storages/AbstractSegmentsCacheSync.js +41 -12
  17. package/cjs/storages/AbstractSplitsCacheSync.js +2 -1
  18. package/cjs/storages/KeyBuilderCS.js +23 -5
  19. package/cjs/storages/dataLoader.js +1 -1
  20. package/cjs/storages/inLocalStorage/MySegmentsCacheInLocal.js +29 -52
  21. package/cjs/storages/inLocalStorage/index.js +6 -2
  22. package/cjs/storages/inMemory/InMemoryStorageCS.js +5 -0
  23. package/cjs/storages/inMemory/MySegmentsCacheInMemory.js +9 -40
  24. package/cjs/storages/inMemory/SplitsCacheInMemory.js +8 -8
  25. package/cjs/storages/inMemory/TelemetryCacheInMemory.js +7 -10
  26. package/cjs/storages/pluggable/inMemoryWrapper.js +1 -1
  27. package/cjs/sync/polling/fetchers/mySegmentsFetcher.js +5 -8
  28. package/cjs/sync/polling/fetchers/segmentChangesFetcher.js +1 -1
  29. package/cjs/sync/polling/pollingManagerCS.js +1 -1
  30. package/cjs/sync/polling/syncTasks/mySegmentsSyncTask.js +2 -2
  31. package/cjs/sync/polling/updaters/mySegmentsUpdater.js +15 -21
  32. package/cjs/sync/streaming/AuthClient/index.js +1 -1
  33. package/cjs/sync/streaming/SSEClient/index.js +2 -2
  34. package/cjs/sync/streaming/SSEHandler/index.js +3 -5
  35. package/cjs/sync/streaming/UpdateWorkers/MySegmentsUpdateWorker.js +107 -48
  36. package/cjs/sync/streaming/constants.js +3 -3
  37. package/cjs/sync/streaming/parseUtils.js +14 -9
  38. package/cjs/sync/streaming/pushManager.js +69 -67
  39. package/cjs/utils/constants/index.js +5 -4
  40. package/cjs/utils/settingsValidation/index.js +2 -1
  41. package/esm/evaluator/matchers/index.js +3 -1
  42. package/esm/evaluator/matchers/large_segment.js +12 -0
  43. package/esm/evaluator/matchers/matcherTypes.js +1 -0
  44. package/esm/evaluator/matchersTransform/index.js +4 -1
  45. package/esm/evaluator/matchersTransform/segment.js +3 -1
  46. package/esm/logger/constants.js +1 -1
  47. package/esm/logger/messages/info.js +1 -1
  48. package/esm/logger/messages/warn.js +1 -1
  49. package/esm/readiness/readinessManager.js +5 -6
  50. package/esm/readiness/sdkReadinessManager.js +5 -6
  51. package/esm/sdkClient/sdkClientMethodCS.js +2 -2
  52. package/esm/sdkClient/sdkClientMethodCSWithTT.js +2 -2
  53. package/esm/sdkFactory/index.js +1 -1
  54. package/esm/services/splitApi.js +6 -6
  55. package/esm/storages/AbstractSegmentsCacheSync.js +41 -12
  56. package/esm/storages/AbstractSplitsCacheSync.js +3 -2
  57. package/esm/storages/KeyBuilderCS.js +21 -4
  58. package/esm/storages/dataLoader.js +1 -1
  59. package/esm/storages/inLocalStorage/MySegmentsCacheInLocal.js +29 -52
  60. package/esm/storages/inLocalStorage/index.js +7 -3
  61. package/esm/storages/inMemory/InMemoryStorageCS.js +5 -0
  62. package/esm/storages/inMemory/MySegmentsCacheInMemory.js +9 -40
  63. package/esm/storages/inMemory/SplitsCacheInMemory.js +8 -8
  64. package/esm/storages/inMemory/TelemetryCacheInMemory.js +7 -10
  65. package/esm/storages/pluggable/inMemoryWrapper.js +1 -1
  66. package/esm/sync/polling/fetchers/mySegmentsFetcher.js +5 -8
  67. package/esm/sync/polling/fetchers/segmentChangesFetcher.js +1 -1
  68. package/esm/sync/polling/pollingManagerCS.js +1 -1
  69. package/esm/sync/polling/syncTasks/mySegmentsSyncTask.js +2 -2
  70. package/esm/sync/polling/updaters/mySegmentsUpdater.js +15 -21
  71. package/esm/sync/streaming/AuthClient/index.js +1 -1
  72. package/esm/sync/streaming/SSEClient/index.js +2 -2
  73. package/esm/sync/streaming/SSEHandler/index.js +4 -6
  74. package/esm/sync/streaming/UpdateWorkers/MySegmentsUpdateWorker.js +108 -49
  75. package/esm/sync/streaming/constants.js +2 -2
  76. package/esm/sync/streaming/parseUtils.js +12 -8
  77. package/esm/sync/streaming/pushManager.js +72 -70
  78. package/esm/utils/constants/index.js +3 -2
  79. package/esm/utils/settingsValidation/index.js +2 -1
  80. package/package.json +1 -1
  81. package/src/dtos/types.ts +21 -7
  82. package/src/evaluator/matchers/index.ts +2 -0
  83. package/src/evaluator/matchers/large_segment.ts +18 -0
  84. package/src/evaluator/matchers/matcherTypes.ts +1 -0
  85. package/src/evaluator/matchersTransform/index.ts +4 -1
  86. package/src/evaluator/matchersTransform/segment.ts +5 -3
  87. package/src/logger/constants.ts +1 -1
  88. package/src/logger/messages/info.ts +1 -1
  89. package/src/logger/messages/warn.ts +1 -1
  90. package/src/readiness/readinessManager.ts +7 -5
  91. package/src/readiness/sdkReadinessManager.ts +7 -7
  92. package/src/readiness/types.ts +2 -2
  93. package/src/sdkClient/sdkClientMethodCS.ts +2 -2
  94. package/src/sdkClient/sdkClientMethodCSWithTT.ts +2 -2
  95. package/src/sdkFactory/index.ts +1 -1
  96. package/src/services/splitApi.ts +7 -7
  97. package/src/services/splitHttpClient.ts +1 -1
  98. package/src/services/types.ts +2 -2
  99. package/src/storages/AbstractSegmentsCacheSync.ts +53 -12
  100. package/src/storages/AbstractSplitsCacheSync.ts +4 -3
  101. package/src/storages/KeyBuilderCS.ts +34 -5
  102. package/src/storages/dataLoader.ts +1 -1
  103. package/src/storages/inLocalStorage/MySegmentsCacheInLocal.ts +29 -59
  104. package/src/storages/inLocalStorage/index.ts +8 -4
  105. package/src/storages/inMemory/InMemoryStorageCS.ts +5 -0
  106. package/src/storages/inMemory/MySegmentsCacheInMemory.ts +10 -44
  107. package/src/storages/inMemory/SplitsCacheInMemory.ts +7 -8
  108. package/src/storages/inMemory/TelemetryCacheInMemory.ts +7 -11
  109. package/src/storages/pluggable/inMemoryWrapper.ts +1 -1
  110. package/src/storages/types.ts +11 -7
  111. package/src/sync/polling/fetchers/mySegmentsFetcher.ts +8 -10
  112. package/src/sync/polling/fetchers/segmentChangesFetcher.ts +1 -1
  113. package/src/sync/polling/fetchers/types.ts +3 -2
  114. package/src/sync/polling/pollingManagerCS.ts +4 -4
  115. package/src/sync/polling/syncTasks/mySegmentsSyncTask.ts +4 -5
  116. package/src/sync/polling/types.ts +7 -6
  117. package/src/sync/polling/updaters/mySegmentsUpdater.ts +19 -22
  118. package/src/sync/streaming/AuthClient/index.ts +1 -1
  119. package/src/sync/streaming/SSEClient/index.ts +6 -8
  120. package/src/sync/streaming/SSEHandler/index.ts +5 -8
  121. package/src/sync/streaming/SSEHandler/types.ts +15 -15
  122. package/src/sync/streaming/UpdateWorkers/MySegmentsUpdateWorker.ts +116 -49
  123. package/src/sync/streaming/UpdateWorkers/SegmentsUpdateWorker.ts +1 -1
  124. package/src/sync/streaming/UpdateWorkers/SplitsUpdateWorker.ts +1 -1
  125. package/src/sync/streaming/UpdateWorkers/types.ts +2 -2
  126. package/src/sync/streaming/constants.ts +2 -2
  127. package/src/sync/streaming/parseUtils.ts +19 -11
  128. package/src/sync/streaming/pushManager.ts +73 -72
  129. package/src/sync/streaming/types.ts +10 -10
  130. package/src/sync/submitters/types.ts +8 -5
  131. package/src/utils/constants/index.ts +3 -2
  132. package/src/utils/settingsValidation/index.ts +3 -2
  133. package/src/utils/settingsValidation/types.ts +1 -1
  134. package/types/dtos/types.d.ts +18 -7
  135. package/types/evaluator/matchersTransform/segment.d.ts +2 -2
  136. package/types/logger/constants.d.ts +1 -1
  137. package/types/readiness/readinessManager.d.ts +2 -2
  138. package/types/readiness/sdkReadinessManager.d.ts +2 -3
  139. package/types/readiness/types.d.ts +2 -2
  140. package/types/services/splitApi.d.ts +1 -1
  141. package/types/services/splitHttpClient.d.ts +1 -1
  142. package/types/services/types.d.ts +2 -2
  143. package/types/storages/AbstractSegmentsCacheSync.d.ts +9 -11
  144. package/types/storages/AbstractSplitsCacheSync.d.ts +1 -1
  145. package/types/storages/KeyBuilderCS.d.ts +9 -2
  146. package/types/storages/inLocalStorage/MySegmentsCacheInLocal.d.ts +4 -14
  147. package/types/storages/inMemory/MySegmentsCacheInMemory.d.ts +3 -9
  148. package/types/storages/inMemory/SplitsCacheInMemory.d.ts +1 -1
  149. package/types/storages/inMemory/TelemetryCacheInMemory.d.ts +4 -6
  150. package/types/storages/pluggable/inMemoryWrapper.d.ts +1 -1
  151. package/types/storages/types.d.ts +7 -5
  152. package/types/sync/polling/fetchers/mySegmentsFetcher.d.ts +2 -2
  153. package/types/sync/polling/fetchers/types.d.ts +2 -2
  154. package/types/sync/polling/syncTasks/mySegmentsSyncTask.d.ts +2 -2
  155. package/types/sync/polling/types.d.ts +7 -4
  156. package/types/sync/polling/updaters/mySegmentsUpdater.d.ts +4 -3
  157. package/types/sync/streaming/SSEHandler/types.d.ts +16 -14
  158. package/types/sync/streaming/UpdateWorkers/MySegmentsUpdateWorker.d.ts +4 -2
  159. package/types/sync/streaming/UpdateWorkers/SegmentsUpdateWorker.d.ts +2 -1
  160. package/types/sync/streaming/UpdateWorkers/SplitsUpdateWorker.d.ts +3 -2
  161. package/types/sync/streaming/UpdateWorkers/types.d.ts +2 -2
  162. package/types/sync/streaming/constants.d.ts +2 -2
  163. package/types/sync/streaming/parseUtils.d.ts +4 -5
  164. package/types/sync/streaming/types.d.ts +8 -8
  165. package/types/sync/submitters/types.d.ts +7 -4
  166. package/types/utils/constants/index.d.ts +3 -2
  167. package/types/utils/settingsValidation/types.d.ts +1 -1
@@ -90,7 +90,7 @@ export declare type DROPPED = 1;
90
90
  export declare type DEDUPED = 2;
91
91
  export declare type ImpressionDataType = QUEUED | DROPPED | DEDUPED;
92
92
  export declare type EventDataType = QUEUED | DROPPED;
93
- export declare type UpdatesFromSSEEnum = SPLITS | MY_SEGMENT;
93
+ export declare type UpdatesFromSSEEnum = SPLITS | MEMBERSHIPS;
94
94
  export declare type SPLITS = 'sp';
95
95
  export declare type IMPRESSIONS = 'im';
96
96
  export declare type IMPRESSIONS_COUNT = 'ic';
@@ -98,8 +98,8 @@ export declare type EVENTS = 'ev';
98
98
  export declare type TELEMETRY = 'te';
99
99
  export declare type TOKEN = 'to';
100
100
  export declare type SEGMENT = 'se';
101
- export declare type MY_SEGMENT = 'ms';
102
- export declare type OperationType = SPLITS | IMPRESSIONS | IMPRESSIONS_COUNT | EVENTS | TELEMETRY | TOKEN | SEGMENT | MY_SEGMENT;
101
+ export declare type MEMBERSHIPS = 'ms';
102
+ export declare type OperationType = SPLITS | IMPRESSIONS | IMPRESSIONS_COUNT | EVENTS | TELEMETRY | TOKEN | SEGMENT | MEMBERSHIPS;
103
103
  export declare type LastSync = Partial<Record<OperationType, number | undefined>>;
104
104
  export declare type HttpErrors = Partial<Record<OperationType, {
105
105
  [statusCode: string]: number;
@@ -136,8 +136,9 @@ export declare type TelemetryUsageStats = {
136
136
  mE?: MethodExceptions;
137
137
  };
138
138
  export declare type UpdatesFromSSE = {
139
- sp: number;
139
+ sp?: number;
140
140
  ms?: number;
141
+ mls?: number;
141
142
  };
142
143
  export declare type TelemetryUsageStatsPayload = TelemetryUsageStats & {
143
144
  lS: LastSync;
@@ -151,6 +152,8 @@ export declare type TelemetryUsageStatsPayload = TelemetryUsageStats & {
151
152
  spC?: number;
152
153
  seC?: number;
153
154
  skC?: number;
155
+ lsC?: number;
156
+ lskC?: number;
154
157
  sL?: number;
155
158
  eQ: number;
156
159
  eD: number;
@@ -52,7 +52,7 @@ export declare const EVENTS = "ev";
52
52
  export declare const TELEMETRY = "te";
53
53
  export declare const TOKEN = "to";
54
54
  export declare const SEGMENT = "se";
55
- export declare const MY_SEGMENT = "ms";
55
+ export declare const MEMBERSHIPS = "ms";
56
56
  export declare const TREATMENT = "t";
57
57
  export declare const TREATMENTS = "ts";
58
58
  export declare const TREATMENT_WITH_CONFIG = "tc";
@@ -78,5 +78,6 @@ export declare const NON_REQUESTED = 1;
78
78
  export declare const DISABLED = 0;
79
79
  export declare const ENABLED = 1;
80
80
  export declare const PAUSED = 2;
81
- export declare const FLAG_SPEC_VERSION = "1.1";
81
+ export declare const FLAG_SPEC_VERSION = "1.2";
82
82
  export declare const IN_SEGMENT = "IN_SEGMENT";
83
+ export declare const IN_LARGE_SEGMENT = "IN_LARGE_SEGMENT";
@@ -28,7 +28,7 @@ export interface ISettingsValidationParams {
28
28
  /** Localhost mode validator (`settings.sync.localhostMode`) */
29
29
  localhost?: (settings: ISettings) => ISettings['sync']['localhostMode'];
30
30
  /** User consent validator (`settings.userConsent`) */
31
- consent: (settings: ISettings) => ISettings['userConsent'];
31
+ consent?: (settings: ISettings) => ISettings['userConsent'];
32
32
  /** Flag spec version validation. Configurable by the JS Synchronizer but not by the SDKs */
33
33
  flagSpec?: (settings: ISettings) => ISettings['sync']['flagSpecVersion'];
34
34
  }