@newskit-render/feature-flags 0.0.0-1cbb2a4f

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.
Files changed (38) hide show
  1. package/README.md +155 -0
  2. package/dist/cjs/__tests__/utils.tests.d.ts +1 -0
  3. package/dist/cjs/__tests__/utils.tests.js +672 -0
  4. package/dist/cjs/__tests__/utils.tests.js.map +1 -0
  5. package/dist/cjs/feature-flags-context.d.ts +9 -0
  6. package/dist/cjs/feature-flags-context.js +44 -0
  7. package/dist/cjs/feature-flags-context.js.map +1 -0
  8. package/dist/cjs/index.d.ts +3 -0
  9. package/dist/cjs/index.js +20 -0
  10. package/dist/cjs/index.js.map +1 -0
  11. package/dist/cjs/optimizelyClient.d.ts +2 -0
  12. package/dist/cjs/optimizelyClient.js +44 -0
  13. package/dist/cjs/optimizelyClient.js.map +1 -0
  14. package/dist/cjs/types.d.ts +33 -0
  15. package/dist/cjs/types.js +48 -0
  16. package/dist/cjs/types.js.map +1 -0
  17. package/dist/cjs/utils.d.ts +3 -0
  18. package/dist/cjs/utils.js +162 -0
  19. package/dist/cjs/utils.js.map +1 -0
  20. package/dist/esm/__tests__/utils.tests.d.ts +1 -0
  21. package/dist/esm/__tests__/utils.tests.js +670 -0
  22. package/dist/esm/__tests__/utils.tests.js.map +1 -0
  23. package/dist/esm/feature-flags-context.d.ts +9 -0
  24. package/dist/esm/feature-flags-context.js +16 -0
  25. package/dist/esm/feature-flags-context.js.map +1 -0
  26. package/dist/esm/index.d.ts +3 -0
  27. package/dist/esm/index.js +4 -0
  28. package/dist/esm/index.js.map +1 -0
  29. package/dist/esm/optimizelyClient.d.ts +2 -0
  30. package/dist/esm/optimizelyClient.js +40 -0
  31. package/dist/esm/optimizelyClient.js.map +1 -0
  32. package/dist/esm/types.d.ts +33 -0
  33. package/dist/esm/types.js +45 -0
  34. package/dist/esm/types.js.map +1 -0
  35. package/dist/esm/utils.d.ts +3 -0
  36. package/dist/esm/utils.js +157 -0
  37. package/dist/esm/utils.js.map +1 -0
  38. package/package.json +64 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.tests.js","sourceRoot":"","sources":["../../../src/__tests__/utils.tests.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import { ContextOptions, ContextProviderProps } from './types';
