diff --git a/packages/optimizely-sdk/CHANGELOG.MD b/packages/optimizely-sdk/CHANGELOG.MD index 36d8e418b..911fa4304 100644 --- a/packages/optimizely-sdk/CHANGELOG.MD +++ b/packages/optimizely-sdk/CHANGELOG.MD @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ## [Unreleased] Changes that have landed but are not yet released. +- Update TypeScript definitions to account for new methods (`onReady`, `close`) and new properties on object accepted by createInstance (`datafileOptions`, `sdkKey`) + ## [3.2.0-alpha] - April 26nd, 2019 ### New Features diff --git a/packages/optimizely-sdk/lib/index.d.ts b/packages/optimizely-sdk/lib/index.d.ts index 41fd8827d..62b65f104 100644 --- a/packages/optimizely-sdk/lib/index.d.ts +++ b/packages/optimizely-sdk/lib/index.d.ts @@ -15,13 +15,35 @@ */ declare module '@optimizely/optimizely-sdk' { - import enums = require('@optimizely/optimizely-sdk/lib/utils/enums'); + export namespace enums { + enum LOG_LEVEL { + NOTSET = 0, + DEBUG = 1, + INFO = 2, + WARNING = 3, + ERROR = 4, + } + + enum NOTIFICATION_TYPES { + ACTIVATE = 'ACTIVATE:experiment, user_id,attributes, variation, event', + DECISION = 'DECISION:type, userId, attributes, decisionInfo', + OPTIMIZELY_CONFIG_UPDATE = 'OPTIMIZELY_CONFIG_UPDATE', + TRACK = 'TRACK:event_key, user_id, attributes, event_tags, event', + } + } export function createInstance(config: Config): Client; + interface DatafileOptions { + autoUpdate?: boolean; + updateInterval?: number; + urlTemplate?: string; + } + // The options object given to Optimizely.createInstance. export interface Config { - datafile: object; + datafile?: object | string; + datafileOptions?: DatafileOptions, errorHandler?: object; eventDispatcher?: object; logger?: object; @@ -31,6 +53,7 @@ declare module '@optimizely/optimizely-sdk' { userProfileService?: UserProfileService | null; eventBatchSize?: number eventFlushInterval?: number + sdkKey?: string; } export interface Client { @@ -46,6 +69,8 @@ declare module '@optimizely/optimizely-sdk' { getFeatureVariableDouble(featureKey: string, variableKey: string, userId: string, attributes?: UserAttributes): number | null; getFeatureVariableInteger(featureKey: string, variableKey: string, userId: string, attributes?: UserAttributes): number | null; getFeatureVariableString(featureKey: string, variableKey: string, userId: string, attributes?: UserAttributes): string | null; + onReady(options?: { timeout?: number }): Promise + close(): void } // An event to be submitted to Optimizely, enabling tracking the reach and impact of @@ -145,15 +170,18 @@ declare module '@optimizely/optimizely-sdk' { } declare module '@optimizely/optimizely-sdk/lib/utils/enums'{ - export enum LOG_LEVEL{ + export enum LOG_LEVEL { NOTSET = 0, DEBUG = 1, INFO = 2, WARNING = 3, ERROR = 4, } + export enum NOTIFICATION_TYPES { - ACTIVATE = 'ACTIVATE:experiment, user_id, attributes, variation, events', + ACTIVATE = 'ACTIVATE:experiment, user_id,attributes, variation, event', + DECISION = 'DECISION:type, userId, attributes, decisionInfo', + OPTIMIZELY_CONFIG_UPDATE = 'OPTIMIZELY_CONFIG_UPDATE', TRACK = 'TRACK:event_key, user_id, attributes, event_tags, event', } } @@ -180,4 +208,4 @@ declare module '@optimizely/optimizely-sdk' { } export function createLogger(config: Config): Optimizely.Logger; export function createNoOpLogger(): Optimizely.Logger; - } \ No newline at end of file + }