@newskit-render/feature-flags 1.7.0 → 1.8.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,15 @@
1
1
  "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
2
13
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
14
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
15
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -39,9 +50,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
39
50
  return (mod && mod.__esModule) ? mod : { "default": mod };
40
51
  };
41
52
  Object.defineProperty(exports, "__esModule", { value: true });
53
+ var optimizely_sdk_1 = __importDefault(require("@optimizely/optimizely-sdk"));
42
54
  var utils_1 = require("../utils");
43
55
  var config_1 = require("../config");
44
- var optimizely_sdk_1 = __importDefault(require("@optimizely/optimizely-sdk"));
45
56
  var types_1 = require("../types");
46
57
  var mockFeaturesMap = {
47
58
  test_flag: {
@@ -53,21 +64,25 @@ var mockFeaturesMap = {
53
64
  enabled: true,
54
65
  },
55
66
  };
56
- optimizely_sdk_1.default.createInstance = jest.fn().mockReturnValue({
57
- isFeatureEnabled: jest.fn().mockImplementation(function (key) {
58
- return mockFeaturesMap[key].enabled;
59
- }),
60
- onReady: jest.fn().mockResolvedValue({ success: true }),
61
- getOptimizelyConfig: jest
62
- .fn()
63
- .mockReturnValue({ featuresMap: mockFeaturesMap }),
64
- });
67
+ jest.mock('@optimizely/optimizely-sdk', function () { return (__assign(__assign({}, jest.requireActual('@optimizely/optimizely-sdk')), { createInstance: function () { return ({
68
+ isFeatureEnabled: jest
69
+ .fn()
70
+ .mockImplementation(function (featureKey, userId) {
71
+ return mockFeaturesMap[featureKey].enabled;
72
+ }),
73
+ onReady: jest.fn().mockResolvedValue({ success: true }),
74
+ getOptimizelyConfig: jest
75
+ .fn()
76
+ .mockReturnValue({ featuresMap: mockFeaturesMap }),
77
+ }); } })); });
65
78
  jest
66
79
  .spyOn(optimizely_sdk_1.default, 'setLogLevel')
67
80
  .mockImplementation(function (logLevel) { return logLevel; });
68
81
  jest.spyOn(optimizely_sdk_1.default, 'setLogger');
82
+ beforeEach(function () {
83
+ jest.resetModules();
84
+ });
69
85
  afterEach(function () {
70
- jest.clearAllMocks();
71
86
  (0, utils_1._resetInstance)();
72
87
  });
73
88
  describe('createFeatureFlagsInstance', function () {
@@ -85,6 +100,17 @@ describe('createFeatureFlagsInstance', function () {
85
100
  }
86
101
  });
87
102
  }); });
