@flagship.io/react-sdk 2.2.0-beta.6 → 3.0.2-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/README.md +2 -2
- package/dist/FlagshipContext.d.ts +99 -0
- package/dist/FlagshipContext.js +312 -0
- package/dist/FlagshipContext.js.map +1 -0
- package/dist/FlagshipErrorBoundary.d.ts +34 -0
- package/dist/FlagshipErrorBoundary.js +95 -0
- package/dist/FlagshipErrorBoundary.js.map +1 -0
- package/dist/FlagshipHooks.d.ts +33 -0
- package/dist/FlagshipHooks.js +198 -0
- package/dist/FlagshipHooks.js.map +1 -0
- package/dist/components/ReactErrorBoundaryContainer/index.d.ts +10 -0
- package/dist/components/ReactErrorBoundaryContainer/index.js +65 -0
- package/dist/components/ReactErrorBoundaryContainer/index.js.map +1 -0
- package/dist/{types/index.d.ts → index.d.ts} +0 -1
- package/dist/index.js +14 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/loggerHelper.d.ts +5 -0
- package/dist/lib/loggerHelper.js +14 -0
- package/dist/lib/loggerHelper.js.map +1 -0
- package/dist/lib/utils.d.ts +1 -0
- package/dist/lib/utils.js +7 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/setupTests.d.ts +1 -0
- package/dist/setupTests.js +9 -0
- package/dist/setupTests.js.map +1 -0
- package/dist/tests/mock/apiAnswers/oneModifInMoreThanOneCampaign.d.ts +3 -0
- package/dist/tests/mock/apiAnswers/oneModifInMoreThanOneCampaign.js +51 -0
- package/dist/tests/mock/apiAnswers/oneModifInMoreThanOneCampaign.js.map +1 -0
- package/dist/tests/mock/env.d.ts +5 -0
- package/dist/tests/mock/env.js +8 -0
- package/dist/tests/mock/env.js.map +1 -0
- package/dist/tests/mock/index.d.ts +74 -0
- package/dist/tests/mock/index.js +90 -0
- package/dist/tests/mock/index.js.map +1 -0
- package/package.json +2 -2
- package/dist/es/FlagshipContext.js +0 -243
- package/dist/es/FlagshipHooks.js +0 -341
- package/dist/es/index.js +0 -3
- package/dist/es/utils.js +0 -46
- package/dist/esm/FlagshipContext.js +0 -265
- package/dist/esm/FlagshipHooks.js +0 -481
- package/dist/esm/index.js +0 -3
- package/dist/esm/utils.js +0 -46
- package/dist/index.browser.js +0 -2
- package/dist/index.browser.js.map +0 -1
- package/dist/types/FlagshipContext.d.ts +0 -79
- package/dist/types/FlagshipHooks.d.ts +0 -91
- package/dist/types/utils.d.ts +0 -5
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.useFlagship = exports.useFsModifications = exports.useFsActivate = void 0;
|
|
18
|
+
var react_1 = require("react");
|
|
19
|
+
var FlagshipContext_1 = __importDefault(require("./FlagshipContext"));
|
|
20
|
+
var reportNoVisitor = function (log) {
|
|
21
|
+
if (log) {
|
|
22
|
+
log.error('sdk not correctly initialized... Make sure fsVisitor is ready.');
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
var safeModeLog = function (log, functionName) {
|
|
26
|
+
if (log) {
|
|
27
|
+
log.error(functionName + " is disabled because the SDK is in safe mode.");
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
exports.useFsActivate = function (modificationKeys, applyEffectScope) {
|
|
31
|
+
if (applyEffectScope === void 0) { applyEffectScope = []; }
|
|
32
|
+
var firstRendering = react_1.useRef(true);
|
|
33
|
+
var _a = react_1.useContext(FlagshipContext_1.default), state = _a.state, hasError = _a.hasError;
|
|
34
|
+
react_1.useEffect(function () {
|
|
35
|
+
var fsVisitor = state.fsVisitor;
|
|
36
|
+
if (firstRendering.current) {
|
|
37
|
+
firstRendering.current = false;
|
|
38
|
+
return undefined;
|
|
39
|
+
}
|
|
40
|
+
if (hasError) {
|
|
41
|
+
return safeModeLog(state.log, 'UseFsActivate');
|
|
42
|
+
}
|
|
43
|
+
if (!fsVisitor) {
|
|
44
|
+
reportNoVisitor(state.log);
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
fsVisitor.activateModifications(modificationKeys.map(function (key) { return ({ key: key }); }));
|
|
48
|
+
}
|
|
49
|
+
return undefined;
|
|
50
|
+
}, applyEffectScope);
|
|
51
|
+
};
|
|
52
|
+
var safeMode_getCacheModifications = function (modificationsRequested, activateAllModifications) {
|
|
53
|
+
if (activateAllModifications === void 0) { activateAllModifications = false; }
|
|
54
|
+
return modificationsRequested.reduce(function (reducer, modifRequested) {
|
|
55
|
+
var newReducer = __assign({}, reducer);
|
|
56
|
+
newReducer[modifRequested.key] = modifRequested.defaultValue;
|
|
57
|
+
return newReducer;
|
|
58
|
+
}, {});
|
|
59
|
+
};
|
|
60
|
+
var getCacheModifications = function (fsVisitor, modificationsRequested, activateAllModifications, log) {
|
|
61
|
+
if (activateAllModifications === void 0) { activateAllModifications = false; }
|
|
62
|
+
if (!fsVisitor) {
|
|
63
|
+
if (log) {
|
|
64
|
+
log.warn('fsVisitor not initialized, returns default value');
|
|
65
|
+
}
|
|
66
|
+
return safeMode_getCacheModifications(modificationsRequested, activateAllModifications);
|
|
67
|
+
}
|
|
68
|
+
return fsVisitor.getModifications(modificationsRequested, activateAllModifications);
|
|
69
|
+
};
|
|
70
|
+
exports.useFsModifications = function (modificationsRequested, activateAllModifications) {
|
|
71
|
+
if (activateAllModifications === void 0) { activateAllModifications = false; }
|
|
72
|
+
var _a = react_1.useContext(FlagshipContext_1.default), _b = _a.state, fsVisitor = _b.fsVisitor, log = _b.log, hasError = _a.hasError;
|
|
73
|
+
if (hasError) {
|
|
74
|
+
return safeMode_getCacheModifications(modificationsRequested, activateAllModifications);
|
|
75
|
+
}
|
|
76
|
+
return getCacheModifications(fsVisitor, modificationsRequested, activateAllModifications, log);
|
|
77
|
+
};
|
|
78
|
+
exports.useFlagship = function (options) {
|
|
79
|
+
var computedOptions = options
|
|
80
|
+
? options
|
|
81
|
+
: {
|
|
82
|
+
modifications: { requested: [], activateAll: false }
|
|
83
|
+
};
|
|
84
|
+
var _a = computedOptions.modifications, modificationsRequested = _a.requested, _b = _a.activateAll, activateAllModifications = _b === void 0 ? false : _b;
|
|
85
|
+
var _c = react_1.useContext(FlagshipContext_1.default), hasError = _c.hasError, setState = _c.setState, _d = _c.state, fsSdk = _d.fsSdk, fsVisitor = _d.fsVisitor, status = _d.status, log = _d.log;
|
|
86
|
+
if (hasError) {
|
|
87
|
+
return {
|
|
88
|
+
modifications: safeMode_getCacheModifications(modificationsRequested, activateAllModifications),
|
|
89
|
+
status: status,
|
|
90
|
+
synchronizeModifications: function (activate) {
|
|
91
|
+
if (activate === void 0) { activate = false; }
|
|
92
|
+
safeModeLog(log, 'synchronizeModifications');
|
|
93
|
+
return new Promise(function (resolve) { return resolve(400); });
|
|
94
|
+
},
|
|
95
|
+
getModificationInfo: function () {
|
|
96
|
+
safeModeLog(log, 'getModificationInfo');
|
|
97
|
+
return new Promise(function (resolve) { return resolve(null); });
|
|
98
|
+
},
|
|
99
|
+
startBucketingPolling: function () {
|
|
100
|
+
safeModeLog(log, 'startBucketingPolling');
|
|
101
|
+
return {
|
|
102
|
+
success: false,
|
|
103
|
+
reason: 'Safe mode enabled'
|
|
104
|
+
};
|
|
105
|
+
},
|
|
106
|
+
stopBucketingPolling: function () {
|
|
107
|
+
safeModeLog(log, 'startBucketingPolling');
|
|
108
|
+
return {
|
|
109
|
+
success: false,
|
|
110
|
+
reason: 'Safe mode enabled'
|
|
111
|
+
};
|
|
112
|
+
},
|
|
113
|
+
hit: {
|
|
114
|
+
send: function () {
|
|
115
|
+
safeModeLog(log, 'send hit');
|
|
116
|
+
},
|
|
117
|
+
sendMultiple: function () {
|
|
118
|
+
safeModeLog(log, 'send multiple hits');
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
var logSdkNotReady = function () {
|
|
124
|
+
if (log) {
|
|
125
|
+
log.error('SDK not ready yet.');
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
var send = function (hit) {
|
|
129
|
+
if (fsVisitor && fsVisitor.sendHit) {
|
|
130
|
+
fsVisitor.sendHit(hit);
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
logSdkNotReady();
|
|
134
|
+
}
|
|
135
|
+
};
|
|
136
|
+
var sendMultiple = function (hits) {
|
|
137
|
+
if (fsVisitor && fsVisitor.sendHits) {
|
|
138
|
+
fsVisitor.sendHits(hits);
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
logSdkNotReady();
|
|
142
|
+
}
|
|
143
|
+
};
|
|
144
|
+
var synchronizeModifications = function (activate) {
|
|
145
|
+
if (activate === void 0) { activate = false; }
|
|
146
|
+
if (fsVisitor && fsVisitor.synchronizeModifications) {
|
|
147
|
+
return fsVisitor.synchronizeModifications(activate).then(function (data) {
|
|
148
|
+
if (setState) {
|
|
149
|
+
setState(function (s) { return (__assign(__assign({}, s), { fsModifications: fsVisitor.fetchedModifications })); });
|
|
150
|
+
}
|
|
151
|
+
return data;
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
logSdkNotReady();
|
|
155
|
+
return new Promise(function (resolve) { return resolve(405); });
|
|
156
|
+
};
|
|
157
|
+
send.bind(fsVisitor);
|
|
158
|
+
sendMultiple.bind(fsVisitor);
|
|
159
|
+
return {
|
|
160
|
+
synchronizeModifications: synchronizeModifications,
|
|
161
|
+
modifications: getCacheModifications(fsVisitor, modificationsRequested, activateAllModifications, log),
|
|
162
|
+
getModificationInfo: function (key) {
|
|
163
|
+
return fsVisitor !== null
|
|
164
|
+
? fsVisitor.getModificationInfo(key)
|
|
165
|
+
: new Promise(function (resolve) { return resolve(null); });
|
|
166
|
+
},
|
|
167
|
+
startBucketingPolling: function () {
|
|
168
|
+
if (fsSdk) {
|
|
169
|
+
return fsSdk.startBucketingPolling();
|
|
170
|
+
}
|
|
171
|
+
if (log) {
|
|
172
|
+
log.error('startBucketingPolling not ready yet.');
|
|
173
|
+
}
|
|
174
|
+
return {
|
|
175
|
+
success: false,
|
|
176
|
+
reason: 'startBucketingPolling not ready yet.'
|
|
177
|
+
};
|
|
178
|
+
},
|
|
179
|
+
stopBucketingPolling: function () {
|
|
180
|
+
if (fsSdk) {
|
|
181
|
+
return fsSdk.stopBucketingPolling();
|
|
182
|
+
}
|
|
183
|
+
if (log) {
|
|
184
|
+
log.error('stopBucketingPolling not ready yet.');
|
|
185
|
+
}
|
|
186
|
+
return {
|
|
187
|
+
success: false,
|
|
188
|
+
reason: 'startBucketingPolling not ready yet.'
|
|
189
|
+
};
|
|
190
|
+
},
|
|
191
|
+
status: status,
|
|
192
|
+
hit: {
|
|
193
|
+
send: send,
|
|
194
|
+
sendMultiple: sendMultiple
|
|
195
|
+
}
|
|
196
|
+
};
|
|
197
|
+
};
|
|
198
|
+
//# sourceMappingURL=FlagshipHooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FlagshipHooks.js","sourceRoot":"","sources":["../src/FlagshipHooks.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface Props {
|
|
3
|
+
children: React.ReactNode;
|
|
4
|
+
debugMode: boolean;
|
|
5
|
+
isCollapse: boolean;
|
|
6
|
+
onClickCollapse(): void;
|
|
7
|
+
error?: Error | null;
|
|
8
|
+
}
|
|
9
|
+
declare const ReactErrorBoundaryContainer: React.SFC<Props>;
|
|
10
|
+
export default ReactErrorBoundaryContainer;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
var react_1 = __importDefault(require("react"));
|
|
18
|
+
var ReactErrorBoundaryContainer = function (_a) {
|
|
19
|
+
var children = _a.children, debugMode = _a.debugMode, isCollapse = _a.isCollapse, onClickCollapse = _a.onClickCollapse, error = _a.error;
|
|
20
|
+
var btnStyle = {
|
|
21
|
+
display: 'inline-block',
|
|
22
|
+
verticalAlign: 'middle',
|
|
23
|
+
border: '1px solid transparent',
|
|
24
|
+
padding: '0.375rem 0.75rem',
|
|
25
|
+
fontSize: '1rem',
|
|
26
|
+
lineHeight: 1.5,
|
|
27
|
+
borderRadius: '0.25rem',
|
|
28
|
+
marginLeft: '16px',
|
|
29
|
+
transition: "background-color 0.15s ease-in-out,\n border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out"
|
|
30
|
+
};
|
|
31
|
+
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
32
|
+
debugMode && (react_1.default.createElement("div", { className: "fsErrorDebugContainer", style: {
|
|
33
|
+
backgroundColor: 'red',
|
|
34
|
+
minHeight: '6vh',
|
|
35
|
+
position: 'fixed',
|
|
36
|
+
zIndex: 9999,
|
|
37
|
+
bottom: 0,
|
|
38
|
+
width: '100%',
|
|
39
|
+
opacity: isCollapse ? 1 : 0.4,
|
|
40
|
+
display: 'flex',
|
|
41
|
+
flexDirection: 'column',
|
|
42
|
+
padding: '0px 16px',
|
|
43
|
+
transition: 'opacity 0.5s ease-in-out'
|
|
44
|
+
} },
|
|
45
|
+
react_1.default.createElement("div", { style: {
|
|
46
|
+
display: 'flex',
|
|
47
|
+
alignItems: 'center',
|
|
48
|
+
width: '100%',
|
|
49
|
+
marginBottom: '8px',
|
|
50
|
+
marginTop: '8px'
|
|
51
|
+
} },
|
|
52
|
+
react_1.default.createElement("h3", { style: { color: 'white' } }, "Flagship React SDK has crashed."),
|
|
53
|
+
react_1.default.createElement("button", { style: __assign({}, btnStyle), onClick: onClickCollapse }, isCollapse ? 'Hide details' : 'Show details')),
|
|
54
|
+
error && (react_1.default.createElement("div", { style: {
|
|
55
|
+
maxHeight: isCollapse ? 200 : 0,
|
|
56
|
+
overflow: 'auto',
|
|
57
|
+
color: 'wheat',
|
|
58
|
+
whiteSpace: 'pre-line',
|
|
59
|
+
transition: 'max-height 0.5s ease-in-out'
|
|
60
|
+
} }, "" + error.stack)))),
|
|
61
|
+
react_1.default.createElement("div", { id: "flagshipSafeModeContainer" }, children)));
|
|
62
|
+
};
|
|
63
|
+
ReactErrorBoundaryContainer.defaultProps = {};
|
|
64
|
+
exports.default = ReactErrorBoundaryContainer;
|
|
65
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ReactErrorBoundaryContainer/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA0B;AAU1B,IAAM,2BAA2B,GAAqB,UAAC,EAM/C;QALJ,QAAQ,cAAA,EACR,SAAS,eAAA,EACT,UAAU,gBAAA,EACV,eAAe,qBAAA,EACf,KAAK,WAAA;IAEL,IAAM,QAAQ,GAAG;QACb,OAAO,EAAE,cAAc;QACvB,aAAa,EAAE,QAAQ;QACvB,MAAM,EAAE,uBAAuB;QAC/B,OAAO,EAAE,kBAAkB;QAC3B,QAAQ,EAAE,MAAM;QAChB,UAAU,EAAE,GAAG;QACf,YAAY,EAAE,SAAS;QACvB,UAAU,EAAE,MAAM;QAClB,UAAU,EAAE,2GACiD;KAChE,CAAC;IAEF,OAAO,CACH;QACK,SAAS,IAAI,CACV,uCACI,SAAS,EAAC,uBAAuB,EACjC,KAAK,EAAE;gBACH,eAAe,EAAE,KAAK;gBACtB,SAAS,EAAE,KAAK;gBAChB,QAAQ,EAAE,OAAO;gBACjB,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,CAAC;gBACT,KAAK,EAAE,MAAM;gBACb,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;gBAC7B,OAAO,EAAE,MAAM;gBACf,aAAa,EAAE,QAAQ;gBACvB,OAAO,EAAE,UAAU;gBACnB,UAAU,EAAE,0BAA0B;aACzC;YAED,uCACI,KAAK,EAAE;oBACH,OAAO,EAAE,MAAM;oBACf,UAAU,EAAE,QAAQ;oBACpB,KAAK,EAAE,MAAM;oBACb,YAAY,EAAE,KAAK;oBACnB,SAAS,EAAE,KAAK;iBACnB;gBAED,sCAAI,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,sCAAsC;gBACnE,0CAAQ,KAAK,eAAO,QAAQ,GAAI,OAAO,EAAE,eAAe,IACnD,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CACxC,CACP;YAEL,KAAK,IAAI,CACN,uCACI,KAAK,EAAE;oBACH,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC/B,QAAQ,EAAE,MAAM;oBAChB,KAAK,EAAE,OAAO;oBACd,UAAU,EAAE,UAAU;oBACtB,UAAU,EAAE,6BAA6B;iBAC5C,IAEA,KAAI,KAAe,CAAC,KAAO,CAC1B,CACT,CACC,CACT;QACD,uCAAK,EAAE,EAAC,2BAA2B,IAAE,QAAQ,CAAO,CACrD,CACN,CAAC;AACN,CAAC,CAAC;AAEF,2BAA2B,CAAC,YAAY,GAAG,EAAE,CAAC;AAE9C,kBAAe,2BAA2B,CAAC"}
|