Skip to content

Commit 25eaa78

Browse files
committed
vuidman test
1 parent 6bb2d85 commit 25eaa78

File tree

14 files changed

+241
-456
lines changed

14 files changed

+241
-456
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 & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ export default class Optimizely implements Client {
181181
this.readyPromise = Promise.all([
182182
projectConfigManagerRunningPromise,
183183
eventProcessorRunningPromise,
184-
config.odpManager ? config.odpManager.onReady() : Promise.resolve(),
184+
config.odpManager ? config.odpManager.onRunning() : Promise.resolve(),
185185
]);
186186

187187
this.readyTimeouts = {};
@@ -1226,13 +1226,10 @@ export default class Optimizely implements Client {
12261226
*/
12271227
close(): Promise<{ success: boolean; reason?: string }> {
12281228
try {
1229-
if (this.odpManager) {
1230-
this.odpManager.stop();
1231-
}
1232-
1233-
this.notificationCenter.clearAllNotificationListeners();
1234-
1229+
this.projectConfigManager.stop();
12351230
this.eventProcessor?.stop();
1231+
this.odpManager?.stop();
1232+
this.notificationCenter.clearAllNotificationListeners();
12361233

12371234
const eventProcessorStoppedPromise = this.eventProcessor ? this.eventProcessor.onTerminated() :
12381235
Promise.resolve();
@@ -1241,9 +1238,7 @@ export default class Optimizely implements Client {
12411238
this.disposeOnUpdate();
12421239
this.disposeOnUpdate = undefined;
12431240
}
1244-
if (this.projectConfigManager) {
1245-
this.projectConfigManager.stop();
1246-
}
1241+
12471242
Object.keys(this.readyTimeouts).forEach((readyTimeoutId: string) => {
12481243
const readyTimeoutRecord = this.readyTimeouts[readyTimeoutId];
12491244
clearTimeout(readyTimeoutRecord.readyTimeout);
@@ -1651,29 +1646,8 @@ export default class Optimizely implements Client {
16511646
return;
16521647
}
16531648

1654-
const odpEventType = type ?? ODP_DEFAULT_EVENT_TYPE;
1655-
1656-
const odpIdentifiers = new Map(identifiers);
1657-
1658-
if (identifiers && identifiers.size > 0) {
1659-
try {
1660-
identifiers.forEach((identifier_value, identifier_key) => {
1661-
// Catch for fs-user-id, FS-USER-ID, and FS_USER_ID and assign value to fs_user_id identifier.
1662-
if (
1663-
FS_USER_ID_ALIAS === identifier_key.toLowerCase() ||
1664-
ODP_USER_KEY.FS_USER_ID === identifier_key.toLowerCase()
1665-
) {
1666-
odpIdentifiers.delete(identifier_key);
1667-
odpIdentifiers.set(ODP_USER_KEY.FS_USER_ID, identifier_value);
1668-
}
1669-
});
1670-
} catch (e) {
1671-
this.logger.warn(LOG_MESSAGES.ODP_SEND_EVENT_IDENTIFIER_CONVERSION_FAILED);
1672-
}
1673-
}
1674-
16751649
try {
1676-
const odpEvent = new OdpEvent(odpEventType, action, odpIdentifiers, data);
1650+
const odpEvent = new OdpEvent(type || '', action, identifiers, data);
16771651
this.odpManager.sendEvent(odpEvent);
16781652
} catch (e) {
16791653
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
@@ -25,15 +25,13 @@ import { NotificationCenter, DefaultNotificationCenter } from './notification_ce
2525

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

28-
import { ICache } from './utils/lru_cache';
2928
import { RequestHandler } from './utils/http_request_handler/http';
3029
import { OptimizelySegmentOption } from './odp/segment_manager/optimizely_segment_option';
3130
import { OdpSegmentApiManager } from './odp/segment_manager/odp_segment_api_manager';
3231
import { OdpSegmentManager } from './odp/segment_manager/odp_segment_manager';
3332
import { DefaultOdpEventApiManager } from './odp/event_manager/odp_event_api_manager';
3433
import { OdpEventManager } from './odp/event_manager/odp_event_manager';
3534
import { OdpManager } from './odp/odp_manager';
36-
import { UserAgentParser } from './odp/ua_parser/user_agent_parser';
3735
import PersistentCache from './plugins/key_value_cache/persistentKeyValueCache';
3836
import { ProjectConfig } from './project_config/project_config';
3937
import { ProjectConfigManager } from './project_config/project_config_manager';
@@ -44,6 +42,7 @@ export { EventDispatcher } from './event_processor/event_dispatcher/event_dispat
4442
export { EventProcessor } from './event_processor/event_processor';
4543
export { NotificationCenter } from './notification_center';
4644

45+
export { OdpManager } from './odp/odp_manager';
4746
export interface BucketerParams {
4847
experimentId: string;
4948
experimentKey: string;
@@ -99,23 +98,6 @@ export interface DatafileOptions {
9998
datafileAccessToken?: string;
10099
}
101100

102-
export interface OdpOptions {
103-
disabled?: boolean;
104-
segmentsCache?: ICache<string, string[]>;
105-
segmentsCacheSize?: number;
106-
segmentsCacheTimeout?: number;
107-
segmentsApiTimeout?: number;
108-
segmentsRequestHandler?: RequestHandler;
109-
segmentManager?: OdpSegmentManager;
110-
eventFlushInterval?: number;
111-
eventBatchSize?: number;
112-
eventQueueSize?: number;
113-
eventApiTimeout?: number;
114-
eventRequestHandler?: RequestHandler;
115-
eventManager?: OdpEventManager;
116-
userAgentParser?: UserAgentParser;
117-
}
118-
119101
export interface ListenerPayload {
120102
userId: string;
121103
attributes?: UserAttributes;
@@ -386,7 +368,6 @@ export interface Config extends ConfigLite {
386368
// eventFlushInterval?: number; // Maximum time for an event to be enqueued
387369
// eventMaxQueueSize?: number; // Maximum size for the event queue
388370
sdkKey?: string;
389-
odpOptions?: OdpOptions;
390371
persistentCacheProvider?: PersistentCacheProvider;
391372
}
392373

@@ -417,6 +398,7 @@ export interface ConfigLite {
417398
clientEngine?: string;
418399
clientVersion?: string;
419400
isSsr?: boolean;
401+
odpManager?: OdpManager;
420402
}
421403

422404
export type OptimizelyExperimentsMap = {
@@ -539,7 +521,6 @@ export interface OptimizelyForcedDecision {
539521
// ODP Exports
540522

541523
export {
542-
ICache,
543524
RequestHandler,
544525
OptimizelySegmentOption,
545526
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)