@splitsoftware/splitio-commons 1.2.1-rc.1 → 1.2.1-rc.10
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/cjs/evaluator/Engine.js +6 -6
- package/cjs/evaluator/combiners/and.js +1 -1
- package/cjs/evaluator/combiners/ifelseif.js +2 -2
- package/cjs/evaluator/condition/engineUtils.js +2 -2
- package/cjs/evaluator/condition/index.js +4 -4
- package/cjs/evaluator/index.js +5 -5
- package/cjs/evaluator/matchers/cont_all.js +1 -1
- package/cjs/evaluator/matchers/cont_any.js +1 -1
- package/cjs/evaluator/matchers/cont_str.js +1 -1
- package/cjs/evaluator/matchers/dependency.js +1 -1
- package/cjs/evaluator/matchers/eq_set.js +1 -1
- package/cjs/evaluator/matchers/ew.js +1 -1
- package/cjs/evaluator/matchers/part_of.js +1 -1
- package/cjs/evaluator/matchers/segment.js +1 -1
- package/cjs/evaluator/matchers/sw.js +1 -1
- package/cjs/evaluator/matchers/whitelist.js +1 -1
- package/cjs/evaluator/matchersTransform/index.js +12 -12
- package/cjs/evaluator/parser/index.js +6 -6
- package/cjs/evaluator/treatments/index.js +1 -1
- package/cjs/evaluator/value/index.js +1 -1
- package/cjs/evaluator/value/sanitize.js +4 -4
- package/cjs/integrations/browser.js +3 -3
- package/cjs/integrations/ga/GaToSplit.js +14 -14
- package/cjs/integrations/ga/GoogleAnalyticsToSplit.js +5 -3
- package/cjs/integrations/ga/SplitToGa.js +1 -1
- package/cjs/integrations/ga/SplitToGoogleAnalytics.js +4 -2
- package/cjs/listeners/browser.js +15 -11
- package/cjs/listeners/node.js +1 -1
- package/cjs/logger/constants.js +8 -3
- package/cjs/logger/index.js +2 -2
- package/cjs/logger/messages/debug.js +4 -4
- package/cjs/logger/messages/error.js +5 -4
- package/cjs/logger/messages/info.js +7 -5
- package/cjs/logger/messages/warn.js +1 -1
- package/cjs/logger/sdkLogger.js +1 -1
- package/cjs/readiness/readinessManager.js +2 -2
- package/cjs/readiness/sdkReadinessManager.js +4 -4
- package/cjs/sdkClient/client.js +12 -11
- package/cjs/sdkClient/clientAttributesDecoration.js +4 -4
- package/cjs/sdkClient/clientCS.js +3 -3
- package/cjs/sdkClient/clientInputValidation.js +20 -22
- package/cjs/sdkClient/sdkClient.js +3 -6
- package/cjs/sdkClient/sdkClientMethod.js +1 -1
- package/cjs/sdkClient/sdkClientMethodCS.js +6 -10
- package/cjs/sdkClient/sdkClientMethodCSWithTT.js +7 -15
- package/cjs/sdkFactory/index.js +14 -12
- package/cjs/sdkFactory/userConsentProps.js +37 -0
- package/cjs/sdkManager/index.js +11 -11
- package/cjs/services/splitApi.js +3 -2
- package/cjs/services/splitHttpClient.js +2 -2
- package/cjs/storages/KeyBuilder.js +2 -6
- package/cjs/storages/KeyBuilderCS.js +13 -3
- package/cjs/storages/KeyBuilderSS.js +1 -1
- package/cjs/storages/findLatencyIndex.js +1 -1
- package/cjs/storages/inLocalStorage/MySegmentsCacheInLocal.js +24 -4
- package/cjs/storages/inLocalStorage/SplitsCacheInLocal.js +12 -12
- package/cjs/storages/inLocalStorage/index.js +4 -4
- package/cjs/storages/inMemory/AttributesCacheInMemory.js +1 -1
- package/cjs/storages/inMemory/ImpressionCountsCacheInMemory.js +1 -1
- package/cjs/storages/inMemory/ImpressionsCacheInMemory.js +15 -1
- package/cjs/storages/inMemory/InMemoryStorage.js +1 -1
- package/cjs/storages/inMemory/InMemoryStorageCS.js +1 -1
- package/cjs/storages/inMemory/LatenciesCacheInMemory.js +1 -1
- package/cjs/storages/inMemory/MySegmentsCacheInMemory.js +1 -1
- package/cjs/storages/inMemory/SegmentsCacheInMemory.js +2 -2
- package/cjs/storages/inMemory/SplitsCacheInMemory.js +5 -5
- package/cjs/storages/inRedis/LatenciesCacheInRedis.js +1 -1
- package/cjs/storages/inRedis/RedisAdapter.js +24 -11
- package/cjs/storages/inRedis/SegmentsCacheInRedis.js +1 -1
- package/cjs/storages/inRedis/SplitsCacheInRedis.js +3 -3
- package/cjs/storages/inRedis/index.js +1 -1
- package/cjs/storages/pluggable/SegmentsCachePluggable.js +1 -1
- package/cjs/storages/pluggable/SplitsCachePluggable.js +3 -3
- package/cjs/storages/pluggable/inMemoryWrapper.js +4 -4
- package/cjs/storages/pluggable/index.js +6 -6
- package/cjs/sync/offline/LocalhostFromFile.js +1 -1
- package/cjs/sync/offline/LocalhostFromObject.js +1 -1
- package/cjs/sync/offline/splitsParser/parseCondition.js +1 -1
- package/cjs/sync/offline/splitsParser/splitsParserFromFile.js +13 -13
- package/cjs/sync/offline/splitsParser/splitsParserFromSettings.js +3 -3
- package/cjs/sync/offline/syncManagerOffline.js +1 -1
- package/cjs/sync/offline/syncTasks/fromObjectSyncTask.js +2 -2
- package/cjs/sync/polling/fetchers/segmentChangesFetcher.js +1 -1
- package/cjs/sync/polling/pollingManagerCS.js +6 -6
- package/cjs/sync/polling/pollingManagerSS.js +3 -3
- package/cjs/sync/polling/syncTasks/mySegmentsSyncTask.js +1 -1
- package/cjs/sync/polling/syncTasks/segmentsSyncTask.js +1 -1
- package/cjs/sync/polling/syncTasks/splitsSyncTask.js +1 -1
- package/cjs/sync/polling/updaters/mySegmentsUpdater.js +1 -1
- package/cjs/sync/polling/updaters/segmentChangesUpdater.js +2 -2
- package/cjs/sync/polling/updaters/splitChangesUpdater.js +2 -2
- package/cjs/sync/streaming/AuthClient/index.js +3 -3
- package/cjs/sync/streaming/SSEClient/index.js +2 -1
- package/cjs/sync/streaming/SSEHandler/NotificationParser.js +1 -1
- package/cjs/sync/streaming/SSEHandler/index.js +3 -3
- package/cjs/sync/streaming/mySegmentsV2utils.js +1 -1
- package/cjs/sync/streaming/pushManager.js +24 -17
- package/cjs/sync/submitters/eventsSyncTask.js +17 -5
- package/cjs/sync/submitters/impressionCountsSyncTask.js +1 -1
- package/cjs/sync/submitters/impressionsSyncTask.js +15 -3
- package/cjs/sync/submitters/metricsSyncTask.js +3 -3
- package/cjs/sync/submitters/submitterManager.js +4 -4
- package/cjs/sync/submitters/submitterSyncTask.js +1 -1
- package/cjs/sync/syncManagerOnline.js +12 -8
- package/cjs/trackers/eventTracker.js +11 -4
- package/cjs/trackers/impressionObserver/impressionObserverCS.js +1 -1
- package/cjs/trackers/impressionObserver/impressionObserverSS.js +1 -1
- package/cjs/trackers/impressionObserver/utils.js +8 -1
- package/cjs/trackers/impressionsTracker.js +9 -8
- package/cjs/utils/MinEvents.js +2 -1
- package/cjs/utils/consent.js +10 -0
- package/cjs/utils/constants/index.js +5 -1
- package/cjs/utils/inputValidation/apiKey.js +1 -1
- package/cjs/utils/inputValidation/attribute.js +4 -4
- package/cjs/utils/inputValidation/attributes.js +2 -2
- package/cjs/utils/inputValidation/event.js +1 -1
- package/cjs/utils/inputValidation/eventProperties.js +5 -5
- package/cjs/utils/inputValidation/eventValue.js +1 -1
- package/cjs/utils/inputValidation/key.js +6 -5
- package/cjs/utils/inputValidation/preloadedData.js +8 -8
- package/cjs/utils/inputValidation/split.js +1 -1
- package/cjs/utils/inputValidation/splits.js +2 -2
- package/cjs/utils/inputValidation/trafficType.js +1 -1
- package/cjs/utils/inputValidation/trafficTypeExistance.js +1 -1
- package/cjs/utils/jwt/index.js +1 -1
- package/cjs/utils/key/index.js +3 -3
- package/cjs/utils/lang/index.js +13 -4
- package/cjs/utils/lang/maps.js +16 -2
- package/cjs/utils/murmur3/common.js +1 -1
- package/cjs/utils/murmur3/murmur3.js +10 -10
- package/cjs/utils/murmur3/murmur3_128.js +1 -1
- package/cjs/utils/murmur3/murmur3_128_x86.js +37 -37
- package/cjs/utils/murmur3/murmur3_64.js +1 -1
- package/cjs/utils/settingsValidation/consent.js +16 -0
- package/cjs/utils/settingsValidation/impressionsMode.js +6 -6
- package/cjs/utils/settingsValidation/index.js +32 -14
- package/cjs/utils/settingsValidation/integrations/configurable.js +1 -1
- package/cjs/utils/settingsValidation/integrations/pluggable.js +1 -1
- package/cjs/utils/settingsValidation/localhost/builtin.js +2 -2
- package/cjs/utils/settingsValidation/logger/builtinLogger.js +3 -3
- package/cjs/utils/settingsValidation/logger/commons.js +1 -1
- package/cjs/utils/settingsValidation/logger/pluggableLogger.js +1 -1
- package/cjs/utils/settingsValidation/runtime.js +11 -0
- package/cjs/utils/settingsValidation/splitFilters.js +1 -1
- package/cjs/utils/settingsValidation/storage/storageCS.js +1 -1
- package/cjs/utils/timeTracker/index.js +3 -3
- package/esm/integrations/ga/GoogleAnalyticsToSplit.js +4 -2
- package/esm/integrations/ga/SplitToGoogleAnalytics.js +4 -2
- package/esm/listeners/browser.js +14 -10
- package/esm/logger/constants.js +5 -2
- package/esm/logger/messages/debug.js +3 -3
- package/esm/logger/messages/error.js +4 -3
- package/esm/logger/messages/info.js +6 -4
- package/esm/sdkClient/client.js +3 -2
- package/esm/sdkClient/clientCS.js +1 -1
- package/esm/sdkClient/clientInputValidation.js +6 -8
- package/esm/sdkClient/sdkClient.js +1 -4
- package/esm/sdkClient/sdkClientMethodCS.js +1 -5
- package/esm/sdkClient/sdkClientMethodCSWithTT.js +1 -9
- package/esm/sdkFactory/index.js +8 -6
- package/esm/sdkFactory/userConsentProps.js +33 -0
- package/esm/services/splitApi.js +2 -1
- package/esm/storages/KeyBuilder.js +2 -6
- package/esm/storages/KeyBuilderCS.js +11 -1
- package/esm/storages/inLocalStorage/MySegmentsCacheInLocal.js +23 -3
- package/esm/storages/inLocalStorage/index.js +1 -1
- package/esm/storages/inMemory/ImpressionsCacheInMemory.js +15 -1
- package/esm/storages/inMemory/InMemoryStorage.js +1 -1
- package/esm/storages/inMemory/InMemoryStorageCS.js +1 -1
- package/esm/storages/inRedis/RedisAdapter.js +15 -2
- package/esm/storages/pluggable/index.js +2 -2
- package/esm/sync/offline/splitsParser/splitsParserFromFile.js +1 -1
- package/esm/sync/polling/fetchers/segmentChangesFetcher.js +2 -2
- package/esm/sync/streaming/SSEClient/index.js +2 -1
- package/esm/sync/streaming/pushManager.js +9 -2
- package/esm/sync/submitters/eventsSyncTask.js +18 -6
- package/esm/sync/submitters/impressionsSyncTask.js +13 -1
- package/esm/sync/syncManagerOnline.js +11 -7
- package/esm/trackers/eventTracker.js +8 -1
- package/esm/trackers/impressionObserver/utils.js +7 -1
- package/esm/trackers/impressionsTracker.js +6 -5
- package/esm/utils/consent.js +6 -0
- package/esm/utils/constants/index.js +4 -0
- package/esm/utils/inputValidation/attributes.js +1 -1
- package/esm/utils/inputValidation/key.js +2 -1
- package/esm/utils/lang/index.js +12 -4
- package/esm/utils/lang/maps.js +14 -1
- package/esm/utils/settingsValidation/consent.js +12 -0
- package/esm/utils/settingsValidation/impressionsMode.js +7 -7
- package/esm/utils/settingsValidation/index.js +28 -10
- package/esm/utils/settingsValidation/runtime.js +7 -0
- package/package.json +8 -8
- package/src/evaluator/parser/index.ts +1 -1
- package/src/evaluator/types.ts +2 -2
- package/src/evaluator/value/index.ts +2 -2
- package/src/evaluator/value/sanitize.ts +2 -2
- package/src/integrations/ga/GoogleAnalyticsToSplit.ts +7 -4
- package/src/integrations/ga/SplitToGoogleAnalytics.ts +7 -4
- package/src/integrations/pluggable.ts +2 -2
- package/src/integrations/types.ts +5 -0
- package/src/listeners/browser.ts +13 -9
- package/src/logger/constants.ts +5 -2
- package/src/logger/messages/debug.ts +3 -3
- package/src/logger/messages/error.ts +4 -3
- package/src/logger/messages/info.ts +6 -4
- package/src/logger/types.ts +4 -0
- package/src/sdkClient/client.ts +3 -2
- package/src/sdkClient/clientCS.ts +1 -1
- package/src/sdkClient/clientInputValidation.ts +8 -7
- package/src/sdkClient/sdkClient.ts +2 -5
- package/src/sdkClient/sdkClientMethodCS.ts +1 -6
- package/src/sdkClient/sdkClientMethodCSWithTT.ts +2 -11
- package/src/sdkFactory/index.ts +9 -7
- package/src/sdkFactory/types.ts +2 -1
- package/src/sdkFactory/userConsentProps.ts +40 -0
- package/src/storages/KeyBuilder.ts +2 -6
- package/src/storages/KeyBuilderCS.ts +13 -1
- package/src/storages/inLocalStorage/MySegmentsCacheInLocal.ts +23 -3
- package/src/storages/inLocalStorage/index.ts +1 -1
- package/src/storages/inMemory/ImpressionsCacheInMemory.ts +22 -1
- package/src/storages/inMemory/InMemoryStorage.ts +1 -1
- package/src/storages/inMemory/InMemoryStorageCS.ts +1 -1
- package/src/storages/inRedis/RedisAdapter.ts +8 -2
- package/src/storages/pluggable/index.ts +2 -2
- package/src/storages/types.ts +6 -2
- package/src/sync/offline/splitsParser/splitsParserFromFile.ts +1 -1
- package/src/sync/streaming/SSEClient/index.ts +2 -1
- package/src/sync/streaming/pushManager.ts +11 -2
- package/src/sync/submitters/eventsSyncTask.ts +19 -6
- package/src/sync/submitters/impressionsSyncTask.ts +16 -1
- package/src/sync/syncManagerOnline.ts +13 -7
- package/src/sync/types.ts +4 -1
- package/src/trackers/eventTracker.ts +11 -3
- package/src/trackers/impressionObserver/utils.ts +8 -1
- package/src/trackers/impressionsTracker.ts +7 -8
- package/src/types.ts +22 -1
- package/src/utils/consent.ts +8 -0
- package/src/utils/constants/index.ts +5 -0
- package/src/utils/inputValidation/attributes.ts +1 -2
- package/src/utils/lang/index.ts +15 -4
- package/src/utils/lang/maps.ts +15 -1
- package/src/utils/settingsValidation/consent.ts +16 -0
- package/src/utils/settingsValidation/impressionsMode.ts +8 -8
- package/src/utils/settingsValidation/index.ts +29 -10
- package/src/utils/settingsValidation/runtime.ts +9 -0
- package/src/utils/settingsValidation/types.ts +12 -6
- package/types/evaluator/types.d.ts +2 -2
- package/types/evaluator/value/index.d.ts +1 -1
- package/types/evaluator/value/sanitize.d.ts +1 -1
- package/types/integrations/ga/GoogleAnalyticsToSplit.d.ts +2 -2
- package/types/integrations/ga/SplitToGoogleAnalytics.d.ts +2 -3
- package/types/integrations/types.d.ts +4 -0
- package/types/logger/constants.d.ts +5 -2
- package/types/logger/types.d.ts +4 -0
- package/types/sdkClient/clientAttributesDecoration.d.ts +1 -1
- package/types/sdkClient/clientInputValidation.d.ts +2 -3
- package/types/sdkFactory/types.d.ts +1 -1
- package/types/sdkFactory/userConsentProps.d.ts +6 -0
- package/types/storages/KeyBuilderCS.d.ts +2 -0
- package/types/storages/inMemory/ImpressionsCacheInMemory.d.ts +9 -0
- package/types/storages/inRedis/RedisAdapter.d.ts +1 -1
- package/types/storages/types.d.ts +3 -1
- package/types/sync/types.d.ts +3 -0
- package/types/trackers/eventTracker.d.ts +2 -2
- package/types/trackers/impressionObserver/utils.d.ts +4 -0
- package/types/trackers/impressionsTracker.d.ts +2 -3
- package/types/types.d.ts +22 -1
- package/types/utils/consent.d.ts +2 -0
- package/types/utils/constants/index.d.ts +3 -0
- package/types/utils/lang/index.d.ts +6 -1
- package/types/utils/lang/maps.d.ts +7 -0
- package/types/utils/settingsValidation/consent.d.ts +6 -0
- package/types/utils/settingsValidation/impressionsMode.d.ts +1 -1
- package/types/utils/settingsValidation/runtime/browser.d.ts +2 -0
- package/types/utils/settingsValidation/runtime/node.d.ts +2 -0
- package/types/utils/settingsValidation/runtime.d.ts +2 -0
- package/types/utils/settingsValidation/types.d.ts +12 -6
- package/types/utils/settingsValidation/userConsent.d.ts +5 -0
package/cjs/listeners/node.js
CHANGED
|
@@ -55,7 +55,7 @@ var NodeSignalListener = /** @class */ (function () {
|
|
|
55
55
|
catch (err) {
|
|
56
56
|
this.settings.log.error(constants_1.LOG_PREFIX_CLEANUP + "Error with Split SDK graceful shutdown: " + err);
|
|
57
57
|
}
|
|
58
|
-
if (thenable_1.thenable(handlerResult)) {
|
|
58
|
+
if ((0, thenable_1.thenable)(handlerResult)) {
|
|
59
59
|
// Always exit, even with errors. The promise is returned for UT purposses.
|
|
60
60
|
return handlerResult.then(wrapUp).catch(wrapUp);
|
|
61
61
|
}
|
package/cjs/logger/constants.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.SYNC_SPLITS_FETCH_RETRY = exports.POLLING_STOP = exports.POLLING_START = exports.POLLING_SMART_PAUSING = exports.NEW_FACTORY = exports.NEW_SHARED_CLIENT = exports.IMPRESSION_QUEUEING = exports.IMPRESSION = exports.CLIENT_READY = exports.CLIENT_READY_FROM_CACHE = exports.SETTINGS_SPLITS_FILTER = exports.SYNC_TASK_STOP = exports.SYNC_TASK_EXECUTE = exports.SYNC_TASK_START = exports.STREAMING_NEW_MESSAGE = exports.SYNC_SPLITS_SEGMENTS = exports.SYNC_SPLITS_REMOVED = exports.SYNC_SPLITS_NEW = exports.SYNC_SPLITS_FETCH = exports.SYNC_OFFLINE_DATA = exports.RETRIEVE_MANAGER = exports.RETRIEVE_CLIENT_EXISTING = exports.RETRIEVE_CLIENT_DEFAULT = exports.CLEANUP_DEREGISTERING = exports.CLEANUP_REGISTERING = exports.ENGINE_SANITIZE = exports.ENGINE_VALUE = exports.ENGINE_MATCHER_WHITELIST = exports.ENGINE_MATCHER_STARTS_WITH = exports.ENGINE_MATCHER_STRING_INVALID = exports.ENGINE_MATCHER_STRING = exports.ENGINE_MATCHER_SEGMENT = exports.ENGINE_MATCHER_PART_OF = exports.ENGINE_MATCHER_LESS = exports.ENGINE_MATCHER_GREATER = exports.ENGINE_MATCHER_ENDS_WITH = exports.ENGINE_MATCHER_EQUAL_TO_SET = exports.ENGINE_MATCHER_EQUAL = exports.ENGINE_MATCHER_DEPENDENCY_PRE = exports.ENGINE_MATCHER_DEPENDENCY = exports.ENGINE_MATCHER_CONTAINS_STRING = exports.ENGINE_MATCHER_CONTAINS_ANY = exports.ENGINE_MATCHER_CONTAINS_ALL = exports.ENGINE_MATCHER_BOOLEAN = exports.ENGINE_MATCHER_BETWEEN = exports.ENGINE_MATCHER_ALL = exports.ENGINE_BUCKET = exports.ENGINE_COMBINER_IFELSEIF_NO_TREATMENT = exports.ENGINE_COMBINER_IFELSEIF = exports.ENGINE_COMBINER_AND = void 0;
|
|
4
|
+
exports.ERROR_NOT_PLAIN_OBJECT = exports.ERROR_EVENT_TYPE_FORMAT = exports.ERROR_EVENTS_TRACKER = exports.ERROR_IMPRESSIONS_LISTENER = exports.ERROR_IMPRESSIONS_TRACKER = exports.ERROR_STREAMING_AUTH = exports.ERROR_STREAMING_SSE = exports.ERROR_SYNC_OFFLINE_LOADING = exports.ERROR_CLIENT_CANNOT_GET_READY = exports.ERROR_CLIENT_LISTENER = exports.ERROR_LOGLEVEL_INVALID = exports.ERROR_ENGINE_COMBINER_IFELSEIF = exports.STREAMING_PARSING_MY_SEGMENTS_UPDATE_V2 = exports.WARN_API_KEY = exports.WARN_SPLITS_FILTER_EMPTY = exports.WARN_SPLITS_FILTER_INVALID = exports.WARN_SPLITS_FILTER_IGNORED = exports.WARN_INTEGRATION_INVALID = exports.WARN_NOT_EXISTENT_TT = exports.WARN_LOWERCASE_TRAFFIC_TYPE = exports.WARN_NOT_EXISTENT_SPLIT = exports.WARN_TRIMMING = exports.WARN_CONVERTING = exports.WARN_TRIMMING_PROPERTIES = exports.WARN_SETTING_NULL = exports.SUBMITTERS_PUSH_RETRY = exports.SUBMITTERS_PUSH_FAILS = exports.STREAMING_FALLBACK = exports.STREAMING_PARSING_MESSAGE_FAILS = exports.STREAMING_PARSING_ERROR_FAILS = exports.SYNC_SPLITS_FETCH_FAILS = exports.SYNC_MYSEGMENTS_FETCH_RETRY = exports.CLIENT_NOT_READY = exports.CLIENT_NO_LISTENER = exports.ENGINE_VALUE_NO_ATTRIBUTES = exports.ENGINE_VALUE_INVALID = exports.USER_CONSENT_NOT_UPDATED = exports.USER_CONSENT_UPDATED = exports.IMPRESSIONS_TRACKER_SUCCESS = exports.EVENTS_TRACKER_SUCCESS = exports.SYNC_STOP_POLLING = exports.SYNC_CONTINUE_POLLING = exports.SYNC_START_POLLING = exports.SUBMITTERS_PUSH = exports.SUBMITTERS_PUSH_FULL_QUEUE = exports.STREAMING_DISCONNECTING = exports.STREAMING_DISABLED = exports.STREAMING_CONNECTING = exports.STREAMING_RECONNECT = exports.STREAMING_REFRESH_TOKEN = void 0;
|
|
5
|
+
exports.LOG_PREFIX_CLEANUP = exports.LOG_PREFIX_EVENTS_TRACKER = exports.LOG_PREFIX_IMPRESSIONS_TRACKER = exports.LOG_PREFIX_SYNC_SUBMITTERS = exports.LOG_PREFIX_SYNC_POLLING = exports.LOG_PREFIX_SYNC_MYSEGMENTS = exports.LOG_PREFIX_SYNC_SEGMENTS = exports.LOG_PREFIX_SYNC_SPLITS = exports.LOG_PREFIX_SYNC_STREAMING = exports.LOG_PREFIX_SYNC_OFFLINE = exports.LOG_PREFIX_SYNC_MANAGER = exports.LOG_PREFIX_SYNC = exports.LOG_PREFIX_ENGINE_VALUE = exports.LOG_PREFIX_ENGINE_MATCHER = exports.LOG_PREFIX_ENGINE_COMBINER = exports.LOG_PREFIX_ENGINE = exports.LOG_PREFIX_INSTANTIATION = exports.LOG_PREFIX_SETTINGS = exports.ERROR_NOT_BOOLEAN = exports.ERROR_STORAGE_INVALID = exports.ERROR_LOCALHOST_MODULE_REQUIRED = exports.ERROR_HTTP = exports.ERROR_INVALID_CONFIG_PARAM = exports.ERROR_EMPTY_ARRAY = exports.ERROR_EMPTY = exports.ERROR_INVALID = exports.ERROR_INVALID_KEY_OBJECT = exports.ERROR_TOO_LONG = exports.ERROR_NULL = exports.ERROR_CLIENT_DESTROYED = exports.ERROR_NOT_FINITE = exports.ERROR_SIZE_EXCEEDED = void 0;
|
|
4
6
|
/**
|
|
5
7
|
* Message codes used to trim string log messages from commons and client-side API modules,
|
|
6
8
|
* in order to reduce the minimal SDK size for Browser and eventually other client-side environments.
|
|
@@ -63,13 +65,15 @@ exports.STREAMING_RECONNECT = 111;
|
|
|
63
65
|
exports.STREAMING_CONNECTING = 112;
|
|
64
66
|
exports.STREAMING_DISABLED = 113;
|
|
65
67
|
exports.STREAMING_DISCONNECTING = 114;
|
|
66
|
-
exports.
|
|
68
|
+
exports.SUBMITTERS_PUSH_FULL_QUEUE = 115;
|
|
67
69
|
exports.SUBMITTERS_PUSH = 116;
|
|
68
70
|
exports.SYNC_START_POLLING = 117;
|
|
69
71
|
exports.SYNC_CONTINUE_POLLING = 118;
|
|
70
72
|
exports.SYNC_STOP_POLLING = 119;
|
|
71
73
|
exports.EVENTS_TRACKER_SUCCESS = 120;
|
|
72
74
|
exports.IMPRESSIONS_TRACKER_SUCCESS = 121;
|
|
75
|
+
exports.USER_CONSENT_UPDATED = 122;
|
|
76
|
+
exports.USER_CONSENT_NOT_UPDATED = 123;
|
|
73
77
|
exports.ENGINE_VALUE_INVALID = 200;
|
|
74
78
|
exports.ENGINE_VALUE_NO_ATTRIBUTES = 201;
|
|
75
79
|
exports.CLIENT_NO_LISTENER = 202;
|
|
@@ -115,10 +119,11 @@ exports.ERROR_INVALID_KEY_OBJECT = 317;
|
|
|
115
119
|
exports.ERROR_INVALID = 318;
|
|
116
120
|
exports.ERROR_EMPTY = 319;
|
|
117
121
|
exports.ERROR_EMPTY_ARRAY = 320;
|
|
118
|
-
exports.
|
|
122
|
+
exports.ERROR_INVALID_CONFIG_PARAM = 321;
|
|
119
123
|
exports.ERROR_HTTP = 322;
|
|
120
124
|
exports.ERROR_LOCALHOST_MODULE_REQUIRED = 323;
|
|
121
125
|
exports.ERROR_STORAGE_INVALID = 324;
|
|
126
|
+
exports.ERROR_NOT_BOOLEAN = 325;
|
|
122
127
|
// Log prefixes (a.k.a. tags or categories)
|
|
123
128
|
exports.LOG_PREFIX_SETTINGS = 'settings';
|
|
124
129
|
exports.LOG_PREFIX_INSTANTIATION = 'Factory instantiation';
|
package/cjs/logger/index.js
CHANGED
|
@@ -19,7 +19,7 @@ var LogLevelIndexes = {
|
|
|
19
19
|
NONE: 5
|
|
20
20
|
};
|
|
21
21
|
function isLogLevelString(str) {
|
|
22
|
-
return !!lang_1.find(exports.LogLevels, function (lvl) { return str === lvl; });
|
|
22
|
+
return !!(0, lang_1.find)(exports.LogLevels, function (lvl) { return str === lvl; });
|
|
23
23
|
}
|
|
24
24
|
exports.isLogLevelString = isLogLevelString;
|
|
25
25
|
// exported for testing purposes only
|
|
@@ -39,7 +39,7 @@ var defaultOptions = {
|
|
|
39
39
|
};
|
|
40
40
|
var Logger = /** @class */ (function () {
|
|
41
41
|
function Logger(options, codes) {
|
|
42
|
-
this.options = objectAssign_1.objectAssign({}, defaultOptions, options);
|
|
42
|
+
this.options = (0, objectAssign_1.objectAssign)({}, defaultOptions, options);
|
|
43
43
|
this.codes = codes || new maps_1._Map();
|
|
44
44
|
this.logLevel = LogLevelIndexes[this.options.logLevel];
|
|
45
45
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.codesDebug = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
|
-
var c = tslib_1.__importStar(require("../constants"));
|
|
5
|
+
var c = (0, tslib_1.__importStar)(require("../constants"));
|
|
6
6
|
var info_1 = require("./info");
|
|
7
7
|
exports.codesDebug = info_1.codesInfo.concat([
|
|
8
8
|
// evaluator
|
|
@@ -34,9 +34,9 @@ exports.codesDebug = info_1.codesInfo.concat([
|
|
|
34
34
|
// SDK
|
|
35
35
|
[c.CLEANUP_REGISTERING, c.LOG_PREFIX_CLEANUP + 'Registering cleanup handler %s'],
|
|
36
36
|
[c.CLEANUP_DEREGISTERING, c.LOG_PREFIX_CLEANUP + 'Deregistering cleanup handler %s'],
|
|
37
|
-
[c.RETRIEVE_CLIENT_DEFAULT, '
|
|
38
|
-
[c.RETRIEVE_CLIENT_EXISTING, '
|
|
39
|
-
[c.RETRIEVE_MANAGER, '
|
|
37
|
+
[c.RETRIEVE_CLIENT_DEFAULT, 'Retrieving default SDK client.'],
|
|
38
|
+
[c.RETRIEVE_CLIENT_EXISTING, 'Retrieving existing SDK client.'],
|
|
39
|
+
[c.RETRIEVE_MANAGER, 'Retrieving manager instance.'],
|
|
40
40
|
// synchronizer
|
|
41
41
|
[c.SYNC_OFFLINE_DATA, c.LOG_PREFIX_SYNC_OFFLINE + 'Splits data: \n%s'],
|
|
42
42
|
[c.SYNC_SPLITS_FETCH, c.LOG_PREFIX_SYNC_SPLITS + 'Spin up split update using since = %s'],
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.codesError = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
|
-
var c = tslib_1.__importStar(require("../constants"));
|
|
5
|
+
var c = (0, tslib_1.__importStar)(require("../constants"));
|
|
6
6
|
exports.codesError = [
|
|
7
7
|
// evaluator
|
|
8
8
|
[c.ERROR_ENGINE_COMBINER_IFELSEIF, c.LOG_PREFIX_ENGINE_COMBINER + 'Invalid Split, no valid rules found'],
|
|
9
9
|
// SDK
|
|
10
10
|
[c.ERROR_LOGLEVEL_INVALID, 'logger: Invalid Log Level - No changes to the logs will be applied.'],
|
|
11
|
-
[c.ERROR_CLIENT_CANNOT_GET_READY, '
|
|
11
|
+
[c.ERROR_CLIENT_CANNOT_GET_READY, 'The SDK will not get ready. Reason: %s'],
|
|
12
12
|
[c.ERROR_IMPRESSIONS_TRACKER, c.LOG_PREFIX_IMPRESSIONS_TRACKER + 'Could not store impressions bulk with %s impression(s). Error: %s'],
|
|
13
13
|
[c.ERROR_IMPRESSIONS_LISTENER, c.LOG_PREFIX_IMPRESSIONS_TRACKER + 'Impression listener logImpression method threw: %s.'],
|
|
14
14
|
[c.ERROR_EVENTS_TRACKER, c.LOG_PREFIX_EVENTS_TRACKER + 'Failed to queue %s'],
|
|
@@ -16,7 +16,7 @@ exports.codesError = [
|
|
|
16
16
|
[c.ERROR_SYNC_OFFLINE_LOADING, c.LOG_PREFIX_SYNC_OFFLINE + 'There was an issue loading the mock Splits data, no changes will be applied to the current cache. %s'],
|
|
17
17
|
[c.ERROR_STREAMING_SSE, c.LOG_PREFIX_SYNC_STREAMING + 'Failed to connect or error on streaming connection, with error message: %s'],
|
|
18
18
|
[c.ERROR_STREAMING_AUTH, c.LOG_PREFIX_SYNC_STREAMING + 'Failed to authenticate for streaming. Error: %s.'],
|
|
19
|
-
[c.ERROR_HTTP, '
|
|
19
|
+
[c.ERROR_HTTP, 'Response status is not OK. Status: %s. URL: %s. Message: %s'],
|
|
20
20
|
// client status
|
|
21
21
|
[c.ERROR_CLIENT_LISTENER, 'A listener was added for %s on the SDK, which has already fired and won\'t be emitted again. The callback won\'t be executed.'],
|
|
22
22
|
[c.ERROR_CLIENT_DESTROYED, '%s: Client has already been destroyed - no calls possible.'],
|
|
@@ -31,8 +31,9 @@ exports.codesError = [
|
|
|
31
31
|
[c.ERROR_INVALID, '%s: you passed an invalid %s. It must be a non-empty string.'],
|
|
32
32
|
[c.ERROR_EMPTY, '%s: you passed an empty %s. It must be a non-empty string.'],
|
|
33
33
|
[c.ERROR_EMPTY_ARRAY, '%s: %s must be a non-empty array.'],
|
|
34
|
+
[c.ERROR_NOT_BOOLEAN, '%s: provided param must be a boolean value.'],
|
|
34
35
|
// initialization / settings validation
|
|
35
|
-
[c.
|
|
36
|
+
[c.ERROR_INVALID_CONFIG_PARAM, c.LOG_PREFIX_SETTINGS + ': you passed an invalid "%s" config param. It should be one of the following values: %s. Defaulting to "%s".'],
|
|
36
37
|
[c.ERROR_LOCALHOST_MODULE_REQUIRED, c.LOG_PREFIX_SETTINGS + ': an invalid value was received for "sync.localhostMode" config. A valid entity should be provided for localhost mode.'],
|
|
37
38
|
[c.ERROR_STORAGE_INVALID, c.LOG_PREFIX_SETTINGS + ': The provided storage is invalid.%s Fallbacking into default MEMORY storage'],
|
|
38
39
|
];
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.codesInfo = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
|
-
var c = tslib_1.__importStar(require("../constants"));
|
|
5
|
+
var c = (0, tslib_1.__importStar)(require("../constants"));
|
|
6
6
|
var warn_1 = require("./warn");
|
|
7
7
|
var READY_MSG = 'Split SDK is ready';
|
|
8
8
|
exports.codesInfo = warn_1.codesWarn.concat([
|
|
@@ -12,16 +12,18 @@ exports.codesInfo = warn_1.codesWarn.concat([
|
|
|
12
12
|
// SDK
|
|
13
13
|
[c.IMPRESSION, c.LOG_PREFIX_IMPRESSIONS_TRACKER + 'Split: %s. Key: %s. Evaluation: %s. Label: %s'],
|
|
14
14
|
[c.IMPRESSION_QUEUEING, c.LOG_PREFIX_IMPRESSIONS_TRACKER + 'Queueing corresponding impression.'],
|
|
15
|
-
[c.NEW_SHARED_CLIENT, '
|
|
16
|
-
[c.NEW_FACTORY, '
|
|
15
|
+
[c.NEW_SHARED_CLIENT, 'New shared client instance created.'],
|
|
16
|
+
[c.NEW_FACTORY, 'New Split SDK instance created.'],
|
|
17
17
|
[c.EVENTS_TRACKER_SUCCESS, c.LOG_PREFIX_EVENTS_TRACKER + 'Successfully queued %s'],
|
|
18
18
|
[c.IMPRESSIONS_TRACKER_SUCCESS, c.LOG_PREFIX_IMPRESSIONS_TRACKER + 'Successfully stored %s impression(s).'],
|
|
19
|
+
[c.USER_CONSENT_UPDATED, 'setUserConsent: consent status changed from %s to %s.'],
|
|
20
|
+
[c.USER_CONSENT_NOT_UPDATED, 'setUserConsent: call had no effect because it was the current consent status (%s).'],
|
|
19
21
|
// synchronizer
|
|
20
22
|
[c.POLLING_SMART_PAUSING, c.LOG_PREFIX_SYNC_POLLING + 'Turning segments data polling %s.'],
|
|
21
23
|
[c.POLLING_START, c.LOG_PREFIX_SYNC_POLLING + 'Starting polling'],
|
|
22
24
|
[c.POLLING_STOP, c.LOG_PREFIX_SYNC_POLLING + 'Stopping polling'],
|
|
23
25
|
[c.SYNC_SPLITS_FETCH_RETRY, c.LOG_PREFIX_SYNC_SPLITS + 'Retrying download of splits #%s. Reason: %s'],
|
|
24
|
-
[c.
|
|
26
|
+
[c.SUBMITTERS_PUSH_FULL_QUEUE, c.LOG_PREFIX_SYNC_SUBMITTERS + 'Flushing full %s queue and reseting timer.'],
|
|
25
27
|
[c.SUBMITTERS_PUSH, c.LOG_PREFIX_SYNC_SUBMITTERS + 'Pushing %s %s.'],
|
|
26
28
|
[c.STREAMING_REFRESH_TOKEN, c.LOG_PREFIX_SYNC_STREAMING + 'Refreshing streaming token in %s seconds, and connecting streaming in %s seconds.'],
|
|
27
29
|
[c.STREAMING_RECONNECT, c.LOG_PREFIX_SYNC_STREAMING + 'Attempting to reconnect streaming in %s seconds.'],
|
|
@@ -30,5 +32,5 @@ exports.codesInfo = warn_1.codesWarn.concat([
|
|
|
30
32
|
[c.STREAMING_DISCONNECTING, c.LOG_PREFIX_SYNC_STREAMING + 'Disconnecting streaming.'],
|
|
31
33
|
[c.SYNC_START_POLLING, c.LOG_PREFIX_SYNC_MANAGER + 'Streaming not available. Starting polling.'],
|
|
32
34
|
[c.SYNC_CONTINUE_POLLING, c.LOG_PREFIX_SYNC_MANAGER + 'Streaming couldn\'t connect. Continue polling.'],
|
|
33
|
-
[c.SYNC_STOP_POLLING, c.LOG_PREFIX_SYNC_MANAGER + 'Streaming
|
|
35
|
+
[c.SYNC_STOP_POLLING, c.LOG_PREFIX_SYNC_MANAGER + 'Streaming connected. Syncing and stopping polling.'],
|
|
34
36
|
]);
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.codesWarn = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
|
-
var c = tslib_1.__importStar(require("../constants"));
|
|
5
|
+
var c = (0, tslib_1.__importStar)(require("../constants"));
|
|
6
6
|
var error_1 = require("./error");
|
|
7
7
|
exports.codesWarn = error_1.codesError.concat([
|
|
8
8
|
// evaluator
|
package/cjs/logger/sdkLogger.js
CHANGED
|
@@ -4,7 +4,7 @@ exports.readinessManagerFactory = void 0;
|
|
|
4
4
|
var objectAssign_1 = require("../utils/lang/objectAssign");
|
|
5
5
|
var constants_1 = require("./constants");
|
|
6
6
|
function splitsEventEmitterFactory(EventEmitter) {
|
|
7
|
-
var splitsEventEmitter = objectAssign_1.objectAssign(new EventEmitter(), {
|
|
7
|
+
var splitsEventEmitter = (0, objectAssign_1.objectAssign)(new EventEmitter(), {
|
|
8
8
|
splitsArrived: false,
|
|
9
9
|
splitsCacheLoaded: false,
|
|
10
10
|
});
|
|
@@ -17,7 +17,7 @@ function splitsEventEmitterFactory(EventEmitter) {
|
|
|
17
17
|
return splitsEventEmitter;
|
|
18
18
|
}
|
|
19
19
|
function segmentsEventEmitterFactory(EventEmitter) {
|
|
20
|
-
var segmentsEventEmitter = objectAssign_1.objectAssign(new EventEmitter(), {
|
|
20
|
+
var segmentsEventEmitter = (0, objectAssign_1.objectAssign)(new EventEmitter(), {
|
|
21
21
|
segmentsArrived: false
|
|
22
22
|
});
|
|
23
23
|
segmentsEventEmitter.once(constants_1.SDK_SEGMENTS_ARRIVED, function () { segmentsEventEmitter.segmentsArrived = true; });
|
|
@@ -20,7 +20,7 @@ var REMOVE_LISTENER_EVENT = 'removeListener';
|
|
|
20
20
|
function sdkReadinessManagerFactory(log, EventEmitter, readyTimeout, internalReadyCbCount, readinessManager) {
|
|
21
21
|
if (readyTimeout === void 0) { readyTimeout = 0; }
|
|
22
22
|
if (internalReadyCbCount === void 0) { internalReadyCbCount = 0; }
|
|
23
|
-
if (readinessManager === void 0) { readinessManager = readinessManager_1.readinessManagerFactory(EventEmitter, readyTimeout); }
|
|
23
|
+
if (readinessManager === void 0) { readinessManager = (0, readinessManager_1.readinessManagerFactory)(EventEmitter, readyTimeout); }
|
|
24
24
|
/** Ready callback warning */
|
|
25
25
|
var readyCbCount = 0;
|
|
26
26
|
readinessManager.gate.on(REMOVE_LISTENER_EVENT, function (event) {
|
|
@@ -47,7 +47,7 @@ function sdkReadinessManagerFactory(log, EventEmitter, readyTimeout, internalRea
|
|
|
47
47
|
log.error(err);
|
|
48
48
|
}
|
|
49
49
|
function generateReadyPromise() {
|
|
50
|
-
var promise = wrapper_1.promiseWrapper(new Promise(function (resolve, reject) {
|
|
50
|
+
var promise = (0, wrapper_1.promiseWrapper)(new Promise(function (resolve, reject) {
|
|
51
51
|
readinessManager.gate.once(constants_1.SDK_READY, function () {
|
|
52
52
|
log.info(constants_2.CLIENT_READY);
|
|
53
53
|
if (readyCbCount === internalReadyCbCount && !promise.hasOnFulfilled())
|
|
@@ -65,7 +65,7 @@ function sdkReadinessManagerFactory(log, EventEmitter, readyTimeout, internalRea
|
|
|
65
65
|
if (internalReadyCbCount === void 0) { internalReadyCbCount = 0; }
|
|
66
66
|
return sdkReadinessManagerFactory(log, EventEmitter, readyTimeout, internalReadyCbCount, readinessManager.shared(readyTimeout));
|
|
67
67
|
},
|
|
68
|
-
sdkStatus: objectAssign_1.objectAssign(
|
|
68
|
+
sdkStatus: (0, objectAssign_1.objectAssign)(
|
|
69
69
|
// Expose Event Emitter functionality
|
|
70
70
|
Object.create(readinessManager.gate), {
|
|
71
71
|
// Expose the event constants without changing the interface
|
|
@@ -97,7 +97,7 @@ function sdkReadinessManagerFactory(log, EventEmitter, readyTimeout, internalRea
|
|
|
97
97
|
ready: function () {
|
|
98
98
|
if (readinessManager.hasTimedout()) {
|
|
99
99
|
if (!readinessManager.isReady()) {
|
|
100
|
-
return wrapper_1.promiseWrapper(Promise.reject('Split SDK has emitted SDK_READY_TIMED_OUT event.'), defaultOnRejected);
|
|
100
|
+
return (0, wrapper_1.promiseWrapper)(Promise.reject('Split SDK has emitted SDK_READY_TIMED_OUT event.'), defaultOnRejected);
|
|
101
101
|
}
|
|
102
102
|
else {
|
|
103
103
|
return Promise.resolve();
|
package/cjs/sdkClient/client.js
CHANGED
|
@@ -14,7 +14,8 @@ var constants_2 = require("../logger/constants");
|
|
|
14
14
|
*/
|
|
15
15
|
// @TODO missing time tracking to collect telemetry
|
|
16
16
|
function clientFactory(params) {
|
|
17
|
-
var readinessManager = params.sdkReadinessManager.readinessManager, storage = params.storage,
|
|
17
|
+
var readinessManager = params.sdkReadinessManager.readinessManager, storage = params.storage, settings = params.settings, impressionsTracker = params.impressionsTracker, eventTracker = params.eventTracker;
|
|
18
|
+
var log = settings.log, mode = settings.mode;
|
|
18
19
|
function getTreatment(key, splitName, attributes, withConfig) {
|
|
19
20
|
if (withConfig === void 0) { withConfig = false; }
|
|
20
21
|
var wrapUp = function (evaluationResult) {
|
|
@@ -23,8 +24,8 @@ function clientFactory(params) {
|
|
|
23
24
|
impressionsTracker.track(queue, attributes);
|
|
24
25
|
return treatment;
|
|
25
26
|
};
|
|
26
|
-
var evaluation = evaluator_1.evaluateFeature(log, key, splitName, attributes, storage);
|
|
27
|
-
return thenable_1.thenable(evaluation) ? evaluation.then(function (res) { return wrapUp(res); }) : wrapUp(evaluation);
|
|
27
|
+
var evaluation = (0, evaluator_1.evaluateFeature)(log, key, splitName, attributes, storage);
|
|
28
|
+
return (0, thenable_1.thenable)(evaluation) ? evaluation.then(function (res) { return wrapUp(res); }) : wrapUp(evaluation);
|
|
28
29
|
}
|
|
29
30
|
function getTreatmentWithConfig(key, splitName, attributes) {
|
|
30
31
|
return getTreatment(key, splitName, attributes, true);
|
|
@@ -40,8 +41,8 @@ function clientFactory(params) {
|
|
|
40
41
|
impressionsTracker.track(queue, attributes);
|
|
41
42
|
return treatments;
|
|
42
43
|
};
|
|
43
|
-
var evaluations = evaluator_1.evaluateFeatures(log, key, splitNames, attributes, storage);
|
|
44
|
-
return thenable_1.thenable(evaluations) ? evaluations.then(function (res) { return wrapUp(res); }) : wrapUp(evaluations);
|
|
44
|
+
var evaluations = (0, evaluator_1.evaluateFeatures)(log, key, splitNames, attributes, storage);
|
|
45
|
+
return (0, thenable_1.thenable)(evaluations) ? evaluations.then(function (res) { return wrapUp(res); }) : wrapUp(evaluations);
|
|
45
46
|
}
|
|
46
47
|
function getTreatmentsWithConfig(key, splitNames, attributes) {
|
|
47
48
|
return getTreatments(key, splitNames, attributes, true);
|
|
@@ -49,15 +50,15 @@ function clientFactory(params) {
|
|
|
49
50
|
// Internal function
|
|
50
51
|
function processEvaluation(evaluation, splitName, key, attributes, withConfig, invokingMethodName, queue) {
|
|
51
52
|
var isSdkReady = readinessManager.isReady() || readinessManager.isReadyFromCache();
|
|
52
|
-
var matchingKey = key_1.getMatching(key);
|
|
53
|
-
var bucketingKey = key_1.getBucketing(key);
|
|
53
|
+
var matchingKey = (0, key_1.getMatching)(key);
|
|
54
|
+
var bucketingKey = (0, key_1.getBucketing)(key);
|
|
54
55
|
// If the SDK was not ready, treatment may be incorrect due to having Splits but not segments data.
|
|
55
56
|
if (!isSdkReady) {
|
|
56
57
|
evaluation = { treatment: constants_1.CONTROL, label: labels_1.SDK_NOT_READY };
|
|
57
58
|
}
|
|
58
59
|
var treatment = evaluation.treatment, label = evaluation.label, changeNumber = evaluation.changeNumber, _a = evaluation.config, config = _a === void 0 ? null : _a;
|
|
59
60
|
log.info(constants_2.IMPRESSION, [splitName, matchingKey, treatment, label]);
|
|
60
|
-
if (splitExistance_1.validateSplitExistance(log, readinessManager, splitName, label, invokingMethodName)) {
|
|
61
|
+
if ((0, splitExistance_1.validateSplitExistance)(log, readinessManager, splitName, label, invokingMethodName)) {
|
|
61
62
|
log.info(constants_2.IMPRESSION_QUEUEING);
|
|
62
63
|
queue.push({
|
|
63
64
|
feature: splitName,
|
|
@@ -79,7 +80,7 @@ function clientFactory(params) {
|
|
|
79
80
|
}
|
|
80
81
|
function track(key, trafficTypeName, eventTypeId, value, properties, size) {
|
|
81
82
|
if (size === void 0) { size = 1024; }
|
|
82
|
-
var matchingKey = key_1.getMatching(key);
|
|
83
|
+
var matchingKey = (0, key_1.getMatching)(key);
|
|
83
84
|
var timestamp = Date.now();
|
|
84
85
|
var eventData = {
|
|
85
86
|
eventTypeId: eventTypeId,
|
|
@@ -90,7 +91,7 @@ function clientFactory(params) {
|
|
|
90
91
|
properties: properties
|
|
91
92
|
};
|
|
92
93
|
// This may be async but we only warn, we don't actually care if it is valid or not in terms of queueing the event.
|
|
93
|
-
trafficTypeExistance_1.validateTrafficTypeExistance(log, readinessManager, storage.splits, mode, trafficTypeName, 'track');
|
|
94
|
+
(0, trafficTypeExistance_1.validateTrafficTypeExistance)(log, readinessManager, storage.splits, mode, trafficTypeName, 'track');
|
|
94
95
|
return eventTracker.track(eventData, size);
|
|
95
96
|
}
|
|
96
97
|
return {
|
|
@@ -99,7 +100,7 @@ function clientFactory(params) {
|
|
|
99
100
|
getTreatments: getTreatments,
|
|
100
101
|
getTreatmentsWithConfig: getTreatmentsWithConfig,
|
|
101
102
|
track: track,
|
|
102
|
-
|
|
103
|
+
isClientSide: false
|
|
103
104
|
};
|
|
104
105
|
}
|
|
105
106
|
exports.clientFactory = clientFactory;
|
|
@@ -33,11 +33,11 @@ function clientAttributesDecoration(log, client) {
|
|
|
33
33
|
function combineAttributes(maybeAttributes) {
|
|
34
34
|
var storedAttributes = attributeStorage.getAll();
|
|
35
35
|
if (Object.keys(storedAttributes).length > 0) {
|
|
36
|
-
return objectAssign_1.objectAssign({}, storedAttributes, maybeAttributes);
|
|
36
|
+
return (0, objectAssign_1.objectAssign)({}, storedAttributes, maybeAttributes);
|
|
37
37
|
}
|
|
38
38
|
return maybeAttributes;
|
|
39
39
|
}
|
|
40
|
-
return objectAssign_1.objectAssign(client, {
|
|
40
|
+
return (0, objectAssign_1.objectAssign)(client, {
|
|
41
41
|
getTreatment: getTreatment,
|
|
42
42
|
getTreatmentWithConfig: getTreatmentWithConfig,
|
|
43
43
|
getTreatments: getTreatments,
|
|
@@ -53,7 +53,7 @@ function clientAttributesDecoration(log, client) {
|
|
|
53
53
|
setAttribute: function (attributeName, attributeValue) {
|
|
54
54
|
var attribute = {};
|
|
55
55
|
attribute[attributeName] = attributeValue;
|
|
56
|
-
if (!attributes_1.validateAttributesDeep(log, attribute, 'setAttribute'))
|
|
56
|
+
if (!(0, attributes_1.validateAttributesDeep)(log, attribute, 'setAttribute'))
|
|
57
57
|
return false;
|
|
58
58
|
log.debug("stored " + attributeValue + " for attribute " + attributeName);
|
|
59
59
|
return attributeStorage.setAttribute(attributeName, attributeValue);
|
|
@@ -75,7 +75,7 @@ function clientAttributesDecoration(log, client) {
|
|
|
75
75
|
* @returns true if attributes were stored an false otherways
|
|
76
76
|
*/
|
|
77
77
|
setAttributes: function (attributes) {
|
|
78
|
-
if (!attributes_1.validateAttributesDeep(log, attributes, 'setAttributes'))
|
|
78
|
+
if (!(0, attributes_1.validateAttributesDeep)(log, attributes, 'setAttributes'))
|
|
79
79
|
return false;
|
|
80
80
|
return attributeStorage.setAttributes(attributes);
|
|
81
81
|
},
|
|
@@ -11,8 +11,8 @@ var clientAttributesDecoration_1 = require("./clientAttributesDecoration");
|
|
|
11
11
|
* @param trafficType validated traffic type
|
|
12
12
|
*/
|
|
13
13
|
function clientCSDecorator(log, client, key, trafficType) {
|
|
14
|
-
var clientCS = clientAttributesDecoration_1.clientAttributesDecoration(log, client);
|
|
15
|
-
return objectAssign_1.objectAssign(clientCS, {
|
|
14
|
+
var clientCS = (0, clientAttributesDecoration_1.clientAttributesDecoration)(log, client);
|
|
15
|
+
return (0, objectAssign_1.objectAssign)(clientCS, {
|
|
16
16
|
// In the client-side API, we bind a key to the client `getTreatment*` methods
|
|
17
17
|
getTreatment: clientCS.getTreatment.bind(clientCS, key),
|
|
18
18
|
getTreatmentWithConfig: clientCS.getTreatmentWithConfig.bind(clientCS, key),
|
|
@@ -20,7 +20,7 @@ function clientCSDecorator(log, client, key, trafficType) {
|
|
|
20
20
|
getTreatmentsWithConfig: clientCS.getTreatmentsWithConfig.bind(clientCS, key),
|
|
21
21
|
// Key is bound to the `track` method. Same thing happens with trafficType but only if provided
|
|
22
22
|
track: trafficType ? clientCS.track.bind(clientCS, key, trafficType) : clientCS.track.bind(clientCS, key),
|
|
23
|
-
|
|
23
|
+
isClientSide: true
|
|
24
24
|
});
|
|
25
25
|
}
|
|
26
26
|
exports.clientCSDecorator = clientCSDecorator;
|
|
@@ -5,22 +5,24 @@ var objectAssign_1 = require("../utils/lang/objectAssign");
|
|
|
5
5
|
var inputValidation_1 = require("../utils/inputValidation");
|
|
6
6
|
var lang_1 = require("../utils/lang");
|
|
7
7
|
var constants_1 = require("../utils/constants");
|
|
8
|
+
var utils_1 = require("../trackers/impressionObserver/utils");
|
|
8
9
|
/**
|
|
9
10
|
* Decorator that validates the input before actually executing the client methods.
|
|
10
11
|
* We should "guard" the client here, while not polluting the "real" implementation of those methods.
|
|
11
12
|
*/
|
|
12
|
-
function clientInputValidationDecorator(
|
|
13
|
-
|
|
13
|
+
function clientInputValidationDecorator(settings, client, readinessManager) {
|
|
14
|
+
var log = settings.log;
|
|
15
|
+
var isSync = (0, utils_1.isStorageSync)(settings);
|
|
14
16
|
/**
|
|
15
17
|
* Avoid repeating this validations code
|
|
16
18
|
*/
|
|
17
19
|
function validateEvaluationParams(maybeKey, maybeSplitOrSplits, maybeAttributes, methodName) {
|
|
18
|
-
var multi = lang_1.startsWith(methodName, 'getTreatments');
|
|
19
|
-
var key = inputValidation_1.validateKey(log, maybeKey, methodName);
|
|
20
|
-
var splitOrSplits = multi ? inputValidation_1.validateSplits(log, maybeSplitOrSplits, methodName) : inputValidation_1.validateSplit(log, maybeSplitOrSplits, methodName);
|
|
21
|
-
var attributes = inputValidation_1.validateAttributes(log, maybeAttributes, methodName);
|
|
22
|
-
var isOperational = inputValidation_1.validateIfNotDestroyed(log, readinessManager, methodName);
|
|
23
|
-
inputValidation_1.validateIfOperational(log, readinessManager, methodName);
|
|
20
|
+
var multi = (0, lang_1.startsWith)(methodName, 'getTreatments');
|
|
21
|
+
var key = (0, inputValidation_1.validateKey)(log, maybeKey, methodName);
|
|
22
|
+
var splitOrSplits = multi ? (0, inputValidation_1.validateSplits)(log, maybeSplitOrSplits, methodName) : (0, inputValidation_1.validateSplit)(log, maybeSplitOrSplits, methodName);
|
|
23
|
+
var attributes = (0, inputValidation_1.validateAttributes)(log, maybeAttributes, methodName);
|
|
24
|
+
var isOperational = (0, inputValidation_1.validateIfNotDestroyed)(log, readinessManager, methodName);
|
|
25
|
+
(0, inputValidation_1.validateIfOperational)(log, readinessManager, methodName);
|
|
24
26
|
var valid = isOperational && key && splitOrSplits && attributes !== false;
|
|
25
27
|
return {
|
|
26
28
|
valid: valid,
|
|
@@ -30,9 +32,7 @@ function clientInputValidationDecorator(log, client, readinessManager, isStorage
|
|
|
30
32
|
};
|
|
31
33
|
}
|
|
32
34
|
function wrapResult(value) {
|
|
33
|
-
|
|
34
|
-
return value;
|
|
35
|
-
return Promise.resolve(value);
|
|
35
|
+
return isSync ? value : Promise.resolve(value);
|
|
36
36
|
}
|
|
37
37
|
function getTreatment(maybeKey, maybeSplit, maybeAttributes) {
|
|
38
38
|
var params = validateEvaluationParams(maybeKey, maybeSplit, maybeAttributes, 'getTreatment');
|
|
@@ -49,7 +49,7 @@ function clientInputValidationDecorator(log, client, readinessManager, isStorage
|
|
|
49
49
|
return client.getTreatmentWithConfig(params.key, params.splitOrSplits, params.attributes);
|
|
50
50
|
}
|
|
51
51
|
else {
|
|
52
|
-
return wrapResult(objectAssign_1.objectAssign({}, constants_1.CONTROL_WITH_CONFIG));
|
|
52
|
+
return wrapResult((0, objectAssign_1.objectAssign)({}, constants_1.CONTROL_WITH_CONFIG));
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
function getTreatments(maybeKey, maybeSplits, maybeAttributes) {
|
|
@@ -72,24 +72,22 @@ function clientInputValidationDecorator(log, client, readinessManager, isStorage
|
|
|
72
72
|
else {
|
|
73
73
|
var res_2 = {};
|
|
74
74
|
if (params.splitOrSplits)
|
|
75
|
-
params.splitOrSplits.forEach(function (split) { return res_2[split] = objectAssign_1.objectAssign({}, constants_1.CONTROL_WITH_CONFIG); });
|
|
75
|
+
params.splitOrSplits.forEach(function (split) { return res_2[split] = (0, objectAssign_1.objectAssign)({}, constants_1.CONTROL_WITH_CONFIG); });
|
|
76
76
|
return wrapResult(res_2);
|
|
77
77
|
}
|
|
78
78
|
}
|
|
79
79
|
function track(maybeKey, maybeTT, maybeEvent, maybeEventValue, maybeProperties) {
|
|
80
|
-
var key = inputValidation_1.validateKey(log, maybeKey, 'track');
|
|
81
|
-
var tt = inputValidation_1.validateTrafficType(log, maybeTT, 'track');
|
|
82
|
-
var event = inputValidation_1.validateEvent(log, maybeEvent, 'track');
|
|
83
|
-
var eventValue = inputValidation_1.validateEventValue(log, maybeEventValue, 'track');
|
|
84
|
-
var _a = inputValidation_1.validateEventProperties(log, maybeProperties, 'track'), properties = _a.properties, size = _a.size;
|
|
85
|
-
var isOperational = inputValidation_1.validateIfNotDestroyed(log, readinessManager, 'track');
|
|
80
|
+
var key = (0, inputValidation_1.validateKey)(log, maybeKey, 'track');
|
|
81
|
+
var tt = (0, inputValidation_1.validateTrafficType)(log, maybeTT, 'track');
|
|
82
|
+
var event = (0, inputValidation_1.validateEvent)(log, maybeEvent, 'track');
|
|
83
|
+
var eventValue = (0, inputValidation_1.validateEventValue)(log, maybeEventValue, 'track');
|
|
84
|
+
var _a = (0, inputValidation_1.validateEventProperties)(log, maybeProperties, 'track'), properties = _a.properties, size = _a.size;
|
|
85
|
+
var isOperational = (0, inputValidation_1.validateIfNotDestroyed)(log, readinessManager, 'track');
|
|
86
86
|
if (isOperational && key && tt && event && eventValue !== false && properties !== false) { // @ts-expect-error
|
|
87
87
|
return client.track(key, tt, event, eventValue, properties, size);
|
|
88
88
|
}
|
|
89
89
|
else {
|
|
90
|
-
|
|
91
|
-
return false;
|
|
92
|
-
return Promise.resolve(false);
|
|
90
|
+
return isSync ? false : Promise.resolve(false);
|
|
93
91
|
}
|
|
94
92
|
}
|
|
95
93
|
return {
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.sdkClientFactory = void 0;
|
|
4
4
|
var objectAssign_1 = require("../utils/lang/objectAssign");
|
|
5
|
-
var constants_1 = require("../utils/constants");
|
|
6
5
|
var apiKey_1 = require("../utils/inputValidation/apiKey");
|
|
7
6
|
var client_1 = require("./client");
|
|
8
7
|
var clientInputValidation_1 = require("./clientInputValidation");
|
|
@@ -11,13 +10,11 @@ var clientInputValidation_1 = require("./clientInputValidation");
|
|
|
11
10
|
*/
|
|
12
11
|
function sdkClientFactory(params) {
|
|
13
12
|
var sdkReadinessManager = params.sdkReadinessManager, syncManager = params.syncManager, storage = params.storage, signalListener = params.signalListener, settings = params.settings, sharedClient = params.sharedClient;
|
|
14
|
-
return objectAssign_1.objectAssign(
|
|
13
|
+
return (0, objectAssign_1.objectAssign)(
|
|
15
14
|
// Proto-linkage of the readiness Event Emitter
|
|
16
15
|
Object.create(sdkReadinessManager.sdkStatus),
|
|
17
16
|
// Client API (getTreatment* & track methods)
|
|
18
|
-
clientInputValidation_1.clientInputValidationDecorator(settings
|
|
19
|
-
// storage is async if and only if mode is consumer or partial consumer
|
|
20
|
-
[constants_1.CONSUMER_MODE, constants_1.CONSUMER_PARTIAL_MODE].indexOf(settings.mode) === -1 ? true : false),
|
|
17
|
+
(0, clientInputValidation_1.clientInputValidationDecorator)(settings, (0, client_1.clientFactory)(params), sdkReadinessManager.readinessManager),
|
|
21
18
|
// Sdk destroy
|
|
22
19
|
{
|
|
23
20
|
destroy: function () {
|
|
@@ -30,7 +27,7 @@ function sdkClientFactory(params) {
|
|
|
30
27
|
signalListener && signalListener.stop();
|
|
31
28
|
// Release the API Key if it is the main client
|
|
32
29
|
if (!sharedClient)
|
|
33
|
-
apiKey_1.releaseApiKey(settings.core.authorizationKey);
|
|
30
|
+
(0, apiKey_1.releaseApiKey)(settings.core.authorizationKey);
|
|
34
31
|
// Cleanup storage
|
|
35
32
|
return storage.destroy();
|
|
36
33
|
});
|
|
@@ -8,7 +8,7 @@ var constants_1 = require("../logger/constants");
|
|
|
8
8
|
*/
|
|
9
9
|
function sdkClientMethodFactory(params) {
|
|
10
10
|
var log = params.settings.log;
|
|
11
|
-
var clientInstance = sdkClient_1.sdkClientFactory(params);
|
|
11
|
+
var clientInstance = (0, sdkClient_1.sdkClientFactory)(params);
|
|
12
12
|
return function client() {
|
|
13
13
|
if (arguments.length > 0) {
|
|
14
14
|
throw new Error('Shared Client not supported by the storage mechanism. Create isolated instances instead.');
|
|
@@ -19,13 +19,9 @@ var method = 'Client instantiation';
|
|
|
19
19
|
*/
|
|
20
20
|
function sdkClientMethodCSFactory(params) {
|
|
21
21
|
var storage = params.storage, syncManager = params.syncManager, sdkReadinessManager = params.sdkReadinessManager, _a = params.settings, key = _a.core.key, readyTimeout = _a.startup.readyTimeout, log = _a.log;
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
var validKey = key_1.validateKey(log, key, method);
|
|
26
|
-
var mainClientInstance = clientCS_1.clientCSDecorator(log, sdkClient_1.sdkClientFactory(params), // @ts-ignore
|
|
27
|
-
validKey);
|
|
28
|
-
var parsedDefaultKey = key_2.keyParser(key);
|
|
22
|
+
var mainClientInstance = (0, clientCS_1.clientCSDecorator)(log, (0, sdkClient_1.sdkClientFactory)(params), // @ts-ignore
|
|
23
|
+
key);
|
|
24
|
+
var parsedDefaultKey = (0, key_2.keyParser)(key);
|
|
29
25
|
var defaultInstanceId = buildInstanceId(parsedDefaultKey);
|
|
30
26
|
// Cache instances created per factory.
|
|
31
27
|
var clientInstances = {};
|
|
@@ -36,13 +32,13 @@ function sdkClientMethodCSFactory(params) {
|
|
|
36
32
|
return mainClientInstance;
|
|
37
33
|
}
|
|
38
34
|
// Validate the key value. The trafficType (2nd argument) is ignored
|
|
39
|
-
var validKey = key_1.validateKey(log, key, method);
|
|
35
|
+
var validKey = (0, key_1.validateKey)(log, key, method);
|
|
40
36
|
if (validKey === false) {
|
|
41
37
|
throw new Error('Shared Client needs a valid key.');
|
|
42
38
|
}
|
|
43
39
|
var instanceId = buildInstanceId(validKey);
|
|
44
40
|
if (!clientInstances[instanceId]) {
|
|
45
|
-
var matchingKey = key_2.getMatching(validKey);
|
|
41
|
+
var matchingKey = (0, key_2.getMatching)(validKey);
|
|
46
42
|
var sharedSdkReadiness_1 = sdkReadinessManager.shared(readyTimeout);
|
|
47
43
|
var sharedStorage = storage.shared && storage.shared(matchingKey, function (err) {
|
|
48
44
|
if (err)
|
|
@@ -58,7 +54,7 @@ function sdkClientMethodCSFactory(params) {
|
|
|
58
54
|
var sharedSyncManager = syncManager && sharedStorage && syncManager.shared(matchingKey, sharedSdkReadiness_1.readinessManager, sharedStorage);
|
|
59
55
|
// As shared clients reuse all the storage information, we don't need to check here if we
|
|
60
56
|
// will use offline or online mode. We should stick with the original decision.
|
|
61
|
-
clientInstances[instanceId] = clientCS_1.clientCSDecorator(log, sdkClient_1.sdkClientFactory(objectAssign_1.objectAssign({}, params, {
|
|
57
|
+
clientInstances[instanceId] = (0, clientCS_1.clientCSDecorator)(log, (0, sdkClient_1.sdkClientFactory)((0, objectAssign_1.objectAssign)({}, params, {
|
|
62
58
|
sdkReadinessManager: sharedSdkReadiness_1,
|
|
63
59
|
storage: sharedStorage || storage,
|
|
64
60
|
syncManager: sharedSyncManager,
|
|
@@ -21,17 +21,9 @@ var method = 'Client instantiation';
|
|
|
21
21
|
*/
|
|
22
22
|
function sdkClientMethodCSFactory(params) {
|
|
23
23
|
var storage = params.storage, syncManager = params.syncManager, sdkReadinessManager = params.sdkReadinessManager, _a = params.settings, _b = _a.core, key = _b.key, trafficType = _b.trafficType, readyTimeout = _a.startup.readyTimeout, log = _a.log;
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
var validKey = key_1.validateKey(log, key, method);
|
|
28
|
-
var validTrafficType;
|
|
29
|
-
if (trafficType !== undefined) {
|
|
30
|
-
validTrafficType = trafficType_1.validateTrafficType(log, trafficType, method);
|
|
31
|
-
}
|
|
32
|
-
var mainClientInstance = clientCS_1.clientCSDecorator(log, sdkClient_1.sdkClientFactory(params), // @ts-ignore
|
|
33
|
-
validKey, validTrafficType);
|
|
34
|
-
var parsedDefaultKey = key_2.keyParser(key);
|
|
24
|
+
var mainClientInstance = (0, clientCS_1.clientCSDecorator)(log, (0, sdkClient_1.sdkClientFactory)(params), // @ts-ignore
|
|
25
|
+
key, trafficType);
|
|
26
|
+
var parsedDefaultKey = (0, key_2.keyParser)(key);
|
|
35
27
|
var defaultInstanceId = buildInstanceId(parsedDefaultKey, trafficType);
|
|
36
28
|
// Cache instances created per factory.
|
|
37
29
|
var clientInstances = {};
|
|
@@ -42,20 +34,20 @@ function sdkClientMethodCSFactory(params) {
|
|
|
42
34
|
return mainClientInstance;
|
|
43
35
|
}
|
|
44
36
|
// Validate the key value
|
|
45
|
-
var validKey = key_1.validateKey(log, key, "Shared " + method);
|
|
37
|
+
var validKey = (0, key_1.validateKey)(log, key, "Shared " + method);
|
|
46
38
|
if (validKey === false) {
|
|
47
39
|
throw new Error('Shared Client needs a valid key.');
|
|
48
40
|
}
|
|
49
41
|
var validTrafficType;
|
|
50
42
|
if (trafficType !== undefined) {
|
|
51
|
-
validTrafficType = trafficType_1.validateTrafficType(log, trafficType, "Shared " + method);
|
|
43
|
+
validTrafficType = (0, trafficType_1.validateTrafficType)(log, trafficType, "Shared " + method);
|
|
52
44
|
if (validTrafficType === false) {
|
|
53
45
|
throw new Error('Shared Client needs a valid traffic type or no traffic type at all.');
|
|
54
46
|
}
|
|
55
47
|
}
|
|
56
48
|
var instanceId = buildInstanceId(validKey, validTrafficType);
|
|
57
49
|
if (!clientInstances[instanceId]) {
|
|
58
|
-
var matchingKey = key_2.getMatching(validKey);
|
|
50
|
+
var matchingKey = (0, key_2.getMatching)(validKey);
|
|
59
51
|
var sharedSdkReadiness_1 = sdkReadinessManager.shared(readyTimeout);
|
|
60
52
|
var sharedStorage = storage.shared && storage.shared(matchingKey, function (err) {
|
|
61
53
|
if (err)
|
|
@@ -71,7 +63,7 @@ function sdkClientMethodCSFactory(params) {
|
|
|
71
63
|
var sharedSyncManager = syncManager && sharedStorage && syncManager.shared(matchingKey, sharedSdkReadiness_1.readinessManager, sharedStorage);
|
|
72
64
|
// As shared clients reuse all the storage information, we don't need to check here if we
|
|
73
65
|
// will use offline or online mode. We should stick with the original decision.
|
|
74
|
-
clientInstances[instanceId] = clientCS_1.clientCSDecorator(log, sdkClient_1.sdkClientFactory(objectAssign_1.objectAssign({}, params, {
|
|
66
|
+
clientInstances[instanceId] = (0, clientCS_1.clientCSDecorator)(log, (0, sdkClient_1.sdkClientFactory)((0, objectAssign_1.objectAssign)({}, params, {
|
|
75
67
|
sdkReadinessManager: sharedSdkReadiness_1,
|
|
76
68
|
storage: sharedStorage || storage,
|
|
77
69
|
syncManager: sharedSyncManager,
|