Skip to content

Commit e8e71c9

Browse files
authored
fix: Move OptimizelyOptions interface to shared_types (#629)
* Move OptimizelyOptions to shared_types * Update changelog
1 parent 8028443 commit e8e71c9

File tree

4 files changed

+27
-25
lines changed

4 files changed

+27
-25
lines changed

packages/optimizely-sdk/CHANGELOG.MD

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
66
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
77

88
## [Unreleased]
9+
- Refactored TypeScript type definitions to have `OptimizelyOptions` imported from `shared_types` to provide isolation from internal modules ([#629](https://github.com/optimizely/javascript-sdk/pull/629))
910

1011
## [4.4.2] - November 19, 2020
1112

packages/optimizely-sdk/lib/index.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ declare module '@optimizely/optimizely-sdk' {
5353

5454
export type SDKOptions = import ('./shared_types').SDKOptions;
5555

56-
export type OptimizelyOptions = import ('./optimizely').OptimizelyOptions;
56+
export type OptimizelyOptions = import ('./shared_types').OptimizelyOptions;
5757

5858
export type UserProfileService = import('./shared_types').UserProfileService;
5959

packages/optimizely-sdk/lib/optimizely/index.ts

Lines changed: 2 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@ import {
2222
EventDispatcher,
2323
OnReadyResult,
2424
UserProfileService,
25-
DatafileOptions,
2625
Variation,
2726
FeatureFlag,
28-
FeatureVariable
27+
FeatureVariable,
28+
OptimizelyOptions
2929
} from '../shared_types';
3030
import { createProjectConfigManager, ProjectConfigManager } from '../core/project_config/project_config_manager';
3131
import { createNotificationCenter, NotificationCenter } from '../core/notification_center';
@@ -55,28 +55,6 @@ const MODULE_NAME = 'OPTIMIZELY';
5555

5656
const DEFAULT_ONREADY_TIMEOUT = 30000;
5757

58-
/**
59-
* options required to create optimizely object
60-
*/
61-
export interface OptimizelyOptions {
62-
UNSTABLE_conditionEvaluators?: unknown;
63-
clientEngine: string;
64-
clientVersion?: string;
65-
datafile?: string;
66-
datafileOptions?: DatafileOptions;
67-
errorHandler: ErrorHandler;
68-
eventBatchSize?: number;
69-
eventDispatcher: EventDispatcher;
70-
eventFlushInterval?: number;
71-
eventMaxQueueSize?: number;
72-
isValidInstance: boolean;
73-
// TODO[OASIS-6649]: Don't use object type
74-
// eslint-disable-next-line @typescript-eslint/ban-types
75-
jsonSchemaValidator?: object;
76-
logger: LogHandler;
77-
sdkKey?: string;
78-
userProfileService?: UserProfileService | null;
79-
}
8058

8159
// TODO: Make feature_key, user_id, variable_key, experiment_key, event_key camelCase
8260
export type InputKey = 'feature_key' | 'user_id' | 'variable_key' | 'experiment_key' | 'event_key' | 'variation_id';

packages/optimizely-sdk/lib/shared_types.ts

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,29 @@ export type ObjectWithUnknownProperties = {
110110
[key: string]: unknown;
111111
}
112112

113+
/**
114+
* options required to create optimizely object
115+
*/
116+
export interface OptimizelyOptions {
117+
UNSTABLE_conditionEvaluators?: unknown;
118+
clientEngine: string;
119+
clientVersion?: string;
120+
datafile?: string;
121+
datafileOptions?: DatafileOptions;
122+
errorHandler: ErrorHandler;
123+
eventBatchSize?: number;
124+
eventDispatcher: EventDispatcher;
125+
eventFlushInterval?: number;
126+
eventMaxQueueSize?: number;
127+
isValidInstance: boolean;
128+
// TODO[OASIS-6649]: Don't use object type
129+
// eslint-disable-next-line @typescript-eslint/ban-types
130+
jsonSchemaValidator?: object;
131+
logger: LogHandler;
132+
sdkKey?: string;
133+
userProfileService?: UserProfileService | null;
134+
}
135+
113136
/**
114137
* Optimizely Config Entities
115138
*/

0 commit comments

Comments
 (0)