@splitsoftware/splitio-commons 1.6.2-rc.3 → 1.6.2-rc.4
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/sdkClient/clientAttributesDecoration.js +1 -1
- package/cjs/storages/inMemory/AttributesCacheInMemory.js +1 -1
- package/esm/sdkClient/clientAttributesDecoration.js +1 -1
- package/esm/storages/inMemory/AttributesCacheInMemory.js +1 -1
- package/package.json +4 -5
- package/src/sdkClient/clientAttributesDecoration.ts +6 -6
- package/src/sdkClient/clientCS.ts +3 -3
- package/src/sdkClient/sdkClientMethodCSWithTT.ts +3 -3
- package/src/storages/inMemory/AttributesCacheInMemory.ts +13 -12
- package/src/types.d.ts +5 -70
- package/types/consent/index.d.ts +0 -2
- package/types/consent/sdkUserConsent.d.ts +0 -6
- package/types/dtos/types.d.ts +0 -166
- package/types/evaluator/Engine.d.ts +0 -15
- package/types/evaluator/combiners/and.d.ts +0 -4
- package/types/evaluator/combiners/ifelseif.d.ts +0 -3
- package/types/evaluator/condition/engineUtils.d.ts +0 -11
- package/types/evaluator/condition/index.d.ts +0 -6
- package/types/evaluator/convertions/index.d.ts +0 -2
- package/types/evaluator/index.d.ts +0 -7
- package/types/evaluator/matchers/all.d.ts +0 -2
- package/types/evaluator/matchers/between.d.ts +0 -3
- package/types/evaluator/matchers/boolean.d.ts +0 -2
- package/types/evaluator/matchers/cont_all.d.ts +0 -2
- package/types/evaluator/matchers/cont_any.d.ts +0 -2
- package/types/evaluator/matchers/cont_str.d.ts +0 -2
- package/types/evaluator/matchers/dependency.d.ts +0 -5
- package/types/evaluator/matchers/eq.d.ts +0 -2
- package/types/evaluator/matchers/eq_set.d.ts +0 -2
- package/types/evaluator/matchers/ew.d.ts +0 -2
- package/types/evaluator/matchers/gte.d.ts +0 -2
- package/types/evaluator/matchers/index.d.ts +0 -7
- package/types/evaluator/matchers/lte.d.ts +0 -2
- package/types/evaluator/matchers/matcherTypes.d.ts +0 -10
- package/types/evaluator/matchers/part_of.d.ts +0 -2
- package/types/evaluator/matchers/segment.d.ts +0 -6
- package/types/evaluator/matchers/string.d.ts +0 -2
- package/types/evaluator/matchers/sw.d.ts +0 -2
- package/types/evaluator/matchers/whitelist.d.ts +0 -3
- package/types/evaluator/matchersTransform/index.d.ts +0 -6
- package/types/evaluator/matchersTransform/segment.d.ts +0 -5
- package/types/evaluator/matchersTransform/set.d.ts +0 -5
- package/types/evaluator/matchersTransform/unaryNumeric.d.ts +0 -5
- package/types/evaluator/matchersTransform/whitelist.d.ts +0 -5
- package/types/evaluator/parser/index.d.ts +0 -5
- package/types/evaluator/treatments/index.d.ts +0 -8
- package/types/evaluator/types.d.ts +0 -28
- package/types/evaluator/value/index.d.ts +0 -7
- package/types/evaluator/value/sanitize.d.ts +0 -7
- package/types/index.d.ts +0 -5
- package/types/integrations/browser.d.ts +0 -12
- package/types/integrations/ga/GaToSplit.d.ts +0 -40
- package/types/integrations/ga/GoogleAnalyticsToSplit.d.ts +0 -3
- package/types/integrations/ga/SplitToGa.d.ts +0 -34
- package/types/integrations/ga/SplitToGoogleAnalytics.d.ts +0 -3
- package/types/integrations/ga/types.d.ts +0 -148
- package/types/integrations/pluggable.d.ts +0 -11
- package/types/integrations/types.d.ts +0 -17
- package/types/listeners/browser.d.ts +0 -40
- package/types/listeners/node.d.ts +0 -22
- package/types/listeners/types.d.ts +0 -4
- package/types/logger/browser/DebugLogger.d.ts +0 -2
- package/types/logger/browser/ErrorLogger.d.ts +0 -2
- package/types/logger/browser/InfoLogger.d.ts +0 -2
- package/types/logger/browser/WarnLogger.d.ts +0 -2
- package/types/logger/constants.d.ts +0 -141
- package/types/logger/index.d.ts +0 -20
- package/types/logger/messages/debug.d.ts +0 -1
- package/types/logger/messages/error.d.ts +0 -1
- package/types/logger/messages/info.d.ts +0 -1
- package/types/logger/messages/warn.d.ts +0 -1
- package/types/logger/sdkLogger.d.ts +0 -7
- package/types/logger/types.d.ts +0 -6
- package/types/readiness/constants.d.ts +0 -7
- package/types/readiness/readinessManager.d.ts +0 -6
- package/types/readiness/sdkReadinessManager.d.ts +0 -11
- package/types/readiness/types.d.ts +0 -54
- package/types/sdkClient/client.d.ts +0 -6
- package/types/sdkClient/clientAttributesDecoration.d.ts +0 -51
- package/types/sdkClient/clientCS.d.ts +0 -9
- package/types/sdkClient/clientInputValidation.d.ts +0 -7
- package/types/sdkClient/sdkClient.d.ts +0 -6
- package/types/sdkClient/sdkClientMethod.d.ts +0 -6
- package/types/sdkClient/sdkClientMethodCS.d.ts +0 -7
- package/types/sdkClient/sdkClientMethodCSWithTT.d.ts +0 -8
- package/types/sdkFactory/index.d.ts +0 -6
- package/types/sdkFactory/types.d.ts +0 -80
- package/types/sdkManager/index.d.ts +0 -5
- package/types/services/splitApi.d.ts +0 -11
- package/types/services/splitHttpClient.d.ts +0 -10
- package/types/services/types.d.ts +0 -50
- package/types/storages/AbstractSegmentsCacheSync.d.ts +0 -55
- package/types/storages/AbstractSplitsCacheAsync.d.ts +0 -36
- package/types/storages/AbstractSplitsCacheSync.d.ts +0 -42
- package/types/storages/KeyBuilder.d.ts +0 -14
- package/types/storages/KeyBuilderCS.d.ts +0 -16
- package/types/storages/KeyBuilderSS.d.ts +0 -15
- package/types/storages/dataLoader.d.ts +0 -10
- package/types/storages/findLatencyIndex.d.ts +0 -7
- package/types/storages/inLocalStorage/MySegmentsCacheInLocal.d.ts +0 -25
- package/types/storages/inLocalStorage/SplitsCacheInLocal.d.ts +0 -50
- package/types/storages/inLocalStorage/constants.d.ts +0 -2
- package/types/storages/inLocalStorage/index.d.ts +0 -8
- package/types/storages/inMemory/AttributesCacheInMemory.d.ts +0 -43
- package/types/storages/inMemory/EventsCacheInMemory.d.ts +0 -35
- package/types/storages/inMemory/ImpressionCountsCacheInMemory.d.ts +0 -24
- package/types/storages/inMemory/ImpressionsCacheInMemory.d.ts +0 -30
- package/types/storages/inMemory/InMemoryStorage.d.ts +0 -10
- package/types/storages/inMemory/InMemoryStorageCS.d.ts +0 -10
- package/types/storages/inMemory/MySegmentsCacheInMemory.d.ts +0 -22
- package/types/storages/inMemory/SegmentsCacheInMemory.d.ts +0 -19
- package/types/storages/inMemory/SplitsCacheInMemory.d.ts +0 -20
- package/types/storages/inMemory/TelemetryCacheInMemory.d.ts +0 -53
- package/types/storages/inRedis/EventsCacheInRedis.d.ts +0 -32
- package/types/storages/inRedis/ImpressionsCacheInRedis.d.ts +0 -18
- package/types/storages/inRedis/RedisAdapter.d.ts +0 -24
- package/types/storages/inRedis/SegmentsCacheInRedis.d.ts +0 -18
- package/types/storages/inRedis/SplitsCacheInRedis.d.ts +0 -91
- package/types/storages/inRedis/TelemetryCacheInRedis.d.ts +0 -20
- package/types/storages/inRedis/constants.d.ts +0 -1
- package/types/storages/inRedis/index.d.ts +0 -10
- package/types/storages/metadataBuilder.d.ts +0 -3
- package/types/storages/pluggable/EventsCachePluggable.d.ts +0 -38
- package/types/storages/pluggable/ImpressionsCachePluggable.d.ts +0 -35
- package/types/storages/pluggable/SegmentsCachePluggable.d.ts +0 -54
- package/types/storages/pluggable/SplitsCachePluggable.d.ts +0 -89
- package/types/storages/pluggable/TelemetryCachePluggable.d.ts +0 -18
- package/types/storages/pluggable/constants.d.ts +0 -1
- package/types/storages/pluggable/inMemoryWrapper.d.ts +0 -13
- package/types/storages/pluggable/index.d.ts +0 -10
- package/types/storages/pluggable/wrapperAdapter.d.ts +0 -12
- package/types/storages/types.d.ts +0 -430
- package/types/sync/offline/LocalhostFromObject.d.ts +0 -2
- package/types/sync/offline/splitsParser/parseCondition.d.ts +0 -7
- package/types/sync/offline/splitsParser/splitsParserFromSettings.d.ts +0 -3
- package/types/sync/offline/splitsParser/types.d.ts +0 -3
- package/types/sync/offline/syncManagerOffline.d.ts +0 -10
- package/types/sync/offline/syncTasks/fromObjectSyncTask.d.ts +0 -17
- package/types/sync/polling/fetchers/mySegmentsFetcher.d.ts +0 -7
- package/types/sync/polling/fetchers/segmentChangesFetcher.d.ts +0 -7
- package/types/sync/polling/fetchers/splitChangesFetcher.d.ts +0 -7
- package/types/sync/polling/fetchers/types.d.ts +0 -5
- package/types/sync/polling/pollingManagerCS.d.ts +0 -7
- package/types/sync/polling/pollingManagerSS.d.ts +0 -6
- package/types/sync/polling/syncTasks/mySegmentsSyncTask.d.ts +0 -9
- package/types/sync/polling/syncTasks/segmentsSyncTask.d.ts +0 -9
- package/types/sync/polling/syncTasks/splitsSyncTask.d.ts +0 -9
- package/types/sync/polling/types.d.ts +0 -26
- package/types/sync/polling/updaters/mySegmentsUpdater.d.ts +0 -13
- package/types/sync/polling/updaters/segmentChangesUpdater.d.ts +0 -18
- package/types/sync/polling/updaters/splitChangesUpdater.d.ts +0 -39
- package/types/sync/streaming/AuthClient/index.d.ts +0 -12
- package/types/sync/streaming/AuthClient/types.d.ts +0 -17
- package/types/sync/streaming/SSEClient/index.d.ts +0 -34
- package/types/sync/streaming/SSEClient/types.d.ts +0 -11
- package/types/sync/streaming/SSEHandler/NotificationKeeper.d.ts +0 -14
- package/types/sync/streaming/SSEHandler/NotificationParser.d.ts +0 -20
- package/types/sync/streaming/SSEHandler/index.d.ts +0 -11
- package/types/sync/streaming/SSEHandler/types.d.ts +0 -67
- package/types/sync/streaming/UpdateWorkers/MySegmentsUpdateWorker.d.ts +0 -6
- package/types/sync/streaming/UpdateWorkers/SegmentsUpdateWorker.d.ts +0 -8
- package/types/sync/streaming/UpdateWorkers/SplitsUpdateWorker.d.ts +0 -12
- package/types/sync/streaming/UpdateWorkers/constants.d.ts +0 -3
- package/types/sync/streaming/UpdateWorkers/types.d.ts +0 -4
- package/types/sync/streaming/constants.d.ts +0 -34
- package/types/sync/streaming/mySegmentsV2utils.d.ts +0 -27
- package/types/sync/streaming/pushManager.d.ts +0 -9
- package/types/sync/streaming/types.d.ts +0 -35
- package/types/sync/submitters/eventsSubmitter.d.ts +0 -5
- package/types/sync/submitters/impressionCountsSubmitter.d.ts +0 -10
- package/types/sync/submitters/impressionsSubmitter.d.ts +0 -11
- package/types/sync/submitters/submitter.d.ts +0 -12
- package/types/sync/submitters/submitterManager.d.ts +0 -3
- package/types/sync/submitters/telemetrySubmitter.d.ts +0 -25
- package/types/sync/submitters/types.d.ts +0 -177
- package/types/sync/syncManagerOnline.d.ts +0 -13
- package/types/sync/syncTask.d.ts +0 -13
- package/types/sync/types.d.ts +0 -43
- package/types/trackers/eventTracker.d.ts +0 -10
- package/types/trackers/impressionObserver/ImpressionObserver.d.ts +0 -8
- package/types/trackers/impressionObserver/buildKey.d.ts +0 -2
- package/types/trackers/impressionObserver/impressionObserverCS.d.ts +0 -4
- package/types/trackers/impressionObserver/impressionObserverSS.d.ts +0 -4
- package/types/trackers/impressionObserver/types.d.ts +0 -4
- package/types/trackers/impressionObserver/utils.d.ts +0 -13
- package/types/trackers/impressionsTracker.d.ts +0 -15
- package/types/trackers/telemetryTracker.d.ts +0 -3
- package/types/trackers/types.d.ts +0 -36
- package/types/utils/Backoff.d.ts +0 -25
- package/types/utils/LRUCache/LinkedList.d.ts +0 -34
- package/types/utils/LRUCache/index.d.ts +0 -16
- package/types/utils/MinEventEmitter.d.ts +0 -12
- package/types/utils/MinEvents.d.ts +0 -4
- package/types/utils/base64/index.d.ts +0 -30
- package/types/utils/constants/browser.d.ts +0 -3
- package/types/utils/constants/index.d.ts +0 -62
- package/types/utils/decompress/index.d.ts +0 -16
- package/types/utils/env/isLocalStorageAvailable.d.ts +0 -1
- package/types/utils/env/isNode.d.ts +0 -5
- package/types/utils/inputValidation/apiKey.d.ts +0 -7
- package/types/utils/inputValidation/attribute.d.ts +0 -2
- package/types/utils/inputValidation/attributes.d.ts +0 -4
- package/types/utils/inputValidation/event.d.ts +0 -2
- package/types/utils/inputValidation/eventProperties.d.ts +0 -6
- package/types/utils/inputValidation/eventValue.d.ts +0 -2
- package/types/utils/inputValidation/index.d.ts +0 -13
- package/types/utils/inputValidation/isOperational.d.ts +0 -4
- package/types/utils/inputValidation/key.d.ts +0 -3
- package/types/utils/inputValidation/preloadedData.d.ts +0 -3
- package/types/utils/inputValidation/split.d.ts +0 -2
- package/types/utils/inputValidation/splitExistance.d.ts +0 -7
- package/types/utils/inputValidation/splits.d.ts +0 -2
- package/types/utils/inputValidation/trafficType.d.ts +0 -2
- package/types/utils/inputValidation/trafficTypeExistance.d.ts +0 -9
- package/types/utils/jwt/index.d.ts +0 -5
- package/types/utils/jwt/types.d.ts +0 -5
- package/types/utils/key/index.d.ts +0 -8
- package/types/utils/labels/index.d.ts +0 -7
- package/types/utils/lang/binarySearch.d.ts +0 -9
- package/types/utils/lang/getFnName.d.ts +0 -4
- package/types/utils/lang/getGlobal.d.ts +0 -4
- package/types/utils/lang/index.d.ts +0 -105
- package/types/utils/lang/maps.d.ts +0 -55
- package/types/utils/lang/objectAssign.d.ts +0 -3
- package/types/utils/lang/sets.d.ts +0 -60
- package/types/utils/murmur3/common.d.ts +0 -12
- package/types/utils/murmur3/legacy.d.ts +0 -2
- package/types/utils/murmur3/murmur3.d.ts +0 -2
- package/types/utils/murmur3/murmur3_128.d.ts +0 -6
- package/types/utils/murmur3/murmur3_128_x86.d.ts +0 -7
- package/types/utils/murmur3/murmur3_64.d.ts +0 -10
- package/types/utils/murmur3/utfx.d.ts +0 -27
- package/types/utils/promise/thenable.d.ts +0 -1
- package/types/utils/promise/timeout.d.ts +0 -1
- package/types/utils/promise/wrapper.d.ts +0 -21
- package/types/utils/settingsValidation/consent.d.ts +0 -5
- package/types/utils/settingsValidation/impressionsMode.d.ts +0 -3
- package/types/utils/settingsValidation/index.d.ts +0 -51
- package/types/utils/settingsValidation/integrations/common.d.ts +0 -14
- package/types/utils/settingsValidation/integrations/configurable.d.ts +0 -13
- package/types/utils/settingsValidation/integrations/pluggable.d.ts +0 -12
- package/types/utils/settingsValidation/localhost/builtin.d.ts +0 -15
- package/types/utils/settingsValidation/localhost/pluggable.d.ts +0 -15
- package/types/utils/settingsValidation/logger/builtinLogger.d.ts +0 -10
- package/types/utils/settingsValidation/logger/commons.d.ts +0 -9
- package/types/utils/settingsValidation/logger/pluggableLogger.d.ts +0 -11
- package/types/utils/settingsValidation/mode.d.ts +0 -1
- package/types/utils/settingsValidation/runtime.d.ts +0 -2
- package/types/utils/settingsValidation/splitFilters.d.ts +0 -15
- package/types/utils/settingsValidation/storage/storageCS.d.ts +0 -20
- package/types/utils/settingsValidation/types.d.ts +0 -32
- package/types/utils/settingsValidation/url.d.ts +0 -10
- package/types/utils/time/index.d.ts +0 -4
- package/types/utils/timeTracker/now/browser.d.ts +0 -1
- package/types/utils/timeTracker/now/node.d.ts +0 -1
- package/types/utils/timeTracker/timer.d.ts +0 -1
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { ISet } from '../../../utils/lang/sets';
|
|
2
|
-
import { ISegmentsCacheBase, ISplitsCacheBase } from '../../../storages/types';
|
|
3
|
-
import { ISplitChangesFetcher } from '../fetchers/types';
|
|
4
|
-
import { ISplit } from '../../../dtos/types';
|
|
5
|
-
import { ISplitsEventEmitter } from '../../../readiness/types';
|
|
6
|
-
import { ILogger } from '../../../types';
|
|
7
|
-
declare type ISplitChangesUpdater = (noCache?: boolean, till?: number) => Promise<boolean>;
|
|
8
|
-
/**
|
|
9
|
-
* Collect segments from a raw split definition.
|
|
10
|
-
* Exported for testing purposes.
|
|
11
|
-
*/
|
|
12
|
-
export declare function parseSegments({ conditions }: ISplit): ISet<string>;
|
|
13
|
-
interface ISplitMutations {
|
|
14
|
-
added: [string, string][];
|
|
15
|
-
removed: string[];
|
|
16
|
-
segments: string[];
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Given the list of splits from /splitChanges endpoint, it returns the mutations,
|
|
20
|
-
* i.e., an object with added splits, removed splits and used segments.
|
|
21
|
-
* Exported for testing purposes.
|
|
22
|
-
*/
|
|
23
|
-
export declare function computeSplitsMutation(entries: ISplit[]): ISplitMutations;
|
|
24
|
-
/**
|
|
25
|
-
* factory of SplitChanges updater, a task that:
|
|
26
|
-
* - fetches split changes using `splitChangesFetcher`
|
|
27
|
-
* - updates `splitsCache`
|
|
28
|
-
* - uses `splitsEventEmitter` to emit events related to split data updates
|
|
29
|
-
*
|
|
30
|
-
* @param log Logger instance
|
|
31
|
-
* @param splitChangesFetcher Fetcher of `/splitChanges`
|
|
32
|
-
* @param splits Splits storage, with sync or async methods
|
|
33
|
-
* @param segments Segments storage, with sync or async methods
|
|
34
|
-
* @param splitsEventEmitter Optional readiness manager. Not required for synchronizer or producer mode.
|
|
35
|
-
* @param requestTimeoutBeforeReady How long the updater will wait for the request to timeout. Default 0, i.e., never timeout.
|
|
36
|
-
* @param retriesOnFailureBeforeReady How many retries on `/splitChanges` we the updater do in case of failure or timeout. Default 0, i.e., no retries.
|
|
37
|
-
*/
|
|
38
|
-
export declare function splitChangesUpdaterFactory(log: ILogger, splitChangesFetcher: ISplitChangesFetcher, splits: ISplitsCacheBase, segments: ISegmentsCacheBase, splitsEventEmitter?: ISplitsEventEmitter, requestTimeoutBeforeReady?: number, retriesOnFailureBeforeReady?: number, isClientSide?: boolean): ISplitChangesUpdater;
|
|
39
|
-
export {};
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { IFetchAuth } from '../../../services/types';
|
|
2
|
-
import { IAuthenticate } from './types';
|
|
3
|
-
/**
|
|
4
|
-
* Factory of authentication function.
|
|
5
|
-
*
|
|
6
|
-
* @param fetchAuth `SplitAPI.fetchAuth` endpoint
|
|
7
|
-
*/
|
|
8
|
-
export declare function authenticateFactory(fetchAuth: IFetchAuth): IAuthenticate;
|
|
9
|
-
/**
|
|
10
|
-
* Returns the hash of a given user key
|
|
11
|
-
*/
|
|
12
|
-
export declare function hashUserKey(userKey: string): string;
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { IDecodedJWTToken } from '../../../utils/jwt/types';
|
|
2
|
-
export interface IAuthTokenPushEnabled {
|
|
3
|
-
pushEnabled: true;
|
|
4
|
-
token: string;
|
|
5
|
-
decodedToken: IDecodedJWTToken;
|
|
6
|
-
channels: {
|
|
7
|
-
[channel: string]: string[];
|
|
8
|
-
};
|
|
9
|
-
connDelay?: number;
|
|
10
|
-
}
|
|
11
|
-
export interface IAuthTokenPushDisabled {
|
|
12
|
-
pushEnabled: false;
|
|
13
|
-
token: '';
|
|
14
|
-
}
|
|
15
|
-
export declare type IAuthToken = IAuthTokenPushDisabled | IAuthTokenPushEnabled;
|
|
16
|
-
export declare type IAuthenticate = (userKeys?: string[]) => Promise<IAuthToken>;
|
|
17
|
-
export declare type IAuthenticateV2 = (isClientSide?: boolean) => Promise<IAuthToken>;
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { IEventSourceConstructor } from '../../../services/types';
|
|
2
|
-
import { ISettings } from '../../../types';
|
|
3
|
-
import { IAuthTokenPushEnabled } from '../AuthClient/types';
|
|
4
|
-
import { ISSEClient, ISseEventHandler } from './types';
|
|
5
|
-
/**
|
|
6
|
-
* Handles streaming connections with EventSource API
|
|
7
|
-
*/
|
|
8
|
-
export declare class SSEClient implements ISSEClient {
|
|
9
|
-
eventSource?: IEventSourceConstructor;
|
|
10
|
-
streamingUrl: string;
|
|
11
|
-
connection?: InstanceType<IEventSourceConstructor>;
|
|
12
|
-
handler?: ISseEventHandler;
|
|
13
|
-
useHeaders?: boolean;
|
|
14
|
-
headers: Record<string, string>;
|
|
15
|
-
/**
|
|
16
|
-
* SSEClient constructor.
|
|
17
|
-
*
|
|
18
|
-
* @param settings Validated settings.
|
|
19
|
-
* @param useHeaders True to send metadata as headers or false to send as query params. If `true`, the provided EventSource must support headers.
|
|
20
|
-
* @param getEventSource Function to get the EventSource constructor.
|
|
21
|
-
* @throws 'EventSource API is not available. ' if EventSource is not available.
|
|
22
|
-
*/
|
|
23
|
-
constructor(settings: ISettings, useHeaders?: boolean, getEventSource?: () => (IEventSourceConstructor | undefined));
|
|
24
|
-
setEventHandler(handler: ISseEventHandler): void;
|
|
25
|
-
/**
|
|
26
|
-
* Open the connection with a given authToken
|
|
27
|
-
*
|
|
28
|
-
* @param {IAuthTokenPushEnabled} authToken
|
|
29
|
-
* @throws {TypeError} Will throw an error if `authToken` is undefined
|
|
30
|
-
*/
|
|
31
|
-
open(authToken: IAuthTokenPushEnabled): void;
|
|
32
|
-
/** Close connection */
|
|
33
|
-
close(): void;
|
|
34
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { IAuthTokenPushEnabled } from '../AuthClient/types';
|
|
2
|
-
export interface ISseEventHandler {
|
|
3
|
-
handleError: (ev: Event) => any;
|
|
4
|
-
handleMessage: (ev: MessageEvent) => any;
|
|
5
|
-
handleOpen: () => any;
|
|
6
|
-
}
|
|
7
|
-
export interface ISSEClient {
|
|
8
|
-
open(authToken: IAuthTokenPushEnabled): void;
|
|
9
|
-
close(): void;
|
|
10
|
-
setEventHandler(handler: ISseEventHandler): void;
|
|
11
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { ITelemetryTracker } from '../../../trackers/types';
|
|
2
|
-
import { ControlType } from '../constants';
|
|
3
|
-
import { IPushEventEmitter } from '../types';
|
|
4
|
-
/**
|
|
5
|
-
* Factory of notification keeper, which process OCCUPANCY and CONTROL notifications and emits the corresponding push events.
|
|
6
|
-
*
|
|
7
|
-
* @param pushEmitter emitter for events related to streaming support
|
|
8
|
-
*/
|
|
9
|
-
export declare function notificationKeeperFactory(pushEmitter: IPushEventEmitter, telemetryTracker: ITelemetryTracker): {
|
|
10
|
-
handleOpen(): void;
|
|
11
|
-
isStreamingUp(): boolean;
|
|
12
|
-
handleOccupancyEvent(publishers: number, channel: string, timestamp: number): void;
|
|
13
|
-
handleControlEvent(controlType: ControlType, channel: string, timestamp: number): void;
|
|
14
|
-
};
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { INotificationMessage, INotificationError } from './types';
|
|
2
|
-
/**
|
|
3
|
-
* Parses the `data` JSON string, if exists, of a given SSE error notifications.
|
|
4
|
-
* HTTP errors handled by Ably (e.g., 400 due to invalid token, 401 due to expired token, 500) have the `data` property.
|
|
5
|
-
* Other network and HTTP errors do not have this property.
|
|
6
|
-
*
|
|
7
|
-
* @param {Object} error
|
|
8
|
-
* @throws {SyntaxError} if `error.data` is an invalid JSON string
|
|
9
|
-
*/
|
|
10
|
-
export declare function errorParser(error: Event): INotificationError;
|
|
11
|
-
/**
|
|
12
|
-
* Parses the `data` JSON string of a given SSE message notifications.
|
|
13
|
-
* Also assigns the type OCCUPANCY, if it corresponds, so that all supported messages (e.g., SPLIT_UPDATE, CONTROL) have a type.
|
|
14
|
-
*
|
|
15
|
-
* @param message
|
|
16
|
-
* @returns parsed notification message or undefined if the given event data is falsy (e.g, '' or undefined).
|
|
17
|
-
* For example, the EventSource implementation of React-Native for iOS emits a message event with empty data for Ably keepalive comments.
|
|
18
|
-
* @throws {SyntaxError} if `message.data` or `JSON.parse(message.data).data` are invalid JSON strings
|
|
19
|
-
*/
|
|
20
|
-
export declare function messageParser(message: MessageEvent): INotificationMessage | undefined;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { IPushEventEmitter } from '../types';
|
|
2
|
-
import { ISseEventHandler } from '../SSEClient/types';
|
|
3
|
-
import { ILogger } from '../../../types';
|
|
4
|
-
import { ITelemetryTracker } from '../../../trackers/types';
|
|
5
|
-
/**
|
|
6
|
-
* Factory for SSEHandler, which processes SSEClient messages and emits the corresponding push events.
|
|
7
|
-
*
|
|
8
|
-
* @param log factory logger
|
|
9
|
-
* @param pushEmitter emitter for events related to streaming support
|
|
10
|
-
*/
|
|
11
|
-
export declare function SSEHandlerFactory(log: ILogger, pushEmitter: IPushEventEmitter, telemetryTracker: ITelemetryTracker): ISseEventHandler;
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { ControlType } from '../constants';
|
|
2
|
-
import { MY_SEGMENTS_UPDATE, MY_SEGMENTS_UPDATE_V2, SEGMENT_UPDATE, SPLIT_UPDATE, SPLIT_KILL, CONTROL, OCCUPANCY } from '../types';
|
|
3
|
-
export interface IMySegmentsUpdateData {
|
|
4
|
-
type: MY_SEGMENTS_UPDATE;
|
|
5
|
-
changeNumber: number;
|
|
6
|
-
includesPayload: boolean;
|
|
7
|
-
segmentList?: string[];
|
|
8
|
-
}
|
|
9
|
-
export declare enum Compression {
|
|
10
|
-
None = 0,
|
|
11
|
-
Gzip = 1,
|
|
12
|
-
Zlib = 2
|
|
13
|
-
}
|
|
14
|
-
export declare enum UpdateStrategy {
|
|
15
|
-
UnboundedFetchRequest = 0,
|
|
16
|
-
BoundedFetchRequest = 1,
|
|
17
|
-
KeyList = 2,
|
|
18
|
-
SegmentRemoval = 3
|
|
19
|
-
}
|
|
20
|
-
export interface KeyList {
|
|
21
|
-
a?: string[];
|
|
22
|
-
r?: string[];
|
|
23
|
-
}
|
|
24
|
-
export interface IMySegmentsUpdateV2Data {
|
|
25
|
-
type: MY_SEGMENTS_UPDATE_V2;
|
|
26
|
-
changeNumber: number;
|
|
27
|
-
segmentName: string;
|
|
28
|
-
c: Compression;
|
|
29
|
-
d: string;
|
|
30
|
-
u: UpdateStrategy;
|
|
31
|
-
}
|
|
32
|
-
export interface ISegmentUpdateData {
|
|
33
|
-
type: SEGMENT_UPDATE;
|
|
34
|
-
changeNumber: number;
|
|
35
|
-
segmentName: string;
|
|
36
|
-
}
|
|
37
|
-
export interface ISplitUpdateData {
|
|
38
|
-
type: SPLIT_UPDATE;
|
|
39
|
-
changeNumber: number;
|
|
40
|
-
}
|
|
41
|
-
export interface ISplitKillData {
|
|
42
|
-
type: SPLIT_KILL;
|
|
43
|
-
changeNumber: number;
|
|
44
|
-
splitName: string;
|
|
45
|
-
defaultTreatment: string;
|
|
46
|
-
}
|
|
47
|
-
export interface IControlData {
|
|
48
|
-
type: CONTROL;
|
|
49
|
-
controlType: ControlType;
|
|
50
|
-
}
|
|
51
|
-
export interface IOccupancyData {
|
|
52
|
-
type: OCCUPANCY;
|
|
53
|
-
metrics: {
|
|
54
|
-
publishers: number;
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
export declare type INotificationData = IMySegmentsUpdateData | IMySegmentsUpdateV2Data | ISegmentUpdateData | ISplitUpdateData | ISplitKillData | IControlData | IOccupancyData;
|
|
58
|
-
export declare type INotificationMessage = {
|
|
59
|
-
parsedData: INotificationData;
|
|
60
|
-
channel: string;
|
|
61
|
-
timestamp: number;
|
|
62
|
-
data: string;
|
|
63
|
-
};
|
|
64
|
-
export declare type INotificationError = Event & {
|
|
65
|
-
parsedData?: any;
|
|
66
|
-
message?: string;
|
|
67
|
-
};
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { ILogger } from '../../../types';
|
|
2
|
-
import { ISegmentsCacheSync } from '../../../storages/types';
|
|
3
|
-
import { ISegmentsSyncTask } from '../../polling/types';
|
|
4
|
-
import { IUpdateWorker } from './types';
|
|
5
|
-
/**
|
|
6
|
-
* SegmentsUpdateWorker factory
|
|
7
|
-
*/
|
|
8
|
-
export declare function SegmentsUpdateWorker(log: ILogger, segmentsSyncTask: ISegmentsSyncTask, segmentsCache: ISegmentsCacheSync): IUpdateWorker;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { ILogger } from '../../../types';
|
|
2
|
-
import { ISplitsEventEmitter } from '../../../readiness/types';
|
|
3
|
-
import { ISplitsCacheSync } from '../../../storages/types';
|
|
4
|
-
import { ISegmentsSyncTask, ISplitsSyncTask } from '../../polling/types';
|
|
5
|
-
import { ISplitKillData } from '../SSEHandler/types';
|
|
6
|
-
import { IUpdateWorker } from './types';
|
|
7
|
-
/**
|
|
8
|
-
* SplitsUpdateWorker factory
|
|
9
|
-
*/
|
|
10
|
-
export declare function SplitsUpdateWorker(log: ILogger, splitsCache: ISplitsCacheSync, splitsSyncTask: ISplitsSyncTask, splitsEventEmitter: ISplitsEventEmitter, segmentsSyncTask?: ISegmentsSyncTask): IUpdateWorker & {
|
|
11
|
-
killSplit(event: ISplitKillData): void;
|
|
12
|
-
};
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
export declare const SECONDS_BEFORE_EXPIRATION = 600;
|
|
2
|
-
/**
|
|
3
|
-
* emitted on SSE and Authenticate non-recoverable errors, STREAMING_DISABLED control notification and authentication with pushEnabled false
|
|
4
|
-
* triggers `handleNonRetryableError` call
|
|
5
|
-
*/
|
|
6
|
-
export declare const PUSH_NONRETRYABLE_ERROR = "PUSH_NONRETRYABLE_ERROR";
|
|
7
|
-
/**
|
|
8
|
-
* emitted on SSE and Authenticate recoverable errors
|
|
9
|
-
* triggers `handleRetryableError` call
|
|
10
|
-
*/
|
|
11
|
-
export declare const PUSH_RETRYABLE_ERROR = "PUSH_RETRYABLE_ERROR";
|
|
12
|
-
/**
|
|
13
|
-
* emitted on STREAMING_RESUMED control notification, OCCUPANCY different than 0, and SSE onopen event
|
|
14
|
-
* triggers `stopPollingAndSyncAll` call
|
|
15
|
-
*/
|
|
16
|
-
export declare const PUSH_SUBSYSTEM_UP = "PUSH_SUBSYSTEM_UP";
|
|
17
|
-
/**
|
|
18
|
-
* emitted on STREAMING_PAUSED control notification, OCCUPANCY equal to 0, PUSH_NONRETRYABLE_ERROR and PUSH_RETRYABLE_ERROR events.
|
|
19
|
-
* triggers `startPolling` and `stopWorkers` calls
|
|
20
|
-
*/
|
|
21
|
-
export declare const PUSH_SUBSYSTEM_DOWN = "PUSH_SUBSYSTEM_DOWN";
|
|
22
|
-
export declare const MY_SEGMENTS_UPDATE = "MY_SEGMENTS_UPDATE";
|
|
23
|
-
export declare const MY_SEGMENTS_UPDATE_V2 = "MY_SEGMENTS_UPDATE_V2";
|
|
24
|
-
export declare const SEGMENT_UPDATE = "SEGMENT_UPDATE";
|
|
25
|
-
export declare const SPLIT_KILL = "SPLIT_KILL";
|
|
26
|
-
export declare const SPLIT_UPDATE = "SPLIT_UPDATE";
|
|
27
|
-
export declare const CONTROL = "CONTROL";
|
|
28
|
-
export declare const OCCUPANCY = "OCCUPANCY";
|
|
29
|
-
export declare enum ControlType {
|
|
30
|
-
STREAMING_DISABLED = "STREAMING_DISABLED",
|
|
31
|
-
STREAMING_PAUSED = "STREAMING_PAUSED",
|
|
32
|
-
STREAMING_RESUMED = "STREAMING_RESUMED",
|
|
33
|
-
STREAMING_RESET = "STREAMING_RESET"
|
|
34
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { Compression, KeyList } from './SSEHandler/types';
|
|
2
|
-
/**
|
|
3
|
-
* Decode, decompress and parse the provided 'data' into a KeyList object
|
|
4
|
-
*
|
|
5
|
-
* @param {string} data
|
|
6
|
-
* @param {number} compression
|
|
7
|
-
* @returns {{a?: string[], r?: string[] }}
|
|
8
|
-
* @throws if data string cannot be decoded, decompressed or parsed
|
|
9
|
-
*/
|
|
10
|
-
export declare function parseKeyList(data: string, compression: Compression): KeyList;
|
|
11
|
-
/**
|
|
12
|
-
* Decode, decompress and parse the provided 'data' into a Bitmap object
|
|
13
|
-
*
|
|
14
|
-
* @param {string} data
|
|
15
|
-
* @param {number} compression
|
|
16
|
-
* @returns {Uint8Array}
|
|
17
|
-
* @throws if data string cannot be decoded or decompressed
|
|
18
|
-
*/
|
|
19
|
-
export declare function parseBitmap(data: string, compression: Compression): Uint8Array;
|
|
20
|
-
/**
|
|
21
|
-
* Check if the 'bitmap' bit at 'hash64hex' position is 1
|
|
22
|
-
*
|
|
23
|
-
* @param {Uint8Array} bitmap
|
|
24
|
-
* @param {string} hash64hex 16-chars string, representing a number in hexa
|
|
25
|
-
* @returns {boolean}
|
|
26
|
-
*/
|
|
27
|
-
export declare function isInBitmap(bitmap: Uint8Array, hash64hex: string): boolean;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { IPushManager } from './types';
|
|
2
|
-
import { IPollingManager } from '../polling/types';
|
|
3
|
-
import { ISdkFactoryContextSync } from '../../sdkFactory/types';
|
|
4
|
-
/**
|
|
5
|
-
* PushManager factory:
|
|
6
|
-
* - for server-side if key is not provided in settings.
|
|
7
|
-
* - for client-side, with support for multiple clients, if key is provided in settings
|
|
8
|
-
*/
|
|
9
|
-
export declare function pushManagerFactory(params: ISdkFactoryContextSync, pollingManager: IPollingManager): IPushManager | undefined;
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { IMySegmentsUpdateData, IMySegmentsUpdateV2Data, ISegmentUpdateData, ISplitUpdateData, ISplitKillData } from './SSEHandler/types';
|
|
2
|
-
import { ITask } from '../types';
|
|
3
|
-
import { IMySegmentsSyncTask } from '../polling/types';
|
|
4
|
-
import { IEventEmitter } from '../../types';
|
|
5
|
-
import { ControlType } from './constants';
|
|
6
|
-
export declare type PUSH_SUBSYSTEM_UP = 'PUSH_SUBSYSTEM_UP';
|
|
7
|
-
export declare type PUSH_SUBSYSTEM_DOWN = 'PUSH_SUBSYSTEM_DOWN';
|
|
8
|
-
export declare type PUSH_NONRETRYABLE_ERROR = 'PUSH_NONRETRYABLE_ERROR';
|
|
9
|
-
export declare type PUSH_RETRYABLE_ERROR = 'PUSH_RETRYABLE_ERROR';
|
|
10
|
-
export declare type MY_SEGMENTS_UPDATE = 'MY_SEGMENTS_UPDATE';
|
|
11
|
-
export declare type MY_SEGMENTS_UPDATE_V2 = 'MY_SEGMENTS_UPDATE_V2';
|
|
12
|
-
export declare type SEGMENT_UPDATE = 'SEGMENT_UPDATE';
|
|
13
|
-
export declare type SPLIT_KILL = 'SPLIT_KILL';
|
|
14
|
-
export declare type SPLIT_UPDATE = 'SPLIT_UPDATE';
|
|
15
|
-
export declare type CONTROL = 'CONTROL';
|
|
16
|
-
export declare type OCCUPANCY = 'OCCUPANCY';
|
|
17
|
-
export declare type IPushEvent = PUSH_SUBSYSTEM_UP | PUSH_SUBSYSTEM_DOWN | PUSH_NONRETRYABLE_ERROR | PUSH_RETRYABLE_ERROR | MY_SEGMENTS_UPDATE | MY_SEGMENTS_UPDATE_V2 | SEGMENT_UPDATE | SPLIT_UPDATE | SPLIT_KILL | ControlType.STREAMING_RESET;
|
|
18
|
-
declare type IParsedData<T extends IPushEvent> = T extends MY_SEGMENTS_UPDATE ? IMySegmentsUpdateData : T extends MY_SEGMENTS_UPDATE_V2 ? IMySegmentsUpdateV2Data : T extends SEGMENT_UPDATE ? ISegmentUpdateData : T extends SPLIT_UPDATE ? ISplitUpdateData : T extends SPLIT_KILL ? ISplitKillData : undefined;
|
|
19
|
-
/**
|
|
20
|
-
* EventEmitter used as Feedback Loop between the SyncManager and PushManager,
|
|
21
|
-
* where the latter pushes messages and the former consumes it
|
|
22
|
-
*/
|
|
23
|
-
export interface IPushEventEmitter extends IEventEmitter {
|
|
24
|
-
once<T extends IPushEvent>(event: T, listener: (parsedData: IParsedData<T>, channel: T extends MY_SEGMENTS_UPDATE ? string : undefined) => void): this;
|
|
25
|
-
on<T extends IPushEvent>(event: T, listener: (parsedData: IParsedData<T>, channel: T extends MY_SEGMENTS_UPDATE ? string : undefined) => void): this;
|
|
26
|
-
emit<T extends IPushEvent>(event: T, parsedData?: IParsedData<T>, channel?: T extends MY_SEGMENTS_UPDATE ? string : undefined): boolean;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* PushManager
|
|
30
|
-
*/
|
|
31
|
-
export interface IPushManager extends ITask, IPushEventEmitter {
|
|
32
|
-
add(userKey: string, mySegmentsSyncTask: IMySegmentsSyncTask): void;
|
|
33
|
-
remove(userKey: string): void;
|
|
34
|
-
}
|
|
35
|
-
export {};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { ISdkFactoryContextSync } from '../../sdkFactory/types';
|
|
2
|
-
import { ImpressionCountsPayload } from './types';
|
|
3
|
-
/**
|
|
4
|
-
* Converts `impressionCounts` data from cache into request payload.
|
|
5
|
-
*/
|
|
6
|
-
export declare function fromImpressionCountsCollector(impressionsCount: Record<string, number>): ImpressionCountsPayload;
|
|
7
|
-
/**
|
|
8
|
-
* Submitter that periodically posts impression counts
|
|
9
|
-
*/
|
|
10
|
-
export declare function impressionCountsSubmitterFactory(params: ISdkFactoryContextSync): import("../types").ISyncTask<[], void> | undefined;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { ImpressionDTO } from '../../types';
|
|
2
|
-
import { ImpressionsPayload } from './types';
|
|
3
|
-
import { ISdkFactoryContextSync } from '../../sdkFactory/types';
|
|
4
|
-
/**
|
|
5
|
-
* Converts `impressions` data from cache into request payload.
|
|
6
|
-
*/
|
|
7
|
-
export declare function fromImpressionsCollector(sendLabels: boolean, data: ImpressionDTO[]): ImpressionsPayload;
|
|
8
|
-
/**
|
|
9
|
-
* Submitter that periodically posts impressions data
|
|
10
|
-
*/
|
|
11
|
-
export declare function impressionsSubmitterFactory(params: ISdkFactoryContextSync): import("../types").ISyncTask<[], void>;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { ISyncTask } from '../types';
|
|
2
|
-
import { IRecorderCacheProducerSync } from '../../storages/types';
|
|
3
|
-
import { ILogger } from '../../types';
|
|
4
|
-
import { IResponse } from '../../services/types';
|
|
5
|
-
/**
|
|
6
|
-
* Base function to create submitters, such as ImpressionsSubmitter and EventsSubmitter
|
|
7
|
-
*/
|
|
8
|
-
export declare function submitterFactory<T>(log: ILogger, postClient: (body: string) => Promise<IResponse>, sourceCache: IRecorderCacheProducerSync<T>, postRate: number, dataName: string, fromCacheToPayload?: (cacheData: T) => any, maxRetries?: number, debugLogs?: boolean): ISyncTask<[], void>;
|
|
9
|
-
/**
|
|
10
|
-
* Decorates a provided submitter with a first execution window
|
|
11
|
-
*/
|
|
12
|
-
export declare function firstPushWindowDecorator(submitter: ISyncTask, firstPushWindow: number): ISyncTask<[], any>;
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { ISegmentsCacheSync, ISplitsCacheSync, ITelemetryCacheSync } from '../../storages/types';
|
|
2
|
-
import { TelemetryUsageStatsPayload, TelemetryConfigStatsPayload, TelemetryConfigStats } from './types';
|
|
3
|
-
import { ISettings, SDKMode } from '../../types';
|
|
4
|
-
import { ISdkFactoryContextSync } from '../../sdkFactory/types';
|
|
5
|
-
/**
|
|
6
|
-
* Converts data from telemetry cache into /metrics/usage request payload.
|
|
7
|
-
*/
|
|
8
|
-
export declare function telemetryCacheStatsAdapter(telemetry: ITelemetryCacheSync, splits: ISplitsCacheSync, segments: ISegmentsCacheSync): {
|
|
9
|
-
isEmpty(): boolean;
|
|
10
|
-
clear(): void;
|
|
11
|
-
pop(): TelemetryUsageStatsPayload;
|
|
12
|
-
};
|
|
13
|
-
export declare function getTelemetryConfigStats(mode: SDKMode, storageType: string): TelemetryConfigStats;
|
|
14
|
-
/**
|
|
15
|
-
* Converts data from telemetry cache and settings into /metrics/config request payload.
|
|
16
|
-
*/
|
|
17
|
-
export declare function telemetryCacheConfigAdapter(telemetry: ITelemetryCacheSync, settings: ISettings): {
|
|
18
|
-
isEmpty(): boolean;
|
|
19
|
-
clear(): void;
|
|
20
|
-
pop(): TelemetryConfigStatsPayload;
|
|
21
|
-
};
|
|
22
|
-
/**
|
|
23
|
-
* Submitter that periodically posts telemetry data
|
|
24
|
-
*/
|
|
25
|
-
export declare function telemetrySubmitterFactory(params: ISdkFactoryContextSync): import("../types").ISyncTask<[], any> | undefined;
|
|
@@ -1,177 +0,0 @@
|
|
|
1
|
-
import { IMetadata } from '../../dtos/types';
|
|
2
|
-
import { EventData } from '../../types';
|
|
3
|
-
import { ISyncTask } from '../types';
|
|
4
|
-
export declare type ImpressionsPayload = {
|
|
5
|
-
/** Split name */
|
|
6
|
-
f: string;
|
|
7
|
-
/** Key Impressions */
|
|
8
|
-
i: {
|
|
9
|
-
/** Key */
|
|
10
|
-
k: string;
|
|
11
|
-
/** Treatment */
|
|
12
|
-
t: string;
|
|
13
|
-
/** Timestamp */
|
|
14
|
-
m: number;
|
|
15
|
-
/** ChangeNumber */
|
|
16
|
-
c: number;
|
|
17
|
-
/** Rule label */
|
|
18
|
-
r?: string;
|
|
19
|
-
/** Bucketing Key */
|
|
20
|
-
b?: string;
|
|
21
|
-
/** Previous time */
|
|
22
|
-
pt?: number;
|
|
23
|
-
}[];
|
|
24
|
-
}[];
|
|
25
|
-
export declare type ImpressionCountsPayload = {
|
|
26
|
-
pf: {
|
|
27
|
-
/** Split name */
|
|
28
|
-
f: string;
|
|
29
|
-
/** Time Frame */
|
|
30
|
-
m: number;
|
|
31
|
-
/** Count */
|
|
32
|
-
rc: number;
|
|
33
|
-
}[];
|
|
34
|
-
};
|
|
35
|
-
export declare type StoredImpressionWithMetadata = {
|
|
36
|
-
/** Metadata */
|
|
37
|
-
m: IMetadata;
|
|
38
|
-
/** Stored impression */
|
|
39
|
-
i: {
|
|
40
|
-
/** keyName */
|
|
41
|
-
k: string;
|
|
42
|
-
/** bucketingKey */
|
|
43
|
-
b?: string;
|
|
44
|
-
/** Split name */
|
|
45
|
-
f: string;
|
|
46
|
-
/** treatment */
|
|
47
|
-
t: string;
|
|
48
|
-
/** label */
|
|
49
|
-
r: string;
|
|
50
|
-
/** changeNumber */
|
|
51
|
-
c: number;
|
|
52
|
-
/** time */
|
|
53
|
-
m: number;
|
|
54
|
-
};
|
|
55
|
-
};
|
|
56
|
-
export declare type StoredEventWithMetadata = {
|
|
57
|
-
/** Metadata */
|
|
58
|
-
m: IMetadata;
|
|
59
|
-
/** Stored event */
|
|
60
|
-
e: EventData;
|
|
61
|
-
};
|
|
62
|
-
/**
|
|
63
|
-
* Telemetry usage stats
|
|
64
|
-
*/
|
|
65
|
-
export declare type QUEUED = 0;
|
|
66
|
-
export declare type DROPPED = 1;
|
|
67
|
-
export declare type DEDUPED = 2;
|
|
68
|
-
export declare type ImpressionDataType = QUEUED | DROPPED | DEDUPED;
|
|
69
|
-
export declare type EventDataType = QUEUED | DROPPED;
|
|
70
|
-
export declare type SPLITS = 'sp';
|
|
71
|
-
export declare type IMPRESSIONS = 'im';
|
|
72
|
-
export declare type IMPRESSIONS_COUNT = 'ic';
|
|
73
|
-
export declare type EVENTS = 'ev';
|
|
74
|
-
export declare type TELEMETRY = 'te';
|
|
75
|
-
export declare type TOKEN = 'to';
|
|
76
|
-
export declare type SEGMENT = 'se';
|
|
77
|
-
export declare type MY_SEGMENT = 'ms';
|
|
78
|
-
export declare type OperationType = SPLITS | IMPRESSIONS | IMPRESSIONS_COUNT | EVENTS | TELEMETRY | TOKEN | SEGMENT | MY_SEGMENT;
|
|
79
|
-
export declare type LastSync = Record<OperationType, number | undefined>;
|
|
80
|
-
export declare type HttpErrors = Record<OperationType, {
|
|
81
|
-
[statusCode: string]: number;
|
|
82
|
-
}>;
|
|
83
|
-
export declare type HttpLatencies = Record<OperationType, Array<number>>;
|
|
84
|
-
export declare type TREATMENT = 't';
|
|
85
|
-
export declare type TREATMENTS = 'ts';
|
|
86
|
-
export declare type TREATMENT_WITH_CONFIG = 'tc';
|
|
87
|
-
export declare type TREATMENTS_WITH_CONFIG = 'tcs';
|
|
88
|
-
export declare type TRACK = 'tr';
|
|
89
|
-
export declare type Method = TREATMENT | TREATMENTS | TREATMENT_WITH_CONFIG | TREATMENTS_WITH_CONFIG | TRACK;
|
|
90
|
-
export declare type MethodLatencies = Record<Method, Array<number>>;
|
|
91
|
-
export declare type MethodExceptions = Record<Method, number>;
|
|
92
|
-
export declare type CONNECTION_ESTABLISHED = 0;
|
|
93
|
-
export declare type OCCUPANCY_PRI = 10;
|
|
94
|
-
export declare type OCCUPANCY_SEC = 20;
|
|
95
|
-
export declare type STREAMING_STATUS = 30;
|
|
96
|
-
export declare type SSE_CONNECTION_ERROR = 40;
|
|
97
|
-
export declare type TOKEN_REFRESH = 50;
|
|
98
|
-
export declare type ABLY_ERROR = 60;
|
|
99
|
-
export declare type SYNC_MODE_UPDATE = 70;
|
|
100
|
-
export declare type StreamingEventType = CONNECTION_ESTABLISHED | OCCUPANCY_PRI | OCCUPANCY_SEC | STREAMING_STATUS | SSE_CONNECTION_ERROR | TOKEN_REFRESH | ABLY_ERROR | SYNC_MODE_UPDATE;
|
|
101
|
-
export declare type StreamingEvent = {
|
|
102
|
-
e: StreamingEventType;
|
|
103
|
-
d?: number;
|
|
104
|
-
t: number;
|
|
105
|
-
};
|
|
106
|
-
export declare type TelemetryUsageStatsPayload = {
|
|
107
|
-
lS: LastSync;
|
|
108
|
-
mL: MethodLatencies;
|
|
109
|
-
mE: MethodExceptions;
|
|
110
|
-
hE: HttpErrors;
|
|
111
|
-
hL: HttpLatencies;
|
|
112
|
-
tR: number;
|
|
113
|
-
aR: number;
|
|
114
|
-
iQ: number;
|
|
115
|
-
iDe: number;
|
|
116
|
-
iDr: number;
|
|
117
|
-
spC: number;
|
|
118
|
-
seC: number;
|
|
119
|
-
skC: number;
|
|
120
|
-
sL?: number;
|
|
121
|
-
eQ: number;
|
|
122
|
-
eD: number;
|
|
123
|
-
sE: Array<StreamingEvent>;
|
|
124
|
-
t?: Array<string>;
|
|
125
|
-
};
|
|
126
|
-
/**
|
|
127
|
-
* Telemetry config stats
|
|
128
|
-
*/
|
|
129
|
-
export declare type STANDALONE_ENUM = 0;
|
|
130
|
-
export declare type CONSUMER_ENUM = 1;
|
|
131
|
-
export declare type CONSUMER_PARTIAL_ENUM = 2;
|
|
132
|
-
export declare type OperationMode = STANDALONE_ENUM | CONSUMER_ENUM | CONSUMER_PARTIAL_ENUM;
|
|
133
|
-
export declare type OPTIMIZED_ENUM = 0;
|
|
134
|
-
export declare type DEBUG_ENUM = 1;
|
|
135
|
-
export declare type ImpressionsMode = OPTIMIZED_ENUM | DEBUG_ENUM;
|
|
136
|
-
export declare type RefreshRates = {
|
|
137
|
-
sp: number;
|
|
138
|
-
se?: number;
|
|
139
|
-
ms?: number;
|
|
140
|
-
im: number;
|
|
141
|
-
ev: number;
|
|
142
|
-
te: number;
|
|
143
|
-
};
|
|
144
|
-
export declare type UrlOverrides = {
|
|
145
|
-
s: boolean;
|
|
146
|
-
e: boolean;
|
|
147
|
-
a: boolean;
|
|
148
|
-
st: boolean;
|
|
149
|
-
t: boolean;
|
|
150
|
-
};
|
|
151
|
-
export declare type TelemetryConfigStats = {
|
|
152
|
-
oM: OperationMode;
|
|
153
|
-
st: 'memory' | 'redis' | 'pluggable' | 'localstorage';
|
|
154
|
-
aF: number;
|
|
155
|
-
rF: number;
|
|
156
|
-
t?: Array<string>;
|
|
157
|
-
};
|
|
158
|
-
export declare type TelemetryConfigStatsPayload = TelemetryConfigStats & {
|
|
159
|
-
sE: boolean;
|
|
160
|
-
rR: RefreshRates;
|
|
161
|
-
uO: UrlOverrides;
|
|
162
|
-
iQ: number;
|
|
163
|
-
eQ: number;
|
|
164
|
-
iM: ImpressionsMode;
|
|
165
|
-
iL: boolean;
|
|
166
|
-
hP: boolean;
|
|
167
|
-
tR: number;
|
|
168
|
-
tC?: number;
|
|
169
|
-
nR: number;
|
|
170
|
-
i?: Array<string>;
|
|
171
|
-
uC: number;
|
|
172
|
-
};
|
|
173
|
-
export interface ISubmitterManager extends ISyncTask {
|
|
174
|
-
start(onlyTelemetry?: boolean): void;
|
|
175
|
-
stop(allExceptTelemetry?: boolean): void;
|
|
176
|
-
execute(onlyTelemetry?: boolean): Promise<any>;
|
|
177
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { ISyncManagerCS } from './types';
|
|
2
|
-
import { IPushManager } from './streaming/types';
|
|
3
|
-
import { IPollingManager } from './polling/types';
|
|
4
|
-
import { ISdkFactoryContextSync } from '../sdkFactory/types';
|
|
5
|
-
/**
|
|
6
|
-
* Online SyncManager factory.
|
|
7
|
-
* Can be used for server-side API, and client-side API with or without multiple clients.
|
|
8
|
-
*
|
|
9
|
-
* @param pollingManagerFactory allows to specialize the SyncManager for server-side or client-side API by passing
|
|
10
|
-
* `pollingManagerSSFactory` or `pollingManagerCSFactory` respectively.
|
|
11
|
-
* @param pushManagerFactory optional to build a SyncManager with or without streaming support
|
|
12
|
-
*/
|
|
13
|
-
export declare function syncManagerOnlineFactory(pollingManagerFactory?: (params: ISdkFactoryContextSync) => IPollingManager, pushManagerFactory?: (params: ISdkFactoryContextSync, pollingManager: IPollingManager) => IPushManager | undefined): (params: ISdkFactoryContextSync) => ISyncManagerCS;
|