103
+ it('should use default attributes when creating instance', function () { return __awaiter(void 0, void 0, void 0, function () {
104
+ return __generator(this, function (_a) {
105
+ switch (_a.label) {
106
+ case 0: return [4 /*yield*/, (0, utils_1.createFeatureFlagsInstance)({ optimizelyConfig: { sdkKey: 'sdkkey' } })];
107
+ case 1:
108
+ _a.sent();
109
+ expect(utils_1.userAttributes).toEqual(config_1.defaultUserAttributes);
110
+ return [2 /*return*/];
111
+ }
112
+ });
113
+ }); });
88
114
  it('should set userId when creating instance and passing userId', function () { return __awaiter(void 0, void 0, void 0, function () {
89
115
  return __generator(this, function (_a) {
90
116
  switch (_a.label) {
@@ -99,6 +125,42 @@ describe('createFeatureFlagsInstance', function () {
99
125
  }
100
126
  });
101
127
  }); });
128
+ it('should set attributes when creating instance and passing attributes', function () { return __awaiter(void 0, void 0, void 0, function () {
129
+ return __generator(this, function (_a) {
130
+ switch (_a.label) {
131
+ case 0: return [4 /*yield*/, (0, utils_1.createFeatureFlagsInstance)({
132
+ optimizelyConfig: { sdkKey: 'sdkkey' },
133
+ userAttributes: {
134
+ cpn: '4AAA039156221',
135
+ billingDetails: {
136
+ paymentMethod: {
137
+ type: 'CreditCard',
138
+ cardType: 'Visa',
139
+ cardNumber: '************4321',
140
+ expirationYear: 2028,
141
+ expirationMonth: 2,
142
+ },
143
+ },
144
+ },
145
+ })];
146
+ case 1:
147
+ _a.sent();
148
+ expect(utils_1.userAttributes).toEqual({
149
+ cpn: '4AAA039156221',
150
+ billingDetails: {
151
+ paymentMethod: {
152
+ type: 'CreditCard',
153
+ cardType: 'Visa',
154
+ cardNumber: '************4321',
155
+ expirationYear: 2028,
156
+ expirationMonth: 2,
157
+ },
158
+ },
159
+ });
160
+ return [2 /*return*/];
161
+ }
162
+ });
163
+ }); });
102
164
  it('should set defaultFeatureFlags when they have been passed', function () { return __awaiter(void 0, void 0, void 0, function () {
103
165
  return __generator(this, function (_a) {
104
166
  switch (_a.label) {
@@ -181,24 +243,32 @@ describe('getFeatureFlags', function () {
181
243
  });
182
244
  }); });
183
245
  it('should return default feature flags object & optimizely.onReady returns success: false', function () { return __awaiter(void 0, void 0, void 0, function () {
184
- var _a;
246
+ var utils, _a;
185
247
  return __generator(this, function (_b) {
186
248
  switch (_b.label) {
187
249
  case 0:
188
- optimizely_sdk_1.default.createInstance = jest.fn().mockReturnValue({
189
- onReady: jest.fn().mockResolvedValue({ success: false }),
190
- isFeatureEnabled: jest.fn().mockImplementation(function (key) {
191
- return mockFeaturesMap[key].enabled;
192
- }),
193
- });
194
- return [4 /*yield*/, (0, utils_1.createFeatureFlagsInstance)({
250
+ jest.doMock('@optimizely/optimizely-sdk', function () { return ({
251
+ createInstance: function () { return ({
252
+ isFeatureEnabled: jest
253
+ .fn()
254
+ .mockImplementation(function (featureKey, userId) {
255
+ return mockFeaturesMap[featureKey].enabled;
256
+ }),
257
+ onReady: jest.fn().mockResolvedValue({ success: false }),
258
+ getOptimizelyConfig: jest
259
+ .fn()
260
+ .mockReturnValue({ featuresMap: mockFeaturesMap }),
261
+ }); },
262
+ }); });
263
+ utils = require('../utils').default;
264
+ return [4 /*yield*/, utils.createFeatureFlagsInstance({
195
265
  optimizelyConfig: { sdkKey: 'sdkkey' },
196
266
  defaultFeatureFlags: { defaultFlag: true },
197
267
  })];
198
268
  case 1:
199
269
  _b.sent();
200
270
  _a = expect;
201
- return [4 /*yield*/, (0, utils_1.getFeatureFlags)()];
271
+ return [4 /*yield*/, utils.getFeatureFlags()];
202
272
  case 2:
203
273
  _a.apply(void 0, [_b.sent()]).toEqual({
204
274
  defaultFlag: true,
@@ -209,6 +279,19 @@ describe('getFeatureFlags', function () {
209
279
  }); });
210
280
  });
211
281
  describe('initAndGetFeatureFlag', function () {
282
+ it('should return empty object', function () { return __awaiter(void 0, void 0, void 0, function () {
283
+ var _a;
284
+ return __generator(this, function (_b) {
285
+ switch (_b.label) {
286
+ case 0:
287
+ _a = expect;
288
+ return [4 /*yield*/, (0, utils_1.initAndGetFeatureFlag)()];
289
+ case 1:
290
+ _a.apply(void 0, [_b.sent()]).toEqual({});
291
+ return [2 /*return*/];
292
+ }
293
+ });
294
+ }); });
212
295
  it('should return flag', function () { return __awaiter(void 0, void 0, void 0, function () {
213
296
  var _a;
214
297
  return __generator(this, function (_b) {
@@ -218,21 +301,75 @@ describe('initAndGetFeatureFlag', function () {
218
301
  return [4 /*yield*/, (0, utils_1.initAndGetFeatureFlag)('sdkkey')];
219
302
  case 1:
220
303
  _a.apply(void 0, [_b.sent()]).toEqual({
221
- defaultFlag: true,
304
+ test_flag: false,
305
+ test_flag2: true,
222
306
  });
223
307
  return [2 /*return*/];
224
308
  }
225
309
  });
226
310
  }); });
227
- it('should return empty object', function () { return __awaiter(void 0, void 0, void 0, function () {
228
- var _a;
311
+ it('should return flags for specific attributes - feature is enabeled for this user', function () { return __awaiter(void 0, void 0, void 0, function () {
312
+ var utils, _a;
229
313
  return __generator(this, function (_b) {
230
314
  switch (_b.label) {
231
315
  case 0:
316
+ jest.doMock('@optimizely/optimizely-sdk', function () { return ({
317
+ createInstance: function () { return ({
318
+ isFeatureEnabled: jest
319
+ .fn()
320
+ .mockImplementation(function (featureKey, userId, attributes) {
321
+ if (attributes.cpn === '4AAA039156221') {
322
+ return true;
323
+ }
324
+ return mockFeaturesMap[featureKey].enabled;
325
+ }),
326
+ onReady: jest.fn().mockResolvedValue({ success: true }),
327
+ getOptimizelyConfig: jest
328
+ .fn()
329
+ .mockReturnValue({ featuresMap: mockFeaturesMap }),
330
+ }); },
331
+ }); });
332
+ utils = require('../utils');
232
333
  _a = expect;
233
- return [4 /*yield*/, (0, utils_1.initAndGetFeatureFlag)()];
334
+ return [4 /*yield*/, utils.initAndGetFeatureFlag('sdkkey', { cpn: '4AAA039156221' })];
234
335
  case 1:
235
- _a.apply(void 0, [_b.sent()]).toEqual({});
336
+ _a.apply(void 0, [_b.sent()]).toEqual({
337
+ test_flag: true,
338
+ test_flag2: true,
339
+ });
340
+ return [2 /*return*/];
341
+ }
342
+ });
343
+ }); });
344
+ it('should return flags for specific attributes - feature is not enabled for this user', function () { return __awaiter(void 0, void 0, void 0, function () {
345
+ var utils, _a;
346
+ return __generator(this, function (_b) {
347
+ switch (_b.label) {
348
+ case 0:
349
+ jest.doMock('@optimizely/optimizely-sdk', function () { return ({
350
+ createInstance: function () { return ({
351
+ isFeatureEnabled: jest
352
+ .fn()
353
+ .mockImplementation(function (featureKey, userId, attributes) {
354
+ if (attributes.cpn === '4AAA039156228') {
355
+ return mockFeaturesMap[featureKey].enabled;
356
+ }
357
+ return false;
358
+ }),
359
+ onReady: jest.fn().mockResolvedValue({ success: true }),
360
+ getOptimizelyConfig: jest
361
+ .fn()
362
+ .mockReturnValue({ featuresMap: mockFeaturesMap }),
363
+ }); },
364
+ }); });
365
+ utils = require('../utils');
366
+ _a = expect;
367
+ return [4 /*yield*/, utils.initAndGetFeatureFlag('sdkkey', { cpn: '4AAA039156221' })];
368
+ case 1:
369
+ _a.apply(void 0, [_b.sent()]).toEqual({
370
+ test_flag: false,
371
+ test_flag2: false,
372
+ });
236
373
  return [2 /*return*/];
237
374
  }
238
375
  });
@@ -1 +1 @@
1
- {"version":3,"file":"utils.tests.js","sourceRoot":"","sources":["../../../src/__tests__/utils.tests.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.tests.js","sourceRoot":"","sources":["../../../src/__tests__/utils.tests.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  import { Config } from '@optimizely/optimizely-sdk';
2
2
  export declare const optimizelyDefaultSDKConfig: Config;
3
3
  export declare const defaultUserId = "default_userId";
4
+ export declare const defaultUserAttributes: {};
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.defaultUserId = exports.optimizelyDefaultSDKConfig = void 0;
3
+ exports.defaultUserAttributes = exports.defaultUserId = exports.optimizelyDefaultSDKConfig = void 0;
4
4
  exports.optimizelyDefaultSDKConfig = {
5
5
  datafileOptions: {
6
6
  autoUpdate: true,
@@ -8,4 +8,5 @@ exports.optimizelyDefaultSDKConfig = {
8
8
  },
9
9
  };
10
10
  exports.defaultUserId = 'default_userId';
11
+ exports.defaultUserAttributes = {};
11
12
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":";;;AACa,QAAA,0BAA0B,GAAW;IAChD,eAAe,EAAE;QACf,UAAU,EAAE,IAAI;QAChB,cAAc,EAAE,MAAM;KACvB;CACF,CAAA;AAEY,QAAA,aAAa,GAAG,gBAAgB,CAAA"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":";;;AAEa,QAAA,0BAA0B,GAAW;IAChD,eAAe,EAAE;QACf,UAAU,EAAE,IAAI;QAChB,cAAc,EAAE,MAAM;KACvB;CACF,CAAA;AAEY,QAAA,aAAa,GAAG,gBAAgB,CAAA;AAChC,QAAA,qBAAqB,GAAG,EAAE,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { ReactNode } from 'react';
2
- import { Config } from '@optimizely/optimizely-sdk';
2
+ import { Config, UserAttributes } from '@optimizely/optimizely-sdk';
3
3
  export interface FeatureFlag {
4
4
  [key: string]: boolean;
5
5
  }
@@ -13,6 +13,7 @@ export interface ContextProviderProps {
13
13
  export interface InstanceConfig {
14
14
  optimizelyConfig: Config;
15
15
  userId?: string;
16
+ userAttributes?: UserAttributes;
16
17
  defaultFeatureFlags?: FeatureFlag;
17
18
  logLevel?: 'critical' | 'error' | 'warning' | 'debug' | 'info';
18
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAuBA;IAA+C,6CAAK;IAClD;eACE,kBACE,uHAAuH,CACxH;IACH,CAAC;IACH,gCAAC;AAAD,CAAC,AAND,CAA+C,KAAK,GAMnD;AANY,8DAAyB;AAQtC;IAA0C,wCAAK;IAC7C;eACE,kBACE,sHAAsH,CACvH;IACH,CAAC;IACH,2BAAC;AAAD,CAAC,AAND,CAA0C,KAAK,GAM9C;AANY,oDAAoB;AAQjC;IAAiD,+CAAK;IACpD;eACE,kBACE,uGAAuG,CACxG;IACH,CAAC;IACH,kCAAC;AAAD,CAAC,AAND,CAAiD,KAAK,GAMrD;AANY,kEAA2B"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAwBA;IAA+C,6CAAK;IAClD;eACE,kBACE,uHAAuH,CACxH;IACH,CAAC;IACH,gCAAC;AAAD,CAAC,AAND,CAA+C,KAAK,GAMnD;AANY,8DAAyB;AAQtC;IAA0C,wCAAK;IAC7C;eACE,kBACE,sHAAsH,CACvH;IACH,CAAC;IACH,2BAAC;AAAD,CAAC,AAND,CAA0C,KAAK,GAM9C;AANY,oDAAoB;AAQjC;IAAiD,+CAAK;IACpD;eACE,kBACE,uGAAuG,CACxG;IACH,CAAC;IACH,kCAAC;AAAD,CAAC,AAND,CAAiD,KAAK,GAMrD;AANY,kEAA2B"}
@@ -1,12 +1,14 @@
1
+ import { Client, UserAttributes } from '@optimizely/optimizely-sdk';
1
2
  import { InstanceConfig, FeatureFlag } from './types';
2
- export declare let optimizelyInstance: any;
3
- export declare let userIdentity: any;
3
+ export declare let optimizelyClientInstance: Client | null;
4
+ export declare let userIdentity: string;
5
+ export declare let userAttributes: UserAttributes;
4
6
  export declare let defaultFeatureFlags: FeatureFlag;
5
7
  export declare const _resetInstance: () => void;
6
8
  export declare const createFeatureFlagsInstance: (config: InstanceConfig) => void;
7
- export declare const getFlattenFeatureFlags: (keys: any, array: any) => FeatureFlag;
9
+ export declare const getFlattenFeatureFlags: (featureFlagsKeys: any, featuresMap: any) => FeatureFlag;
8
10
  export declare const getFeatureFlags: () => Promise<FeatureFlag>;
9
- export declare const initAndGetFeatureFlag: (sdkKey?: string) => Promise<FeatureFlag>;
11
+ export declare const initAndGetFeatureFlag: (sdkKey?: string, attributes?: UserAttributes) => Promise<FeatureFlag>;
10
12
  declare const _default: {
11
13
  createFeatureFlagsInstance: (config: InstanceConfig) => void;
12
14
  getFeatureFlags: () => Promise<FeatureFlag>;
package/dist/cjs/utils.js CHANGED
@@ -50,21 +50,22 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
50
50
  return (mod && mod.__esModule) ? mod : { "default": mod };
51
51
  };
52
52
  Object.defineProperty(exports, "__esModule", { value: true });
53
- exports.initAndGetFeatureFlag = exports.getFeatureFlags = exports.getFlattenFeatureFlags = exports.createFeatureFlagsInstance = exports._resetInstance = exports.defaultFeatureFlags = exports.userIdentity = exports.optimizelyInstance = void 0;
53
+ exports.initAndGetFeatureFlag = exports.getFeatureFlags = exports.getFlattenFeatureFlags = exports.createFeatureFlagsInstance = exports._resetInstance = exports.defaultFeatureFlags = exports.userAttributes = exports.userIdentity = exports.optimizelyClientInstance = void 0;
54
54
  var optimizely_sdk_1 = __importDefault(require("@optimizely/optimizely-sdk"));
55
55
  var types_1 = require("./types");
56
56
  var config_1 = require("./config");
57
57
  exports.defaultFeatureFlags = {};
58
58
  var _resetInstance = function () {
59
- exports.optimizelyInstance = null;
59
+ exports.optimizelyClientInstance = null;
60
60
  };
61
61
  exports._resetInstance = _resetInstance;
62
62
  var createFeatureFlagsInstance = function (config) {
63
63
  if (!config.optimizelyConfig.sdkKey) {
64
64
  throw new types_1.MissingConfigurationError();
65
65
  }
66
- exports.optimizelyInstance = optimizely_sdk_1.default.createInstance(__assign(__assign({}, config.optimizelyConfig), config_1.optimizelyDefaultSDKConfig));
66
+ exports.optimizelyClientInstance = optimizely_sdk_1.default.createInstance(__assign(__assign({}, config_1.optimizelyDefaultSDKConfig), config.optimizelyConfig));
67
67
  exports.userIdentity = config.userId || config_1.defaultUserId;
68
+ exports.userAttributes = config.userAttributes || config_1.defaultUserAttributes;
68
69
  if (config.logLevel) {
69
70
  optimizely_sdk_1.default.setLogLevel(config.logLevel);
70
71
  optimizely_sdk_1.default.setLogger(optimizely_sdk_1.default.logging.createLogger());
@@ -74,12 +75,13 @@ var createFeatureFlagsInstance = function (config) {
74
75
  }
75
76
  };
76
77
  exports.createFeatureFlagsInstance = createFeatureFlagsInstance;
77
- var getFlattenFeatureFlags = function (keys, array) {
78
- return keys
79
- .map(function (feat) {
78
+ var getFlattenFeatureFlags = function (featureFlagsKeys, featuresMap) {
79
+ return featureFlagsKeys
80
+ .map(function (flagKey) {
80
81
  var _a;
82
+ var isFeatureEnabled = exports.optimizelyClientInstance === null || exports.optimizelyClientInstance === void 0 ? void 0 : exports.optimizelyClientInstance.isFeatureEnabled(featuresMap[flagKey].key, exports.userIdentity, exports.userAttributes);
81
83
  return _a = {},
82
- _a[array[feat].key] = exports.optimizelyInstance.isFeatureEnabled(array[feat].key, exports.userIdentity),
84
+ _a[featuresMap[flagKey].key] = isFeatureEnabled,
83
85
  _a;
84
86
  })
85
87
  .reduce(function (map, obj) {
@@ -90,26 +92,24 @@ var getFlattenFeatureFlags = function (keys, array) {
90
92
  };
91
93
  exports.getFlattenFeatureFlags = getFlattenFeatureFlags;
92
94
  var getFeatureFlags = function () { return __awaiter(void 0, void 0, void 0, function () {
93
- var config, featureFlags, featureFlagsKeys, allFeatureFlags;
95
+ var optimizelyConfig, featureFlags, featureFlagsKeys, allFeatureFlags;
94
96
  return __generator(this, function (_a) {
95
97
  switch (_a.label) {
96
98
  case 0:
97
- if (!exports.optimizelyInstance) {
99
+ if (!exports.optimizelyClientInstance) {
98
100
  throw new types_1.MissingInstanceError();
99
101
  }
100
- return [4 /*yield*/, exports.optimizelyInstance
101
- .onReady({ timeout: 1000 })
102
- .then(function (result) {
102
+ return [4 /*yield*/, exports.optimizelyClientInstance.onReady({ timeout: 1000 }).then(function (result) {
103
103
  if (result && result.success) {
104
- return exports.optimizelyInstance.getOptimizelyConfig();
104
+ return exports.optimizelyClientInstance === null || exports.optimizelyClientInstance === void 0 ? void 0 : exports.optimizelyClientInstance.getOptimizelyConfig();
105
105
  }
106
106
  return null;
107
107
  })];
108
108
  case 1:
109
- config = _a.sent();
110
- if (!config)
109
+ optimizelyConfig = _a.sent();
110
+ if (!optimizelyConfig)
111
111
  return [2 /*return*/, exports.defaultFeatureFlags];
112
- featureFlags = config.featuresMap;
112
+ featureFlags = optimizelyConfig.featuresMap;
113
113
  featureFlagsKeys = Object.keys(featureFlags);
114
114
  allFeatureFlags = (0, exports.getFlattenFeatureFlags)(featureFlagsKeys, featureFlags);
115
115
  return [2 /*return*/, allFeatureFlags];
@@ -117,7 +117,7 @@ var getFeatureFlags = function () { return __awaiter(void 0, void 0, void 0, fun
117
117
  });
118
118
  }); };
119
119
  exports.getFeatureFlags = getFeatureFlags;
120
- var initAndGetFeatureFlag = function (sdkKey) { return __awaiter(void 0, void 0, void 0, function () {
120
+ var initAndGetFeatureFlag = function (sdkKey, attributes) { return __awaiter(void 0, void 0, void 0, function () {
121
121
  var featureFlags;
122
122
  return __generator(this, function (_a) {
123
123
  switch (_a.label) {
@@ -126,6 +126,7 @@ var initAndGetFeatureFlag = function (sdkKey) { return __awaiter(void 0, void 0,
126
126
  if (!sdkKey) return [3 /*break*/, 2];
127
127
  (0, exports.createFeatureFlagsInstance)({
128
128
  optimizelyConfig: { sdkKey: sdkKey },
129
+ userAttributes: attributes,
129
130
  });
130
131
  return [4 /*yield*/, (0, exports.getFeatureFlags)()];
131
132
  case 1:
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8EAA4E;AAC5E,iCAKgB;AAChB,mCAAoE;AAIzD,QAAA,mBAAmB,GAAgB,EAAE,CAAA;AACzC,IAAM,cAAc,GAAG;IAC5B,0BAAkB,GAAG,IAAI,CAAA;AAC3B,CAAC,CAAA;AAFY,QAAA,cAAc,kBAE1B;AAEM,IAAM,0BAA0B,GAAG,UAAC,MAAsB;IAC/D,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE;QACnC,MAAM,IAAI,iCAAyB,EAAE,CAAA;KACtC;IAED,0BAAkB,GAAG,wBAAa,CAAC,cAAc,uBAC5C,MAAM,CAAC,gBAAgB,GACvB,mCAA0B,EAC7B,CAAA;IACF,oBAAY,GAAG,MAAM,CAAC,MAAM,IAAI,sBAAa,CAAA;IAC7C,IAAI,MAAM,CAAC,QAAQ,EAAE;QACnB,wBAAa,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAC1C,wBAAa,CAAC,SAAS,CAAC,wBAAa,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;KAC9D;IACD,IAAI,MAAM,CAAC,mBAAmB,EAAE;QAC9B,2BAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAA;KACjD;AACH,CAAC,CAAA;AAjBY,QAAA,0BAA0B,8BAiBtC;AAEM,IAAM,sBAAsB,GAAG,UAAC,IAAI,EAAE,KAAK;IAChD,OAAA,IAAI;SACD,GAAG,CAAC,UAAC,IAAI;;QACR;YACE,GAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,IAAG,0BAAkB,CAAC,gBAAgB,CACpD,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EACf,oBAAY,CACb;eACF;IACH,CAAC,CAAC;SACD,MAAM,CAAC,UAAC,GAAG,EAAE,GAAG;QACf,IAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QAC/B,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;QACnB,OAAO,GAAG,CAAA;IACZ,CAAC,EAAE,EAAE,CAAC;AAbR,CAaQ,CAAA;AAdG,QAAA,sBAAsB,0BAczB;AAEH,IAAM,eAAe,GAAG;;;;;gBAC7B,IAAI,CAAC,0BAAkB,EAAE;oBACvB,MAAM,IAAI,4BAAoB,EAAE,CAAA;iBACjC;gBACuC,qBAAM,0BAAkB;yBAC7D,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;yBAC1B,IAAI,CAAC,UAAC,MAAM;wBACX,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE;4BAC5B,OAAO,0BAAkB,CAAC,mBAAmB,EAAE,CAAA;yBAChD;wBACD,OAAO,IAAI,CAAA;oBACb,CAAC,CAAC,EAAA;;gBAPE,MAAM,GAA4B,SAOpC;gBACJ,IAAI,CAAC,MAAM;oBAAE,sBAAO,2BAAmB,EAAA;gBACjC,YAAY,GAAG,MAAM,CAAC,WAAW,CAAA;gBAEjC,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;gBAE5C,eAAe,GAAgB,IAAA,8BAAsB,EACzD,gBAAgB,EAChB,YAAY,CACb,CAAA;gBAED,sBAAO,eAAe,EAAA;;;KACvB,CAAA;AAvBY,QAAA,eAAe,mBAuB3B;AAEM,IAAM,qBAAqB,GAAG,UACnC,MAAe;;;;;gBAEX,YAAY,GAAG,EAAE,CAAA;qBACjB,MAAM,EAAN,wBAAM;gBACR,IAAA,kCAA0B,EAAC;oBACzB,gBAAgB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;iBACrC,CAAC,CAAA;gBACa,qBAAM,IAAA,uBAAe,GAAE,EAAA;;gBAAtC,YAAY,GAAG,SAAuB,CAAA;;oBAExC,sBAAO,YAAY,EAAA;;;KACpB,CAAA;AAXY,QAAA,qBAAqB,yBAWjC;AAED,kBAAe,EAAE,0BAA0B,oCAAA,EAAE,eAAe,yBAAA,EAAE,CAAA"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,14 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
1
12
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
13
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
14
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -34,9 +45,9 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
34
45
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
46
  }
36
47
  };
37
- import { getFeatureFlags, createFeatureFlagsInstance, getFlattenFeatureFlags, userIdentity, defaultFeatureFlags, _resetInstance, initAndGetFeatureFlag, } from '../utils';
38
- import { defaultUserId } from '../config';
39
48
  import optimizelySDK from '@optimizely/optimizely-sdk';
49
+ import { createFeatureFlagsInstance, getFeatureFlags, getFlattenFeatureFlags, initAndGetFeatureFlag, userIdentity, userAttributes, defaultFeatureFlags, _resetInstance, } from '../utils';
50
+ import { defaultUserId, defaultUserAttributes } from '../config';
40
51
  import { MissingConfigurationError, MissingInstanceError } from '../types';
41
52
  var mockFeaturesMap = {
42
53
  test_flag: {
@@ -48,21 +59,25 @@ var mockFeaturesMap = {
48
59
  enabled: true,
49
60
  },
50
61
  };
51
- optimizelySDK.createInstance = jest.fn().mockReturnValue({
52
- isFeatureEnabled: jest.fn().mockImplementation(function (key) {
53
- return mockFeaturesMap[key].enabled;
54
- }),
55
- onReady: jest.fn().mockResolvedValue({ success: true }),
56
- getOptimizelyConfig: jest
57
- .fn()
58
- .mockReturnValue({ featuresMap: mockFeaturesMap }),
59
- });
62
+ jest.mock('@optimizely/optimizely-sdk', function () { return (__assign(__assign({}, jest.requireActual('@optimizely/optimizely-sdk')), { createInstance: function () { return ({
63
+ isFeatureEnabled: jest
64
+ .fn()
65
+ .mockImplementation(function (featureKey, userId) {
66
+ return mockFeaturesMap[featureKey].enabled;
67
+ }),
68
+ onReady: jest.fn().mockResolvedValue({ success: true }),
69
+ getOptimizelyConfig: jest
70
+ .fn()
71
+ .mockReturnValue({ featuresMap: mockFeaturesMap }),
72
+ }); } })); });
60
73
  jest
61
74
  .spyOn(optimizelySDK, 'setLogLevel')
62
75
  .mockImplementation(function (logLevel) { return logLevel; });
63
76
  jest.spyOn(optimizelySDK, 'setLogger');
77
+ beforeEach(function () {
78
+ jest.resetModules();
79
+ });
64
80
  afterEach(function () {
65
- jest.clearAllMocks();
66
81
  _resetInstance();
67
82
  });
68
83
  describe('createFeatureFlagsInstance', function () {
@@ -80,6 +95,17 @@ describe('createFeatureFlagsInstance', function () {
80
95
  }
81
96
  });
82
97
  }); });
98
+ it('should use default attributes when creating instance', function () { return __awaiter(void 0, void 0, void 0, function () {
99
+ return __generator(this, function (_a) {
100
+ switch (_a.label) {
101
+ case 0: return [4 /*yield*/, createFeatureFlagsInstance({ optimizelyConfig: { sdkKey: 'sdkkey' } })];
102
+ case 1:
103
+ _a.sent();
104
+ expect(userAttributes).toEqual(defaultUserAttributes);
105
+ return [2 /*return*/];
106
+ }
107
+ });
108
+ }); });
83
109
  it('should set userId when creating instance and passing userId', function () { return __awaiter(void 0, void 0, void 0, function () {
84
110
  return __generator(this, function (_a) {
85
111
  switch (_a.label) {
@@ -94,6 +120,42 @@ describe('createFeatureFlagsInstance', function () {
94
120
  }
95
121
  });
96
122
  }); });
123
+ it('should set attributes when creating instance and passing attributes', function () { return __awaiter(void 0, void 0, void 0, function () {
124
+ return __generator(this, function (_a) {
125
+ switch (_a.label) {
126
+ case 0: return [4 /*yield*/, createFeatureFlagsInstance({
127
+ optimizelyConfig: { sdkKey: 'sdkkey' },
128
+ userAttributes: {
129
+ cpn: '4AAA039156221',
130
+ billingDetails: {
131
+ paymentMethod: {
132
+ type: 'CreditCard',
133
+ cardType: 'Visa',
134
+ cardNumber: '************4321',
135
+ expirationYear: 2028,
136
+ expirationMonth: 2,
137
+ },
138
+ },
139
+ },
140
+ })];
141
+ case 1:
142
+ _a.sent();
143
+ expect(userAttributes).toEqual({
144
+ cpn: '4AAA039156221',
145
+ billingDetails: {
146
+ paymentMethod: {
147
+ type: 'CreditCard',
148
+ cardType: 'Visa',
149
+ cardNumber: '************4321',
150
+ expirationYear: 2028,
151
+ expirationMonth: 2,
152
+ },
153
+ },
154
+ });
155
+ return [2 /*return*/];
156
+ }
157
+ });
158
+ }); });
97
159
  it('should set defaultFeatureFlags when they have been passed', function () { return __awaiter(void 0, void 0, void 0, function () {
98
160
  return __generator(this, function (_a) {
99
161
  switch (_a.label) {
@@ -176,24 +238,32 @@ describe('getFeatureFlags', function () {
176
238
  });
177
239
  }); });
178
240
  it('should return default feature flags object & optimizely.onReady returns success: false', function () { return __awaiter(void 0, void 0, void 0, function () {
179
- var _a;
241
+ var utils, _a;
180
242
  return __generator(this, function (_b) {
181
243
  switch (_b.label) {
182
244
  case 0:
183
- optimizelySDK.createInstance = jest.fn().mockReturnValue({
184
- onReady: jest.fn().mockResolvedValue({ success: false }),
185
- isFeatureEnabled: jest.fn().mockImplementation(function (key) {
186
- return mockFeaturesMap[key].enabled;
187
- }),
188
- });
189
- return [4 /*yield*/, createFeatureFlagsInstance({
245
+ jest.doMock('@optimizely/optimizely-sdk', function () { return ({
246
+ createInstance: function () { return ({
247
+ isFeatureEnabled: jest
248
+ .fn()
249
+ .mockImplementation(function (featureKey, userId) {
250
+ return mockFeaturesMap[featureKey].enabled;
251
+ }),
252
+ onReady: jest.fn().mockResolvedValue({ success: false }),
253
+ getOptimizelyConfig: jest
254
+ .fn()
255
+ .mockReturnValue({ featuresMap: mockFeaturesMap }),
256
+ }); },
257
+ }); });
258
+ utils = require('../utils').default;
259
+ return [4 /*yield*/, utils.createFeatureFlagsInstance({
190
260
  optimizelyConfig: { sdkKey: 'sdkkey' },
191
261
  defaultFeatureFlags: { defaultFlag: true },
192
262
  })];
193
263
  case 1:
194
264
  _b.sent();
195
265
  _a = expect;
196
- return [4 /*yield*/, getFeatureFlags()];
266
+ return [4 /*yield*/, utils.getFeatureFlags()];
197
267
  case 2:
198
268
  _a.apply(void 0, [_b.sent()]).toEqual({
199
269
  defaultFlag: true,
@@ -204,6 +274,19 @@ describe('getFeatureFlags', function () {
204
274
  }); });
205
275
  });
206
276
  describe('initAndGetFeatureFlag', function () {
277
+ it('should return empty object', function () { return __awaiter(void 0, void 0, void 0, function () {
278
+ var _a;
279
+ return __generator(this, function (_b) {
280
+ switch (_b.label) {
281
+ case 0:
282
+ _a = expect;
283
+ return [4 /*yield*/, initAndGetFeatureFlag()];
284
+ case 1:
285
+ _a.apply(void 0, [_b.sent()]).toEqual({});
286
+ return [2 /*return*/];
287
+ }
288
+ });
289
+ }); });
207
290
  it('should return flag', function () { return __awaiter(void 0, void 0, void 0, function () {
208
291
  var _a;
209
292
  return __generator(this, function (_b) {
@@ -213,21 +296,75 @@ describe('initAndGetFeatureFlag', function () {
213
296
  return [4 /*yield*/, initAndGetFeatureFlag('sdkkey')];
214
297
  case 1:
215
298
  _a.apply(void 0, [_b.sent()]).toEqual({
216
- defaultFlag: true,
299
+ test_flag: false,
300
+ test_flag2: true,
217
301
  });
218
302
  return [2 /*return*/];
219
303
  }
220
304
  });
221
305
  }); });
222
- it('should return empty object', function () { return __awaiter(void 0, void 0, void 0, function () {
223
- var _a;
306
+ it('should return flags for specific attributes - feature is enabeled for this user', function () { return __awaiter(void 0, void 0, void 0, function () {
307
+ var utils, _a;
224
308
  return __generator(this, function (_b) {
225
309
  switch (_b.label) {
226
310
  case 0:
311
+ jest.doMock('@optimizely/optimizely-sdk', function () { return ({
312
+ createInstance: function () { return ({
313
+ isFeatureEnabled: jest
314
+ .fn()
315
+ .mockImplementation(function (featureKey, userId, attributes) {
316
+ if (attributes.cpn === '4AAA039156221') {
317
+ return true;
318
+ }
319
+ return mockFeaturesMap[featureKey].enabled;
320
+ }),
321
+ onReady: jest.fn().mockResolvedValue({ success: true }),
322
+ getOptimizelyConfig: jest
323
+ .fn()
324
+ .mockReturnValue({ featuresMap: mockFeaturesMap }),
325
+ }); },
326
+ }); });
327
+ utils = require('../utils');
227
328
  _a = expect;
228
- return [4 /*yield*/, initAndGetFeatureFlag()];
329
+ return [4 /*yield*/, utils.initAndGetFeatureFlag('sdkkey', { cpn: '4AAA039156221' })];
229
330
  case 1:
230
- _a.apply(void 0, [_b.sent()]).toEqual({});
331
+ _a.apply(void 0, [_b.sent()]).toEqual({
332
+ test_flag: true,
333
+ test_flag2: true,
334
+ });
335
+ return [2 /*return*/];
336
+ }
337
+ });
338
+ }); });
339
+ it('should return flags for specific attributes - feature is not enabled for this user', function () { return __awaiter(void 0, void 0, void 0, function () {
340
+ var utils, _a;
341
+ return __generator(this, function (_b) {
342
+ switch (_b.label) {
343
+ case 0:
344
+ jest.doMock('@optimizely/optimizely-sdk', function () { return ({
345
+ createInstance: function () { return ({
346
+ isFeatureEnabled: jest
347
+ .fn()
348
+ .mockImplementation(function (featureKey, userId, attributes) {
349
+ if (attributes.cpn === '4AAA039156228') {
350
+ return mockFeaturesMap[featureKey].enabled;
351
+ }
352
+ return false;
353
+ }),
354
+ onReady: jest.fn().mockResolvedValue({ success: true }),
355
+ getOptimizelyConfig: jest
356
+ .fn()
357
+ .mockReturnValue({ featuresMap: mockFeaturesMap }),
358
+ }); },
359
+ }); });
360
+ utils = require('../utils');
361
+ _a = expect;
362
+ return [4 /*yield*/, utils.initAndGetFeatureFlag('sdkkey', { cpn: '4AAA039156221' })];
363
+ case 1:
364
+ _a.apply(void 0, [_b.sent()]).toEqual({
365
+ test_flag: false,
366
+ test_flag2: false,
367
+ });
231
368
  return [2 /*return*/];
232
369
  }
233
370
  });
@@ -1 +1 @@
1
- {"version":3,"file":"utils.tests.js","sourceRoot":"","sources":["../../../src/__tests__/utils.tests.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.tests.js","sourceRoot":"","sources":["../../../src/__tests__/utils.tests.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  import { Config } from '@optimizely/optimizely-sdk';
2
2
  export declare const optimizelyDefaultSDKConfig: Config;
3
3
  export declare const defaultUserId = "default_userId";
4
+ export declare const defaultUserAttributes: {};
@@ -5,4 +5,5 @@ export var optimizelyDefaultSDKConfig = {
5
5
  },
6
6
  };
7
7
  export var defaultUserId = 'default_userId';
8
+ export var defaultUserAttributes = {};
8
9
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,IAAM,0BAA0B,GAAW;IAChD,eAAe,EAAE;QACf,UAAU,EAAE,IAAI;QAChB,cAAc,EAAE,MAAM;KACvB;CACF,CAAA;AAED,MAAM,CAAC,IAAM,aAAa,GAAG,gBAAgB,CAAA"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,IAAM,0BAA0B,GAAW;IAChD,eAAe,EAAE;QACf,UAAU,EAAE,IAAI;QAChB,cAAc,EAAE,MAAM;KACvB;CACF,CAAA;AAED,MAAM,CAAC,IAAM,aAAa,GAAG,gBAAgB,CAAA;AAC7C,MAAM,CAAC,IAAM,qBAAqB,GAAG,EAAE,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { ReactNode } from 'react';
2
- import { Config } from '@optimizely/optimizely-sdk';
2
+ import { Config, UserAttributes } from '@optimizely/optimizely-sdk';
3
3
  export interface FeatureFlag {
4
4
  [key: string]: boolean;
5
5
  }
@@ -13,6 +13,7 @@ export interface ContextProviderProps {
13
13
  export interface InstanceConfig {
14
14
  optimizelyConfig: Config;
15
15
  userId?: string;
16
+ userAttributes?: UserAttributes;
16
17
  defaultFeatureFlags?: FeatureFlag;
17
18
  logLevel?: 'critical' | 'error' | 'warning' | 'debug' | 'info';
18
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAuBA;IAA+C,6CAAK;IAClD;eACE,kBACE,uHAAuH,CACxH;IACH,CAAC;IACH,gCAAC;AAAD,CAAC,AAND,CAA+C,KAAK,GAMnD;;AAED;IAA0C,wCAAK;IAC7C;eACE,kBACE,sHAAsH,CACvH;IACH,CAAC;IACH,2BAAC;AAAD,CAAC,AAND,CAA0C,KAAK,GAM9C;;AAED;IAAiD,+CAAK;IACpD;eACE,kBACE,uGAAuG,CACxG;IACH,CAAC;IACH,kCAAC;AAAD,CAAC,AAND,CAAiD,KAAK,GAMrD"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAwBA;IAA+C,6CAAK;IAClD;eACE,kBACE,uHAAuH,CACxH;IACH,CAAC;IACH,gCAAC;AAAD,CAAC,AAND,CAA+C,KAAK,GAMnD;;AAED;IAA0C,wCAAK;IAC7C;eACE,kBACE,sHAAsH,CACvH;IACH,CAAC;IACH,2BAAC;AAAD,CAAC,AAND,CAA0C,KAAK,GAM9C;;AAED;IAAiD,+CAAK;IACpD;eACE,kBACE,uGAAuG,CACxG;IACH,CAAC;IACH,kCAAC;AAAD,CAAC,AAND,CAAiD,KAAK,GAMrD"}
@@ -1,12 +1,14 @@
1
+ import { Client, UserAttributes } from '@optimizely/optimizely-sdk';
1
2
  import { InstanceConfig, FeatureFlag } from './types';
2
- export declare let optimizelyInstance: any;
3
- export declare let userIdentity: any;
3
+ export declare let optimizelyClientInstance: Client | null;
4
+ export declare let userIdentity: string;
5
+ export declare let userAttributes: UserAttributes;
4
6
  export declare let defaultFeatureFlags: FeatureFlag;
5
7
  export declare const _resetInstance: () => void;
6
8
  export declare const createFeatureFlagsInstance: (config: InstanceConfig) => void;
7
- export declare const getFlattenFeatureFlags: (keys: any, array: any) => FeatureFlag;
9
+ export declare const getFlattenFeatureFlags: (featureFlagsKeys: any, featuresMap: any) => FeatureFlag;
8
10
  export declare const getFeatureFlags: () => Promise<FeatureFlag>;
9
- export declare const initAndGetFeatureFlag: (sdkKey?: string) => Promise<FeatureFlag>;
11
+ export declare const initAndGetFeatureFlag: (sdkKey?: string, attributes?: UserAttributes) => Promise<FeatureFlag>;
10
12
  declare const _default: {
11
13
  createFeatureFlagsInstance: (config: InstanceConfig) => void;
12
14
  getFeatureFlags: () => Promise<FeatureFlag>;
package/dist/esm/utils.js CHANGED
@@ -47,19 +47,21 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
47
47
  };
48
48
  import optimizelySDK from '@optimizely/optimizely-sdk';
49
49
  import { MissingConfigurationError, MissingInstanceError, } from './types';
50
- import { optimizelyDefaultSDKConfig, defaultUserId } from './config';
51
- export var optimizelyInstance;
50
+ import { optimizelyDefaultSDKConfig, defaultUserId, defaultUserAttributes, } from './config';
51
+ export var optimizelyClientInstance;
52
52
  export var userIdentity;
53
+ export var userAttributes;
53
54
  export var defaultFeatureFlags = {};
54
55
  export var _resetInstance = function () {
55
- optimizelyInstance = null;
56
+ optimizelyClientInstance = null;
56
57
  };
57
58
  export var createFeatureFlagsInstance = function (config) {
58
59
  if (!config.optimizelyConfig.sdkKey) {
59
60
  throw new MissingConfigurationError();
60
61
  }
61
- optimizelyInstance = optimizelySDK.createInstance(__assign(__assign({}, config.optimizelyConfig), optimizelyDefaultSDKConfig));
62
+ optimizelyClientInstance = optimizelySDK.createInstance(__assign(__assign({}, optimizelyDefaultSDKConfig), config.optimizelyConfig));
62
63
  userIdentity = config.userId || defaultUserId;
64
+ userAttributes = config.userAttributes || defaultUserAttributes;
63
65
  if (config.logLevel) {
64
66
  optimizelySDK.setLogLevel(config.logLevel);
65
67
  optimizelySDK.setLogger(optimizelySDK.logging.createLogger());
@@ -68,12 +70,13 @@ export var createFeatureFlagsInstance = function (config) {
68
70
  defaultFeatureFlags = config.defaultFeatureFlags;
69
71
  }
70
72
  };
71
- export var getFlattenFeatureFlags = function (keys, array) {
72
- return keys
73
- .map(function (feat) {
73
+ export var getFlattenFeatureFlags = function (featureFlagsKeys, featuresMap) {
74
+ return featureFlagsKeys
75
+ .map(function (flagKey) {
74
76
  var _a;
77
+ var isFeatureEnabled = optimizelyClientInstance === null || optimizelyClientInstance === void 0 ? void 0 : optimizelyClientInstance.isFeatureEnabled(featuresMap[flagKey].key, userIdentity, userAttributes);
75
78
  return _a = {},
76
- _a[array[feat].key] = optimizelyInstance.isFeatureEnabled(array[feat].key, userIdentity),
79
+ _a[featuresMap[flagKey].key] = isFeatureEnabled,
77
80
  _a;
78
81
  })
79
82
  .reduce(function (map, obj) {
@@ -83,33 +86,31 @@ export var getFlattenFeatureFlags = function (keys, array) {
83
86
  }, {});
84
87
  };
85
88
  export var getFeatureFlags = function () { return __awaiter(void 0, void 0, void 0, function () {
86
- var config, featureFlags, featureFlagsKeys, allFeatureFlags;
89
+ var optimizelyConfig, featureFlags, featureFlagsKeys, allFeatureFlags;
87
90
  return __generator(this, function (_a) {
88
91
  switch (_a.label) {
89
92
  case 0:
90
- if (!optimizelyInstance) {
93
+ if (!optimizelyClientInstance) {
91
94
  throw new MissingInstanceError();
92
95
  }
93
- return [4 /*yield*/, optimizelyInstance
94
- .onReady({ timeout: 1000 })
95
- .then(function (result) {
96
+ return [4 /*yield*/, optimizelyClientInstance.onReady({ timeout: 1000 }).then(function (result) {
96
97
  if (result && result.success) {
97
- return optimizelyInstance.getOptimizelyConfig();
98
+ return optimizelyClientInstance === null || optimizelyClientInstance === void 0 ? void 0 : optimizelyClientInstance.getOptimizelyConfig();
98
99
  }
99
100
  return null;
100
101
  })];
101
102
  case 1:
102
- config = _a.sent();
103
- if (!config)
103
+ optimizelyConfig = _a.sent();
104
+ if (!optimizelyConfig)
104
105
  return [2 /*return*/, defaultFeatureFlags];
105
- featureFlags = config.featuresMap;
106
+ featureFlags = optimizelyConfig.featuresMap;
106
107
  featureFlagsKeys = Object.keys(featureFlags);
107
108
  allFeatureFlags = getFlattenFeatureFlags(featureFlagsKeys, featureFlags);
108
109
  return [2 /*return*/, allFeatureFlags];
109
110
  }
110
111
  });
111
112
  }); };
112
- export var initAndGetFeatureFlag = function (sdkKey) { return __awaiter(void 0, void 0, void 0, function () {
113
+ export var initAndGetFeatureFlag = function (sdkKey, attributes) { return __awaiter(void 0, void 0, void 0, function () {
113
114
  var featureFlags;
114
115
  return __generator(this, function (_a) {
115
116
  switch (_a.label) {
@@ -118,6 +119,7 @@ export var initAndGetFeatureFlag = function (sdkKey) { return __awaiter(void 0,
118
119
  if (!sdkKey) return [3 /*break*/, 2];
119
120
  createFeatureFlagsInstance({
120
121
  optimizelyConfig: { sdkKey: sdkKey },
122
+ userAttributes: attributes,
121
123
  });
122
124
  return [4 /*yield*/, getFeatureFlags()];
123
125
  case 1:
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@newskit-render/feature-flags",
3
- "version": "1.7.0",
3
+ "version": "1.8.0-alpha.0",
4
4
  "description": "A package for utilizing feature flags for newskit-render consumers, based on optimizely's capabilities.",
5
5
  "author": "",
6
6
  "license": "UNLICENSED",