@splitsoftware/splitio-commons 1.12.2-rc.0 → 1.13.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/CHANGES.txt +1 -1
- package/LICENSE +1 -1
- package/cjs/sdkFactory/index.js +1 -1
- package/cjs/services/splitApi.js +3 -3
- package/esm/sdkFactory/index.js +1 -1
- package/esm/services/splitApi.js +3 -3
- package/package.json +2 -2
- package/src/sdkFactory/index.ts +1 -1
- package/src/services/splitApi.ts +3 -3
- package/types/services/splitApi.d.ts +2 -2
package/CHANGES.txt
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
1.13.0 (January 4, 2024)
|
|
2
|
-
- Removed the getOptions method from the IPlatform interface to simplify
|
|
2
|
+
- Removed the `getOptions` method from the `IPlatform` interface to simplify implementation. Request options can be handled within the `getFetch` method.
|
|
3
3
|
|
|
4
4
|
1.12.1 (December 12, 2023)
|
|
5
5
|
- Updated PluggableStorage, for producer mode, and LocalStorage, for standalone mode, to clear the storage before initiating the synchronization process if it was previously synchronized with a different SDK key (i.e., a different environment) or different Split Filter criteria.
|
package/LICENSE
CHANGED
package/cjs/sdkFactory/index.js
CHANGED
|
@@ -58,7 +58,7 @@ function sdkFactory(params) {
|
|
|
58
58
|
var impressionsTracker = (0, impressionsTracker_1.impressionsTrackerFactory)(settings, storage.impressions, strategy, integrationsManager, storage.telemetry);
|
|
59
59
|
var eventTracker = (0, eventTracker_1.eventTrackerFactory)(settings, storage.events, integrationsManager, storage.telemetry);
|
|
60
60
|
// splitApi is used by SyncManager and Browser signal listener
|
|
61
|
-
var splitApi = splitApiFactory && splitApiFactory(settings, platform
|
|
61
|
+
var splitApi = splitApiFactory && splitApiFactory(settings, platform, telemetryTracker);
|
|
62
62
|
var ctx = { splitApi: splitApi, eventTracker: eventTracker, impressionsTracker: impressionsTracker, telemetryTracker: telemetryTracker, uniqueKeysTracker: uniqueKeysTracker, sdkReadinessManager: sdkReadinessManager, readiness: readiness, settings: settings, storage: storage, platform: platform };
|
|
63
63
|
var syncManager = syncManagerFactory && syncManagerFactory(ctx);
|
|
64
64
|
ctx.syncManager = syncManager;
|
package/cjs/services/splitApi.js
CHANGED
|
@@ -13,14 +13,14 @@ function userKeyToQueryParam(userKey) {
|
|
|
13
13
|
* Factory of SplitApi objects, which group the collection of Split HTTP endpoints used by the SDK
|
|
14
14
|
*
|
|
15
15
|
* @param settings validated settings object
|
|
16
|
-
* @param
|
|
16
|
+
* @param platform object containing environment-specific dependencies
|
|
17
17
|
* @param telemetryTracker telemetry tracker
|
|
18
18
|
*/
|
|
19
|
-
function splitApiFactory(settings,
|
|
19
|
+
function splitApiFactory(settings, platform, telemetryTracker) {
|
|
20
20
|
var urls = settings.urls;
|
|
21
21
|
var filterQueryString = settings.sync.__splitFiltersValidation && settings.sync.__splitFiltersValidation.queryString;
|
|
22
22
|
var SplitSDKImpressionsMode = settings.sync.impressionsMode;
|
|
23
|
-
var splitHttpClient = (0, splitHttpClient_1.splitHttpClientFactory)(settings, getFetch);
|
|
23
|
+
var splitHttpClient = (0, splitHttpClient_1.splitHttpClientFactory)(settings, platform.getFetch);
|
|
24
24
|
return {
|
|
25
25
|
// @TODO throw errors if health check requests fail, to log them in the Synchronizer
|
|
26
26
|
getSdkAPIHealthCheck: function () {
|
package/esm/sdkFactory/index.js
CHANGED
|
@@ -55,7 +55,7 @@ export function sdkFactory(params) {
|
|
|
55
55
|
var impressionsTracker = impressionsTrackerFactory(settings, storage.impressions, strategy, integrationsManager, storage.telemetry);
|
|
56
56
|
var eventTracker = eventTrackerFactory(settings, storage.events, integrationsManager, storage.telemetry);
|
|
57
57
|
// splitApi is used by SyncManager and Browser signal listener
|
|
58
|
-
var splitApi = splitApiFactory && splitApiFactory(settings, platform
|
|
58
|
+
var splitApi = splitApiFactory && splitApiFactory(settings, platform, telemetryTracker);
|
|
59
59
|
var ctx = { splitApi: splitApi, eventTracker: eventTracker, impressionsTracker: impressionsTracker, telemetryTracker: telemetryTracker, uniqueKeysTracker: uniqueKeysTracker, sdkReadinessManager: sdkReadinessManager, readiness: readiness, settings: settings, storage: storage, platform: platform };
|
|
60
60
|
var syncManager = syncManagerFactory && syncManagerFactory(ctx);
|
|
61
61
|
ctx.syncManager = syncManager;
|
package/esm/services/splitApi.js
CHANGED
|
@@ -10,14 +10,14 @@ function userKeyToQueryParam(userKey) {
|
|
|
10
10
|
* Factory of SplitApi objects, which group the collection of Split HTTP endpoints used by the SDK
|
|
11
11
|
*
|
|
12
12
|
* @param settings validated settings object
|
|
13
|
-
* @param
|
|
13
|
+
* @param platform object containing environment-specific dependencies
|
|
14
14
|
* @param telemetryTracker telemetry tracker
|
|
15
15
|
*/
|
|
16
|
-
export function splitApiFactory(settings,
|
|
16
|
+
export function splitApiFactory(settings, platform, telemetryTracker) {
|
|
17
17
|
var urls = settings.urls;
|
|
18
18
|
var filterQueryString = settings.sync.__splitFiltersValidation && settings.sync.__splitFiltersValidation.queryString;
|
|
19
19
|
var SplitSDKImpressionsMode = settings.sync.impressionsMode;
|
|
20
|
-
var splitHttpClient = splitHttpClientFactory(settings, getFetch);
|
|
20
|
+
var splitHttpClient = splitHttpClientFactory(settings, platform.getFetch);
|
|
21
21
|
return {
|
|
22
22
|
// @TODO throw errors if health check requests fail, to log them in the Synchronizer
|
|
23
23
|
getSdkAPIHealthCheck: function () {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@splitsoftware/splitio-commons",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.13.0",
|
|
4
4
|
"description": "Split Javascript SDK common components",
|
|
5
5
|
"main": "cjs/index.js",
|
|
6
6
|
"module": "esm/index.js",
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
"jest": "^27.2.3",
|
|
73
73
|
"jest-localstorage-mock": "^2.4.3",
|
|
74
74
|
"lodash": "^4.17.21",
|
|
75
|
-
"node-fetch": "^2.
|
|
75
|
+
"node-fetch": "^2.7.0",
|
|
76
76
|
"redis-server": "1.2.2",
|
|
77
77
|
"rimraf": "^3.0.2",
|
|
78
78
|
"ts-jest": "^27.0.5",
|
package/src/sdkFactory/index.ts
CHANGED
|
@@ -71,7 +71,7 @@ export function sdkFactory(params: ISdkFactoryParams): SplitIO.ICsSDK | SplitIO.
|
|
|
71
71
|
const eventTracker = eventTrackerFactory(settings, storage.events, integrationsManager, storage.telemetry);
|
|
72
72
|
|
|
73
73
|
// splitApi is used by SyncManager and Browser signal listener
|
|
74
|
-
const splitApi = splitApiFactory && splitApiFactory(settings, platform
|
|
74
|
+
const splitApi = splitApiFactory && splitApiFactory(settings, platform, telemetryTracker);
|
|
75
75
|
|
|
76
76
|
const ctx: ISdkFactoryContext = { splitApi, eventTracker, impressionsTracker, telemetryTracker, uniqueKeysTracker, sdkReadinessManager, readiness, settings, storage, platform };
|
|
77
77
|
|
package/src/services/splitApi.ts
CHANGED
|
@@ -17,19 +17,19 @@ function userKeyToQueryParam(userKey: string) {
|
|
|
17
17
|
* Factory of SplitApi objects, which group the collection of Split HTTP endpoints used by the SDK
|
|
18
18
|
*
|
|
19
19
|
* @param settings validated settings object
|
|
20
|
-
* @param
|
|
20
|
+
* @param platform object containing environment-specific dependencies
|
|
21
21
|
* @param telemetryTracker telemetry tracker
|
|
22
22
|
*/
|
|
23
23
|
export function splitApiFactory(
|
|
24
24
|
settings: ISettings,
|
|
25
|
-
|
|
25
|
+
platform: Pick<IPlatform, 'getFetch'>,
|
|
26
26
|
telemetryTracker: ITelemetryTracker
|
|
27
27
|
): ISplitApi {
|
|
28
28
|
|
|
29
29
|
const urls = settings.urls;
|
|
30
30
|
const filterQueryString = settings.sync.__splitFiltersValidation && settings.sync.__splitFiltersValidation.queryString;
|
|
31
31
|
const SplitSDKImpressionsMode = settings.sync.impressionsMode;
|
|
32
|
-
const splitHttpClient = splitHttpClientFactory(settings, getFetch);
|
|
32
|
+
const splitHttpClient = splitHttpClientFactory(settings, platform.getFetch);
|
|
33
33
|
|
|
34
34
|
return {
|
|
35
35
|
// @TODO throw errors if health check requests fail, to log them in the Synchronizer
|
|
@@ -6,7 +6,7 @@ import { ITelemetryTracker } from '../trackers/types';
|
|
|
6
6
|
* Factory of SplitApi objects, which group the collection of Split HTTP endpoints used by the SDK
|
|
7
7
|
*
|
|
8
8
|
* @param settings validated settings object
|
|
9
|
-
* @param
|
|
9
|
+
* @param platform object containing environment-specific dependencies
|
|
10
10
|
* @param telemetryTracker telemetry tracker
|
|
11
11
|
*/
|
|
12
|
-
export declare function splitApiFactory(settings: ISettings,
|
|
12
|
+
export declare function splitApiFactory(settings: ISettings, platform: Pick<IPlatform, 'getFetch'>, telemetryTracker: ITelemetryTracker): ISplitApi;
|