@flagship.io/react-sdk 3.2.0 → 3.2.1-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.
- package/dist/index.node.js +208 -256
- package/dist/index.node.js.map +1 -1
- package/dist/src/sdkVersion.d.ts +1 -1
- package/dist/src/sdkVersion.js +1 -1
- package/package.json +4 -4
package/dist/index.node.js
CHANGED
|
@@ -6,28 +6,20 @@
|
|
|
6
6
|
/*!*********************!*\
|
|
7
7
|
!*** ./src/Flag.ts ***!
|
|
8
8
|
\*********************/
|
|
9
|
-
/***/ ((__unused_webpack_module,
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
__webpack_require__(/*!
|
|
19
|
-
|
|
20
|
-
var _jsSdk = _interopRequireWildcard(__webpack_require__(/*! @flagship.io/js-sdk */ "@flagship.io/js-sdk"));
|
|
21
|
-
|
|
22
|
-
var _constants = __webpack_require__(/*! ./constants */ "./src/constants.ts");
|
|
23
|
-
|
|
24
|
-
var _utils = __webpack_require__(/*! ./utils */ "./src/utils.tsx");
|
|
9
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
10
|
+
|
|
11
|
+
__webpack_require__.r(__webpack_exports__);
|
|
12
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
13
|
+
/* harmony export */ "Flag": () => (/* binding */ Flag)
|
|
14
|
+
/* harmony export */ });
|
|
15
|
+
/* harmony import */ var _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @flagship.io/js-sdk */ "@flagship.io/js-sdk");
|
|
16
|
+
/* harmony import */ var _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_0__);
|
|
17
|
+
/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ "./src/constants.ts");
|
|
18
|
+
/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils */ "./src/utils.tsx");
|
|
19
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
25
20
|
|
|
26
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
27
21
|
|
|
28
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
29
22
|
|
|
30
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
31
23
|
|
|
32
24
|
class Flag {
|
|
33
25
|
constructor(defaultValue, key, flagsData) {
|
|
@@ -40,7 +32,7 @@ class Flag {
|
|
|
40
32
|
_defineProperty(this, "flag", void 0);
|
|
41
33
|
|
|
42
34
|
if (!flagsData) {
|
|
43
|
-
(0,
|
|
35
|
+
(0,_utils__WEBPACK_IMPORTED_MODULE_1__.logWarn)(_flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_0___default().getConfig(), _constants__WEBPACK_IMPORTED_MODULE_2__.noVisitorMessage, 'GetFlag');
|
|
44
36
|
}
|
|
45
37
|
|
|
46
38
|
this.defaultValue = defaultValue;
|
|
@@ -51,17 +43,17 @@ class Flag {
|
|
|
51
43
|
NotSameType() {
|
|
52
44
|
var _this$flag;
|
|
53
45
|
|
|
54
|
-
return this.defaultValue !== null && this.defaultValue !== undefined && !(0,
|
|
46
|
+
return this.defaultValue !== null && this.defaultValue !== undefined && !(0,_utils__WEBPACK_IMPORTED_MODULE_1__.hasSameType)((_this$flag = this.flag) === null || _this$flag === void 0 ? void 0 : _this$flag.value, this.defaultValue);
|
|
55
47
|
}
|
|
56
48
|
|
|
57
49
|
getValue() {
|
|
58
50
|
if (!this.flag) {
|
|
59
|
-
(0,
|
|
51
|
+
(0,_utils__WEBPACK_IMPORTED_MODULE_1__.logWarn)(_flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_0___default().getConfig(), _constants__WEBPACK_IMPORTED_MODULE_2__.noVisitorMessage, 'getValue');
|
|
60
52
|
return this.defaultValue;
|
|
61
53
|
}
|
|
62
54
|
|
|
63
55
|
if (this.NotSameType()) {
|
|
64
|
-
(0,
|
|
56
|
+
(0,_utils__WEBPACK_IMPORTED_MODULE_1__.logInfo)(_flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_0___default().getConfig(), (0,_utils__WEBPACK_IMPORTED_MODULE_1__.sprintf)(_constants__WEBPACK_IMPORTED_MODULE_2__.GET_FLAG_CAST_ERROR, this.key), 'getValue');
|
|
65
57
|
return this.defaultValue;
|
|
66
58
|
}
|
|
67
59
|
|
|
@@ -70,7 +62,7 @@ class Flag {
|
|
|
70
62
|
|
|
71
63
|
exists() {
|
|
72
64
|
if (!this.flag) {
|
|
73
|
-
(0,
|
|
65
|
+
(0,_utils__WEBPACK_IMPORTED_MODULE_1__.logWarn)(_flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_0___default().getConfig(), _constants__WEBPACK_IMPORTED_MODULE_2__.noVisitorMessage, 'exists');
|
|
74
66
|
return false;
|
|
75
67
|
}
|
|
76
68
|
|
|
@@ -79,7 +71,7 @@ class Flag {
|
|
|
79
71
|
|
|
80
72
|
userExposed() {
|
|
81
73
|
if (!this.flag) {
|
|
82
|
-
(0,
|
|
74
|
+
(0,_utils__WEBPACK_IMPORTED_MODULE_1__.logWarn)(_flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_0___default().getConfig(), _constants__WEBPACK_IMPORTED_MODULE_2__.noVisitorMessage, 'userExposed');
|
|
83
75
|
}
|
|
84
76
|
|
|
85
77
|
return Promise.resolve();
|
|
@@ -87,7 +79,7 @@ class Flag {
|
|
|
87
79
|
|
|
88
80
|
visitorExposed() {
|
|
89
81
|
if (!this.flag) {
|
|
90
|
-
(0,
|
|
82
|
+
(0,_utils__WEBPACK_IMPORTED_MODULE_1__.logWarn)(_flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_0___default().getConfig(), _constants__WEBPACK_IMPORTED_MODULE_2__.noVisitorMessage, 'visitorExposed');
|
|
91
83
|
}
|
|
92
84
|
|
|
93
85
|
return Promise.resolve();
|
|
@@ -97,16 +89,16 @@ class Flag {
|
|
|
97
89
|
const functionName = 'metadata';
|
|
98
90
|
|
|
99
91
|
if (!this.flag) {
|
|
100
|
-
(0,
|
|
101
|
-
return
|
|
92
|
+
(0,_utils__WEBPACK_IMPORTED_MODULE_1__.logWarn)(_flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_0___default().getConfig(), _constants__WEBPACK_IMPORTED_MODULE_2__.noVisitorMessage, functionName);
|
|
93
|
+
return _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_0__.FlagMetadata.Empty();
|
|
102
94
|
}
|
|
103
95
|
|
|
104
96
|
if (this.NotSameType()) {
|
|
105
|
-
(0,
|
|
106
|
-
return
|
|
97
|
+
(0,_utils__WEBPACK_IMPORTED_MODULE_1__.logInfo)(_flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_0___default().getConfig(), (0,_utils__WEBPACK_IMPORTED_MODULE_1__.sprintf)(_constants__WEBPACK_IMPORTED_MODULE_2__.GET_METADATA_CAST_ERROR, this.key), functionName);
|
|
98
|
+
return _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_0__.FlagMetadata.Empty();
|
|
107
99
|
}
|
|
108
100
|
|
|
109
|
-
return new
|
|
101
|
+
return new _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_0__.FlagMetadata({
|
|
110
102
|
campaignId: this.flag.campaignId,
|
|
111
103
|
variationGroupId: this.flag.variationGroupId,
|
|
112
104
|
variationId: this.flag.variationId,
|
|
@@ -118,53 +110,45 @@ class Flag {
|
|
|
118
110
|
|
|
119
111
|
}
|
|
120
112
|
|
|
121
|
-
exports.Flag = Flag;
|
|
122
|
-
|
|
123
113
|
/***/ }),
|
|
124
114
|
|
|
125
115
|
/***/ "./src/FlagshipContext.tsx":
|
|
126
116
|
/*!*********************************!*\
|
|
127
117
|
!*** ./src/FlagshipContext.tsx ***!
|
|
128
118
|
\*********************************/
|
|
129
|
-
/***/ ((__unused_webpack_module,
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
})
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
var
|
|
139
|
-
|
|
140
|
-
var
|
|
141
|
-
|
|
142
|
-
|
|
119
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
120
|
+
|
|
121
|
+
__webpack_require__.r(__webpack_exports__);
|
|
122
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
123
|
+
/* harmony export */ "FlagshipContext": () => (/* binding */ FlagshipContext),
|
|
124
|
+
/* harmony export */ "FlagshipProvider": () => (/* binding */ FlagshipProvider)
|
|
125
|
+
/* harmony export */ });
|
|
126
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
127
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
128
|
+
/* harmony import */ var _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @flagship.io/js-sdk */ "@flagship.io/js-sdk");
|
|
129
|
+
/* harmony import */ var _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1__);
|
|
130
|
+
/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils */ "./src/utils.tsx");
|
|
131
|
+
/* harmony import */ var _sdkVersion__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./sdkVersion */ "./src/sdkVersion.ts");
|
|
132
|
+
// eslint-disable-next-line no-use-before-define
|
|
143
133
|
|
|
144
|
-
var _sdkVersion = __webpack_require__(/*! ./sdkVersion */ "./src/sdkVersion.ts");
|
|
145
134
|
|
|
146
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
147
135
|
|
|
148
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
149
136
|
|
|
150
|
-
// eslint-disable-next-line no-use-before-define
|
|
151
137
|
const initStat = {
|
|
152
138
|
status: {
|
|
153
139
|
isLoading: true,
|
|
154
140
|
isSdkReady: false
|
|
155
141
|
}
|
|
156
142
|
};
|
|
157
|
-
const FlagshipContext = /*#__PURE__*/(0,
|
|
143
|
+
const FlagshipContext = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)({
|
|
158
144
|
state: { ...initStat
|
|
159
145
|
}
|
|
160
146
|
});
|
|
161
|
-
exports.FlagshipContext = FlagshipContext;
|
|
162
|
-
|
|
163
147
|
const FlagshipProvider = ({
|
|
164
148
|
children,
|
|
165
149
|
envId,
|
|
166
150
|
apiKey,
|
|
167
|
-
decisionMode =
|
|
151
|
+
decisionMode = _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1__.DecisionMode.DECISION_API,
|
|
168
152
|
visitorData,
|
|
169
153
|
onInitStart,
|
|
170
154
|
onInitDone,
|
|
@@ -179,7 +163,7 @@ const FlagshipProvider = ({
|
|
|
179
163
|
hitDeduplicationTime = 2,
|
|
180
164
|
fetchNow = true,
|
|
181
165
|
language = 1,
|
|
182
|
-
sdkVersion =
|
|
166
|
+
sdkVersion = _sdkVersion__WEBPACK_IMPORTED_MODULE_2__.version,
|
|
183
167
|
...props
|
|
184
168
|
}) => {
|
|
185
169
|
let modifications = new Map();
|
|
@@ -193,26 +177,26 @@ const FlagshipProvider = ({
|
|
|
193
177
|
modifications.set(modification.key, modification);
|
|
194
178
|
});
|
|
195
179
|
} else if (initialCampaigns) {
|
|
196
|
-
modifications = (0,
|
|
180
|
+
modifications = (0,_utils__WEBPACK_IMPORTED_MODULE_3__.getModificationsFromCampaigns)(initialCampaigns);
|
|
197
181
|
}
|
|
198
182
|
|
|
199
|
-
const [state, setState] = (0,
|
|
183
|
+
const [state, setState] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)({ ...initStat,
|
|
200
184
|
modifications
|
|
201
185
|
});
|
|
202
|
-
const [lastModified, setLastModified] = (0,
|
|
203
|
-
const stateRef = (0,
|
|
186
|
+
const [lastModified, setLastModified] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)();
|
|
187
|
+
const stateRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)();
|
|
204
188
|
stateRef.current = state;
|
|
205
|
-
(0,
|
|
189
|
+
(0,_utils__WEBPACK_IMPORTED_MODULE_3__.useNonInitialEffect)(() => {
|
|
206
190
|
if (fetchFlagsOnBucketingUpdated) {
|
|
207
191
|
var _state$visitor;
|
|
208
192
|
|
|
209
193
|
(_state$visitor = state.visitor) === null || _state$visitor === void 0 ? void 0 : _state$visitor.fetchFlags();
|
|
210
194
|
}
|
|
211
195
|
}, [lastModified]);
|
|
212
|
-
(0,
|
|
196
|
+
(0,_utils__WEBPACK_IMPORTED_MODULE_3__.useNonInitialEffect)(() => {
|
|
213
197
|
updateVisitor();
|
|
214
198
|
}, [JSON.stringify(visitorData)]);
|
|
215
|
-
(0,
|
|
199
|
+
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
|
|
216
200
|
initSdk();
|
|
217
201
|
}, [envId, apiKey, decisionMode]);
|
|
218
202
|
|
|
@@ -231,7 +215,7 @@ const FlagshipProvider = ({
|
|
|
231
215
|
return { ...currentState,
|
|
232
216
|
visitor: param.fsVisitor,
|
|
233
217
|
modifications: param.fsVisitor.modifications,
|
|
234
|
-
config:
|
|
218
|
+
config: _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1__.Flagship.getConfig(),
|
|
235
219
|
status: { ...currentState.status,
|
|
236
220
|
...newStatus
|
|
237
221
|
}
|
|
@@ -243,7 +227,7 @@ const FlagshipProvider = ({
|
|
|
243
227
|
|
|
244
228
|
const onVisitorReady = (fsVisitor, error) => {
|
|
245
229
|
if (error) {
|
|
246
|
-
(0,
|
|
230
|
+
(0,_utils__WEBPACK_IMPORTED_MODULE_3__.logError)(_flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1__.Flagship.getConfig(), error.message || error, 'onReady');
|
|
247
231
|
return;
|
|
248
232
|
}
|
|
249
233
|
|
|
@@ -256,7 +240,7 @@ const FlagshipProvider = ({
|
|
|
256
240
|
if (onUpdate) {
|
|
257
241
|
onUpdate({
|
|
258
242
|
fsModifications: fsVisitor.modifications,
|
|
259
|
-
config:
|
|
243
|
+
config: _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1__.Flagship.getConfig(),
|
|
260
244
|
status: newStatus
|
|
261
245
|
});
|
|
262
246
|
}
|
|
@@ -295,7 +279,7 @@ const FlagshipProvider = ({
|
|
|
295
279
|
return;
|
|
296
280
|
}
|
|
297
281
|
|
|
298
|
-
const fsVisitor =
|
|
282
|
+
const fsVisitor = _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1__.Flagship.newVisitor({
|
|
299
283
|
visitorId: visitorData.id,
|
|
300
284
|
context: visitorData.context,
|
|
301
285
|
isAuthenticated: visitorData.isAuthenticated,
|
|
@@ -304,7 +288,6 @@ const FlagshipProvider = ({
|
|
|
304
288
|
initialModifications,
|
|
305
289
|
initialFlagsData
|
|
306
290
|
});
|
|
307
|
-
|
|
308
291
|
fsVisitor === null || fsVisitor === void 0 ? void 0 : fsVisitor.on('ready', error => {
|
|
309
292
|
onVisitorReady(fsVisitor, error);
|
|
310
293
|
});
|
|
@@ -324,15 +307,15 @@ const FlagshipProvider = ({
|
|
|
324
307
|
}
|
|
325
308
|
|
|
326
309
|
switch (status) {
|
|
327
|
-
case
|
|
328
|
-
if (status ===
|
|
310
|
+
case _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1__.FlagshipStatus.STARTING:
|
|
311
|
+
if (status === _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1__.FlagshipStatus.STARTING && onInitStart) {
|
|
329
312
|
onInitStart();
|
|
330
313
|
}
|
|
331
314
|
|
|
332
315
|
break;
|
|
333
316
|
|
|
334
|
-
case
|
|
335
|
-
case
|
|
317
|
+
case _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1__.FlagshipStatus.READY_PANIC_ON:
|
|
318
|
+
case _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1__.FlagshipStatus.READY:
|
|
336
319
|
if (onInitDone) {
|
|
337
320
|
onInitDone();
|
|
338
321
|
}
|
|
@@ -340,12 +323,12 @@ const FlagshipProvider = ({
|
|
|
340
323
|
createVisitor();
|
|
341
324
|
break;
|
|
342
325
|
|
|
343
|
-
case
|
|
326
|
+
case _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1__.FlagshipStatus.NOT_INITIALIZED:
|
|
344
327
|
setState(prev => ({ ...prev,
|
|
345
328
|
status: { ...prev.status,
|
|
346
329
|
isLoading: false
|
|
347
330
|
},
|
|
348
|
-
config:
|
|
331
|
+
config: _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1__.Flagship.getConfig()
|
|
349
332
|
}));
|
|
350
333
|
break;
|
|
351
334
|
}
|
|
@@ -360,7 +343,7 @@ const FlagshipProvider = ({
|
|
|
360
343
|
};
|
|
361
344
|
|
|
362
345
|
const initSdk = () => {
|
|
363
|
-
|
|
346
|
+
_flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1__.Flagship.start(envId, apiKey, {
|
|
364
347
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
365
348
|
decisionMode: decisionMode,
|
|
366
349
|
fetchNow,
|
|
@@ -377,26 +360,24 @@ const FlagshipProvider = ({
|
|
|
377
360
|
const isFirstInit = !state.visitor;
|
|
378
361
|
|
|
379
362
|
if (state.status.isLoading && loadingComponent && isFirstInit && fetchNow) {
|
|
380
|
-
return /*#__PURE__*/
|
|
363
|
+
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, loadingComponent);
|
|
381
364
|
}
|
|
382
365
|
|
|
383
|
-
return /*#__PURE__*/
|
|
366
|
+
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, children);
|
|
384
367
|
};
|
|
385
368
|
|
|
386
|
-
return /*#__PURE__*/
|
|
369
|
+
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(FlagshipContext.Provider, {
|
|
387
370
|
value: {
|
|
388
371
|
state,
|
|
389
372
|
setState
|
|
390
373
|
}
|
|
391
374
|
}, handleDisplay());
|
|
392
375
|
};
|
|
393
|
-
|
|
394
|
-
exports.FlagshipProvider = FlagshipProvider;
|
|
395
376
|
FlagshipProvider.defaultProps = {
|
|
396
377
|
hitDeduplicationTime: 2,
|
|
397
378
|
fetchNow: true,
|
|
398
379
|
language: 1,
|
|
399
|
-
sdkVersion:
|
|
380
|
+
sdkVersion: _sdkVersion__WEBPACK_IMPORTED_MODULE_2__.version
|
|
400
381
|
};
|
|
401
382
|
|
|
402
383
|
/***/ }),
|
|
@@ -405,30 +386,31 @@ FlagshipProvider.defaultProps = {
|
|
|
405
386
|
/*!*******************************!*\
|
|
406
387
|
!*** ./src/FlagshipHooks.tsx ***!
|
|
407
388
|
\*******************************/
|
|
408
|
-
/***/ ((__unused_webpack_module,
|
|
409
|
-
|
|
410
|
-
|
|
389
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
411
390
|
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
391
|
+
__webpack_require__.r(__webpack_exports__);
|
|
392
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
393
|
+
/* harmony export */ "useFlagship": () => (/* binding */ useFlagship),
|
|
394
|
+
/* harmony export */ "useFsActivate": () => (/* binding */ useFsActivate),
|
|
395
|
+
/* harmony export */ "useFsFlag": () => (/* binding */ useFsFlag),
|
|
396
|
+
/* harmony export */ "useFsModification": () => (/* binding */ useFsModification),
|
|
397
|
+
/* harmony export */ "useFsModificationInfo": () => (/* binding */ useFsModificationInfo),
|
|
398
|
+
/* harmony export */ "useFsModifications": () => (/* binding */ useFsModifications)
|
|
399
|
+
/* harmony export */ });
|
|
400
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
401
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
402
|
+
/* harmony import */ var _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @flagship.io/js-sdk */ "@flagship.io/js-sdk");
|
|
403
|
+
/* harmony import */ var _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1__);
|
|
404
|
+
/* harmony import */ var _FlagshipContext__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./FlagshipContext */ "./src/FlagshipContext.tsx");
|
|
405
|
+
/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils */ "./src/utils.tsx");
|
|
406
|
+
/* harmony import */ var _Flag__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Flag */ "./src/Flag.ts");
|
|
407
|
+
/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./constants */ "./src/constants.ts");
|
|
416
408
|
|
|
417
|
-
__webpack_require__(/*! core-js/modules/es.promise.js */ "core-js/modules/es.promise.js");
|
|
418
409
|
|
|
419
|
-
var _react = __webpack_require__(/*! react */ "react");
|
|
420
410
|
|
|
421
|
-
var _jsSdk = _interopRequireDefault(__webpack_require__(/*! @flagship.io/js-sdk */ "@flagship.io/js-sdk"));
|
|
422
411
|
|
|
423
|
-
var _FlagshipContext = __webpack_require__(/*! ./FlagshipContext */ "./src/FlagshipContext.tsx");
|
|
424
412
|
|
|
425
|
-
var _utils = __webpack_require__(/*! ./utils */ "./src/utils.tsx");
|
|
426
413
|
|
|
427
|
-
var _Flag = __webpack_require__(/*! ./Flag */ "./src/Flag.ts");
|
|
428
|
-
|
|
429
|
-
var _constants = __webpack_require__(/*! ./constants */ "./src/constants.ts");
|
|
430
|
-
|
|
431
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
432
414
|
|
|
433
415
|
const checkType = (value, defaultValue) => typeof value === 'object' && typeof defaultValue === 'object' && Array.isArray(value) === Array.isArray(defaultValue) || typeof value === typeof defaultValue;
|
|
434
416
|
|
|
@@ -464,7 +446,7 @@ const fsModificationsSync = args => {
|
|
|
464
446
|
return flags;
|
|
465
447
|
}
|
|
466
448
|
|
|
467
|
-
(0,
|
|
449
|
+
(0,_utils__WEBPACK_IMPORTED_MODULE_2__.logWarn)(config, _constants__WEBPACK_IMPORTED_MODULE_3__.noVisitorDefault, functionName);
|
|
468
450
|
params.forEach(item => {
|
|
469
451
|
flags[item.key] = item.defaultValue;
|
|
470
452
|
});
|
|
@@ -479,7 +461,7 @@ const fsModificationsSync = args => {
|
|
|
479
461
|
const useFsModifications = (params, activateAll) => {
|
|
480
462
|
const {
|
|
481
463
|
state
|
|
482
|
-
} = (0,
|
|
464
|
+
} = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(_FlagshipContext__WEBPACK_IMPORTED_MODULE_4__.FlagshipContext);
|
|
483
465
|
const {
|
|
484
466
|
visitor,
|
|
485
467
|
config
|
|
@@ -499,15 +481,12 @@ const useFsModifications = (params, activateAll) => {
|
|
|
499
481
|
* @deprecated use useFsFlag instead
|
|
500
482
|
*/
|
|
501
483
|
|
|
502
|
-
|
|
503
|
-
exports.useFsModifications = useFsModifications;
|
|
504
|
-
|
|
505
484
|
const useFsModification = params => {
|
|
506
485
|
var _state$modifications2;
|
|
507
486
|
|
|
508
487
|
const {
|
|
509
488
|
state
|
|
510
|
-
} = (0,
|
|
489
|
+
} = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(_FlagshipContext__WEBPACK_IMPORTED_MODULE_4__.FlagshipContext);
|
|
511
490
|
const {
|
|
512
491
|
visitor,
|
|
513
492
|
config
|
|
@@ -524,12 +503,10 @@ const useFsModification = params => {
|
|
|
524
503
|
return modification.value;
|
|
525
504
|
}
|
|
526
505
|
|
|
527
|
-
(0,
|
|
506
|
+
(0,_utils__WEBPACK_IMPORTED_MODULE_2__.logWarn)(config, _constants__WEBPACK_IMPORTED_MODULE_3__.noVisitorDefault, functionName);
|
|
528
507
|
return params.defaultValue;
|
|
529
508
|
};
|
|
530
509
|
|
|
531
|
-
exports.useFsModification = useFsModification;
|
|
532
|
-
|
|
533
510
|
const fsModificationInfoSync = args => {
|
|
534
511
|
var _state$modifications3;
|
|
535
512
|
|
|
@@ -561,7 +538,7 @@ const fsModificationInfoSync = args => {
|
|
|
561
538
|
const useFsModificationInfo = key => {
|
|
562
539
|
const {
|
|
563
540
|
state
|
|
564
|
-
} = (0,
|
|
541
|
+
} = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(_FlagshipContext__WEBPACK_IMPORTED_MODULE_4__.FlagshipContext);
|
|
565
542
|
const {
|
|
566
543
|
visitor
|
|
567
544
|
} = state;
|
|
@@ -572,18 +549,16 @@ const useFsModificationInfo = key => {
|
|
|
572
549
|
});
|
|
573
550
|
};
|
|
574
551
|
|
|
575
|
-
exports.useFsModificationInfo = useFsModificationInfo;
|
|
576
|
-
|
|
577
552
|
const fsActivate = async (params, functionName, visitor, config) => {
|
|
578
553
|
try {
|
|
579
554
|
if (!visitor) {
|
|
580
|
-
(0,
|
|
555
|
+
(0,_utils__WEBPACK_IMPORTED_MODULE_2__.logWarn)(config, _constants__WEBPACK_IMPORTED_MODULE_3__.noVisitorMessage, functionName);
|
|
581
556
|
return;
|
|
582
557
|
}
|
|
583
558
|
|
|
584
559
|
await visitor.activateModifications(params); // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
585
560
|
} catch (error) {
|
|
586
|
-
(0,
|
|
561
|
+
(0,_utils__WEBPACK_IMPORTED_MODULE_2__.logWarn)(config, error.message || error, functionName);
|
|
587
562
|
}
|
|
588
563
|
};
|
|
589
564
|
/**
|
|
@@ -597,13 +572,13 @@ const fsActivate = async (params, functionName, visitor, config) => {
|
|
|
597
572
|
const useFsFlag = (key, defaultValue) => {
|
|
598
573
|
const {
|
|
599
574
|
state
|
|
600
|
-
} = (0,
|
|
575
|
+
} = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(_FlagshipContext__WEBPACK_IMPORTED_MODULE_4__.FlagshipContext);
|
|
601
576
|
const {
|
|
602
577
|
visitor
|
|
603
578
|
} = state;
|
|
604
579
|
|
|
605
580
|
if (!visitor) {
|
|
606
|
-
return new
|
|
581
|
+
return new _Flag__WEBPACK_IMPORTED_MODULE_5__.Flag(defaultValue, key, state.modifications);
|
|
607
582
|
}
|
|
608
583
|
|
|
609
584
|
return visitor.getFlag(key, defaultValue);
|
|
@@ -615,13 +590,10 @@ const useFsFlag = (key, defaultValue) => {
|
|
|
615
590
|
* @returns
|
|
616
591
|
*/
|
|
617
592
|
|
|
618
|
-
|
|
619
|
-
exports.useFsFlag = useFsFlag;
|
|
620
|
-
|
|
621
593
|
const useFsActivate = async params => {
|
|
622
594
|
const {
|
|
623
595
|
state
|
|
624
|
-
} = (0,
|
|
596
|
+
} = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(_FlagshipContext__WEBPACK_IMPORTED_MODULE_4__.FlagshipContext);
|
|
625
597
|
const {
|
|
626
598
|
visitor,
|
|
627
599
|
config
|
|
@@ -629,13 +601,10 @@ const useFsActivate = async params => {
|
|
|
629
601
|
const functionName = 'useFsModifications';
|
|
630
602
|
await fsActivate(params, functionName, visitor, config);
|
|
631
603
|
};
|
|
632
|
-
|
|
633
|
-
exports.useFsActivate = useFsActivate;
|
|
634
|
-
|
|
635
604
|
const useFlagship = () => {
|
|
636
605
|
const {
|
|
637
606
|
state
|
|
638
|
-
} = (0,
|
|
607
|
+
} = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(_FlagshipContext__WEBPACK_IMPORTED_MODULE_4__.FlagshipContext);
|
|
639
608
|
const {
|
|
640
609
|
visitor,
|
|
641
610
|
config
|
|
@@ -645,7 +614,7 @@ const useFlagship = () => {
|
|
|
645
614
|
const functionName = 'updateContext';
|
|
646
615
|
|
|
647
616
|
if (!visitor) {
|
|
648
|
-
(0,
|
|
617
|
+
(0,_utils__WEBPACK_IMPORTED_MODULE_2__.logError)(config, _constants__WEBPACK_IMPORTED_MODULE_3__.noVisitorMessage, functionName);
|
|
649
618
|
return;
|
|
650
619
|
}
|
|
651
620
|
|
|
@@ -657,7 +626,7 @@ const useFlagship = () => {
|
|
|
657
626
|
const functionName = 'cleanContext';
|
|
658
627
|
|
|
659
628
|
if (!visitor) {
|
|
660
|
-
(0,
|
|
629
|
+
(0,_utils__WEBPACK_IMPORTED_MODULE_2__.logError)(config, _constants__WEBPACK_IMPORTED_MODULE_3__.noVisitorMessage, functionName);
|
|
661
630
|
return;
|
|
662
631
|
}
|
|
663
632
|
|
|
@@ -668,7 +637,7 @@ const useFlagship = () => {
|
|
|
668
637
|
const functionName = 'authenticate';
|
|
669
638
|
|
|
670
639
|
if (!visitor) {
|
|
671
|
-
(0,
|
|
640
|
+
(0,_utils__WEBPACK_IMPORTED_MODULE_2__.logError)(config, _constants__WEBPACK_IMPORTED_MODULE_3__.noVisitorMessage, functionName);
|
|
672
641
|
return;
|
|
673
642
|
}
|
|
674
643
|
|
|
@@ -679,7 +648,7 @@ const useFlagship = () => {
|
|
|
679
648
|
const functionName = 'unauthenticate';
|
|
680
649
|
|
|
681
650
|
if (!visitor) {
|
|
682
|
-
(0,
|
|
651
|
+
(0,_utils__WEBPACK_IMPORTED_MODULE_2__.logError)(config, _constants__WEBPACK_IMPORTED_MODULE_3__.noVisitorMessage, functionName);
|
|
683
652
|
return;
|
|
684
653
|
}
|
|
685
654
|
|
|
@@ -694,7 +663,7 @@ const useFlagship = () => {
|
|
|
694
663
|
const functionName = 'sendHit';
|
|
695
664
|
|
|
696
665
|
if (!visitor) {
|
|
697
|
-
(0,
|
|
666
|
+
(0,_utils__WEBPACK_IMPORTED_MODULE_2__.logError)(config, _constants__WEBPACK_IMPORTED_MODULE_3__.noVisitorMessage, functionName);
|
|
698
667
|
return Promise.resolve();
|
|
699
668
|
}
|
|
700
669
|
|
|
@@ -709,7 +678,7 @@ const useFlagship = () => {
|
|
|
709
678
|
const functionName = 'sendHits';
|
|
710
679
|
|
|
711
680
|
if (!visitor) {
|
|
712
|
-
(0,
|
|
681
|
+
(0,_utils__WEBPACK_IMPORTED_MODULE_2__.logError)(config, _constants__WEBPACK_IMPORTED_MODULE_3__.noVisitorMessage, functionName);
|
|
713
682
|
return Promise.resolve();
|
|
714
683
|
}
|
|
715
684
|
|
|
@@ -730,7 +699,7 @@ const useFlagship = () => {
|
|
|
730
699
|
|
|
731
700
|
const synchronizeModifications = async () => {
|
|
732
701
|
if (!visitor) {
|
|
733
|
-
(0,
|
|
702
|
+
(0,_utils__WEBPACK_IMPORTED_MODULE_2__.logWarn)(config, _constants__WEBPACK_IMPORTED_MODULE_3__.noVisitorMessage, 'synchronizeModifications');
|
|
734
703
|
return;
|
|
735
704
|
}
|
|
736
705
|
|
|
@@ -759,7 +728,7 @@ const useFlagship = () => {
|
|
|
759
728
|
|
|
760
729
|
function getFlag(key, defaultValue) {
|
|
761
730
|
if (!visitor) {
|
|
762
|
-
return new
|
|
731
|
+
return new _Flag__WEBPACK_IMPORTED_MODULE_5__.Flag(defaultValue, key, state.modifications);
|
|
763
732
|
}
|
|
764
733
|
|
|
765
734
|
return visitor.getFlag(key, defaultValue);
|
|
@@ -767,7 +736,7 @@ const useFlagship = () => {
|
|
|
767
736
|
|
|
768
737
|
function fetchFlags() {
|
|
769
738
|
if (!visitor) {
|
|
770
|
-
(0,
|
|
739
|
+
(0,_utils__WEBPACK_IMPORTED_MODULE_2__.logWarn)(config, _constants__WEBPACK_IMPORTED_MODULE_3__.noVisitorMessage, 'fetchFlags');
|
|
771
740
|
return Promise.resolve();
|
|
772
741
|
}
|
|
773
742
|
|
|
@@ -776,7 +745,7 @@ const useFlagship = () => {
|
|
|
776
745
|
|
|
777
746
|
function setConsent(hasConsented) {
|
|
778
747
|
if (!visitor) {
|
|
779
|
-
(0,
|
|
748
|
+
(0,_utils__WEBPACK_IMPORTED_MODULE_2__.logWarn)(config, _constants__WEBPACK_IMPORTED_MODULE_3__.noVisitorMessage, 'setConsent');
|
|
780
749
|
return;
|
|
781
750
|
}
|
|
782
751
|
|
|
@@ -784,7 +753,7 @@ const useFlagship = () => {
|
|
|
784
753
|
}
|
|
785
754
|
|
|
786
755
|
async function close() {
|
|
787
|
-
await
|
|
756
|
+
await _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1___default().close();
|
|
788
757
|
}
|
|
789
758
|
|
|
790
759
|
return {
|
|
@@ -815,83 +784,25 @@ const useFlagship = () => {
|
|
|
815
784
|
};
|
|
816
785
|
};
|
|
817
786
|
|
|
818
|
-
exports.useFlagship = useFlagship;
|
|
819
|
-
|
|
820
787
|
/***/ }),
|
|
821
788
|
|
|
822
789
|
/***/ "./src/constants.ts":
|
|
823
790
|
/*!**************************!*\
|
|
824
791
|
!*** ./src/constants.ts ***!
|
|
825
792
|
\**************************/
|
|
826
|
-
/***/ ((__unused_webpack_module,
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
793
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
794
|
+
|
|
795
|
+
__webpack_require__.r(__webpack_exports__);
|
|
796
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
797
|
+
/* harmony export */ "GET_FLAG_CAST_ERROR": () => (/* binding */ GET_FLAG_CAST_ERROR),
|
|
798
|
+
/* harmony export */ "GET_METADATA_CAST_ERROR": () => (/* binding */ GET_METADATA_CAST_ERROR),
|
|
799
|
+
/* harmony export */ "noVisitorDefault": () => (/* binding */ noVisitorDefault),
|
|
800
|
+
/* harmony export */ "noVisitorMessage": () => (/* binding */ noVisitorMessage)
|
|
801
|
+
/* harmony export */ });
|
|
834
802
|
const noVisitorMessage = 'flagship Visitor not initialized.';
|
|
835
|
-
exports.noVisitorMessage = noVisitorMessage;
|
|
836
803
|
const noVisitorDefault = 'fsVisitor not initialized, returns default value';
|
|
837
|
-
exports.noVisitorDefault = noVisitorDefault;
|
|
838
804
|
const GET_FLAG_CAST_ERROR = 'Flag for key {0} has a different type. Default value is returned.';
|
|
839
|
-
exports.GET_FLAG_CAST_ERROR = GET_FLAG_CAST_ERROR;
|
|
840
805
|
const GET_METADATA_CAST_ERROR = 'Flag for key {0} has a different type with defaultValue, an empty metadata object is returned';
|
|
841
|
-
exports.GET_METADATA_CAST_ERROR = GET_METADATA_CAST_ERROR;
|
|
842
|
-
|
|
843
|
-
/***/ }),
|
|
844
|
-
|
|
845
|
-
/***/ "./src/index.tsx":
|
|
846
|
-
/*!***********************!*\
|
|
847
|
-
!*** ./src/index.tsx ***!
|
|
848
|
-
\***********************/
|
|
849
|
-
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
Object.defineProperty(exports, "__esModule", ({
|
|
854
|
-
value: true
|
|
855
|
-
}));
|
|
856
|
-
|
|
857
|
-
var _FlagshipContext = __webpack_require__(/*! ./FlagshipContext */ "./src/FlagshipContext.tsx");
|
|
858
|
-
|
|
859
|
-
Object.keys(_FlagshipContext).forEach(function (key) {
|
|
860
|
-
if (key === "default" || key === "__esModule") return;
|
|
861
|
-
if (key in exports && exports[key] === _FlagshipContext[key]) return;
|
|
862
|
-
Object.defineProperty(exports, key, {
|
|
863
|
-
enumerable: true,
|
|
864
|
-
get: function () {
|
|
865
|
-
return _FlagshipContext[key];
|
|
866
|
-
}
|
|
867
|
-
});
|
|
868
|
-
});
|
|
869
|
-
|
|
870
|
-
var _jsSdk = __webpack_require__(/*! @flagship.io/js-sdk */ "@flagship.io/js-sdk");
|
|
871
|
-
|
|
872
|
-
Object.keys(_jsSdk).forEach(function (key) {
|
|
873
|
-
if (key === "default" || key === "__esModule") return;
|
|
874
|
-
if (key in exports && exports[key] === _jsSdk[key]) return;
|
|
875
|
-
Object.defineProperty(exports, key, {
|
|
876
|
-
enumerable: true,
|
|
877
|
-
get: function () {
|
|
878
|
-
return _jsSdk[key];
|
|
879
|
-
}
|
|
880
|
-
});
|
|
881
|
-
});
|
|
882
|
-
|
|
883
|
-
var _FlagshipHooks = __webpack_require__(/*! ./FlagshipHooks */ "./src/FlagshipHooks.tsx");
|
|
884
|
-
|
|
885
|
-
Object.keys(_FlagshipHooks).forEach(function (key) {
|
|
886
|
-
if (key === "default" || key === "__esModule") return;
|
|
887
|
-
if (key in exports && exports[key] === _FlagshipHooks[key]) return;
|
|
888
|
-
Object.defineProperty(exports, key, {
|
|
889
|
-
enumerable: true,
|
|
890
|
-
get: function () {
|
|
891
|
-
return _FlagshipHooks[key];
|
|
892
|
-
}
|
|
893
|
-
});
|
|
894
|
-
});
|
|
895
806
|
|
|
896
807
|
/***/ }),
|
|
897
808
|
|
|
@@ -899,17 +810,14 @@ Object.keys(_FlagshipHooks).forEach(function (key) {
|
|
|
899
810
|
/*!***************************!*\
|
|
900
811
|
!*** ./src/sdkVersion.ts ***!
|
|
901
812
|
\***************************/
|
|
902
|
-
/***/ ((__unused_webpack_module,
|
|
903
|
-
|
|
813
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
904
814
|
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
})
|
|
909
|
-
exports.version = void 0;
|
|
815
|
+
__webpack_require__.r(__webpack_exports__);
|
|
816
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
817
|
+
/* harmony export */ "version": () => (/* binding */ version)
|
|
818
|
+
/* harmony export */ });
|
|
910
819
|
// Generated by genversion.
|
|
911
|
-
const version = '3.2.0';
|
|
912
|
-
exports.version = version;
|
|
820
|
+
const version = '3.2.1-alpha.0';
|
|
913
821
|
|
|
914
822
|
/***/ }),
|
|
915
823
|
|
|
@@ -917,50 +825,46 @@ exports.version = version;
|
|
|
917
825
|
/*!***********************!*\
|
|
918
826
|
!*** ./src/utils.tsx ***!
|
|
919
827
|
\***********************/
|
|
920
|
-
/***/ ((__unused_webpack_module,
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
var
|
|
828
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
829
|
+
|
|
830
|
+
__webpack_require__.r(__webpack_exports__);
|
|
831
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
832
|
+
/* harmony export */ "getModificationsFromCampaigns": () => (/* binding */ getModificationsFromCampaigns),
|
|
833
|
+
/* harmony export */ "hasSameType": () => (/* binding */ hasSameType),
|
|
834
|
+
/* harmony export */ "logError": () => (/* binding */ logError),
|
|
835
|
+
/* harmony export */ "logInfo": () => (/* binding */ logInfo),
|
|
836
|
+
/* harmony export */ "logWarn": () => (/* binding */ logWarn),
|
|
837
|
+
/* harmony export */ "sprintf": () => (/* binding */ sprintf),
|
|
838
|
+
/* harmony export */ "useNonInitialEffect": () => (/* binding */ useNonInitialEffect),
|
|
839
|
+
/* harmony export */ "uuidV4": () => (/* binding */ uuidV4)
|
|
840
|
+
/* harmony export */ });
|
|
841
|
+
/* harmony import */ var _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @flagship.io/js-sdk */ "@flagship.io/js-sdk");
|
|
842
|
+
/* harmony import */ var _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_0__);
|
|
843
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
|
|
844
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
|
|
937
845
|
|
|
938
|
-
var _react = __webpack_require__(/*! react */ "react");
|
|
939
846
|
|
|
940
847
|
function logError(config, message, tag) {
|
|
941
|
-
if (!config || !config.logManager || typeof config.logManager.error !== 'function' || !config.logLevel || config.logLevel <
|
|
848
|
+
if (!config || !config.logManager || typeof config.logManager.error !== 'function' || !config.logLevel || config.logLevel < _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_0__.LogLevel.ERROR) {
|
|
942
849
|
return;
|
|
943
850
|
}
|
|
944
851
|
|
|
945
852
|
config.logManager.error(message, tag);
|
|
946
853
|
}
|
|
947
|
-
|
|
948
854
|
function logInfo(config, message, tag) {
|
|
949
|
-
if (!config || !config.logManager || typeof config.logManager.info !== 'function' || !config.logLevel || config.logLevel <
|
|
855
|
+
if (!config || !config.logManager || typeof config.logManager.info !== 'function' || !config.logLevel || config.logLevel < _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_0__.LogLevel.INFO) {
|
|
950
856
|
return;
|
|
951
857
|
}
|
|
952
858
|
|
|
953
859
|
config.logManager.info(message, tag);
|
|
954
860
|
}
|
|
955
|
-
|
|
956
861
|
function logWarn(config, message, tag) {
|
|
957
|
-
if (!config || !config.logManager || typeof config.logManager.warning !== 'function' || !config.logLevel || config.logLevel <
|
|
862
|
+
if (!config || !config.logManager || typeof config.logManager.warning !== 'function' || !config.logLevel || config.logLevel < _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_0__.LogLevel.WARNING) {
|
|
958
863
|
return;
|
|
959
864
|
}
|
|
960
865
|
|
|
961
866
|
config.logManager.warning(message, tag);
|
|
962
867
|
}
|
|
963
|
-
|
|
964
868
|
const getModificationsFromCampaigns = campaigns => {
|
|
965
869
|
const modifications = new Map();
|
|
966
870
|
|
|
@@ -985,9 +889,6 @@ const getModificationsFromCampaigns = campaigns => {
|
|
|
985
889
|
});
|
|
986
890
|
return modifications;
|
|
987
891
|
};
|
|
988
|
-
|
|
989
|
-
exports.getModificationsFromCampaigns = getModificationsFromCampaigns;
|
|
990
|
-
|
|
991
892
|
function uuidV4() {
|
|
992
893
|
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (char) {
|
|
993
894
|
const rand = Math.random() * 16 | 0;
|
|
@@ -995,10 +896,9 @@ function uuidV4() {
|
|
|
995
896
|
return value.toString(16);
|
|
996
897
|
});
|
|
997
898
|
}
|
|
998
|
-
|
|
999
899
|
function useNonInitialEffect(effect, deps) {
|
|
1000
|
-
const initialRender = (0,
|
|
1001
|
-
(0,
|
|
900
|
+
const initialRender = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(true);
|
|
901
|
+
(0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(() => {
|
|
1002
902
|
if (initialRender.current) {
|
|
1003
903
|
initialRender.current = false;
|
|
1004
904
|
return;
|
|
@@ -1009,7 +909,6 @@ function useNonInitialEffect(effect, deps) {
|
|
|
1009
909
|
}
|
|
1010
910
|
}, deps);
|
|
1011
911
|
}
|
|
1012
|
-
|
|
1013
912
|
function hasSameType(flagValue, defaultValue) {
|
|
1014
913
|
if (typeof flagValue !== typeof defaultValue) {
|
|
1015
914
|
return false;
|
|
@@ -1022,7 +921,6 @@ function hasSameType(flagValue, defaultValue) {
|
|
|
1022
921
|
return true;
|
|
1023
922
|
} // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1024
923
|
|
|
1025
|
-
|
|
1026
924
|
function sprintf(format, ...value) {
|
|
1027
925
|
let formatted = format;
|
|
1028
926
|
|
|
@@ -1046,16 +944,6 @@ module.exports = require("@flagship.io/js-sdk");
|
|
|
1046
944
|
|
|
1047
945
|
/***/ }),
|
|
1048
946
|
|
|
1049
|
-
/***/ "core-js/modules/es.promise.js":
|
|
1050
|
-
/*!************************************************!*\
|
|
1051
|
-
!*** external "core-js/modules/es.promise.js" ***!
|
|
1052
|
-
\************************************************/
|
|
1053
|
-
/***/ ((module) => {
|
|
1054
|
-
|
|
1055
|
-
module.exports = require("core-js/modules/es.promise.js");
|
|
1056
|
-
|
|
1057
|
-
/***/ }),
|
|
1058
|
-
|
|
1059
947
|
/***/ "react":
|
|
1060
948
|
/*!************************!*\
|
|
1061
949
|
!*** external "react" ***!
|
|
@@ -1093,13 +981,77 @@ module.exports = require("react");
|
|
|
1093
981
|
/******/ }
|
|
1094
982
|
/******/
|
|
1095
983
|
/************************************************************************/
|
|
984
|
+
/******/ /* webpack/runtime/compat get default export */
|
|
985
|
+
/******/ (() => {
|
|
986
|
+
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
|
987
|
+
/******/ __webpack_require__.n = (module) => {
|
|
988
|
+
/******/ var getter = module && module.__esModule ?
|
|
989
|
+
/******/ () => (module['default']) :
|
|
990
|
+
/******/ () => (module);
|
|
991
|
+
/******/ __webpack_require__.d(getter, { a: getter });
|
|
992
|
+
/******/ return getter;
|
|
993
|
+
/******/ };
|
|
994
|
+
/******/ })();
|
|
1096
995
|
/******/
|
|
1097
|
-
/******/
|
|
1098
|
-
/******/
|
|
1099
|
-
/******/
|
|
1100
|
-
/******/
|
|
1101
|
-
/******/
|
|
996
|
+
/******/ /* webpack/runtime/define property getters */
|
|
997
|
+
/******/ (() => {
|
|
998
|
+
/******/ // define getter functions for harmony exports
|
|
999
|
+
/******/ __webpack_require__.d = (exports, definition) => {
|
|
1000
|
+
/******/ for(var key in definition) {
|
|
1001
|
+
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
|
|
1002
|
+
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
|
|
1003
|
+
/******/ }
|
|
1004
|
+
/******/ }
|
|
1005
|
+
/******/ };
|
|
1006
|
+
/******/ })();
|
|
1007
|
+
/******/
|
|
1008
|
+
/******/ /* webpack/runtime/hasOwnProperty shorthand */
|
|
1009
|
+
/******/ (() => {
|
|
1010
|
+
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
|
|
1011
|
+
/******/ })();
|
|
1102
1012
|
/******/
|
|
1013
|
+
/******/ /* webpack/runtime/make namespace object */
|
|
1014
|
+
/******/ (() => {
|
|
1015
|
+
/******/ // define __esModule on exports
|
|
1016
|
+
/******/ __webpack_require__.r = (exports) => {
|
|
1017
|
+
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
|
1018
|
+
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
1019
|
+
/******/ }
|
|
1020
|
+
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
|
1021
|
+
/******/ };
|
|
1022
|
+
/******/ })();
|
|
1023
|
+
/******/
|
|
1024
|
+
/************************************************************************/
|
|
1025
|
+
var __webpack_exports__ = {};
|
|
1026
|
+
// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.
|
|
1027
|
+
(() => {
|
|
1028
|
+
/*!***********************!*\
|
|
1029
|
+
!*** ./src/index.tsx ***!
|
|
1030
|
+
\***********************/
|
|
1031
|
+
__webpack_require__.r(__webpack_exports__);
|
|
1032
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
1033
|
+
/* harmony export */ "FlagshipContext": () => (/* reexport safe */ _FlagshipContext__WEBPACK_IMPORTED_MODULE_0__.FlagshipContext),
|
|
1034
|
+
/* harmony export */ "FlagshipProvider": () => (/* reexport safe */ _FlagshipContext__WEBPACK_IMPORTED_MODULE_0__.FlagshipProvider),
|
|
1035
|
+
/* harmony export */ "useFlagship": () => (/* reexport safe */ _FlagshipHooks__WEBPACK_IMPORTED_MODULE_2__.useFlagship),
|
|
1036
|
+
/* harmony export */ "useFsActivate": () => (/* reexport safe */ _FlagshipHooks__WEBPACK_IMPORTED_MODULE_2__.useFsActivate),
|
|
1037
|
+
/* harmony export */ "useFsFlag": () => (/* reexport safe */ _FlagshipHooks__WEBPACK_IMPORTED_MODULE_2__.useFsFlag),
|
|
1038
|
+
/* harmony export */ "useFsModification": () => (/* reexport safe */ _FlagshipHooks__WEBPACK_IMPORTED_MODULE_2__.useFsModification),
|
|
1039
|
+
/* harmony export */ "useFsModificationInfo": () => (/* reexport safe */ _FlagshipHooks__WEBPACK_IMPORTED_MODULE_2__.useFsModificationInfo),
|
|
1040
|
+
/* harmony export */ "useFsModifications": () => (/* reexport safe */ _FlagshipHooks__WEBPACK_IMPORTED_MODULE_2__.useFsModifications)
|
|
1041
|
+
/* harmony export */ });
|
|
1042
|
+
/* harmony import */ var _FlagshipContext__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./FlagshipContext */ "./src/FlagshipContext.tsx");
|
|
1043
|
+
/* harmony import */ var _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @flagship.io/js-sdk */ "@flagship.io/js-sdk");
|
|
1044
|
+
/* harmony import */ var _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1__);
|
|
1045
|
+
/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};
|
|
1046
|
+
/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1__) if(["default","FlagshipContext","FlagshipProvider"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _flagship_io_js_sdk__WEBPACK_IMPORTED_MODULE_1__[__WEBPACK_IMPORT_KEY__]
|
|
1047
|
+
/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
1048
|
+
/* harmony import */ var _FlagshipHooks__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FlagshipHooks */ "./src/FlagshipHooks.tsx");
|
|
1049
|
+
|
|
1050
|
+
|
|
1051
|
+
|
|
1052
|
+
})();
|
|
1053
|
+
|
|
1054
|
+
module.exports = __webpack_exports__;
|
|
1103
1055
|
/******/ })()
|
|
1104
1056
|
;
|
|
1105
1057
|
//# sourceMappingURL=index.node.js.map
|
package/dist/index.node.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.node.js","mappings":"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","sources":["webpack://@flagship.io/react-sdk/./src/Flag.ts","webpack://@flagship.io/react-sdk/./src/FlagshipContext.tsx","webpack://@flagship.io/react-sdk/./src/FlagshipHooks.tsx","webpack://@flagship.io/react-sdk/./src/constants.ts","webpack://@flagship.io/react-sdk/./src/index.tsx","webpack://@flagship.io/react-sdk/./src/sdkVersion.ts","webpack://@flagship.io/react-sdk/./src/utils.tsx","webpack://@flagship.io/react-sdk/external commonjs \"@flagship.io/js-sdk\"","webpack://@flagship.io/react-sdk/external commonjs \"core-js/modules/es.promise.js\"","webpack://@flagship.io/react-sdk/external commonjs \"react\"","webpack://@flagship.io/react-sdk/webpack/bootstrap","webpack://@flagship.io/react-sdk/webpack/before-startup","webpack://@flagship.io/react-sdk/webpack/startup","webpack://@flagship.io/react-sdk/webpack/after-startup"],"sourcesContent":["import Flagship, { FlagDTO, FlagMetadata, IFlag, IFlagMetadata } from '@flagship.io/js-sdk'\nimport { GET_FLAG_CAST_ERROR, GET_METADATA_CAST_ERROR, noVisitorMessage } from './constants'\nimport { hasSameType, logInfo, logWarn, sprintf } from './utils'\n\nexport class Flag<T> implements IFlag<T> {\n private defaultValue:T\n private flagsData: Map<string, FlagDTO> | undefined\n private key: string\n private flag?: FlagDTO\n constructor (defaultValue:T, key: string, flagsData: Map<string, FlagDTO> | undefined) {\n if (!flagsData) {\n logWarn(Flagship.getConfig(), noVisitorMessage, 'GetFlag')\n }\n this.defaultValue = defaultValue\n this.key = key\n this.flag = flagsData?.get(key)\n }\n\n private NotSameType () {\n return this.defaultValue !== null && this.defaultValue !== undefined && !hasSameType(this.flag?.value, this.defaultValue)\n }\n\n getValue (): T {\n if (!this.flag) {\n logWarn(Flagship.getConfig(), noVisitorMessage, 'getValue')\n return this.defaultValue\n }\n\n if (this.NotSameType()) {\n logInfo(\n Flagship.getConfig(),\n sprintf(GET_FLAG_CAST_ERROR, this.key),\n 'getValue'\n )\n return this.defaultValue\n }\n return this.flag.value\n }\n\n exists ():boolean {\n if (!this.flag) {\n logWarn(Flagship.getConfig(), noVisitorMessage, 'exists')\n return false\n }\n return !!(this.flag.campaignId && this.flag.variationId && this.flag.variationGroupId)\n }\n\n userExposed (): Promise<void> {\n if (!this.flag) {\n logWarn(Flagship.getConfig(), noVisitorMessage, 'userExposed')\n }\n\n return Promise.resolve()\n }\n\n visitorExposed () : Promise<void> {\n if (!this.flag) {\n logWarn(Flagship.getConfig(), noVisitorMessage, 'visitorExposed')\n }\n\n return Promise.resolve()\n }\n\n get metadata ():IFlagMetadata {\n const functionName = 'metadata'\n if (!this.flag) {\n logWarn(Flagship.getConfig(), noVisitorMessage, functionName)\n return FlagMetadata.Empty()\n }\n if (this.NotSameType()) {\n logInfo(\n Flagship.getConfig(),\n sprintf(GET_METADATA_CAST_ERROR, this.key),\n functionName\n )\n return FlagMetadata.Empty()\n }\n\n return new FlagMetadata({\n campaignId: this.flag.campaignId,\n variationGroupId: this.flag.variationGroupId,\n variationId: this.flag.variationId,\n isReference: !!this.flag.isReference,\n campaignType: this.flag.campaignType as string,\n slug: this.flag.slug\n })\n }\n}\n","// eslint-disable-next-line no-use-before-define\nimport React, {\n useState,\n useEffect,\n ReactNode,\n createContext,\n Dispatch,\n SetStateAction,\n useRef\n} from 'react'\nimport {\n BucketingDTO,\n CampaignDTO,\n DecisionMode,\n FlagDTO,\n Flagship,\n FlagshipStatus,\n IFlagshipConfig,\n primitive,\n Visitor\n} from '@flagship.io/js-sdk'\nimport {\n getModificationsFromCampaigns,\n logError,\n useNonInitialEffect\n} from './utils'\nimport { version as SDK_VERSION } from './sdkVersion'\n\nexport interface FsStatus {\n /**\n * Boolean. When true, the SDK is still not ready to render your App otherwise it'll use default modifications.\n */\n isLoading: boolean;\n /**\n * Boolean. true after it has fully finished initialization tasks, false otherwise.\n */\n isSdkReady: boolean;\n\n lastModified?: Date;\n /**\n * Boolean. When true the flagship visitor instance is truthy, false otherwise.\n */\n isVisitorDefined?: boolean;\n /**\n * String or null. The last update date occurred on the flagship visitor instance.\n */\n lastRefresh?: string;\n /**\n * String or null. When null no initialization succeed yet. When string contains stringified date of last successful initialization.\n */\n firstInitSuccess?: string;\n}\nexport interface FsState {\n visitor?: Visitor;\n config?: IFlagshipConfig;\n modifications?: Map<string, FlagDTO>;\n status: FsStatus;\n initialCampaigns?: CampaignDTO[];\n initialModifications?: Map<string, FlagDTO> | FlagDTO[];\n}\n\nexport type VisitorData = {\n id?: string;\n context?: Record<string, primitive>;\n isAuthenticated?: boolean;\n hasConsented?: boolean;\n};\ninterface FsContext {\n state: FsState;\n setState?: Dispatch<SetStateAction<FsState>>;\n}\n\nexport interface FlagshipProviderProps extends IFlagshipConfig {\n /**\n * This is the data to identify the current visitor using your app\n */\n visitorData: VisitorData | null;\n envId: string;\n apiKey: string;\n /**\n * This component will be rendered when Flagship is loading at first initialization only.\n * By default, the value is undefined. It means it will display your app and it might\n * display default modifications value for a very short moment.\n */\n loadingComponent?: ReactNode;\n children?: ReactNode;\n\n /**\n * Callback function called when the SDK starts initialization.\n */\n onInitStart?(): void;\n /**\n * Callback function called when the SDK ends initialization.\n */\n onInitDone?(): void;\n /**\n * Callback function called when the SDK is updated. For example, after a synchronize is triggered or visitor context has changed.\n */\n onUpdate?(params: {\n fsModifications: Map<string, FlagDTO>;\n config: IFlagshipConfig;\n status: FsStatus;\n }): void;\n /**\n * This is an object of the data received when fetching bucketing endpoint.\n * Providing this prop will make bucketing ready to use and the first polling will immediatly check for an update.\n * If the shape of an element is not correct, an error log will give the reason why.\n */\n initialBucketing?: BucketingDTO;\n initialCampaigns?: CampaignDTO[];\n /**\n * This is a set of flag data provided to avoid the SDK to have an empty cache during the first initialization.\n * @deprecated use initialFlagsData instead\n */\n initialModifications?: Map<string, FlagDTO> | FlagDTO[];\n\n /**\n * This is a set of flag data provided to avoid the SDK to have an empty cache during the first initialization.\n */\n initialFlagsData?: Map<string, FlagDTO> | FlagDTO[];\n /**\n * If true, it'll automatically call synchronizeModifications when the bucketing file has updated\n */\n fetchFlagsOnBucketingUpdated?: boolean;\n}\n\nconst initStat: FsState = {\n status: { isLoading: true, isSdkReady: false }\n}\n\nexport const FlagshipContext = createContext<FsContext>({\n state: { ...initStat }\n})\n\nexport const FlagshipProvider: React.FC<FlagshipProviderProps> = ({\n children,\n envId,\n apiKey,\n decisionMode = DecisionMode.DECISION_API,\n visitorData,\n onInitStart,\n onInitDone,\n loadingComponent,\n statusChangedCallback,\n onBucketingUpdated,\n onUpdate,\n initialCampaigns,\n initialModifications,\n initialFlagsData,\n fetchFlagsOnBucketingUpdated,\n hitDeduplicationTime = 2,\n fetchNow = true,\n language = 1,\n sdkVersion = SDK_VERSION,\n ...props\n}: FlagshipProviderProps) => {\n let modifications = new Map<string, FlagDTO>()\n if (initialFlagsData && initialFlagsData.forEach) {\n initialFlagsData.forEach((flag) => {\n modifications.set(flag.key, flag)\n })\n } else if (initialModifications && initialModifications.forEach) {\n initialModifications.forEach((modification) => {\n modifications.set(modification.key, modification)\n })\n } else if (initialCampaigns) {\n modifications = getModificationsFromCampaigns(initialCampaigns)\n }\n\n const [state, setState] = useState<FsState>({ ...initStat, modifications })\n const [lastModified, setLastModified] = useState<Date>()\n const stateRef = useRef<FsState>()\n stateRef.current = state\n\n useNonInitialEffect(() => {\n if (fetchFlagsOnBucketingUpdated) {\n state.visitor?.fetchFlags()\n }\n }, [lastModified])\n\n useNonInitialEffect(() => {\n updateVisitor()\n }, [JSON.stringify(visitorData)])\n\n useEffect(() => {\n initSdk()\n }, [envId, apiKey, decisionMode])\n\n function initializeState (param: {\n fsVisitor: Visitor;\n isLoading: boolean;\n isSdkReady: boolean;\n }) {\n const newStatus: FsStatus = {\n isSdkReady: param.isSdkReady,\n isLoading: param.isLoading,\n isVisitorDefined: !!param.fsVisitor,\n lastRefresh: new Date().toISOString()\n }\n\n setState((currentState) => {\n if (!currentState.status.firstInitSuccess) {\n newStatus.firstInitSuccess = new Date().toISOString()\n }\n\n return {\n ...currentState,\n visitor: param.fsVisitor,\n modifications: param.fsVisitor.modifications,\n config: Flagship.getConfig(),\n status: {\n ...currentState.status,\n ...newStatus\n }\n }\n })\n\n return newStatus\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const onVisitorReady = (fsVisitor: Visitor, error: any) => {\n if (error) {\n logError(Flagship.getConfig(), error.message || error, 'onReady')\n return\n }\n\n const newStatus = initializeState({\n fsVisitor,\n isSdkReady: true,\n isLoading: false\n })\n\n if (onUpdate) {\n onUpdate({\n fsModifications: fsVisitor.modifications,\n config: Flagship.getConfig(),\n status: newStatus\n })\n }\n }\n\n function updateVisitor () {\n if (!visitorData) {\n return\n }\n if (!state.visitor) {\n createVisitor()\n return\n }\n\n if (visitorData.hasConsented !== state.visitor.hasConsented) {\n state.visitor.setConsent(visitorData.hasConsented as boolean)\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n state.visitor.updateContext(visitorData.context as any)\n\n if (!state.visitor.anonymousId && visitorData.isAuthenticated) {\n state.visitor.authenticate(visitorData.id as string)\n }\n if (state.visitor.anonymousId && !visitorData.isAuthenticated) {\n state.visitor.unauthenticate()\n }\n state.visitor.fetchFlags()\n }\n\n const createVisitor = () => {\n if (!visitorData) {\n return\n }\n const fsVisitor = Flagship.newVisitor({\n visitorId: visitorData.id,\n context: visitorData.context,\n isAuthenticated: visitorData.isAuthenticated,\n hasConsented: visitorData.hasConsented,\n initialCampaigns,\n initialModifications,\n initialFlagsData\n })\n\n fsVisitor?.on('ready', (error) => {\n onVisitorReady(fsVisitor, error)\n })\n\n if (!fetchNow) {\n initializeState({\n fsVisitor,\n isSdkReady: true,\n isLoading: false\n })\n }\n }\n const statusChanged = (status: FlagshipStatus) => {\n if (statusChangedCallback) {\n statusChangedCallback(status)\n }\n\n switch (status) {\n case FlagshipStatus.STARTING:\n if (status === FlagshipStatus.STARTING && onInitStart) {\n onInitStart()\n }\n break\n case FlagshipStatus.READY_PANIC_ON:\n case FlagshipStatus.READY:\n if (onInitDone) {\n onInitDone()\n }\n\n createVisitor()\n\n break\n case FlagshipStatus.NOT_INITIALIZED:\n setState((prev) => ({\n ...prev,\n status: {\n ...prev.status,\n isLoading: false\n },\n config: Flagship.getConfig()\n }))\n break\n }\n }\n\n const onBucketingLastModified = (lastUpdate: Date) => {\n if (onBucketingUpdated) {\n onBucketingUpdated(lastUpdate)\n }\n setLastModified(lastUpdate)\n }\n\n const initSdk = () => {\n Flagship.start(envId, apiKey, {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n decisionMode: decisionMode as any,\n fetchNow,\n statusChangedCallback: statusChanged,\n onBucketingUpdated: onBucketingLastModified,\n hitDeduplicationTime,\n language,\n sdkVersion,\n ...props\n })\n }\n const handleDisplay = (): React.ReactNode => {\n const isFirstInit = !state.visitor\n if (state.status.isLoading && loadingComponent && isFirstInit && fetchNow) {\n return <>{loadingComponent}</>\n }\n return <>{children}</>\n }\n return (\n <FlagshipContext.Provider value={{ state, setState }}>\n {handleDisplay()}\n </FlagshipContext.Provider>\n )\n}\n\nFlagshipProvider.defaultProps = {\n hitDeduplicationTime: 2,\n fetchNow: true,\n language: 1,\n sdkVersion: SDK_VERSION\n}\n","import { useContext } from 'react'\nimport Flagship, {\n FlagDTO,\n HitAbstract,\n HitShape,\n IFlag,\n IFlagshipConfig,\n IHit,\n Modification,\n modificationsRequested,\n primitive,\n Visitor\n} from '@flagship.io/js-sdk'\nimport { FlagshipContext, FsState, FsStatus } from './FlagshipContext'\nimport { logError, logWarn } from './utils'\nimport { Flag } from './Flag'\nimport { noVisitorDefault, noVisitorMessage } from './constants'\n\nconst checkType = (value: unknown, defaultValue: unknown) =>\n (typeof value === 'object' &&\n typeof defaultValue === 'object' &&\n Array.isArray(value) === Array.isArray(defaultValue)) ||\n typeof value === typeof defaultValue\n\nconst fsModificationsSync = <T extends unknown>(args: {\n functionName: string;\n params: modificationsRequested<T>[];\n activateAll?: boolean;\n state: FsState;\n visitor?: Visitor;\n config?: IFlagshipConfig;\n}): Record<string, T> => {\n const { visitor, params, activateAll, state, functionName, config } = args\n if (visitor) {\n return visitor.getModificationsSync(params, activateAll)\n }\n\n const check =\n !state.status.isSdkReady &&\n !!state.modifications &&\n state.modifications.size > 0\n const flags: Record<string, T> = {}\n\n if (check) {\n params.forEach((item) => {\n const modification = state.modifications?.get(item.key)\n\n if (modification && checkType(modification?.value, item.defaultValue)) {\n flags[item.key] = modification.value\n } else {\n flags[item.key] = item.defaultValue\n }\n })\n return flags\n }\n\n logWarn(config, noVisitorDefault, functionName)\n params.forEach((item) => {\n flags[item.key] = item.defaultValue\n })\n return flags\n}\n\n/**\n * Retrieve a modification value by its key. If no modification match the given key or if the stored value type and default value type do not match, default value will be returned.\n * @deprecated use useFsFlag instead\n */\nexport const useFsModifications = <T extends unknown>(\n params: modificationsRequested<T>[],\n activateAll?: boolean\n): Record<string, T> => {\n const { state } = useContext(FlagshipContext)\n const { visitor, config } = state\n const functionName = 'useFsModifications'\n\n return fsModificationsSync({\n functionName,\n state,\n visitor,\n config,\n params,\n activateAll\n })\n}\n\n/**\n * Retrieve a modification value by its key. If no modification match the given key or if the stored value type and default value type do not match, default value will be returned.\n * @deprecated use useFsFlag instead\n */\nexport const useFsModification: {\n <T>(params: modificationsRequested<T>): T;\n} = (params) => {\n const { state } = useContext(FlagshipContext)\n const { visitor, config } = state\n const functionName = 'useFsModifications'\n\n if (visitor) {\n return visitor.getModificationSync(params)\n }\n\n const modification = state.modifications?.get(params.key)\n\n if (\n !state.status.isSdkReady &&\n modification &&\n checkType(modification?.value, params.defaultValue)\n ) {\n return modification.value\n }\n\n logWarn(config, noVisitorDefault, functionName)\n return params.defaultValue\n}\n\nconst fsModificationInfoSync = (args: {\n key: string;\n state: FsState;\n visitor?: Visitor;\n}) => {\n const { key, visitor, state } = args\n if (visitor) {\n return visitor.getModificationInfoSync(key)\n }\n const modification = state.modifications?.get(key)\n if (!state.status.isSdkReady && modification) {\n return modification\n }\n return null\n}\n\n/**\n * Get the campaign modification information value matching the given key.\n * @param {string} key key which identify the modification.\n * @deprecated use useFsFlag instead\n */\nexport const useFsModificationInfo: { (key: string): Modification | null } = (\n key: string\n) => {\n const { state } = useContext(FlagshipContext)\n const { visitor } = state\n return fsModificationInfoSync({ key, state, visitor })\n}\n\nconst fsActivate = async (\n params: { key: string }[] | string[],\n functionName: string,\n visitor?: Visitor,\n config?: IFlagshipConfig\n) => {\n try {\n if (!visitor) {\n logWarn(config, noVisitorMessage, functionName)\n return\n }\n await visitor.activateModifications(params)\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (error: any) {\n logWarn(config, error.message || error, functionName)\n }\n}\n\n/**\n * This hook returns a flag object by its key. If no flag match the given key an empty flag will be returned.\n * @param key\n * @param defaultValue\n * @returns\n */\nexport const useFsFlag = <T extends unknown>(\n key: string,\n defaultValue: T\n): IFlag<T> => {\n const { state } = useContext(FlagshipContext)\n const { visitor } = state\n\n if (!visitor) {\n return new Flag(defaultValue, key, state.modifications)\n }\n\n return visitor.getFlag(key, defaultValue)\n}\n\n/**\n * Report this user has seen this modification. Report this user has seen these modifications.\n * @param params\n * @deprecated use useFsFlag instead\n * @returns\n */\nexport const useFsActivate: {\n (keys: { key: string }[]): Promise<void>;\n (keys: string[]): Promise<void>;\n} = async (params) => {\n const { state } = useContext(FlagshipContext)\n const { visitor, config } = state\n const functionName = 'useFsModifications'\n\n await fsActivate(params, functionName, visitor, config)\n}\n\nexport type UseFlagshipParams<T> = {\n modifications: {\n requested: modificationsRequested<T>[];\n activateAll?: boolean;\n };\n};\n\nexport type UseFlagshipOutput = {\n visitorId?: string;\n anonymousId?: string | null;\n context?: Record<string, primitive>;\n hasConsented?: boolean;\n /**\n * Set if visitor has consented for protected data usage.\n * @param hasConsented True if the visitor has consented false otherwise.\n */\n setConsent: (hasConsented: boolean) => void;\n modifications: Modification[];\n flagsData: FlagDTO[];\n status: FsStatus;\n /**\n *\n * @param params\n * @param activateAll\n * @deprecated use getFlag instead\n */\n getModifications<T>(\n params: modificationsRequested<T>[],\n activateAll?: boolean\n ): Record<string, T>;\n\n /**\n *\n * @param key\n * @deprecated use getFlag instead\n */\n getModificationInfo(key: string): Modification | null;\n\n /**\n * @deprecated use fetchFlags instead\n */\n synchronizeModifications(): Promise<void>;\n /**\n * @deprecated use getFlag instead\n */\n activateModification: {\n (keys: { key: string }[]): Promise<void>;\n (keys: string[]): Promise<void>;\n };\n /**\n * Update the visitor context values, matching the given keys, used for targeting.\n * A new context value associated with this key will be created if there is no previous matching value.\n * Context keys must be String, and values types must be one of the following : Number, Boolean, String.\n * @param context collection of keys, values.\n */\n updateContext(context: Record<string, primitive>): void;\n /**\n * clear the actual visitor context\n */\n clearContext(): void;\n /**\n * Authenticate anonymous visitor\n * @param visitorId\n */\n authenticate(visitorId: string): void;\n /**\n * This function change authenticated Visitor to anonymous visitor\n * @param visitorId\n */\n unauthenticate(): void;\n hit: {\n send: {\n (hit: HitAbstract): Promise<void>;\n (hit: IHit): Promise<void>;\n (hit: HitShape): Promise<void>;\n (hit: HitAbstract | IHit | HitShape): Promise<void>;\n };\n sendMultiple: {\n (hit: HitAbstract[]): Promise<void>;\n (hit: IHit[]): Promise<void>;\n (hit: HitShape[]): Promise<void>;\n (hit: HitAbstract[] | IHit[] | HitShape[]): Promise<void>;\n };\n };\n /**\n * Retrieve a Flag object by its key. If no flag match the given key an empty flag will be returned.\n * @param key flag key\n * @param defaultValue\n */\n getFlag<T>(key: string, defaultValue: T): IFlag<T>;\n /**\n * In DecisionApi Mode this function calls the Flagship Decision API to run campaign assignments according to the current user context and retrieve applicable flags.\n *\n * In bucketing Mode, it checks bucketing file, validates campaigns targeting the visitor, assigns a variation and retrieve applicable flags.\n */\n fetchFlags: () => Promise<void>;\n\n /**\n * When called, it will batch and send all hits that are in the pool before the application is closed\n */\n close():Promise<void>\n};\n\nexport const useFlagship = (): UseFlagshipOutput => {\n const { state } = useContext(FlagshipContext)\n const { visitor, config } = state\n\n const fsUpdateContext = (context: Record<string, primitive>): void => {\n const functionName = 'updateContext'\n if (!visitor) {\n logError(config, noVisitorMessage, functionName)\n return\n }\n visitor.clearContext()\n visitor.updateContext(context)\n }\n\n const fsClearContext = (): void => {\n const functionName = 'cleanContext'\n if (!visitor) {\n logError(config, noVisitorMessage, functionName)\n return\n }\n visitor.clearContext()\n }\n\n const fsAuthenticate = (visitorId: string): void => {\n const functionName = 'authenticate'\n if (!visitor) {\n logError(config, noVisitorMessage, functionName)\n return\n }\n visitor.authenticate(visitorId)\n }\n\n const fsUnauthenticate = (): void => {\n const functionName = 'unauthenticate'\n if (!visitor) {\n logError(config, noVisitorMessage, functionName)\n return\n }\n visitor.unauthenticate()\n }\n\n /**\n * Send a Hit to Flagship servers for reporting.\n */\n const fsSendHit: {\n (hit: HitAbstract | IHit | HitShape): Promise<void>;\n } = (hit) => {\n const functionName = 'sendHit'\n if (!visitor) {\n logError(config, noVisitorMessage, functionName)\n return Promise.resolve()\n }\n return visitor.sendHit(hit)\n }\n\n /**\n * Send a Hit to Flagship servers for reporting.\n */\n const fsSendHits: {\n (hit: HitAbstract[] | IHit[] | HitShape[]): Promise<void>;\n } = (hit) => {\n const functionName = 'sendHits'\n if (!visitor) {\n logError(config, noVisitorMessage, functionName)\n return Promise.resolve()\n }\n return visitor.sendHits(hit)\n }\n\n let modifications = visitor?.getModificationsArray()\n if (!state.status.isSdkReady && state.modifications) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n modifications = Array.from(state.modifications, ([_key, item]) => item)\n }\n\n const activateModification: {\n (keys: { key: string }[]): Promise<void>;\n (keys: string[]): Promise<void>;\n } = async (params) => {\n const functionName = 'activateModification'\n await fsActivate(params, functionName, visitor, config)\n }\n const synchronizeModifications = async () => {\n if (!visitor) {\n logWarn(config, noVisitorMessage, 'synchronizeModifications')\n return\n }\n await visitor.synchronizeModifications()\n }\n\n const getModifications = <T extends unknown>(\n params: modificationsRequested<T>[],\n activateAll?: boolean\n ) => {\n const functionName = 'getModifications'\n return fsModificationsSync({\n functionName,\n state,\n visitor,\n config,\n params,\n activateAll\n })\n }\n\n const getModificationInfo: { (key: string): Modification | null } = (\n key: string\n ) => {\n return fsModificationInfoSync({ key, state, visitor })\n }\n\n function getFlag<T> (key: string, defaultValue: T): IFlag<T> {\n if (!visitor) {\n return new Flag(defaultValue, key, state.modifications)\n }\n return visitor.getFlag(key, defaultValue)\n }\n\n function fetchFlags (): Promise<void> {\n if (!visitor) {\n logWarn(config, noVisitorMessage, 'fetchFlags')\n return Promise.resolve()\n }\n return visitor.fetchFlags()\n }\n\n function setConsent (hasConsented: boolean): void {\n if (!visitor) {\n logWarn(config, noVisitorMessage, 'setConsent')\n return\n }\n visitor.setConsent(hasConsented)\n }\n\n async function close ():Promise<void> {\n await Flagship.close()\n }\n\n return {\n visitorId: visitor?.visitorId,\n anonymousId: visitor?.anonymousId,\n context: { ...visitor?.context },\n hasConsented: visitor?.hasConsented,\n setConsent,\n updateContext: fsUpdateContext,\n clearContext: fsClearContext,\n authenticate: fsAuthenticate,\n unauthenticate: fsUnauthenticate,\n status: state.status,\n activateModification,\n synchronizeModifications,\n getModifications,\n modifications: modifications || [],\n flagsData: visitor?.getFlagsDataArray() || [],\n getModificationInfo,\n hit: {\n send: fsSendHit,\n sendMultiple: fsSendHits\n },\n getFlag,\n fetchFlags,\n close\n }\n}\n","export const noVisitorMessage = 'flagship Visitor not initialized.'\nexport const noVisitorDefault = 'fsVisitor not initialized, returns default value'\n\n export const GET_FLAG_CAST_ERROR ='Flag for key {0} has a different type. Default value is returned.'\n export const GET_METADATA_CAST_ERROR = 'Flag for key {0} has a different type with defaultValue, an empty metadata object is returned'\n","export * from './FlagshipContext'\nexport * from '@flagship.io/js-sdk'\nexport * from './FlagshipHooks'\n","// Generated by genversion.\nexport const version = '3.2.0'\n","import {\n CampaignDTO,\n IFlagshipConfig,\n LogLevel,\n Modification\n} from '@flagship.io/js-sdk'\nimport { EffectCallback, DependencyList, useEffect, useRef } from 'react'\n\nexport function logError (\n config: IFlagshipConfig | undefined,\n message: string,\n tag: string\n): void {\n if (\n !config ||\n !config.logManager ||\n typeof config.logManager.error !== 'function' ||\n !config.logLevel ||\n config.logLevel < LogLevel.ERROR\n ) {\n return\n }\n\n config.logManager.error(message, tag)\n}\n\nexport function logInfo (\n config: IFlagshipConfig | undefined,\n message: string,\n tag: string\n): void {\n if (\n !config ||\n !config.logManager ||\n typeof config.logManager.info !== 'function' ||\n !config.logLevel ||\n config.logLevel < LogLevel.INFO\n ) {\n return\n }\n config.logManager.info(message, tag)\n}\n\nexport function logWarn (\n config: IFlagshipConfig | undefined,\n message: string,\n tag: string\n): void {\n if (\n !config ||\n !config.logManager ||\n typeof config.logManager.warning !== 'function' ||\n !config.logLevel ||\n config.logLevel < LogLevel.WARNING\n ) {\n return\n }\n config.logManager.warning(message, tag)\n}\n\nexport const getModificationsFromCampaigns = (\n campaigns: Array<CampaignDTO>\n): Map<string, Modification> => {\n const modifications = new Map<string, Modification>()\n if (!campaigns || !Array.isArray(campaigns)) {\n return modifications\n }\n campaigns.forEach((campaign) => {\n const object = campaign.variation.modifications.value\n for (const key in object) {\n const value = object[key]\n modifications.set(key, {\n key,\n campaignId: campaign.id,\n variationGroupId: campaign.variationGroupId,\n variationId: campaign.variation.id,\n isReference: campaign.variation.reference,\n value\n })\n }\n })\n return modifications\n}\n\nexport function uuidV4 (): string {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(\n /[xy]/g,\n function (char) {\n const rand = (Math.random() * 16) | 0\n const value = char === 'x' ? rand : (rand & 0x3) | 0x8\n return value.toString(16)\n }\n )\n}\n\nexport function useNonInitialEffect (\n effect: EffectCallback,\n deps?: DependencyList\n): void {\n const initialRender = useRef(true)\n\n useEffect(() => {\n if (initialRender.current) {\n initialRender.current = false\n return\n }\n\n if (typeof effect === 'function') {\n return effect()\n }\n }, deps)\n}\n\nexport function hasSameType (flagValue:unknown, defaultValue:unknown):boolean {\n if (typeof flagValue !== typeof defaultValue) {\n return false\n }\n if (typeof flagValue === 'object' && typeof defaultValue === 'object' &&\n Array.isArray(flagValue) !== Array.isArray(defaultValue)\n ) {\n return false\n }\n return true\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function sprintf (format: string, ...value: any[]): string {\n let formatted = format\n for (let i = 0; i < value.length; i++) {\n const element = value[i]\n formatted = formatted.replace(new RegExp(`\\\\{${i}\\\\}`, 'g'), element)\n }\n return formatted\n}\n","module.exports = require(\"@flagship.io/js-sdk\");","module.exports = require(\"core-js/modules/es.promise.js\");","module.exports = require(\"react\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(\"./src/index.tsx\");\n",""],"names":["Flag","constructor","defaultValue","key","flagsData","Flagship","getConfig","noVisitorMessage","flag","get","NotSameType","undefined","value","getValue","GET_FLAG_CAST_ERROR","exists","campaignId","variationId","variationGroupId","userExposed","Promise","resolve","visitorExposed","metadata","functionName","FlagMetadata","Empty","GET_METADATA_CAST_ERROR","isReference","campaignType","slug","initStat","status","isLoading","isSdkReady","FlagshipContext","state","FlagshipProvider","children","envId","apiKey","decisionMode","DecisionMode","DECISION_API","visitorData","onInitStart","onInitDone","loadingComponent","statusChangedCallback","onBucketingUpdated","onUpdate","initialCampaigns","initialModifications","initialFlagsData","fetchFlagsOnBucketingUpdated","hitDeduplicationTime","fetchNow","language","sdkVersion","SDK_VERSION","props","modifications","Map","forEach","set","modification","setState","lastModified","setLastModified","stateRef","current","visitor","fetchFlags","updateVisitor","JSON","stringify","initSdk","initializeState","param","newStatus","isVisitorDefined","fsVisitor","lastRefresh","Date","toISOString","currentState","firstInitSuccess","config","onVisitorReady","error","message","fsModifications","createVisitor","hasConsented","setConsent","updateContext","context","anonymousId","isAuthenticated","authenticate","id","unauthenticate","newVisitor","visitorId","on","statusChanged","FlagshipStatus","STARTING","READY_PANIC_ON","READY","NOT_INITIALIZED","prev","onBucketingLastModified","lastUpdate","start","handleDisplay","isFirstInit","defaultProps","checkType","Array","isArray","fsModificationsSync","args","params","activateAll","getModificationsSync","check","size","flags","item","noVisitorDefault","useFsModifications","useFsModification","getModificationSync","fsModificationInfoSync","getModificationInfoSync","useFsModificationInfo","fsActivate","activateModifications","useFsFlag","getFlag","useFsActivate","useFlagship","fsUpdateContext","clearContext","fsClearContext","fsAuthenticate","fsUnauthenticate","fsSendHit","hit","sendHit","fsSendHits","sendHits","getModificationsArray","from","_key","activateModification","synchronizeModifications","getModifications","getModificationInfo","close","getFlagsDataArray","send","sendMultiple","version","logError","tag","logManager","logLevel","LogLevel","ERROR","logInfo","info","INFO","logWarn","warning","WARNING","getModificationsFromCampaigns","campaigns","campaign","object","variation","reference","uuidV4","replace","char","rand","Math","random","toString","useNonInitialEffect","effect","deps","initialRender","hasSameType","flagValue","sprintf","format","formatted","i","length","element","RegExp"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"index.node.js","mappings":"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","sources":["webpack://@flagship.io/react-sdk/./src/Flag.ts","webpack://@flagship.io/react-sdk/./src/FlagshipContext.tsx","webpack://@flagship.io/react-sdk/./src/FlagshipHooks.tsx","webpack://@flagship.io/react-sdk/./src/constants.ts","webpack://@flagship.io/react-sdk/./src/sdkVersion.ts","webpack://@flagship.io/react-sdk/./src/utils.tsx","webpack://@flagship.io/react-sdk/external commonjs \"@flagship.io/js-sdk\"","webpack://@flagship.io/react-sdk/external commonjs \"react\"","webpack://@flagship.io/react-sdk/webpack/bootstrap","webpack://@flagship.io/react-sdk/webpack/runtime/compat get default export","webpack://@flagship.io/react-sdk/webpack/runtime/define property getters","webpack://@flagship.io/react-sdk/webpack/runtime/hasOwnProperty shorthand","webpack://@flagship.io/react-sdk/webpack/runtime/make namespace object","webpack://@flagship.io/react-sdk/./src/index.tsx"],"sourcesContent":["import Flagship, { FlagDTO, FlagMetadata, IFlag, IFlagMetadata } from '@flagship.io/js-sdk'\nimport { GET_FLAG_CAST_ERROR, GET_METADATA_CAST_ERROR, noVisitorMessage } from './constants'\nimport { hasSameType, logInfo, logWarn, sprintf } from './utils'\n\nexport class Flag<T> implements IFlag<T> {\n private defaultValue:T\n private flagsData: Map<string, FlagDTO> | undefined\n private key: string\n private flag?: FlagDTO\n constructor (defaultValue:T, key: string, flagsData: Map<string, FlagDTO> | undefined) {\n if (!flagsData) {\n logWarn(Flagship.getConfig(), noVisitorMessage, 'GetFlag')\n }\n this.defaultValue = defaultValue\n this.key = key\n this.flag = flagsData?.get(key)\n }\n\n private NotSameType () {\n return this.defaultValue !== null && this.defaultValue !== undefined && !hasSameType(this.flag?.value, this.defaultValue)\n }\n\n getValue (): T {\n if (!this.flag) {\n logWarn(Flagship.getConfig(), noVisitorMessage, 'getValue')\n return this.defaultValue\n }\n\n if (this.NotSameType()) {\n logInfo(\n Flagship.getConfig(),\n sprintf(GET_FLAG_CAST_ERROR, this.key),\n 'getValue'\n )\n return this.defaultValue\n }\n return this.flag.value\n }\n\n exists ():boolean {\n if (!this.flag) {\n logWarn(Flagship.getConfig(), noVisitorMessage, 'exists')\n return false\n }\n return !!(this.flag.campaignId && this.flag.variationId && this.flag.variationGroupId)\n }\n\n userExposed (): Promise<void> {\n if (!this.flag) {\n logWarn(Flagship.getConfig(), noVisitorMessage, 'userExposed')\n }\n\n return Promise.resolve()\n }\n\n visitorExposed () : Promise<void> {\n if (!this.flag) {\n logWarn(Flagship.getConfig(), noVisitorMessage, 'visitorExposed')\n }\n\n return Promise.resolve()\n }\n\n get metadata ():IFlagMetadata {\n const functionName = 'metadata'\n if (!this.flag) {\n logWarn(Flagship.getConfig(), noVisitorMessage, functionName)\n return FlagMetadata.Empty()\n }\n if (this.NotSameType()) {\n logInfo(\n Flagship.getConfig(),\n sprintf(GET_METADATA_CAST_ERROR, this.key),\n functionName\n )\n return FlagMetadata.Empty()\n }\n\n return new FlagMetadata({\n campaignId: this.flag.campaignId,\n variationGroupId: this.flag.variationGroupId,\n variationId: this.flag.variationId,\n isReference: !!this.flag.isReference,\n campaignType: this.flag.campaignType as string,\n slug: this.flag.slug\n })\n }\n}\n","// eslint-disable-next-line no-use-before-define\nimport React, {\n useState,\n useEffect,\n ReactNode,\n createContext,\n Dispatch,\n SetStateAction,\n useRef\n} from 'react'\nimport {\n BucketingDTO,\n CampaignDTO,\n DecisionMode,\n FlagDTO,\n Flagship,\n FlagshipStatus,\n IFlagshipConfig,\n primitive,\n Visitor\n} from '@flagship.io/js-sdk'\nimport {\n getModificationsFromCampaigns,\n logError,\n useNonInitialEffect\n} from './utils'\nimport { version as SDK_VERSION } from './sdkVersion'\n\nexport interface FsStatus {\n /**\n * Boolean. When true, the SDK is still not ready to render your App otherwise it'll use default modifications.\n */\n isLoading: boolean;\n /**\n * Boolean. true after it has fully finished initialization tasks, false otherwise.\n */\n isSdkReady: boolean;\n\n lastModified?: Date;\n /**\n * Boolean. When true the flagship visitor instance is truthy, false otherwise.\n */\n isVisitorDefined?: boolean;\n /**\n * String or null. The last update date occurred on the flagship visitor instance.\n */\n lastRefresh?: string;\n /**\n * String or null. When null no initialization succeed yet. When string contains stringified date of last successful initialization.\n */\n firstInitSuccess?: string;\n}\nexport interface FsState {\n visitor?: Visitor;\n config?: IFlagshipConfig;\n modifications?: Map<string, FlagDTO>;\n status: FsStatus;\n initialCampaigns?: CampaignDTO[];\n initialModifications?: Map<string, FlagDTO> | FlagDTO[];\n}\n\nexport type VisitorData = {\n id?: string;\n context?: Record<string, primitive>;\n isAuthenticated?: boolean;\n hasConsented?: boolean;\n};\ninterface FsContext {\n state: FsState;\n setState?: Dispatch<SetStateAction<FsState>>;\n}\n\nexport interface FlagshipProviderProps extends IFlagshipConfig {\n /**\n * This is the data to identify the current visitor using your app\n */\n visitorData: VisitorData | null;\n envId: string;\n apiKey: string;\n /**\n * This component will be rendered when Flagship is loading at first initialization only.\n * By default, the value is undefined. It means it will display your app and it might\n * display default modifications value for a very short moment.\n */\n loadingComponent?: ReactNode;\n children?: ReactNode;\n\n /**\n * Callback function called when the SDK starts initialization.\n */\n onInitStart?(): void;\n /**\n * Callback function called when the SDK ends initialization.\n */\n onInitDone?(): void;\n /**\n * Callback function called when the SDK is updated. For example, after a synchronize is triggered or visitor context has changed.\n */\n onUpdate?(params: {\n fsModifications: Map<string, FlagDTO>;\n config: IFlagshipConfig;\n status: FsStatus;\n }): void;\n /**\n * This is an object of the data received when fetching bucketing endpoint.\n * Providing this prop will make bucketing ready to use and the first polling will immediatly check for an update.\n * If the shape of an element is not correct, an error log will give the reason why.\n */\n initialBucketing?: BucketingDTO;\n initialCampaigns?: CampaignDTO[];\n /**\n * This is a set of flag data provided to avoid the SDK to have an empty cache during the first initialization.\n * @deprecated use initialFlagsData instead\n */\n initialModifications?: Map<string, FlagDTO> | FlagDTO[];\n\n /**\n * This is a set of flag data provided to avoid the SDK to have an empty cache during the first initialization.\n */\n initialFlagsData?: Map<string, FlagDTO> | FlagDTO[];\n /**\n * If true, it'll automatically call synchronizeModifications when the bucketing file has updated\n */\n fetchFlagsOnBucketingUpdated?: boolean;\n}\n\nconst initStat: FsState = {\n status: { isLoading: true, isSdkReady: false }\n}\n\nexport const FlagshipContext = createContext<FsContext>({\n state: { ...initStat }\n})\n\nexport const FlagshipProvider: React.FC<FlagshipProviderProps> = ({\n children,\n envId,\n apiKey,\n decisionMode = DecisionMode.DECISION_API,\n visitorData,\n onInitStart,\n onInitDone,\n loadingComponent,\n statusChangedCallback,\n onBucketingUpdated,\n onUpdate,\n initialCampaigns,\n initialModifications,\n initialFlagsData,\n fetchFlagsOnBucketingUpdated,\n hitDeduplicationTime = 2,\n fetchNow = true,\n language = 1,\n sdkVersion = SDK_VERSION,\n ...props\n}: FlagshipProviderProps) => {\n let modifications = new Map<string, FlagDTO>()\n if (initialFlagsData && initialFlagsData.forEach) {\n initialFlagsData.forEach((flag) => {\n modifications.set(flag.key, flag)\n })\n } else if (initialModifications && initialModifications.forEach) {\n initialModifications.forEach((modification) => {\n modifications.set(modification.key, modification)\n })\n } else if (initialCampaigns) {\n modifications = getModificationsFromCampaigns(initialCampaigns)\n }\n\n const [state, setState] = useState<FsState>({ ...initStat, modifications })\n const [lastModified, setLastModified] = useState<Date>()\n const stateRef = useRef<FsState>()\n stateRef.current = state\n\n useNonInitialEffect(() => {\n if (fetchFlagsOnBucketingUpdated) {\n state.visitor?.fetchFlags()\n }\n }, [lastModified])\n\n useNonInitialEffect(() => {\n updateVisitor()\n }, [JSON.stringify(visitorData)])\n\n useEffect(() => {\n initSdk()\n }, [envId, apiKey, decisionMode])\n\n function initializeState (param: {\n fsVisitor: Visitor;\n isLoading: boolean;\n isSdkReady: boolean;\n }) {\n const newStatus: FsStatus = {\n isSdkReady: param.isSdkReady,\n isLoading: param.isLoading,\n isVisitorDefined: !!param.fsVisitor,\n lastRefresh: new Date().toISOString()\n }\n\n setState((currentState) => {\n if (!currentState.status.firstInitSuccess) {\n newStatus.firstInitSuccess = new Date().toISOString()\n }\n\n return {\n ...currentState,\n visitor: param.fsVisitor,\n modifications: param.fsVisitor.modifications,\n config: Flagship.getConfig(),\n status: {\n ...currentState.status,\n ...newStatus\n }\n }\n })\n\n return newStatus\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const onVisitorReady = (fsVisitor: Visitor, error: any) => {\n if (error) {\n logError(Flagship.getConfig(), error.message || error, 'onReady')\n return\n }\n\n const newStatus = initializeState({\n fsVisitor,\n isSdkReady: true,\n isLoading: false\n })\n\n if (onUpdate) {\n onUpdate({\n fsModifications: fsVisitor.modifications,\n config: Flagship.getConfig(),\n status: newStatus\n })\n }\n }\n\n function updateVisitor () {\n if (!visitorData) {\n return\n }\n if (!state.visitor) {\n createVisitor()\n return\n }\n\n if (visitorData.hasConsented !== state.visitor.hasConsented) {\n state.visitor.setConsent(visitorData.hasConsented as boolean)\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n state.visitor.updateContext(visitorData.context as any)\n\n if (!state.visitor.anonymousId && visitorData.isAuthenticated) {\n state.visitor.authenticate(visitorData.id as string)\n }\n if (state.visitor.anonymousId && !visitorData.isAuthenticated) {\n state.visitor.unauthenticate()\n }\n state.visitor.fetchFlags()\n }\n\n const createVisitor = () => {\n if (!visitorData) {\n return\n }\n const fsVisitor = Flagship.newVisitor({\n visitorId: visitorData.id,\n context: visitorData.context,\n isAuthenticated: visitorData.isAuthenticated,\n hasConsented: visitorData.hasConsented,\n initialCampaigns,\n initialModifications,\n initialFlagsData\n })\n\n fsVisitor?.on('ready', (error) => {\n onVisitorReady(fsVisitor, error)\n })\n\n if (!fetchNow) {\n initializeState({\n fsVisitor,\n isSdkReady: true,\n isLoading: false\n })\n }\n }\n const statusChanged = (status: FlagshipStatus) => {\n if (statusChangedCallback) {\n statusChangedCallback(status)\n }\n\n switch (status) {\n case FlagshipStatus.STARTING:\n if (status === FlagshipStatus.STARTING && onInitStart) {\n onInitStart()\n }\n break\n case FlagshipStatus.READY_PANIC_ON:\n case FlagshipStatus.READY:\n if (onInitDone) {\n onInitDone()\n }\n\n createVisitor()\n\n break\n case FlagshipStatus.NOT_INITIALIZED:\n setState((prev) => ({\n ...prev,\n status: {\n ...prev.status,\n isLoading: false\n },\n config: Flagship.getConfig()\n }))\n break\n }\n }\n\n const onBucketingLastModified = (lastUpdate: Date) => {\n if (onBucketingUpdated) {\n onBucketingUpdated(lastUpdate)\n }\n setLastModified(lastUpdate)\n }\n\n const initSdk = () => {\n Flagship.start(envId, apiKey, {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n decisionMode: decisionMode as any,\n fetchNow,\n statusChangedCallback: statusChanged,\n onBucketingUpdated: onBucketingLastModified,\n hitDeduplicationTime,\n language,\n sdkVersion,\n ...props\n })\n }\n const handleDisplay = (): React.ReactNode => {\n const isFirstInit = !state.visitor\n if (state.status.isLoading && loadingComponent && isFirstInit && fetchNow) {\n return <>{loadingComponent}</>\n }\n return <>{children}</>\n }\n return (\n <FlagshipContext.Provider value={{ state, setState }}>\n {handleDisplay()}\n </FlagshipContext.Provider>\n )\n}\n\nFlagshipProvider.defaultProps = {\n hitDeduplicationTime: 2,\n fetchNow: true,\n language: 1,\n sdkVersion: SDK_VERSION\n}\n","import { useContext } from 'react'\nimport Flagship, {\n FlagDTO,\n HitAbstract,\n HitShape,\n IFlag,\n IFlagshipConfig,\n IHit,\n Modification,\n modificationsRequested,\n primitive,\n Visitor\n} from '@flagship.io/js-sdk'\nimport { FlagshipContext, FsState, FsStatus } from './FlagshipContext'\nimport { logError, logWarn } from './utils'\nimport { Flag } from './Flag'\nimport { noVisitorDefault, noVisitorMessage } from './constants'\n\nconst checkType = (value: unknown, defaultValue: unknown) =>\n (typeof value === 'object' &&\n typeof defaultValue === 'object' &&\n Array.isArray(value) === Array.isArray(defaultValue)) ||\n typeof value === typeof defaultValue\n\nconst fsModificationsSync = <T extends unknown>(args: {\n functionName: string;\n params: modificationsRequested<T>[];\n activateAll?: boolean;\n state: FsState;\n visitor?: Visitor;\n config?: IFlagshipConfig;\n}): Record<string, T> => {\n const { visitor, params, activateAll, state, functionName, config } = args\n if (visitor) {\n return visitor.getModificationsSync(params, activateAll)\n }\n\n const check =\n !state.status.isSdkReady &&\n !!state.modifications &&\n state.modifications.size > 0\n const flags: Record<string, T> = {}\n\n if (check) {\n params.forEach((item) => {\n const modification = state.modifications?.get(item.key)\n\n if (modification && checkType(modification?.value, item.defaultValue)) {\n flags[item.key] = modification.value\n } else {\n flags[item.key] = item.defaultValue\n }\n })\n return flags\n }\n\n logWarn(config, noVisitorDefault, functionName)\n params.forEach((item) => {\n flags[item.key] = item.defaultValue\n })\n return flags\n}\n\n/**\n * Retrieve a modification value by its key. If no modification match the given key or if the stored value type and default value type do not match, default value will be returned.\n * @deprecated use useFsFlag instead\n */\nexport const useFsModifications = <T extends unknown>(\n params: modificationsRequested<T>[],\n activateAll?: boolean\n): Record<string, T> => {\n const { state } = useContext(FlagshipContext)\n const { visitor, config } = state\n const functionName = 'useFsModifications'\n\n return fsModificationsSync({\n functionName,\n state,\n visitor,\n config,\n params,\n activateAll\n })\n}\n\n/**\n * Retrieve a modification value by its key. If no modification match the given key or if the stored value type and default value type do not match, default value will be returned.\n * @deprecated use useFsFlag instead\n */\nexport const useFsModification: {\n <T>(params: modificationsRequested<T>): T;\n} = (params) => {\n const { state } = useContext(FlagshipContext)\n const { visitor, config } = state\n const functionName = 'useFsModifications'\n\n if (visitor) {\n return visitor.getModificationSync(params)\n }\n\n const modification = state.modifications?.get(params.key)\n\n if (\n !state.status.isSdkReady &&\n modification &&\n checkType(modification?.value, params.defaultValue)\n ) {\n return modification.value\n }\n\n logWarn(config, noVisitorDefault, functionName)\n return params.defaultValue\n}\n\nconst fsModificationInfoSync = (args: {\n key: string;\n state: FsState;\n visitor?: Visitor;\n}) => {\n const { key, visitor, state } = args\n if (visitor) {\n return visitor.getModificationInfoSync(key)\n }\n const modification = state.modifications?.get(key)\n if (!state.status.isSdkReady && modification) {\n return modification\n }\n return null\n}\n\n/**\n * Get the campaign modification information value matching the given key.\n * @param {string} key key which identify the modification.\n * @deprecated use useFsFlag instead\n */\nexport const useFsModificationInfo: { (key: string): Modification | null } = (\n key: string\n) => {\n const { state } = useContext(FlagshipContext)\n const { visitor } = state\n return fsModificationInfoSync({ key, state, visitor })\n}\n\nconst fsActivate = async (\n params: { key: string }[] | string[],\n functionName: string,\n visitor?: Visitor,\n config?: IFlagshipConfig\n) => {\n try {\n if (!visitor) {\n logWarn(config, noVisitorMessage, functionName)\n return\n }\n await visitor.activateModifications(params)\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (error: any) {\n logWarn(config, error.message || error, functionName)\n }\n}\n\n/**\n * This hook returns a flag object by its key. If no flag match the given key an empty flag will be returned.\n * @param key\n * @param defaultValue\n * @returns\n */\nexport const useFsFlag = <T extends unknown>(\n key: string,\n defaultValue: T\n): IFlag<T> => {\n const { state } = useContext(FlagshipContext)\n const { visitor } = state\n\n if (!visitor) {\n return new Flag(defaultValue, key, state.modifications)\n }\n\n return visitor.getFlag(key, defaultValue)\n}\n\n/**\n * Report this user has seen this modification. Report this user has seen these modifications.\n * @param params\n * @deprecated use useFsFlag instead\n * @returns\n */\nexport const useFsActivate: {\n (keys: { key: string }[]): Promise<void>;\n (keys: string[]): Promise<void>;\n} = async (params) => {\n const { state } = useContext(FlagshipContext)\n const { visitor, config } = state\n const functionName = 'useFsModifications'\n\n await fsActivate(params, functionName, visitor, config)\n}\n\nexport type UseFlagshipParams<T> = {\n modifications: {\n requested: modificationsRequested<T>[];\n activateAll?: boolean;\n };\n};\n\nexport type UseFlagshipOutput = {\n visitorId?: string;\n anonymousId?: string | null;\n context?: Record<string, primitive>;\n hasConsented?: boolean;\n /**\n * Set if visitor has consented for protected data usage.\n * @param hasConsented True if the visitor has consented false otherwise.\n */\n setConsent: (hasConsented: boolean) => void;\n modifications: Modification[];\n flagsData: FlagDTO[];\n status: FsStatus;\n /**\n *\n * @param params\n * @param activateAll\n * @deprecated use getFlag instead\n */\n getModifications<T>(\n params: modificationsRequested<T>[],\n activateAll?: boolean\n ): Record<string, T>;\n\n /**\n *\n * @param key\n * @deprecated use getFlag instead\n */\n getModificationInfo(key: string): Modification | null;\n\n /**\n * @deprecated use fetchFlags instead\n */\n synchronizeModifications(): Promise<void>;\n /**\n * @deprecated use getFlag instead\n */\n activateModification: {\n (keys: { key: string }[]): Promise<void>;\n (keys: string[]): Promise<void>;\n };\n /**\n * Update the visitor context values, matching the given keys, used for targeting.\n * A new context value associated with this key will be created if there is no previous matching value.\n * Context keys must be String, and values types must be one of the following : Number, Boolean, String.\n * @param context collection of keys, values.\n */\n updateContext(context: Record<string, primitive>): void;\n /**\n * clear the actual visitor context\n */\n clearContext(): void;\n /**\n * Authenticate anonymous visitor\n * @param visitorId\n */\n authenticate(visitorId: string): void;\n /**\n * This function change authenticated Visitor to anonymous visitor\n * @param visitorId\n */\n unauthenticate(): void;\n hit: {\n send: {\n (hit: HitAbstract): Promise<void>;\n (hit: IHit): Promise<void>;\n (hit: HitShape): Promise<void>;\n (hit: HitAbstract | IHit | HitShape): Promise<void>;\n };\n sendMultiple: {\n (hit: HitAbstract[]): Promise<void>;\n (hit: IHit[]): Promise<void>;\n (hit: HitShape[]): Promise<void>;\n (hit: HitAbstract[] | IHit[] | HitShape[]): Promise<void>;\n };\n };\n /**\n * Retrieve a Flag object by its key. If no flag match the given key an empty flag will be returned.\n * @param key flag key\n * @param defaultValue\n */\n getFlag<T>(key: string, defaultValue: T): IFlag<T>;\n /**\n * In DecisionApi Mode this function calls the Flagship Decision API to run campaign assignments according to the current user context and retrieve applicable flags.\n *\n * In bucketing Mode, it checks bucketing file, validates campaigns targeting the visitor, assigns a variation and retrieve applicable flags.\n */\n fetchFlags: () => Promise<void>;\n\n /**\n * When called, it will batch and send all hits that are in the pool before the application is closed\n */\n close():Promise<void>\n};\n\nexport const useFlagship = (): UseFlagshipOutput => {\n const { state } = useContext(FlagshipContext)\n const { visitor, config } = state\n\n const fsUpdateContext = (context: Record<string, primitive>): void => {\n const functionName = 'updateContext'\n if (!visitor) {\n logError(config, noVisitorMessage, functionName)\n return\n }\n visitor.clearContext()\n visitor.updateContext(context)\n }\n\n const fsClearContext = (): void => {\n const functionName = 'cleanContext'\n if (!visitor) {\n logError(config, noVisitorMessage, functionName)\n return\n }\n visitor.clearContext()\n }\n\n const fsAuthenticate = (visitorId: string): void => {\n const functionName = 'authenticate'\n if (!visitor) {\n logError(config, noVisitorMessage, functionName)\n return\n }\n visitor.authenticate(visitorId)\n }\n\n const fsUnauthenticate = (): void => {\n const functionName = 'unauthenticate'\n if (!visitor) {\n logError(config, noVisitorMessage, functionName)\n return\n }\n visitor.unauthenticate()\n }\n\n /**\n * Send a Hit to Flagship servers for reporting.\n */\n const fsSendHit: {\n (hit: HitAbstract | IHit | HitShape): Promise<void>;\n } = (hit) => {\n const functionName = 'sendHit'\n if (!visitor) {\n logError(config, noVisitorMessage, functionName)\n return Promise.resolve()\n }\n return visitor.sendHit(hit)\n }\n\n /**\n * Send a Hit to Flagship servers for reporting.\n */\n const fsSendHits: {\n (hit: HitAbstract[] | IHit[] | HitShape[]): Promise<void>;\n } = (hit) => {\n const functionName = 'sendHits'\n if (!visitor) {\n logError(config, noVisitorMessage, functionName)\n return Promise.resolve()\n }\n return visitor.sendHits(hit)\n }\n\n let modifications = visitor?.getModificationsArray()\n if (!state.status.isSdkReady && state.modifications) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n modifications = Array.from(state.modifications, ([_key, item]) => item)\n }\n\n const activateModification: {\n (keys: { key: string }[]): Promise<void>;\n (keys: string[]): Promise<void>;\n } = async (params) => {\n const functionName = 'activateModification'\n await fsActivate(params, functionName, visitor, config)\n }\n const synchronizeModifications = async () => {\n if (!visitor) {\n logWarn(config, noVisitorMessage, 'synchronizeModifications')\n return\n }\n await visitor.synchronizeModifications()\n }\n\n const getModifications = <T extends unknown>(\n params: modificationsRequested<T>[],\n activateAll?: boolean\n ) => {\n const functionName = 'getModifications'\n return fsModificationsSync({\n functionName,\n state,\n visitor,\n config,\n params,\n activateAll\n })\n }\n\n const getModificationInfo: { (key: string): Modification | null } = (\n key: string\n ) => {\n return fsModificationInfoSync({ key, state, visitor })\n }\n\n function getFlag<T> (key: string, defaultValue: T): IFlag<T> {\n if (!visitor) {\n return new Flag(defaultValue, key, state.modifications)\n }\n return visitor.getFlag(key, defaultValue)\n }\n\n function fetchFlags (): Promise<void> {\n if (!visitor) {\n logWarn(config, noVisitorMessage, 'fetchFlags')\n return Promise.resolve()\n }\n return visitor.fetchFlags()\n }\n\n function setConsent (hasConsented: boolean): void {\n if (!visitor) {\n logWarn(config, noVisitorMessage, 'setConsent')\n return\n }\n visitor.setConsent(hasConsented)\n }\n\n async function close ():Promise<void> {\n await Flagship.close()\n }\n\n return {\n visitorId: visitor?.visitorId,\n anonymousId: visitor?.anonymousId,\n context: { ...visitor?.context },\n hasConsented: visitor?.hasConsented,\n setConsent,\n updateContext: fsUpdateContext,\n clearContext: fsClearContext,\n authenticate: fsAuthenticate,\n unauthenticate: fsUnauthenticate,\n status: state.status,\n activateModification,\n synchronizeModifications,\n getModifications,\n modifications: modifications || [],\n flagsData: visitor?.getFlagsDataArray() || [],\n getModificationInfo,\n hit: {\n send: fsSendHit,\n sendMultiple: fsSendHits\n },\n getFlag,\n fetchFlags,\n close\n }\n}\n","export const noVisitorMessage = 'flagship Visitor not initialized.'\nexport const noVisitorDefault = 'fsVisitor not initialized, returns default value'\n\n export const GET_FLAG_CAST_ERROR ='Flag for key {0} has a different type. Default value is returned.'\n export const GET_METADATA_CAST_ERROR = 'Flag for key {0} has a different type with defaultValue, an empty metadata object is returned'\n","// Generated by genversion.\nexport const version = '3.2.1-alpha.0'\n","import {\n CampaignDTO,\n IFlagshipConfig,\n LogLevel,\n Modification\n} from '@flagship.io/js-sdk'\nimport { EffectCallback, DependencyList, useEffect, useRef } from 'react'\n\nexport function logError (\n config: IFlagshipConfig | undefined,\n message: string,\n tag: string\n): void {\n if (\n !config ||\n !config.logManager ||\n typeof config.logManager.error !== 'function' ||\n !config.logLevel ||\n config.logLevel < LogLevel.ERROR\n ) {\n return\n }\n\n config.logManager.error(message, tag)\n}\n\nexport function logInfo (\n config: IFlagshipConfig | undefined,\n message: string,\n tag: string\n): void {\n if (\n !config ||\n !config.logManager ||\n typeof config.logManager.info !== 'function' ||\n !config.logLevel ||\n config.logLevel < LogLevel.INFO\n ) {\n return\n }\n config.logManager.info(message, tag)\n}\n\nexport function logWarn (\n config: IFlagshipConfig | undefined,\n message: string,\n tag: string\n): void {\n if (\n !config ||\n !config.logManager ||\n typeof config.logManager.warning !== 'function' ||\n !config.logLevel ||\n config.logLevel < LogLevel.WARNING\n ) {\n return\n }\n config.logManager.warning(message, tag)\n}\n\nexport const getModificationsFromCampaigns = (\n campaigns: Array<CampaignDTO>\n): Map<string, Modification> => {\n const modifications = new Map<string, Modification>()\n if (!campaigns || !Array.isArray(campaigns)) {\n return modifications\n }\n campaigns.forEach((campaign) => {\n const object = campaign.variation.modifications.value\n for (const key in object) {\n const value = object[key]\n modifications.set(key, {\n key,\n campaignId: campaign.id,\n variationGroupId: campaign.variationGroupId,\n variationId: campaign.variation.id,\n isReference: campaign.variation.reference,\n value\n })\n }\n })\n return modifications\n}\n\nexport function uuidV4 (): string {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(\n /[xy]/g,\n function (char) {\n const rand = (Math.random() * 16) | 0\n const value = char === 'x' ? rand : (rand & 0x3) | 0x8\n return value.toString(16)\n }\n )\n}\n\nexport function useNonInitialEffect (\n effect: EffectCallback,\n deps?: DependencyList\n): void {\n const initialRender = useRef(true)\n\n useEffect(() => {\n if (initialRender.current) {\n initialRender.current = false\n return\n }\n\n if (typeof effect === 'function') {\n return effect()\n }\n }, deps)\n}\n\nexport function hasSameType (flagValue:unknown, defaultValue:unknown):boolean {\n if (typeof flagValue !== typeof defaultValue) {\n return false\n }\n if (typeof flagValue === 'object' && typeof defaultValue === 'object' &&\n Array.isArray(flagValue) !== Array.isArray(defaultValue)\n ) {\n return false\n }\n return true\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function sprintf (format: string, ...value: any[]): string {\n let formatted = format\n for (let i = 0; i < value.length; i++) {\n const element = value[i]\n formatted = formatted.replace(new RegExp(`\\\\{${i}\\\\}`, 'g'), element)\n }\n return formatted\n}\n","module.exports = require(\"@flagship.io/js-sdk\");","module.exports = require(\"react\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","export * from './FlagshipContext'\nexport * from '@flagship.io/js-sdk'\nexport * from './FlagshipHooks'\n"],"names":["Flagship","FlagMetadata","GET_FLAG_CAST_ERROR","GET_METADATA_CAST_ERROR","noVisitorMessage","hasSameType","logInfo","logWarn","sprintf","Flag","constructor","defaultValue","key","flagsData","getConfig","flag","get","NotSameType","undefined","value","getValue","exists","campaignId","variationId","variationGroupId","userExposed","Promise","resolve","visitorExposed","metadata","functionName","Empty","isReference","campaignType","slug","React","useState","useEffect","createContext","useRef","DecisionMode","FlagshipStatus","getModificationsFromCampaigns","logError","useNonInitialEffect","version","SDK_VERSION","initStat","status","isLoading","isSdkReady","FlagshipContext","state","FlagshipProvider","children","envId","apiKey","decisionMode","DECISION_API","visitorData","onInitStart","onInitDone","loadingComponent","statusChangedCallback","onBucketingUpdated","onUpdate","initialCampaigns","initialModifications","initialFlagsData","fetchFlagsOnBucketingUpdated","hitDeduplicationTime","fetchNow","language","sdkVersion","props","modifications","Map","forEach","set","modification","setState","lastModified","setLastModified","stateRef","current","visitor","fetchFlags","updateVisitor","JSON","stringify","initSdk","initializeState","param","newStatus","isVisitorDefined","fsVisitor","lastRefresh","Date","toISOString","currentState","firstInitSuccess","config","onVisitorReady","error","message","fsModifications","createVisitor","hasConsented","setConsent","updateContext","context","anonymousId","isAuthenticated","authenticate","id","unauthenticate","newVisitor","visitorId","on","statusChanged","STARTING","READY_PANIC_ON","READY","NOT_INITIALIZED","prev","onBucketingLastModified","lastUpdate","start","handleDisplay","isFirstInit","defaultProps","useContext","noVisitorDefault","checkType","Array","isArray","fsModificationsSync","args","params","activateAll","getModificationsSync","check","size","flags","item","useFsModifications","useFsModification","getModificationSync","fsModificationInfoSync","getModificationInfoSync","useFsModificationInfo","fsActivate","activateModifications","useFsFlag","getFlag","useFsActivate","useFlagship","fsUpdateContext","clearContext","fsClearContext","fsAuthenticate","fsUnauthenticate","fsSendHit","hit","sendHit","fsSendHits","sendHits","getModificationsArray","from","_key","activateModification","synchronizeModifications","getModifications","getModificationInfo","close","getFlagsDataArray","send","sendMultiple","LogLevel","tag","logManager","logLevel","ERROR","info","INFO","warning","WARNING","campaigns","campaign","object","variation","reference","uuidV4","replace","char","rand","Math","random","toString","effect","deps","initialRender","flagValue","format","formatted","i","length","element","RegExp"],"sourceRoot":""}
|
package/dist/src/sdkVersion.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "3.2.0";
|
|
1
|
+
export declare const version = "3.2.1-alpha.0";
|
package/dist/src/sdkVersion.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Generated by genversion.
|
|
2
|
-
export const version = '3.2.0';
|
|
2
|
+
export const version = '3.2.1-alpha.0';
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flagship.io/react-sdk",
|
|
3
|
-
"
|
|
3
|
+
"sideEffects": false,
|
|
4
|
+
"version": "3.2.1-alpha.0",
|
|
4
5
|
"license": "Apache-2.0",
|
|
5
6
|
"description": "Flagship REACT SDK",
|
|
6
7
|
"main": "dist/index.node.js",
|
|
@@ -19,8 +20,7 @@
|
|
|
19
20
|
"react-native": "./dist/src/index.js"
|
|
20
21
|
},
|
|
21
22
|
"dependencies": {
|
|
22
|
-
"@flagship.io/js-sdk": "^3.2.
|
|
23
|
-
"core-js": "^3.24.1",
|
|
23
|
+
"@flagship.io/js-sdk": "^3.2.3",
|
|
24
24
|
"encoding": "^0.1.13"
|
|
25
25
|
},
|
|
26
26
|
"peerDependencies": {
|
|
@@ -107,4 +107,4 @@
|
|
|
107
107
|
"last 1 safari version"
|
|
108
108
|
]
|
|
109
109
|
}
|
|
110
|
-
}
|
|
110
|
+
}
|