3
+ export declare const FeatureFlagsContextProvider: React.FC<ContextProviderProps>;
4
+ export declare const useFeatureFlagsContext: () => ContextOptions;
5
+ declare const _default: {
6
+ FeatureFlagsContextProvider: React.FC<ContextProviderProps>;
7
+ useFeatureFlagsContext: () => ContextOptions;
8
+ };
9
+ export default _default;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.useFeatureFlagsContext = exports.FeatureFlagsContextProvider = void 0;
27
+ var react_1 = __importStar(require("react"));
28
+ var types_1 = require("./types");
29
+ var FeatureFlagsContext = (0, react_1.createContext)(null);
30
+ var FeatureFlagsContextProvider = function (_a) {
31
+ var context = _a.context, children = _a.children;
32
+ return (react_1.default.createElement(FeatureFlagsContext.Provider, { value: context }, children));
33
+ };
34
+ exports.FeatureFlagsContextProvider = FeatureFlagsContextProvider;
35
+ var useFeatureFlagsContext = function () {
36
+ var featureFlagsContext = (0, react_1.useContext)(FeatureFlagsContext);
37
+ if (!featureFlagsContext) {
38
+ throw new types_1.MissingFeatureFlagsProvider();
39
+ }
40
+ return featureFlagsContext;
41
+ };
42
+ exports.useFeatureFlagsContext = useFeatureFlagsContext;
43
+ exports.default = { FeatureFlagsContextProvider: exports.FeatureFlagsContextProvider, useFeatureFlagsContext: exports.useFeatureFlagsContext };
44
+ //# sourceMappingURL=feature-flags-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feature-flags-context.js","sourceRoot":"","sources":["../../src/feature-flags-context.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAwD;AACxD,iCAIgB;AAEhB,IAAM,mBAAmB,GAAG,IAAA,qBAAa,EAAwB,IAAI,CAAC,CAAA;AAE/D,IAAM,2BAA2B,GAAmC,UAAC,EAG3E;QAFC,OAAO,aAAA,EACP,QAAQ,cAAA;IAER,OAAO,CACL,8BAAC,mBAAmB,CAAC,QAAQ,IAAC,KAAK,EAAE,OAAO,IACzC,QAAQ,CACoB,CAChC,CAAA;AACH,CAAC,CAAA;AATY,QAAA,2BAA2B,+BASvC;AAEM,IAAM,sBAAsB,GAAG;IACpC,IAAM,mBAAmB,GAAG,IAAA,kBAAU,EAAC,mBAAmB,CAAC,CAAA;IAC3D,IAAI,CAAC,mBAAmB,EAAE;QACxB,MAAM,IAAI,mCAA2B,EAAE,CAAA;KACxC;IACD,OAAO,mBAAmB,CAAA;AAC5B,CAAC,CAAA;AANY,QAAA,sBAAsB,0BAMlC;AAED,kBAAe,EAAE,2BAA2B,qCAAA,EAAE,sBAAsB,gCAAA,EAAE,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * from './feature-flags-context';
2
+ export * from './utils';
3
+ export * from './types';
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./feature-flags-context"), exports);
18
+ __exportStar(require("./utils"), exports);
19
+ __exportStar(require("./types"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAuC;AACvC,0CAAuB;AACvB,0CAAuB"}
@@ -0,0 +1,2 @@
1
+ import { SDKConfig, OptimizelyClient } from './types';
2
+ export declare const getOptimizelyClient: (options?: SDKConfig) => OptimizelyClient;
@@ -0,0 +1,44 @@
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
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.getOptimizelyClient = void 0;
15
+ var optimizely_sdk_1 = require("@optimizely/optimizely-sdk");
16
+ // export const _resetInstance = (): void => {
17
+ // optimizelyClient = null
18
+ // }
19
+ // let optimizelyClient: OptimizelyClient
20
+ var getOptimizelyClient = function (options) {
21
+ var _a;
22
+ var sdkKey = ((_a = options === null || options === void 0 ? void 0 : options.sdkConfig) === null || _a === void 0 ? void 0 : _a.sdkKey) || process.env.OPTIMIZELY_SDK_KEY;
23
+ if (!sdkKey) {
24
+ console.error('@newskit-render/feature-flags: Missing configuration. Please provide optimizely sdk key in the environment variables.');
25
+ return null;
26
+ }
27
+ // if (!optimizelyClient) {
28
+ // // Added for debugging. TO DO - remove
29
+ // console.log('MISSING INSTANCE. createInstance called')
30
+ // const config: Config = { sdkKey }
31
+ // optimizelyClient = createInstance({
32
+ // ...config,
33
+ // })
34
+ // }
35
+ var config = { sdkKey: sdkKey };
36
+ var optimizelyClient = (0, optimizely_sdk_1.createInstance)(__assign({}, config));
37
+ if (options === null || options === void 0 ? void 0 : options.logLevel) {
38
+ (0, optimizely_sdk_1.setLogLevel)(options === null || options === void 0 ? void 0 : options.logLevel);
39
+ (0, optimizely_sdk_1.setLogger)(optimizely_sdk_1.logging.createLogger());
40
+ }
41
+ return optimizelyClient;
42
+ };
43
+ exports.getOptimizelyClient = getOptimizelyClient;
44
+ //# sourceMappingURL=optimizelyClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"optimizelyClient.js","sourceRoot":"","sources":["../../src/optimizelyClient.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,6DAMmC;AAGnC,8CAA8C;AAC9C,4BAA4B;AAC5B,IAAI;AAEJ,yCAAyC;AAElC,IAAM,mBAAmB,GAAG,UAAC,OAAmB;;IACrD,IAAM,MAAM,GAAG,CAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,0CAAE,MAAM,KAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAA;IAE3E,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,CAAC,KAAK,CACX,uHAAuH,CACxH,CAAA;QACD,OAAO,IAAI,CAAA;KACZ;IAED,2BAA2B;IAC3B,2CAA2C;IAC3C,2DAA2D;IAC3D,sCAAsC;IACtC,wCAAwC;IACxC,iBAAiB;IACjB,OAAO;IACP,IAAI;IAEJ,IAAM,MAAM,GAAW,EAAE,MAAM,QAAA,EAAE,CAAA;IACjC,IAAM,gBAAgB,GAAG,IAAA,+BAAc,eAClC,MAAM,EACT,CAAA;IAEF,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,EAAE;QACrB,IAAA,4BAAW,EAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAC,CAAA;QAC9B,IAAA,0BAAS,EAAC,wBAAO,CAAC,YAAY,EAAE,CAAC,CAAA;KAClC;IAED,OAAO,gBAAgB,CAAA;AACzB,CAAC,CAAA;AA9BY,QAAA,mBAAmB,uBA8B/B"}
@@ -0,0 +1,33 @@
1
+ import { ReactNode } from 'react';
2
+ import { Config, UserAttributes, OptimizelyDecideOption, Client } from '@optimizely/optimizely-sdk';
3
+ export interface ContextOptions {
4
+ featureFlags?: Flags;
5
+ }
6
+ export interface ContextProviderProps {
7
+ children: ReactNode;
8
+ context: ContextOptions;
9
+ }
10
+ export type Flags = {
11
+ [key: string]: {
12
+ variationKey: string | null;
13
+ enabled: boolean;
14
+ variables: {
15
+ [variableKey: string]: unknown;
16
+ };
17
+ };
18
+ };
19
+ export type OptimizelyClient = Client | null;
20
+ export type SDKConfig = {
21
+ sdkConfig?: Config;
22
+ logLevel?: 'critical' | 'error' | 'warning' | 'debug' | 'info';
23
+ userData?: {
24
+ userId?: string;
25
+ attributes?: UserAttributes;
26
+ };
27
+ defaultFeatureFlags?: Flags;
28
+ includeFlagVariables?: boolean;
29
+ decideOptions?: OptimizelyDecideOption[];
30
+ };
31
+ export declare class MissingFeatureFlagsProvider extends Error {
32
+ constructor();
33
+ }
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.MissingFeatureFlagsProvider = void 0;
19
+ // export class MissingConfigurationError extends Error {
20
+ // constructor() {
21
+ // super(
22
+ // '@newskit-render/feature-flags: Missing configuration. Please provide optimizely sdk key in the environment variables.'
23
+ // )
24
+ // }
25
+ // }
26
+ // export class MissingInstanceError extends Error {
27
+ // constructor() {
28
+ // super(
29
+ // '@newskit-render/feature-flags: Missing optimizely instance. Please call getFlagsAll, getFlag or getFlagsByKeys'
30
+ // )
31
+ // }
32
+ // }
33
+ // export class MissingUserContextError extends Error {
34
+ // constructor() {
35
+ // super(
36
+ // '@newskit-render/feature-flags: Missing optimizely user context. Please call getFlagsAll, getFlag or getFlagsByKeys'
37
+ // )
38
+ // }
39
+ // }
40
+ var MissingFeatureFlagsProvider = /** @class */ (function (_super) {
41
+ __extends(MissingFeatureFlagsProvider, _super);
42
+ function MissingFeatureFlagsProvider() {
43
+ return _super.call(this, '@newskit-render/feature-flags: useFeatureFlagsContext was used outside of FeatureFlagsContextProvider') || this;
44
+ }
45
+ return MissingFeatureFlagsProvider;
46
+ }(Error));
47
+ exports.MissingFeatureFlagsProvider = MissingFeatureFlagsProvider;
48
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAyCA,yDAAyD;AACzD,oBAAoB;AACpB,aAAa;AACb,gIAAgI;AAChI,QAAQ;AACR,MAAM;AACN,IAAI;AAEJ,oDAAoD;AACpD,oBAAoB;AACpB,aAAa;AACb,yHAAyH;AACzH,QAAQ;AACR,MAAM;AACN,IAAI;AAEJ,uDAAuD;AACvD,oBAAoB;AACpB,aAAa;AACb,6HAA6H;AAC7H,QAAQ;AACR,MAAM;AACN,IAAI;AAEJ;IAAiD,+CAAK;IACpD;eACE,kBACE,uGAAuG,CACxG;IACH,CAAC;IACH,kCAAC;AAAD,CAAC,AAND,CAAiD,KAAK,GAMrD;AANY,kEAA2B"}
@@ -0,0 +1,3 @@
1
+ import { Flags, SDKConfig } from './types';
2
+ export declare const getAllFeatureFlags: (options?: SDKConfig) => Promise<Flags>;
3
+ export declare const getFeatureFlagsByKeys: (keys: string[], options?: SDKConfig) => Promise<Flags>;
@@ -0,0 +1,162 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.getFeatureFlagsByKeys = exports.getAllFeatureFlags = void 0;
40
+ var optimizelyClient_1 = require("./optimizelyClient");
41
+ // let optimizelyClient: Client | null
42
+ // let user: OptimizelyUserContext | null
43
+ // let optimizelyClientReady = true
44
+ // TO DO: Update ReadMe
45
+ // TO DO: Improve TS
46
+ // TO DO: Investigate loading feature fags directly on the client
47
+ var createUserContext = function (optimizelyClient, options) {
48
+ var _a, _b;
49
+ // Added for debugging. TO DO - remove
50
+ console.log('Creating new user. createUserContext called');
51
+ var defaultUserId = 'default_userId';
52
+ var userId = ((_a = options === null || options === void 0 ? void 0 : options.userData) === null || _a === void 0 ? void 0 : _a.userId) || defaultUserId;
53
+ var attributes = (_b = options === null || options === void 0 ? void 0 : options.userData) === null || _b === void 0 ? void 0 : _b.attributes;
54
+ var userContext = optimizelyClient.createUserContext(userId, attributes);
55
+ return userContext;
56
+ };
57
+ // const createOptimizelyInstance = (options?: SDKConfig) => {
58
+ // const sdkKey = options?.sdkConfig?.sdkKey || process.env.OPTIMIZELY_SDK_KEY
59
+ // if (!sdkKey) {
60
+ // console.error(
61
+ // '@newskit-render/feature-flags: Missing configuration. Please provide optimizely sdk key in the environment variables.'
62
+ // )
63
+ // return
64
+ // }
65
+ // // TO DO: We are loading data file options without file url. This should be extended or removed
66
+ // // const defaultConfig: Config = {
67
+ // // datafileOptions: {
68
+ // // autoUpdate: true,
69
+ // // updateInterval: 300000,
70
+ // // },
71
+ // // }
72
+ // const config: Config = { sdkKey }
73
+ // const optimizely: Client | null = createInstance({
74
+ // // ...defaultConfig,
75
+ // ...config,
76
+ // })
77
+ // if (options?.logLevel) {
78
+ // setLogLevel(options?.logLevel)
79
+ // setLogger(logging.createLogger())
80
+ // }
81
+ // optimizelyClient = optimizely
82
+ // }
83
+ var initializeAndStartInstance = function (options) { return __awaiter(void 0, void 0, void 0, function () {
84
+ var optimizelyClient, _a, success, reason;
85
+ return __generator(this, function (_b) {
86
+ switch (_b.label) {
87
+ case 0:
88
+ optimizelyClient = (0, optimizelyClient_1.getOptimizelyClient)(options);
89
+ if (!optimizelyClient) {
90
+ console.error('@newskit-render/feature-flags: Missing optimizely instance.');
91
+ return [2 /*return*/, null];
92
+ }
93
+ return [4 /*yield*/, optimizelyClient.onReady({ timeout: 3000 })];
94
+ case 1:
95
+ _a = _b.sent(), success = _a.success, reason = _a.reason;
96
+ if (!success) {
97
+ // optimizelyClientReady = false
98
+ console.error("client initialization unsuccessful, reason: ".concat(reason));
99
+ return [2 /*return*/, null];
100
+ }
101
+ return [2 /*return*/, optimizelyClient
102
+ // createUserContext(userId, attributes)
103
+ // // TO DO: this check should be moved to the createUserContext function
104
+ // if (!user) {
105
+ // throw new MissingUserContextError()
106
+ // }
107
+ ];
108
+ }
109
+ });
110
+ }); };
111
+ var remapFlagInfo = function (flags, options) {
112
+ if (!flags)
113
+ return (options === null || options === void 0 ? void 0 : options.defaultFeatureFlags) || {};
114
+ var flagKeys = flags.flagKey ? [flags.flagKey] : Object.keys(flags);
115
+ return flagKeys.reduce(function (acc, flagKey) {
116
+ var decision = flags.flagKey ? flags : flags[flagKey];
117
+ if (options === null || options === void 0 ? void 0 : options.includeFlagVariables) {
118
+ acc[flagKey] = {
119
+ variationKey: decision.variationKey,
120
+ enabled: decision.enabled,
121
+ variables: decision.variables,
122
+ };
123
+ }
124
+ else {
125
+ acc[flagKey] = decision.enabled;
126
+ }
127
+ return acc;
128
+ }, {});
129
+ };
130
+ var getAllFeatureFlags = function (options) { return __awaiter(void 0, void 0, void 0, function () {
131
+ var optimizelyClient, user, decisions;
132
+ return __generator(this, function (_a) {
133
+ switch (_a.label) {
134
+ case 0: return [4 /*yield*/, initializeAndStartInstance(options)];
135
+ case 1:
136
+ optimizelyClient = _a.sent();
137
+ if (!optimizelyClient)
138
+ return [2 /*return*/, (options === null || options === void 0 ? void 0 : options.defaultFeatureFlags) || {}];
139
+ user = createUserContext(optimizelyClient, options);
140
+ decisions = user.decideAll(options === null || options === void 0 ? void 0 : options.decideOptions);
141
+ return [2 /*return*/, remapFlagInfo(decisions, options)];
142
+ }
143
+ });
144
+ }); };
145
+ exports.getAllFeatureFlags = getAllFeatureFlags;
146
+ var getFeatureFlagsByKeys = function (keys, options) { return __awaiter(void 0, void 0, void 0, function () {
147
+ var optimizelyClient, user, decisions;
148
+ return __generator(this, function (_a) {
149
+ switch (_a.label) {
150
+ case 0: return [4 /*yield*/, initializeAndStartInstance(options)];
151
+ case 1:
152
+ optimizelyClient = _a.sent();
153
+ if (!optimizelyClient)
154
+ return [2 /*return*/, (options === null || options === void 0 ? void 0 : options.defaultFeatureFlags) || {}];
155
+ user = createUserContext(optimizelyClient, options);
156
+ decisions = user.decideForKeys(keys, options === null || options === void 0 ? void 0 : options.decideOptions);
157
+ return [2 /*return*/, remapFlagInfo(decisions, options)];
158
+ }
159
+ });
160
+ }); };
161
+ exports.getFeatureFlagsByKeys = getFeatureFlagsByKeys;
162
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};