Skip to content

Commit 27f4159

Browse files
authored
fix: Update TypeScript definitions for datafile management (#263)
Summary: Update TypeScript definitions to account for new methods (onReady, close) and new properties on object accepted by createInstance (datafileOptions, sdkKey) Test plan: Manually tested Issues: https://optimizely.atlassian.net/browse/OASIS-4559
1 parent f754018 commit 27f4159

File tree

2 files changed

+35
-5
lines changed

2 files changed

+35
-5
lines changed

packages/optimizely-sdk/CHANGELOG.MD

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
77
## [Unreleased]
88
Changes that have landed but are not yet released.
99

10+
- Update TypeScript definitions to account for new methods (`onReady`, `close`) and new properties on object accepted by createInstance (`datafileOptions`, `sdkKey`)
11+
1012
## [3.2.0-alpha] - April 26nd, 2019
1113

1214
### New Features

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

Lines changed: 33 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,35 @@
1515
*/
1616

1717
declare module '@optimizely/optimizely-sdk' {
18-
import enums = require('@optimizely/optimizely-sdk/lib/utils/enums');
18+
export namespace enums {
19+
enum LOG_LEVEL {
20+
NOTSET = 0,
21+
DEBUG = 1,
22+
INFO = 2,
23+
WARNING = 3,
24+
ERROR = 4,
25+
}
26+
27+
enum NOTIFICATION_TYPES {
28+
ACTIVATE = 'ACTIVATE:experiment, user_id,attributes, variation, event',
29+
DECISION = 'DECISION:type, userId, attributes, decisionInfo',
30+
OPTIMIZELY_CONFIG_UPDATE = 'OPTIMIZELY_CONFIG_UPDATE',
31+
TRACK = 'TRACK:event_key, user_id, attributes, event_tags, event',
32+
}
33+
}
1934

2035
export function createInstance(config: Config): Client;
2136

37+
interface DatafileOptions {
38+
autoUpdate?: boolean;
39+
updateInterval?: number;
40+
urlTemplate?: string;
41+
}
42+
2243
// The options object given to Optimizely.createInstance.
2344
export interface Config {
24-
datafile: object;
45+
datafile?: object | string;
46+
datafileOptions?: DatafileOptions,
2547
errorHandler?: object;
2648
eventDispatcher?: object;
2749
logger?: object;
@@ -31,6 +53,7 @@ declare module '@optimizely/optimizely-sdk' {
3153
userProfileService?: UserProfileService | null;
3254
eventBatchSize?: number
3355
eventFlushInterval?: number
56+
sdkKey?: string;
3457
}
3558

3659
export interface Client {
@@ -46,6 +69,8 @@ declare module '@optimizely/optimizely-sdk' {
4669
getFeatureVariableDouble(featureKey: string, variableKey: string, userId: string, attributes?: UserAttributes): number | null;
4770
getFeatureVariableInteger(featureKey: string, variableKey: string, userId: string, attributes?: UserAttributes): number | null;
4871
getFeatureVariableString(featureKey: string, variableKey: string, userId: string, attributes?: UserAttributes): string | null;
72+
onReady(options?: { timeout?: number }): Promise<void>
73+
close(): void
4974
}
5075

5176
// An event to be submitted to Optimizely, enabling tracking the reach and impact of
@@ -145,15 +170,18 @@ declare module '@optimizely/optimizely-sdk' {
145170
}
146171

147172
declare module '@optimizely/optimizely-sdk/lib/utils/enums'{
148-
export enum LOG_LEVEL{
173+
export enum LOG_LEVEL {
149174
NOTSET = 0,
150175
DEBUG = 1,
151176
INFO = 2,
152177
WARNING = 3,
153178
ERROR = 4,
154179
}
180+
155181
export enum NOTIFICATION_TYPES {
156-
ACTIVATE = 'ACTIVATE:experiment, user_id, attributes, variation, events',
182+
ACTIVATE = 'ACTIVATE:experiment, user_id,attributes, variation, event',
183+
DECISION = 'DECISION:type, userId, attributes, decisionInfo',
184+
OPTIMIZELY_CONFIG_UPDATE = 'OPTIMIZELY_CONFIG_UPDATE',
157185
TRACK = 'TRACK:event_key, user_id, attributes, event_tags, event',
158186
}
159187
}
@@ -180,4 +208,4 @@ declare module '@optimizely/optimizely-sdk' {
180208
}
181209
export function createLogger(config: Config): Optimizely.Logger;
182210
export function createNoOpLogger(): Optimizely.Logger;
183-
}
211+
}

0 commit comments

Comments
 (0)