Skip to content

Commit f2364af

Browse files
committed
vuidman test
1 parent 93bc874 commit f2364af

14 files changed

+241
-459
lines changed

lib/odp/odp_manager.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ import { OdpEvent } from './event_manager/odp_event';
2525
import { resolvablePromise, ResolvablePromise } from '../utils/promise/resolvablePromise';
2626
import { BaseService, Service, ServiceState } from '../service';
2727
import { UserAgentParser } from './ua_parser/user_agent_parser';
28-
import { CLIENT_VERSION, ERROR_MESSAGES, JAVASCRIPT_CLIENT_ENGINE } from '../utils/enums';
28+
import { CLIENT_VERSION, JAVASCRIPT_CLIENT_ENGINE } from '../utils/enums';
2929
import { ODP_DEFAULT_EVENT_TYPE, ODP_EVENT_ACTION, ODP_USER_KEY } from './constant';
3030
import { isVuid } from '../vuid/vuid';
3131
import { Maybe } from '../utils/type';

lib/optimizely/index.ts

Lines changed: 6 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,6 @@ import {
6363
NOTIFICATION_TYPES,
6464
NODE_CLIENT_ENGINE,
6565
CLIENT_VERSION,
66-
ODP_DEFAULT_EVENT_TYPE,
67-
FS_USER_ID_ALIAS,
68-
ODP_USER_KEY,
6966
} from '../utils/enums';
7067
import { Fn } from '../utils/type';
7168
import { resolvablePromise } from '../utils/promise/resolvablePromise';
@@ -184,7 +181,7 @@ export default class Optimizely implements Client {
184181
this.readyPromise = Promise.all([
185182
projectConfigManagerRunningPromise,
186183
eventProcessorRunningPromise,
187-
config.odpManager ? config.odpManager.onReady() : Promise.resolve(),
184+
config.odpManager ? config.odpManager.onRunning() : Promise.resolve(),
188185
]);
189186

190187
this.readyTimeouts = {};
@@ -1229,13 +1226,10 @@ export default class Optimizely implements Client {
12291226
*/
12301227
close(): Promise<{ success: boolean; reason?: string }> {
12311228
try {
1232-
if (this.odpManager) {
1233-
this.odpManager.stop();
1234-
}
1235-
1236-
this.notificationCenter.clearAllNotificationListeners();
1237-
1229+
this.projectConfigManager.stop();
12381230
this.eventProcessor?.stop();
1231+
this.odpManager?.stop();
1232+
this.notificationCenter.clearAllNotificationListeners();
12391233

12401234
const eventProcessorStoppedPromise = this.eventProcessor ? this.eventProcessor.onTerminated() :
12411235
Promise.resolve();
@@ -1244,9 +1238,7 @@ export default class Optimizely implements Client {
12441238
this.disposeOnUpdate();
12451239
this.disposeOnUpdate = undefined;
12461240
}
1247-
if (this.projectConfigManager) {
1248-
this.projectConfigManager.stop();
1249-
}
1241+
12501242
Object.keys(this.readyTimeouts).forEach((readyTimeoutId: string) => {
12511243
const readyTimeoutRecord = this.readyTimeouts[readyTimeoutId];
12521244
clearTimeout(readyTimeoutRecord.readyTimeout);
@@ -1654,29 +1646,8 @@ export default class Optimizely implements Client {
16541646
return;
16551647
}
16561648

1657-
const odpEventType = type ?? ODP_DEFAULT_EVENT_TYPE;
1658-
1659-
const odpIdentifiers = new Map(identifiers);
1660-
1661-
if (identifiers && identifiers.size > 0) {
1662-
try {
1663-
identifiers.forEach((identifier_value, identifier_key) => {
1664-
// Catch for fs-user-id, FS-USER-ID, and FS_USER_ID and assign value to fs_user_id identifier.
1665-
if (
1666-
FS_USER_ID_ALIAS === identifier_key.toLowerCase() ||
1667-
ODP_USER_KEY.FS_USER_ID === identifier_key.toLowerCase()
1668-
) {
1669-
odpIdentifiers.delete(identifier_key);
1670-
odpIdentifiers.set(ODP_USER_KEY.FS_USER_ID, identifier_value);
1671-
}
1672-
});
1673-
} catch (e) {
1674-
this.logger.warn(LOG_MESSAGES.ODP_SEND_EVENT_IDENTIFIER_CONVERSION_FAILED);
1675-
}
1676-
}
1677-
16781649
try {
1679-
const odpEvent = new OdpEvent(odpEventType, action, odpIdentifiers, data);
1650+
const odpEvent = new OdpEvent(type || '', action, identifiers, data);
16801651
this.odpManager.sendEvent(odpEvent);
16811652
} catch (e) {
16821653
this.logger.error(ERROR_MESSAGES.ODP_EVENT_FAILED, e);

lib/plugins/vuid_manager/index.ts

Lines changed: 0 additions & 111 deletions
This file was deleted.

lib/shared_types.ts

Lines changed: 2 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,13 @@ import { NOTIFICATION_TYPES } from './utils/enums';
2626

2727
import { IOptimizelyUserContext as OptimizelyUserContext } from './optimizely_user_context';
2828

29-
import { ICache } from './utils/lru_cache';
3029
import { RequestHandler } from './utils/http_request_handler/http';
3130
import { OptimizelySegmentOption } from './odp/segment_manager/optimizely_segment_option';
3231
import { OdpSegmentApiManager } from './odp/segment_manager/odp_segment_api_manager';
3332
import { OdpSegmentManager } from './odp/segment_manager/odp_segment_manager';
3433
import { DefaultOdpEventApiManager } from './odp/event_manager/odp_event_api_manager';
3534
import { OdpEventManager } from './odp/event_manager/odp_event_manager';
3635
import { OdpManager } from './odp/odp_manager';
37-
import { UserAgentParser } from './odp/ua_parser/user_agent_parser';
3836
import PersistentCache from './plugins/key_value_cache/persistentKeyValueCache';
3937
import { ProjectConfig } from './project_config/project_config';
4038
import { ProjectConfigManager } from './project_config/project_config_manager';
@@ -43,6 +41,7 @@ import { EventProcessor } from './event_processor/event_processor';
4341

4442
export { EventDispatcher } from './event_processor/event_dispatcher/event_dispatcher';
4543
export { EventProcessor } from './event_processor/event_processor';
44+
export { OdpManager } from './odp/odp_manager';
4645
export interface BucketerParams {
4746
experimentId: string;
4847
experimentKey: string;
@@ -98,23 +97,6 @@ export interface DatafileOptions {
9897
datafileAccessToken?: string;
9998
}
10099

101-
export interface OdpOptions {
102-
disabled?: boolean;
103-
segmentsCache?: ICache<string, string[]>;
104-
segmentsCacheSize?: number;
105-
segmentsCacheTimeout?: number;
106-
segmentsApiTimeout?: number;
107-
segmentsRequestHandler?: RequestHandler;
108-
segmentManager?: OdpSegmentManager;
109-
eventFlushInterval?: number;
110-
eventBatchSize?: number;
111-
eventQueueSize?: number;
112-
eventApiTimeout?: number;
113-
eventRequestHandler?: RequestHandler;
114-
eventManager?: OdpEventManager;
115-
userAgentParser?: UserAgentParser;
116-
}
117-
118100
export interface ListenerPayload {
119101
userId: string;
120102
attributes?: UserAttributes;
@@ -398,7 +380,6 @@ export interface Config extends ConfigLite {
398380
// eventFlushInterval?: number; // Maximum time for an event to be enqueued
399381
// eventMaxQueueSize?: number; // Maximum size for the event queue
400382
sdkKey?: string;
401-
odpOptions?: OdpOptions;
402383
persistentCacheProvider?: PersistentCacheProvider;
403384
}
404385

@@ -429,6 +410,7 @@ export interface ConfigLite {
429410
clientEngine?: string;
430411
clientVersion?: string;
431412
isSsr?: boolean;
413+
odpManager?: OdpManager;
432414
}
433415

434416
export type OptimizelyExperimentsMap = {
@@ -551,7 +533,6 @@ export interface OptimizelyForcedDecision {
551533
// ODP Exports
552534

553535
export {
554-
ICache,
555536
RequestHandler,
556537
OptimizelySegmentOption,
557538
OdpSegmentApiManager as IOdpSegmentApiManager,

lib/utils/fns/index.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,11 @@ export function keyBy<K>(arr: K[], key: string): { [key: string]: K } {
5757
});
5858
}
5959

60+
61+
function isNumber(value: unknown): boolean {
62+
return typeof value === 'number';
63+
}
64+
6065
export function uuid(): string {
6166
return v4();
6267
}
@@ -166,6 +171,7 @@ export default {
166171
isSafeInteger,
167172
keyBy,
168173
uuid,
174+
isNumber,
169175
getTimestamp,
170176
isValidEnum,
171177
groupBy,

lib/utils/lru_cache/browser_lru_cache.ts

Lines changed: 0 additions & 36 deletions
This file was deleted.

lib/utils/lru_cache/cache_element.tests.ts

Lines changed: 0 additions & 53 deletions
This file was deleted.

0 commit comments

Comments
 (0)