@splitsoftware/splitio-commons 1.2.1-rc.0 → 1.2.1-rc.11
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 +3 -3
- 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 +9 -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 +8 -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 +40 -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/mySegmentsFetcher.js +2 -2
- package/cjs/sync/polling/fetchers/segmentChangesFetcher.js +1 -1
- package/cjs/sync/polling/pollingManagerCS.js +8 -7
- package/cjs/sync/polling/pollingManagerSS.js +5 -4
- 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 +3 -3
- 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/UpdateWorkers/SegmentsUpdateWorker.js +1 -1
- package/cjs/sync/streaming/mySegmentsV2utils.js +1 -1
- package/cjs/sync/streaming/pushManager.js +27 -19
- 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 +6 -5
- package/cjs/sync/submitters/submitterSyncTask.js +1 -1
- package/cjs/sync/syncManagerOnline.js +14 -15
- 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 +7 -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 -16
- 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/evaluator/matchers/ew.js +4 -4
- 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 +6 -2
- package/esm/logger/messages/debug.js +3 -3
- package/esm/logger/messages/error.js +4 -3
- package/esm/logger/messages/info.js +7 -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 +36 -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/mySegmentsFetcher.js +2 -2
- package/esm/sync/polling/fetchers/segmentChangesFetcher.js +2 -2
- package/esm/sync/polling/pollingManagerCS.js +2 -1
- package/esm/sync/polling/pollingManagerSS.js +2 -1
- package/esm/sync/polling/syncTasks/mySegmentsSyncTask.js +1 -1
- package/esm/sync/polling/updaters/mySegmentsUpdater.js +2 -2
- package/esm/sync/streaming/SSEClient/index.js +2 -1
- package/esm/sync/streaming/UpdateWorkers/SegmentsUpdateWorker.js +1 -1
- package/esm/sync/streaming/pushManager.js +13 -5
- package/esm/sync/submitters/eventsSyncTask.js +18 -6
- package/esm/sync/submitters/impressionsSyncTask.js +13 -1
- package/esm/sync/submitters/submitterManager.js +2 -1
- package/esm/sync/syncManagerOnline.js +14 -15
- 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/eventProperties.js +4 -2
- package/esm/utils/inputValidation/key.js +2 -1
- package/esm/utils/lang/index.js +12 -15
- 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 +6 -6
- package/src/evaluator/matchers/ew.ts +4 -4
- 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 +6 -2
- package/src/logger/messages/debug.ts +3 -3
- package/src/logger/messages/error.ts +4 -3
- package/src/logger/messages/info.ts +7 -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 +42 -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/polling/fetchers/mySegmentsFetcher.ts +2 -1
- package/src/sync/polling/fetchers/types.ts +1 -0
- package/src/sync/polling/pollingManagerCS.ts +3 -6
- package/src/sync/polling/pollingManagerSS.ts +3 -8
- package/src/sync/polling/syncTasks/mySegmentsSyncTask.ts +2 -1
- package/src/sync/polling/types.ts +0 -12
- package/src/sync/polling/updaters/mySegmentsUpdater.ts +2 -1
- package/src/sync/streaming/SSEClient/index.ts +2 -1
- package/src/sync/streaming/UpdateWorkers/SegmentsUpdateWorker.ts +1 -1
- package/src/sync/streaming/pushManager.ts +19 -16
- package/src/sync/streaming/types.ts +5 -25
- package/src/sync/submitters/eventsSyncTask.ts +19 -6
- package/src/sync/submitters/impressionsSyncTask.ts +16 -1
- package/src/sync/submitters/submitterManager.ts +4 -8
- package/src/sync/syncManagerOnline.ts +20 -24
- 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/inputValidation/eventProperties.ts +4 -2
- package/src/utils/lang/index.ts +15 -18
- 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 +6 -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/inMemory/index.d.ts +10 -0
- package/types/storages/inRedis/RedisAdapter.d.ts +1 -1
- package/types/storages/parseSegments.d.ts +6 -0
- package/types/storages/types.d.ts +3 -1
- package/types/sync/polling/fetchers/mySegmentsFetcher.d.ts +1 -1
- package/types/sync/polling/fetchers/types.d.ts +1 -1
- package/types/sync/polling/pollingManagerCS.d.ts +2 -5
- package/types/sync/polling/pollingManagerSS.d.ts +2 -5
- package/types/sync/polling/types.d.ts +0 -11
- package/types/sync/polling/updaters/mySegmentsUpdater.d.ts +1 -1
- package/types/sync/streaming/UpdateWorkers/SegmentsUpdateWorker.d.ts +1 -1
- package/types/sync/streaming/pushManager.d.ts +3 -7
- package/types/sync/streaming/pushManagerCS.d.ts +1 -12
- package/types/sync/streaming/pushManagerSS.d.ts +1 -11
- package/types/sync/streaming/types.d.ts +3 -23
- package/types/sync/submitters/submitterManager.d.ts +2 -4
- package/types/sync/syncManagerOnline.d.ts +3 -3
- 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 -5
- 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
|
@@ -269,6 +269,7 @@ export interface IRecorderCacheProducerSync<T> {
|
|
|
269
269
|
}
|
|
270
270
|
export interface IImpressionsCacheSync extends IImpressionsCacheBase, IRecorderCacheProducerSync<ImpressionDTO[]> {
|
|
271
271
|
track(data: ImpressionDTO[]): void;
|
|
272
|
+
setOnFullQueueCb(cb: () => void): void;
|
|
272
273
|
}
|
|
273
274
|
export interface IEventsCacheSync extends IEventsCacheBase, IRecorderCacheProducerSync<SplitIO.EventData[]> {
|
|
274
275
|
track(data: SplitIO.EventData, size?: number): boolean;
|
|
@@ -335,6 +336,7 @@ export declare type IStorageAsync = IStorageBase<ISplitsCacheAsync, ISegmentsCac
|
|
|
335
336
|
export declare type DataLoader = (storage: IStorageSync, matchingKey: string) => void;
|
|
336
337
|
export interface IStorageFactoryParams {
|
|
337
338
|
log: ILogger;
|
|
339
|
+
impressionsQueueSize?: number;
|
|
338
340
|
eventsQueueSize?: number;
|
|
339
341
|
optimize?: boolean;
|
|
340
342
|
matchingKey?: string;
|
|
@@ -345,7 +347,7 @@ export interface IStorageFactoryParams {
|
|
|
345
347
|
}
|
|
346
348
|
export declare type StorageType = 'MEMORY' | 'LOCALSTORAGE' | 'REDIS' | 'PLUGGABLE';
|
|
347
349
|
export declare type IStorageSyncFactory = {
|
|
348
|
-
type: StorageType;
|
|
350
|
+
readonly type: StorageType;
|
|
349
351
|
(params: IStorageFactoryParams): IStorageSync;
|
|
350
352
|
};
|
|
351
353
|
export declare type IStorageAsyncFactory = {
|
|
@@ -4,4 +4,4 @@ import { IMySegmentsFetcher } from './types';
|
|
|
4
4
|
* Factory of MySegments fetcher.
|
|
5
5
|
* MySegments fetcher is a wrapper around `mySegments` API service that parses the response and handle errors.
|
|
6
6
|
*/
|
|
7
|
-
export declare function mySegmentsFetcherFactory(fetchMySegments: IFetchMySegments
|
|
7
|
+
export declare function mySegmentsFetcherFactory(fetchMySegments: IFetchMySegments): IMySegmentsFetcher;
|
|
@@ -2,4 +2,4 @@ import { ISplitChangesResponse, ISegmentChangesResponse } from '../../../dtos/ty
|
|
|
2
2
|
import { IResponse } from '../../../services/types';
|
|
3
3
|
export declare type ISplitChangesFetcher = (since: number, noCache?: boolean, decorator?: (promise: Promise<IResponse>) => Promise<IResponse>) => Promise<ISplitChangesResponse>;
|
|
4
4
|
export declare type ISegmentChangesFetcher = (since: number, segmentName: string, noCache?: boolean, decorator?: (promise: Promise<ISegmentChangesResponse[]>) => Promise<ISegmentChangesResponse[]>) => Promise<ISegmentChangesResponse[]>;
|
|
5
|
-
export declare type IMySegmentsFetcher = (noCache?: boolean, decorator?: (promise: Promise<IResponse>) => Promise<IResponse>) => Promise<string[]>;
|
|
5
|
+
export declare type IMySegmentsFetcher = (userMatchingKey: string, noCache?: boolean, decorator?: (promise: Promise<IResponse>) => Promise<IResponse>) => Promise<string[]>;
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import { IPollingManagerCS } from './types';
|
|
2
|
-
import {
|
|
3
|
-
import { ISplitApi } from '../../services/types';
|
|
4
|
-
import { IStorageSync } from '../../storages/types';
|
|
5
|
-
import { ISettings } from '../../types';
|
|
2
|
+
import { ISyncManagerFactoryParams } from '../types';
|
|
6
3
|
/**
|
|
7
4
|
* Expose start / stop mechanism for polling data from services.
|
|
8
5
|
* For client-side API with multiple clients.
|
|
9
6
|
*/
|
|
10
|
-
export declare function pollingManagerCSFactory(
|
|
7
|
+
export declare function pollingManagerCSFactory(params: ISyncManagerFactoryParams): IPollingManagerCS;
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
import { IStorageSync } from '../../storages/types';
|
|
2
|
-
import { IReadinessManager } from '../../readiness/types';
|
|
3
|
-
import { ISplitApi } from '../../services/types';
|
|
4
|
-
import { ISettings } from '../../types';
|
|
5
1
|
import { IPollingManager } from './types';
|
|
2
|
+
import { ISyncManagerFactoryParams } from '../types';
|
|
6
3
|
/**
|
|
7
4
|
* Expose start / stop mechanism for pulling data from services.
|
|
8
5
|
*/
|
|
9
|
-
export declare function pollingManagerSSFactory(
|
|
6
|
+
export declare function pollingManagerSSFactory(params: ISyncManagerFactoryParams): IPollingManager;
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { IReadinessManager } from '../../readiness/types';
|
|
2
|
-
import { ISplitApi } from '../../services/types';
|
|
3
2
|
import { IStorageSync } from '../../storages/types';
|
|
4
|
-
import { ISettings } from '../../types';
|
|
5
3
|
import { SegmentsData } from '../streaming/SSEHandler/types';
|
|
6
4
|
import { ITask, ISyncTask } from '../types';
|
|
7
5
|
export interface ISplitsSyncTask extends ISyncTask<[noCache?: boolean], boolean> {
|
|
@@ -21,12 +19,3 @@ export interface IPollingManagerCS extends IPollingManager {
|
|
|
21
19
|
remove(matchingKey: string): void;
|
|
22
20
|
get(matchingKey: string): ISegmentsSyncTask | undefined;
|
|
23
21
|
}
|
|
24
|
-
/**
|
|
25
|
-
* Signature of polling manager factory/constructor
|
|
26
|
-
*/
|
|
27
|
-
export declare type IPollingManagerFactoryParams = [
|
|
28
|
-
splitApi: ISplitApi,
|
|
29
|
-
storage: IStorageSync,
|
|
30
|
-
readiness: IReadinessManager,
|
|
31
|
-
settings: ISettings
|
|
32
|
-
];
|
|
@@ -9,5 +9,5 @@ declare type IMySegmentsUpdater = (segmentList?: string[], noCache?: boolean) =>
|
|
|
9
9
|
* - updates `mySegmentsCache`
|
|
10
10
|
* - uses `segmentsEventEmitter` to emit events related to segments data updates
|
|
11
11
|
*/
|
|
12
|
-
export declare function mySegmentsUpdaterFactory(log: ILogger, mySegmentsFetcher: IMySegmentsFetcher, splitsCache: ISplitsCacheSync, mySegmentsCache: ISegmentsCacheSync, segmentsEventEmitter: ISegmentsEventEmitter, requestTimeoutBeforeReady: number, retriesOnFailureBeforeReady: number): IMySegmentsUpdater;
|
|
12
|
+
export declare function mySegmentsUpdaterFactory(log: ILogger, mySegmentsFetcher: IMySegmentsFetcher, splitsCache: ISplitsCacheSync, mySegmentsCache: ISegmentsCacheSync, segmentsEventEmitter: ISegmentsEventEmitter, requestTimeoutBeforeReady: number, retriesOnFailureBeforeReady: number, matchingKey: string): IMySegmentsUpdater;
|
|
13
13
|
export {};
|
|
@@ -16,7 +16,7 @@ export declare class SegmentsUpdateWorker implements IUpdateWorker {
|
|
|
16
16
|
* @param {Object} segmentsCache segments data cache
|
|
17
17
|
* @param {Object} segmentsSyncTask task for syncing segments data
|
|
18
18
|
*/
|
|
19
|
-
constructor(
|
|
19
|
+
constructor(segmentsSyncTask: ISegmentsSyncTask, segmentsCache: ISegmentsCacheSync);
|
|
20
20
|
__handleSegmentUpdateCall(): void;
|
|
21
21
|
/**
|
|
22
22
|
* Invoked by NotificationProcessor on SEGMENT_UPDATE event
|
|
@@ -1,13 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { IStorageSync } from '../../storages/types';
|
|
3
|
-
import { IReadinessManager } from '../../readiness/types';
|
|
1
|
+
import { IPushManager } from './types';
|
|
4
2
|
import { IPollingManager } from '../polling/types';
|
|
5
|
-
import {
|
|
6
|
-
import { ISettings } from '../../types';
|
|
7
|
-
import { IPlatform } from '../../sdkFactory/types';
|
|
3
|
+
import { ISyncManagerFactoryParams } from '../types';
|
|
8
4
|
/**
|
|
9
5
|
* PushManager factory:
|
|
10
6
|
* - for server-side if key is not provided in settings.
|
|
11
7
|
* - for client-side, with support for multiple clients, if key is provided in settings
|
|
12
8
|
*/
|
|
13
|
-
export declare function pushManagerFactory(
|
|
9
|
+
export declare function pushManagerFactory(params: ISyncManagerFactoryParams, pollingManager: IPollingManager): IPushManager | undefined;
|
|
@@ -1,12 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { IStorageSync } from '../../storages/types';
|
|
3
|
-
import { IReadinessManager } from '../../readiness/types';
|
|
4
|
-
import { IPollingManager } from '../polling/types';
|
|
5
|
-
import { IFetchAuth } from '../../services/types';
|
|
6
|
-
import { ISettings } from '../../types';
|
|
7
|
-
import { IPlatform } from '../../sdkFactory/types';
|
|
8
|
-
/**
|
|
9
|
-
* PushManager factory for client-side, with support for multiple clients.
|
|
10
|
-
* It assumes settings contains a key.
|
|
11
|
-
*/
|
|
12
|
-
export default function pushManagerCSFactory(pollingManager: IPollingManager, storage: IStorageSync, readiness: IReadinessManager, fetchAuth: IFetchAuth, platform: IPlatform, settings: ISettings): IPushManagerCS | undefined;
|
|
1
|
+
export declare const pushManagerCSFactory: (params: import("../types").ISyncManagerFactoryParams, pollingManager: import("../polling/types").IPollingManager) => import("./types").IPushManager | undefined;
|
|
@@ -1,11 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { IStorageSync } from '../../storages/types';
|
|
3
|
-
import { IPollingManager } from '../polling/types';
|
|
4
|
-
import { IReadinessManager } from '../../readiness/types';
|
|
5
|
-
import { IFetchAuth } from '../../services/types';
|
|
6
|
-
import { ISettings } from '../../types';
|
|
7
|
-
import { IPlatform } from '../../sdkFactory/types';
|
|
8
|
-
/**
|
|
9
|
-
* PushManager factory for server-side
|
|
10
|
-
*/
|
|
11
|
-
export default function pushManagerSSFactory(pollingManager: IPollingManager, storage: IStorageSync, readiness: IReadinessManager, fetchAuth: IFetchAuth, platform: IPlatform, settings: ISettings): IPushManager | undefined;
|
|
1
|
+
export declare const pushManagerSSFactory: (params: import("../types").ISyncManagerFactoryParams, pollingManager: import("../polling/types").IPollingManager) => import("./types").IPushManager | undefined;
|
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
import { IMySegmentsUpdateData, IMySegmentsUpdateV2Data, ISegmentUpdateData, ISplitUpdateData, ISplitKillData } from './SSEHandler/types';
|
|
2
2
|
import { ITask } from '../types';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { IFetchAuth } from '../../services/types';
|
|
6
|
-
import { IStorageSync } from '../../storages/types';
|
|
7
|
-
import { IEventEmitter, ISettings } from '../../types';
|
|
8
|
-
import { IPlatform } from '../../sdkFactory/types';
|
|
3
|
+
import { ISegmentsSyncTask } from '../polling/types';
|
|
4
|
+
import { IEventEmitter } from '../../types';
|
|
9
5
|
import { ControlType } from './constants';
|
|
10
6
|
export declare type PUSH_SUBSYSTEM_UP = 'PUSH_SUBSYSTEM_UP';
|
|
11
7
|
export declare type PUSH_SUBSYSTEM_DOWN = 'PUSH_SUBSYSTEM_DOWN';
|
|
@@ -30,26 +26,10 @@ export interface IPushEventEmitter extends IEventEmitter {
|
|
|
30
26
|
emit<T extends IPushEvent>(event: T, parsedData?: IParsedData<T>, channel?: T extends MY_SEGMENTS_UPDATE ? string : undefined): boolean;
|
|
31
27
|
}
|
|
32
28
|
/**
|
|
33
|
-
* PushManager
|
|
29
|
+
* PushManager
|
|
34
30
|
*/
|
|
35
31
|
export interface IPushManager extends ITask, IPushEventEmitter {
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* PushManager for client-side with support for multiple clients
|
|
39
|
-
*/
|
|
40
|
-
export interface IPushManagerCS extends IPushManager {
|
|
41
32
|
add(userKey: string, mySegmentsSyncTask: ISegmentsSyncTask): void;
|
|
42
33
|
remove(userKey: string): void;
|
|
43
34
|
}
|
|
44
|
-
/**
|
|
45
|
-
* Signature of push manager factory/constructor
|
|
46
|
-
*/
|
|
47
|
-
export declare type IPushManagerFactoryParams = [
|
|
48
|
-
pollingManager: IPollingManager,
|
|
49
|
-
storage: IStorageSync,
|
|
50
|
-
readiness: IReadinessManager,
|
|
51
|
-
fetchAuth: IFetchAuth,
|
|
52
|
-
platform: IPlatform,
|
|
53
|
-
settings: ISettings
|
|
54
|
-
];
|
|
55
35
|
export {};
|
|
@@ -1,4 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
import { ISettings } from '../../types';
|
|
4
|
-
export declare function submitterManagerFactory(settings: ISettings, storage: IStorageSync, splitApi: ISplitApi): import("../types").ISyncTask<[], any>;
|
|
1
|
+
import { ISyncManagerFactoryParams } from '../types';
|
|
2
|
+
export declare function submitterManagerFactory(params: ISyncManagerFactoryParams): import("../types").ISyncTask<[], any>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ISyncManagerCS, ISyncManagerFactoryParams } from './types';
|
|
2
|
-
import {
|
|
3
|
-
import { IPollingManager
|
|
2
|
+
import { IPushManager } from './streaming/types';
|
|
3
|
+
import { IPollingManager } from './polling/types';
|
|
4
4
|
/**
|
|
5
5
|
* Online SyncManager factory.
|
|
6
6
|
* Can be used for server-side API, and client-side API with or without multiple clients.
|
|
@@ -9,4 +9,4 @@ import { IPollingManager, IPollingManagerFactoryParams } from './polling/types';
|
|
|
9
9
|
* `pollingManagerSSFactory` or `pollingManagerCSFactory` respectively.
|
|
10
10
|
* @param pushManagerFactory optional to build a SyncManager with or without streaming support
|
|
11
11
|
*/
|
|
12
|
-
export declare function syncManagerOnlineFactory(pollingManagerFactory?: (
|
|
12
|
+
export declare function syncManagerOnlineFactory(pollingManagerFactory?: (params: ISyncManagerFactoryParams) => IPollingManager, pushManagerFactory?: (params: ISyncManagerFactoryParams, pollingManager: IPollingManager) => IPushManager | undefined): (params: ISyncManagerFactoryParams) => ISyncManagerCS;
|
package/types/sync/types.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { IPlatform } from '../sdkFactory/types';
|
|
|
3
3
|
import { ISplitApi } from '../services/types';
|
|
4
4
|
import { IStorageSync } from '../storages/types';
|
|
5
5
|
import { ISettings } from '../types';
|
|
6
|
+
import { IPollingManager } from './polling/types';
|
|
6
7
|
import { IPushManager } from './streaming/types';
|
|
7
8
|
export interface ITask<Input extends any[] = []> {
|
|
8
9
|
/**
|
|
@@ -39,6 +40,8 @@ export interface ITimeTracker {
|
|
|
39
40
|
export interface ISyncManager extends ITask {
|
|
40
41
|
flush(): Promise<any>;
|
|
41
42
|
pushManager?: IPushManager;
|
|
43
|
+
pollingManager?: IPollingManager;
|
|
44
|
+
submitter?: ISyncTask;
|
|
42
45
|
}
|
|
43
46
|
export interface ISyncManagerCS extends ISyncManager {
|
|
44
47
|
shared(matchingKey: string, readinessManager: IReadinessManager, storage: IStorageSync): ISyncManager | undefined;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { IEventsCacheBase } from '../storages/types';
|
|
2
2
|
import { IEventsHandler, IEventTracker } from './types';
|
|
3
|
-
import {
|
|
3
|
+
import { ISettings } from '../types';
|
|
4
4
|
/**
|
|
5
5
|
* Event tracker stores events in cache and pass them to the integrations manager if provided.
|
|
6
6
|
*
|
|
7
7
|
* @param eventsCache cache to save events
|
|
8
8
|
* @param integrationsManager optional event handler used for integrations
|
|
9
9
|
*/
|
|
10
|
-
export declare function eventTrackerFactory(
|
|
10
|
+
export declare function eventTrackerFactory(settings: ISettings, eventsCache: IEventsCacheBase, integrationsManager?: IEventsHandler): IEventTracker;
|
|
@@ -7,3 +7,7 @@ export declare function shouldAddPt(settings: ISettings): boolean;
|
|
|
7
7
|
* Checks if it should dedupe impressions or not.
|
|
8
8
|
*/
|
|
9
9
|
export declare function shouldBeOptimized(settings: ISettings): boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Storage is async if mode is consumer or partial consumer
|
|
12
|
+
*/
|
|
13
|
+
export declare function isStorageSync(settings: ISettings): boolean;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { IImpressionCountsCacheSync, IImpressionsCacheBase } from '../storages/types';
|
|
2
2
|
import { IImpressionsHandler, IImpressionsTracker } from './types';
|
|
3
|
-
import {
|
|
3
|
+
import { ISettings } from '../types';
|
|
4
4
|
import { IImpressionObserver } from './impressionObserver/types';
|
|
5
|
-
import { ILogger } from '../logger/types';
|
|
6
5
|
/**
|
|
7
6
|
* Impressions tracker stores impressions in cache and pass them to the listener and integrations manager if provided.
|
|
8
7
|
*
|
|
@@ -13,4 +12,4 @@ import { ILogger } from '../logger/types';
|
|
|
13
12
|
* @param observer optional impression observer. If provided, previous time (pt property) is included in impression instances
|
|
14
13
|
* @param countsCache optional cache to save impressions count. If provided, impressions will be deduped (OPTIMIZED mode)
|
|
15
14
|
*/
|
|
16
|
-
export declare function impressionsTrackerFactory(
|
|
15
|
+
export declare function impressionsTrackerFactory(settings: ISettings, impressionsCache: IImpressionsCacheBase, integrationsManager?: IImpressionsHandler, observer?: IImpressionObserver, countsCache?: IImpressionCountsCacheSync): IImpressionsTracker;
|
package/types/types.d.ts
CHANGED
|
@@ -48,6 +48,11 @@ declare type EventConsts = {
|
|
|
48
48
|
* @typedef {string} SDKMode
|
|
49
49
|
*/
|
|
50
50
|
export declare type SDKMode = 'standalone' | 'consumer' | 'localhost' | 'consumer_partial';
|
|
51
|
+
/**
|
|
52
|
+
* User consent status.
|
|
53
|
+
* @typedef {string} ConsentStatus
|
|
54
|
+
*/
|
|
55
|
+
export declare type ConsentStatus = 'GRANTED' | 'DECLINED' | 'UNKNOWN';
|
|
51
56
|
/**
|
|
52
57
|
* Settings interface. This is a representation of the settings the SDK expose, that's why
|
|
53
58
|
* most of it's props are readonly. Only features should be rewritten when localhost mode is active.
|
|
@@ -67,6 +72,7 @@ export interface ISettings {
|
|
|
67
72
|
readonly scheduler: {
|
|
68
73
|
featuresRefreshRate: number;
|
|
69
74
|
impressionsRefreshRate: number;
|
|
75
|
+
impressionsQueueSize: number;
|
|
70
76
|
metricsRefreshRate: number;
|
|
71
77
|
segmentsRefreshRate: number;
|
|
72
78
|
offlineRefreshRate: number;
|
|
@@ -104,6 +110,7 @@ export interface ISettings {
|
|
|
104
110
|
};
|
|
105
111
|
readonly log: ILogger;
|
|
106
112
|
readonly impressionListener?: unknown;
|
|
113
|
+
readonly userConsent?: ConsentStatus;
|
|
107
114
|
}
|
|
108
115
|
/**
|
|
109
116
|
* Log levels.
|
|
@@ -249,6 +256,13 @@ interface INodeBasicSettings extends ISharedSettings {
|
|
|
249
256
|
* @default 300
|
|
250
257
|
*/
|
|
251
258
|
impressionsRefreshRate?: number;
|
|
259
|
+
/**
|
|
260
|
+
* The maximum number of impression items we want to queue. If we queue more values, it will trigger a flush and reset the timer.
|
|
261
|
+
* If you use a 0 here, the queue will have no maximum size.
|
|
262
|
+
* @property {number} impressionsQueueSize
|
|
263
|
+
* @default 30000
|
|
264
|
+
*/
|
|
265
|
+
impressionsQueueSize?: number;
|
|
252
266
|
/**
|
|
253
267
|
* The SDK sends diagnostic metrics to Split servers. This parameters controls this metric flush period in seconds.
|
|
254
268
|
* @property {number} metricsRefreshRate
|
|
@@ -375,7 +389,7 @@ interface IBasicClient extends IStatusInterface {
|
|
|
375
389
|
* @returns {Promise<void>}
|
|
376
390
|
*/
|
|
377
391
|
destroy(): Promise<void>;
|
|
378
|
-
|
|
392
|
+
isClientSide: boolean;
|
|
379
393
|
}
|
|
380
394
|
/**
|
|
381
395
|
* Common definitions between SDK instances for different environments interface.
|
|
@@ -766,6 +780,13 @@ export declare namespace SplitIO {
|
|
|
766
780
|
* @default 60
|
|
767
781
|
*/
|
|
768
782
|
impressionsRefreshRate?: number;
|
|
783
|
+
/**
|
|
784
|
+
* The maximum number of impression items we want to queue. If we queue more values, it will trigger a flush and reset the timer.
|
|
785
|
+
* If you use a 0 here, the queue will have no maximum size.
|
|
786
|
+
* @property {number} impressionsQueueSize
|
|
787
|
+
* @default 30000
|
|
788
|
+
*/
|
|
789
|
+
impressionsQueueSize?: number;
|
|
769
790
|
/**
|
|
770
791
|
* The SDK sends diagnostic metrics to Split servers. This parameters controls this metric flush period in seconds.
|
|
771
792
|
* @property {number} metricsRefreshRate
|
|
@@ -20,3 +20,6 @@ export declare const STORAGE_MEMORY: StorageType;
|
|
|
20
20
|
export declare const STORAGE_LOCALSTORAGE: StorageType;
|
|
21
21
|
export declare const STORAGE_REDIS: StorageType;
|
|
22
22
|
export declare const STORAGE_PLUGGABLE: StorageType;
|
|
23
|
+
export declare const CONSENT_GRANTED = "GRANTED";
|
|
24
|
+
export declare const CONSENT_DECLINED = "DECLINED";
|
|
25
|
+
export declare const CONSENT_UNKNOWN = "UNKNOWN";
|
|
@@ -55,13 +55,18 @@ export declare function isIntegerNumber(val: any): boolean;
|
|
|
55
55
|
*/
|
|
56
56
|
export declare function isNaNNumber(val: any): boolean;
|
|
57
57
|
/**
|
|
58
|
-
* Validates if a value is an object
|
|
58
|
+
* Validates if a value is an object created by the Object constructor (plain object).
|
|
59
|
+
* It checks `constructor.name` to avoid false negatives when validating values on a separate VM context, which has its own global built-ins.
|
|
59
60
|
*/
|
|
60
61
|
export declare function isObject(obj: any): boolean;
|
|
61
62
|
/**
|
|
62
63
|
* Checks if a given value is a string.
|
|
63
64
|
*/
|
|
64
65
|
export declare function isString(val: any): val is string;
|
|
66
|
+
/**
|
|
67
|
+
* String sanitizer. Returns the provided value converted to uppercase if it is a string.
|
|
68
|
+
*/
|
|
69
|
+
export declare function stringToUpperCase(val: any): any;
|
|
65
70
|
/**
|
|
66
71
|
* Deep copy version of Object.assign using recursion.
|
|
67
72
|
* There are some assumptions here. It's for internal use and we don't need verbose errors
|
|
@@ -72,10 +77,6 @@ export declare function merge(target: {
|
|
|
72
77
|
}, source: {
|
|
73
78
|
[key: string]: any;
|
|
74
79
|
}, ...rest: any[]): object;
|
|
75
|
-
/**
|
|
76
|
-
* Shallow clone an object
|
|
77
|
-
*/
|
|
78
|
-
export declare function shallowClone(obj: any): any;
|
|
79
80
|
/**
|
|
80
81
|
* Checks if the target string starts with the sub string.
|
|
81
82
|
*/
|
|
@@ -44,5 +44,12 @@ interface IMapConstructor {
|
|
|
44
44
|
new <K, V>(entries?: readonly (readonly [K, V])[] | null): IMap<K, V>;
|
|
45
45
|
readonly prototype: IMap<any, any>;
|
|
46
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* return the Map constructor to use. If native Map is not available or it doesn't support the required features (e.g., IE11),
|
|
49
|
+
* a ponyfill with minimal features is returned instead.
|
|
50
|
+
*
|
|
51
|
+
* Exported for testing purposes only.
|
|
52
|
+
*/
|
|
53
|
+
export declare function __getMapConstructor(): IMapConstructor;
|
|
47
54
|
export declare const _Map: IMapConstructor;
|
|
48
55
|
export {};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { ILogger } from '../../logger/types';
|
|
2
2
|
import { SplitIO } from '../../types';
|
|
3
|
-
export declare function validImpressionsMode(log: ILogger, impressionsMode:
|
|
3
|
+
export declare function validImpressionsMode(log: ILogger, impressionsMode: any): SplitIO.ImpressionsMode;
|
|
@@ -5,22 +5,28 @@ import { ISettings } from '../../types';
|
|
|
5
5
|
*/
|
|
6
6
|
export interface ISettingsValidationParams {
|
|
7
7
|
/**
|
|
8
|
-
* Object of values to overwrite
|
|
9
|
-
* Version and startup properties are
|
|
8
|
+
* Object of values to overwrite base settings.
|
|
9
|
+
* Version and startup properties are required, because they are not defined in the base settings.
|
|
10
10
|
*/
|
|
11
11
|
defaults: Partial<ISettings> & {
|
|
12
12
|
version: string;
|
|
13
13
|
} & {
|
|
14
14
|
startup: ISettings['startup'];
|
|
15
15
|
};
|
|
16
|
-
/**
|
|
17
|
-
|
|
18
|
-
/**
|
|
16
|
+
/** If true, validates core.key */
|
|
17
|
+
acceptKey?: boolean;
|
|
18
|
+
/** If true, validates core.trafficType */
|
|
19
|
+
acceptTT?: boolean;
|
|
20
|
+
/** Define runtime values (`settings.runtime`) */
|
|
21
|
+
runtime: (settings: ISettings) => ISettings['runtime'];
|
|
22
|
+
/** Storage validator (`settings.storage`) */
|
|
19
23
|
storage?: (settings: ISettings) => ISettings['storage'];
|
|
20
|
-
/** Integrations validator */
|
|
24
|
+
/** Integrations validator (`settings.integrations`) */
|
|
21
25
|
integrations?: (settings: ISettings) => ISettings['integrations'];
|
|
22
26
|
/** Logger validator (`settings.debug`) */
|
|
23
27
|
logger: (settings: ISettings) => ISettings['log'];
|
|
24
28
|
/** Localhost mode validator (`settings.sync.localhostMode`) */
|
|
25
29
|
localhost?: (settings: ISettings) => ISettings['sync']['localhostMode'];
|
|
30
|
+
/** User consent validator (`settings.userConsent`) */
|
|
31
|
+
consent: (settings: ISettings) => ISettings['userConsent'];
|
|
26
32
|
}
|