@flagship.io/react-sdk 2.2.0-alpha.2 → 2.2.0-alpha.4
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/FlagshipContext.d.ts +3 -1
- package/dist/FlagshipHooks.d.ts +9 -9
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/utils.d.ts +2 -1
- package/package.json +8 -8
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { ReactNode, Dispatch, SetStateAction } from 'react';
|
|
2
2
|
import { BucketingDTO, CampaignDTO, IFlagshipConfig, Modification, Visitor } from '@flagship.io/js-sdk';
|
|
3
3
|
export declare type primitive = string | number | boolean;
|
|
4
|
-
interface FsStatus {
|
|
4
|
+
export interface FsStatus {
|
|
5
5
|
/**
|
|
6
6
|
* Boolean. When true, the SDK is still not ready to render your App otherwise it'll use default modifications.
|
|
7
7
|
*/
|
|
@@ -29,6 +29,8 @@ interface FsState {
|
|
|
29
29
|
config?: IFlagshipConfig;
|
|
30
30
|
modifications?: Map<string, Modification>;
|
|
31
31
|
status: FsStatus;
|
|
32
|
+
initialCampaigns?: CampaignDTO[];
|
|
33
|
+
initialModifications?: Map<string, Modification> | Modification[];
|
|
32
34
|
}
|
|
33
35
|
interface FsContext {
|
|
34
36
|
state: FsState;
|
package/dist/FlagshipHooks.d.ts
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import { HitAbstract, IHit, Modification, modificationsRequested, primitive } from '@flagship.io/js-sdk';
|
|
2
|
+
import { FsStatus } from './FlagshipContext';
|
|
2
3
|
/**
|
|
3
4
|
* 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.
|
|
4
5
|
*/
|
|
5
6
|
export declare const useFsModifications: {
|
|
6
|
-
<T>(params: modificationsRequested<T>[], activateAll?: boolean): Promise<T
|
|
7
|
+
<T>(params: modificationsRequested<T>[], activateAll?: boolean): Promise<Record<string, T>>;
|
|
7
8
|
};
|
|
8
9
|
/**
|
|
9
10
|
* 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.
|
|
10
11
|
*/
|
|
11
|
-
export declare const useFsModificationsSync:
|
|
12
|
-
<T>(params: modificationsRequested<T>[], activateAll?: boolean): T[];
|
|
13
|
-
};
|
|
12
|
+
export declare const useFsModificationsSync: <T extends unknown>(params: modificationsRequested<T>[], activateAll?: boolean | undefined) => Record<string, T>;
|
|
14
13
|
/**
|
|
15
14
|
* 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.
|
|
16
15
|
*/
|
|
@@ -56,10 +55,11 @@ export declare type UseFlagshipParams<T> = {
|
|
|
56
55
|
activateAll?: boolean;
|
|
57
56
|
};
|
|
58
57
|
};
|
|
59
|
-
export declare type UseFlagshipOutput
|
|
60
|
-
modifications:
|
|
61
|
-
|
|
62
|
-
|
|
58
|
+
export declare type UseFlagshipOutput = {
|
|
59
|
+
modifications: Modification[];
|
|
60
|
+
status: FsStatus;
|
|
61
|
+
getModifications<T>(params: modificationsRequested<T>[], activateAll?: boolean): Promise<Record<string, T>>;
|
|
62
|
+
getModificationsSync<T>(params: modificationsRequested<T>[], activateAll?: boolean): Record<string, T>;
|
|
63
63
|
getModificationInfo(key: string): Promise<Modification | null>;
|
|
64
64
|
getModificationInfoSync(key: string): Modification | null;
|
|
65
65
|
synchronizeModifications(): Promise<void>;
|
|
@@ -95,6 +95,6 @@ export declare type UseFlagshipOutput<S> = {
|
|
|
95
95
|
};
|
|
96
96
|
};
|
|
97
97
|
};
|
|
98
|
-
export declare const useFlagship:
|
|
98
|
+
export declare const useFlagship: () => UseFlagshipOutput;
|
|
99
99
|
export declare const noVisitorMessage = "sdk not correctly initialized... Make sure fsVisitor is ready.";
|
|
100
100
|
export declare const noVisitorDefault = "fsVisitor not initialized, returns default value";
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(()=>{"use strict";var t={n:
|
|
1
|
+
(()=>{"use strict";var t={n:i=>{var e=i&&i.__esModule?()=>i.default:()=>i;return t.d(e,{a:e}),e},d:(i,e)=>{for(var n in e)t.o(e,n)&&!t.o(i,n)&&Object.defineProperty(i,n,{enumerable:!0,get:e[n]})},o:(t,i)=>Object.prototype.hasOwnProperty.call(t,i),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},i={};t.r(i),t.d(i,{DecisionMode:()=>o.DecisionMode,FlagshipContext:()=>f,FlagshipProvider:()=>l,noVisitorDefault:()=>F,noVisitorMessage:()=>x,useFlagship:()=>k,useFsActivate:()=>C,useFsModification:()=>p,useFsModificationInfo:()=>S,useFsModificationInfoSync:()=>m,useFsModificationSync:()=>M,useFsModifications:()=>g,useFsModificationsSync:()=>h,useFsSynchronizeModifications:()=>b});const e=require("react");var n=t.n(e);const o=require("@flagship.io/js-sdk");function a(t,i,e){t&&t.logManager&&"function"==typeof t.logManager.error&&t.logLevel&&!(t.logLevel<o.LogLevel.ERROR)&&t.logManager.error(i,e)}function r(t,i,e){t&&t.logManager&&"function"==typeof t.logManager.warning&&t.logLevel&&!(t.logLevel<o.LogLevel.WARNING)&&t.logManager.warning(i,e)}var s=function(){return s=Object.assign||function(t){for(var i,e=1,n=arguments.length;e<n;e++)for(var o in i=arguments[e])Object.prototype.hasOwnProperty.call(i,o)&&(t[o]=i[o]);return t},s.apply(this,arguments)},u=function(t,i){var e="function"==typeof Symbol&&t[Symbol.iterator];if(!e)return t;var n,o,a=e.call(t),r=[];try{for(;(void 0===i||i-- >0)&&!(n=a.next()).done;)r.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(e=a.return)&&e.call(a)}finally{if(o)throw o.error}}return r},c={status:{isLoading:!0,isSdkReady:!1}},f=(0,e.createContext)({state:s({},c)}),l=function(t){var i=t.children,r=t.fetchNow,l=t.envId,d=t.apiKey,v=t.decisionMode,g=t.timeout,y=t.logLevel,h=t.statusChangedCallback,p=t.logManager,M=t.pollingInterval,S=t.visitorData,m=t.onInitStart,b=t.onInitDone,C=t.onBucketingSuccess,k=t.onBucketingFail,x=t.loadingComponent,F=t.onBucketingUpdated,w=t.onUpdate,I=t.enableClientCache,R=t.initialBucketing,A=t.initialCampaigns,L=t.initialModifications,V=t.synchronizeOnBucketingUpdated,E=new Map;L?L.forEach((function(t){E.set(t.key,t)})):A&&(E=function(t){var i=new Map;return t&&Array.isArray(t)?(t.forEach((function(t){var e=t.variation.modifications.value;for(var n in e){var o=e[n];i.set(n,{key:n,campaignId:t.id,variationGroupId:t.variationGroupId,variationId:t.variation.id,isReference:t.variation.reference,value:o})}})),i):i}(A));var O=u((0,e.useState)(s(s({},c),{modifications:E})),2),P=O[0],z=O[1],D=u((0,e.useState)(),2),j=D[0],B=D[1];(0,e.useEffect)((function(){var t;V&&(null===(t=P.visitor)||void 0===t||t.synchronizeModifications())}),[j]),(0,e.useEffect)((function(){N()}),[S]),(0,e.useEffect)((function(){U()}),[l,d,v]);var N=function(){P.visitor&&(S.context&&(P.visitor.clearContext(),P.visitor.updateContext(S.context)),P.visitor.setConsent(!!S.hasConsented),P.visitor.anonymousId&&!S.isAuthenticated?P.visitor.unauthenticate():!P.visitor.anonymousId&&S.isAuthenticated&&P.visitor.authenticate(S.id),S.id&&(P.visitor.visitorId=S.id),P.visitor.synchronizeModifications())};function _(t){var i={isSdkReady:t.isSdkReady,isLoading:t.isLoading,isVisitorDefined:!!t.fsVisitor,lastRefresh:(new Date).toISOString()};return z((function(e){return e.status.firstInitSuccess||(i.firstInitSuccess=(new Date).toISOString()),s(s({},e),{visitor:t.fsVisitor,modifications:t.fsVisitor.modifications,config:o.Flagship.getConfig(),status:s(s({},e.status),i)})})),i}var G,T=function(t){if(h&&h(t),t===o.FlagshipStatus.STARTING&&m)m();else if(t===o.FlagshipStatus.READY_PANIC_ON||t===o.FlagshipStatus.READY)if(b&&b(),P.visitor)P.visitor.synchronizeModifications();else{var i=o.Flagship.newVisitor({visitorId:S.id,context:S.context,isAuthenticated:S.isAuthenticated,hasConsented:S.hasConsented,initialCampaigns:A,initialModifications:L});null==i||i.on("ready",(function(t){!function(t,i){if(i)a(o.Flagship.getConfig(),i.message||i,"onReady");else{var e=_({fsVisitor:t,isSdkReady:!0,isLoading:!1});w&&w({fsModifications:t.modifications,config:o.Flagship.getConfig(),status:e})}}(i,t)})),!r&&i&&_({fsVisitor:i,isSdkReady:!0,isLoading:!1})}},H=function(t){F&&F(t),B(t)},U=function(){o.Flagship.start(l,d,{decisionMode:v,fetchNow:r,timeout:g,logLevel:y,statusChangedCallback:T,logManager:p,pollingInterval:M,onBucketingFail:k,onBucketingSuccess:C,enableClientCache:I,onBucketingUpdated:H,initialBucketing:R})};return n().createElement(f.Provider,{value:{state:P,setState:z}},(G=!P.visitor,P.status.isLoading&&x&&G?n().createElement(n().Fragment,null,x):n().createElement(n().Fragment,null,i)))};l.defaultProps={nodeEnv:"production"};var d=function(t,i,e,n){return new(e||(e=Promise))((function(o,a){function r(t){try{u(n.next(t))}catch(t){a(t)}}function s(t){try{u(n.throw(t))}catch(t){a(t)}}function u(t){var i;t.done?o(t.value):(i=t.value,i instanceof e?i:new e((function(t){t(i)}))).then(r,s)}u((n=n.apply(t,i||[])).next())}))},v=function(t,i){var e,n,o,a,r={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(e)throw new TypeError("Generator is already executing.");for(;r;)try{if(e=1,n&&(o=2&a[0]?n.return:a[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,a[1])).done)return o;switch(n=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return r.label++,{value:a[1],done:!1};case 5:r.label++,n=a[1],a=[0];continue;case 7:a=r.ops.pop(),r.trys.pop();continue;default:if(!((o=(o=r.trys).length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){r=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){r.label=a[1];break}if(6===a[0]&&r.label<o[1]){r.label=o[1],o=a;break}if(o&&r.label<o[2]){r.label=o[2],r.ops.push(a);break}o[2]&&r.ops.pop(),r.trys.pop();continue}a=i.call(t,r)}catch(t){a=[6,t],n=0}finally{e=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,s])}}},g=function(t,i){return d(void 0,void 0,void 0,(function(){return v(this,(function(e){return[2,h(t,i)]}))}))},y=function(t,i){return"object"==typeof t&&"object"==typeof i&&Array.isArray(t)===Array.isArray(i)||typeof t==typeof i},h=function(t,i){var n=(0,e.useContext)(f).state,o=n.visitor,a=n.config;if(o)return o.getModificationsSync(t,i);var s=!n.status.isSdkReady&&!!n.modifications&&n.modifications.size>0,u={};return s?(t.forEach((function(t){var i,e=null===(i=n.modifications)||void 0===i?void 0:i.get(t.key);e&&y(null==e?void 0:e.value,t.defaultValue)?u[t.key]=e.value:u[t.key]=t.defaultValue})),u):(r(a,F,"useFsModifications"),t.forEach((function(t){u[t.key]=t.defaultValue})),u)},p=function(t){return d(void 0,void 0,void 0,(function(){return v(this,(function(i){return[2,M(t)]}))}))},M=function(t){var i,n=(0,e.useContext)(f).state,o=n.visitor,a=n.config;if(o)return o.getModificationSync(t);var s=null===(i=n.modifications)||void 0===i?void 0:i.get(t.key);return!n.status.isSdkReady&&s&&y(null==s?void 0:s.value,t.defaultValue)?s.value:(r(a,F,"useFsModifications"),t.defaultValue)},S=function(t){return d(void 0,void 0,void 0,(function(){return v(this,(function(i){return[2,m(t)]}))}))},m=function(t){var i,n=(0,e.useContext)(f).state,o=n.visitor;if(o)return o.getModificationInfoSync(t);var a=null===(i=n.modifications)||void 0===i?void 0:i.get(t);return!n.status.isSdkReady&&a?a:null},b=function(){return d(void 0,void 0,void 0,(function(){var t,i,n,o,r;return v(this,(function(s){switch(s.label){case 0:t=(0,e.useContext)(f).state,i=t.visitor,n=t.config,o="useFsSynchronizeModifications",s.label=1;case 1:return s.trys.push([1,3,,4]),i?[4,i.synchronizeModifications()]:(w(n,o),[2]);case 2:return s.sent(),[3,4];case 3:return r=s.sent(),a(n,r.message||r,o),[3,4];case 4:return[2]}}))}))},C=function(t){return d(void 0,void 0,void 0,(function(){var i,n,o,a,s;return v(this,(function(u){switch(u.label){case 0:i=(0,e.useContext)(f).state,n=i.visitor,o=i.config,a="useFsModifications",u.label=1;case 1:return u.trys.push([1,3,,4]),n?[4,n.activateModifications(t)]:(r(o,x,a),[2]);case 2:return u.sent(),[3,4];case 3:return s=u.sent(),r(o,s.message||s,a),[3,4];case 4:return[2]}}))}))},k=function(){var t=(0,e.useContext)(f).state,i=t.visitor,n=t.config,o=null==i?void 0:i.getModificationsArray();return!t.status.isSdkReady&&t.modifications&&(o=Array.from(t.modifications,(function(t){var i=function(t,i){var e="function"==typeof Symbol&&t[Symbol.iterator];if(!e)return t;var n,o,a=e.call(t),r=[];try{for(;(void 0===i||i-- >0)&&!(n=a.next()).done;)r.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(e=a.return)&&e.call(a)}finally{if(o)throw o.error}}return r}(t,2);return i[0],i[1]}))),{updateContext:function(t){i?(i.clearContext(),i.updateContext(t)):a(n,x,"updateContext")},clearContext:function(){i?i.clearContext():a(n,x,"cleanContext")},authenticate:function(t){i?i.authenticate(t):a(n,x,"authenticate")},unauthenticate:function(){i?i.unauthenticate():a(n,x,"unauthenticate")},status:t.status,synchronizeModifications:b,getModificationsSync:h,getModifications:g,modifications:o||[],getModificationInfo:S,getModificationInfoSync:m,hit:{send:function(t){return i?i.sendHit(t):(a(n,x,"sendHit"),Promise.resolve())},sendMultiple:function(t){return i?i.sendHits(t):(a(n,x,"sendHits"),Promise.resolve())}}}},x="sdk not correctly initialized... Make sure fsVisitor is ready.",F="fsVisitor not initialized, returns default value",w=function(t,i){a(t,x,i)};module.exports=i})();
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","mappings":"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","sources":["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/external commonjs \"react\"","webpack://@flagship.io/react-sdk/external commonjs \"@flagship.io/js-sdk\"","webpack://@flagship.io/react-sdk/./src/utils.tsx","webpack://@flagship.io/react-sdk/./src/FlagshipContext.tsx","webpack://@flagship.io/react-sdk/./src/FlagshipHooks.tsx"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\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};","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"react\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@flagship.io/js-sdk\");","import { LogLevel } from '@flagship.io/js-sdk';\nexport function logError(config, message, tag) {\n if (!config ||\n !config.logManager ||\n typeof config.logManager.error !== 'function' ||\n !config.logLevel ||\n config.logLevel < LogLevel.ERROR) {\n return;\n }\n config.logManager.error(message, tag);\n}\nexport function logInfo(config, message, tag) {\n if (!config ||\n !config.logManager ||\n typeof config.logManager.info !== 'function' ||\n !config.logLevel ||\n config.logLevel < LogLevel.INFO) {\n return;\n }\n config.logManager.info(message, tag);\n}\nexport function logWarn(config, message, tag) {\n if (!config || !config.logManager ||\n typeof config.logManager.warning !== 'function' || !config.logLevel || config.logLevel < LogLevel.WARNING) {\n return;\n }\n config.logManager.warning(message, tag);\n}\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\n// eslint-disable-next-line no-use-before-define\nimport React, { useState, useEffect, createContext } from 'react';\nimport { Flagship, FlagshipStatus } from '@flagship.io/js-sdk';\nimport { logError } from './utils';\nvar initStat = {\n status: { isLoading: true, isSdkReady: false }\n};\nexport var FlagshipContext = createContext({ state: __assign({}, initStat) });\nexport var FlagshipProvider = function (_a) {\n var children = _a.children, fetchNow = _a.fetchNow, envId = _a.envId, apiKey = _a.apiKey, decisionMode = _a.decisionMode, timeout = _a.timeout, logLevel = _a.logLevel, statusChangedCallback = _a.statusChangedCallback, logManager = _a.logManager, pollingInterval = _a.pollingInterval, visitorData = _a.visitorData, onInitStart = _a.onInitStart, onInitDone = _a.onInitDone, onBucketingSuccess = _a.onBucketingSuccess, onBucketingFail = _a.onBucketingFail, loadingComponent = _a.loadingComponent, onBucketingUpdated = _a.onBucketingUpdated, onUpdate = _a.onUpdate, enableClientCache = _a.enableClientCache, initialBucketing = _a.initialBucketing, initialCampaigns = _a.initialCampaigns, initialModifications = _a.initialModifications, synchronizeOnBucketingUpdated = _a.synchronizeOnBucketingUpdated;\n var _b = __read(useState(__assign({}, initStat)), 2), state = _b[0], setState = _b[1];\n var _c = __read(useState(), 2), lastModified = _c[0], setLastModified = _c[1];\n useEffect(function () {\n var _a;\n if (synchronizeOnBucketingUpdated) {\n (_a = state.visitor) === null || _a === void 0 ? void 0 : _a.synchronizeModifications();\n }\n }, [lastModified]);\n useEffect(function () {\n updateVisitor();\n }, [visitorData]);\n useEffect(function () {\n initSdk();\n }, [envId, apiKey, decisionMode]);\n var updateVisitor = function () {\n if (!state.visitor) {\n return;\n }\n if (visitorData.context) {\n state.visitor.clearContext();\n state.visitor.updateContext(visitorData.context);\n }\n state.visitor.setConsent(!!visitorData.hasConsented);\n if (state.visitor.anonymousId && !visitorData.isAuthenticated) {\n state.visitor.unauthenticate();\n }\n else if (!state.visitor.anonymousId && visitorData.isAuthenticated) {\n state.visitor.authenticate(visitorData.id);\n }\n if (visitorData.id) {\n state.visitor.visitorId = visitorData.id;\n }\n };\n function initializeState(param) {\n var newStatus = {\n isSdkReady: param.isSdkReady,\n isLoading: param.isLoading,\n isVisitorDefined: !!param.fsVisitor,\n lastRefresh: new Date().toISOString()\n };\n setState(function (currentState) {\n if (!currentState.status.firstInitSuccess) {\n newStatus.firstInitSuccess = new Date().toISOString();\n }\n return __assign(__assign({}, currentState), { visitor: param.fsVisitor, modifications: param.fsVisitor.modifications, config: Flagship.getConfig(), status: __assign(__assign({}, currentState.status), newStatus) });\n });\n return newStatus;\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var onVisitorReady = function (fsVisitor, error) {\n if (error) {\n logError(Flagship.getConfig(), error.message || error, 'onReady');\n return;\n }\n var newStatus = initializeState({\n fsVisitor: fsVisitor,\n isSdkReady: true,\n isLoading: false\n });\n if (onUpdate) {\n onUpdate({\n fsModifications: fsVisitor.modifications,\n config: Flagship.getConfig(),\n status: newStatus\n });\n }\n };\n var statusChanged = function (status) {\n if (statusChangedCallback) {\n statusChangedCallback(status);\n }\n if (status === FlagshipStatus.STARTING && onInitStart) {\n onInitStart();\n }\n else if (status === FlagshipStatus.READY_PANIC_ON || status === FlagshipStatus.READY) {\n if (onInitDone) {\n onInitDone();\n }\n if (state.visitor) {\n state.visitor.synchronizeModifications();\n }\n else {\n var fsVisitor_1 = Flagship.newVisitor({\n visitorId: visitorData.id,\n context: visitorData.context,\n isAuthenticated: visitorData.isAuthenticated,\n hasConsented: visitorData.hasConsented,\n initialCampaigns: initialCampaigns,\n initialModifications: initialModifications\n });\n fsVisitor_1 === null || fsVisitor_1 === void 0 ? void 0 : fsVisitor_1.on('ready', function (error) {\n onVisitorReady(fsVisitor_1, error);\n });\n if (!fetchNow && fsVisitor_1) {\n initializeState({\n fsVisitor: fsVisitor_1,\n isSdkReady: true,\n isLoading: false\n });\n }\n }\n }\n };\n var onBucketingLastModified = function (lastUpdate) {\n if (onBucketingUpdated) {\n onBucketingUpdated(lastUpdate);\n }\n setLastModified(lastUpdate);\n };\n var initSdk = function () {\n Flagship.start(envId, apiKey, {\n decisionMode: decisionMode,\n fetchNow: fetchNow,\n timeout: timeout,\n logLevel: logLevel,\n statusChangedCallback: statusChanged,\n logManager: logManager,\n pollingInterval: pollingInterval,\n onBucketingFail: onBucketingFail,\n onBucketingSuccess: onBucketingSuccess,\n enableClientCache: enableClientCache,\n onBucketingUpdated: onBucketingLastModified,\n initialBucketing: initialBucketing\n });\n };\n var handleDisplay = function () {\n var isFirstInit = !state.visitor;\n if (state.status.isLoading && loadingComponent && isFirstInit) {\n return React.createElement(React.Fragment, null, loadingComponent);\n }\n return React.createElement(React.Fragment, null, children);\n };\n return (React.createElement(FlagshipContext.Provider, { value: { state: state, setState: setState } }, handleDisplay()));\n};\nFlagshipProvider.defaultProps = {\n nodeEnv: 'production'\n};\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nimport { useContext } from 'react';\nimport { FlagshipContext } from './FlagshipContext';\nimport { logError, logWarn } from './utils';\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 */\nexport var useFsModifications = function (params, activateAll) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, useFsModificationsSync(params, activateAll)];\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 */\nexport var useFsModificationsSync = function (params, activateAll) {\n var state = useContext(FlagshipContext).state;\n var visitor = state.visitor, config = state.config;\n var functionName = 'useFsModifications';\n if (visitor) {\n return visitor.getModificationsSync(params, activateAll);\n }\n logWarn(config, noVisitorDefault, functionName);\n return params.map(function (item) {\n return item.defaultValue;\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 */\nexport var useFsModification = function (params) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, useFsModificationSync(params)];\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 */\nexport var useFsModificationSync = function (params) {\n var state = useContext(FlagshipContext).state;\n var visitor = state.visitor, config = state.config;\n var functionName = 'useFsModifications';\n if (visitor) {\n return visitor.getModificationSync(params);\n }\n logWarn(config, noVisitorDefault, functionName);\n return params.defaultValue;\n};\n/**\n * Get the campaign modification information value matching the given key.\n * @param {string} key key which identify the modification.\n */\nexport var useFsModificationInfo = function (key) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, useFsModificationInfoSync(key)];\n });\n}); };\n/**\n * Get the campaign modification information value matching the given key.\n * @param {string} key key which identify the modification.\n */\nexport var useFsModificationInfoSync = function (key) {\n var state = useContext(FlagshipContext).state;\n var visitor = state.visitor;\n if (visitor) {\n return visitor.getModificationInfoSync(key);\n }\n return null;\n};\n/**\n * This function calls the decision api and update all the campaigns modifications from the server according to the visitor context.\n*/\nexport var useFsSynchronizeModifications = function () { return __awaiter(void 0, void 0, void 0, function () {\n var state, visitor, config, functionName, error_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n state = useContext(FlagshipContext).state;\n visitor = state.visitor, config = state.config;\n functionName = 'useFsSynchronizeModifications';\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n if (!visitor) {\n reportNoVisitor(config, functionName);\n return [2 /*return*/];\n }\n return [4 /*yield*/, visitor.synchronizeModifications()\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n error_1 = _a.sent();\n logError(config, error_1.message || error_1, functionName);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/];\n }\n });\n}); };\n/**\n * Report this user has seen this modification. Report this user has seen these modifications.\n * @param params\n * @returns\n */\nexport var useFsActivate = function (params) { return __awaiter(void 0, void 0, void 0, function () {\n var state, visitor, config, functionName, error_2;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n state = useContext(FlagshipContext).state;\n visitor = state.visitor, config = state.config;\n functionName = 'useFsModifications';\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n if (!visitor) {\n logWarn(config, noVisitorMessage, functionName);\n return [2 /*return*/];\n }\n return [4 /*yield*/, visitor.activateModifications(params)\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n error_2 = _a.sent();\n logWarn(config, error_2.message || error_2, functionName);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/];\n }\n });\n}); };\nexport var useFlagship = function (options) {\n var _a = (options || { modifications: { requested: [], activateAll: false } }).modifications, requested = _a.requested, activateAll = _a.activateAll;\n var state = useContext(FlagshipContext).state;\n var visitor = state.visitor, config = state.config;\n var fsUpdateContext = function (context) {\n var functionName = 'updateContext';\n if (!visitor) {\n logError(config, noVisitorMessage, functionName);\n return;\n }\n visitor.clearContext();\n visitor.updateContext(context);\n };\n var fsClearContext = function () {\n var functionName = 'cleanContext';\n if (!visitor) {\n logError(config, noVisitorMessage, functionName);\n return;\n }\n visitor.clearContext();\n };\n var fsAuthenticate = function (visitorId) {\n var functionName = 'authenticate';\n if (!visitor) {\n logError(config, noVisitorMessage, functionName);\n return;\n }\n visitor.authenticate(visitorId);\n };\n var fsUnauthenticate = function () {\n var functionName = 'unauthenticate';\n if (!visitor) {\n logError(config, noVisitorMessage, functionName);\n return;\n }\n visitor.unauthenticate();\n };\n /**\n * Send a Hit to Flagship servers for reporting.\n */\n var fsSendHit = function (hit) {\n var functionName = 'sendHit';\n if (!visitor) {\n logError(config, noVisitorMessage, functionName);\n return Promise.resolve();\n }\n return visitor.sendHit(hit);\n };\n /**\n * Send a Hit to Flagship servers for reporting.\n */\n var fsSendHits = function (hit) {\n var functionName = 'sendHits';\n if (!visitor) {\n logError(config, noVisitorMessage, functionName);\n return Promise.resolve();\n }\n return visitor.sendHits(hit);\n };\n return {\n updateContext: fsUpdateContext,\n clearContext: fsClearContext,\n authenticate: fsAuthenticate,\n unauthenticate: fsUnauthenticate,\n synchronizeModifications: useFsSynchronizeModifications,\n getModificationsAsync: useFsModificationsSync,\n getModifications: useFsModifications,\n modifications: useFsModificationsSync(requested, activateAll),\n getModificationInfo: useFsModificationInfo,\n getModificationInfoSync: useFsModificationInfoSync,\n hit: {\n send: fsSendHit,\n sendMultiple: fsSendHits\n }\n };\n};\nexport var noVisitorMessage = 'sdk not correctly initialized... Make sure fsVisitor is ready.';\nexport var noVisitorDefault = 'fsVisitor not initialized, returns default value';\nvar reportNoVisitor = function (config, tag) {\n logError(config, noVisitorMessage, tag);\n};\n"],"names":["__webpack_require__","module","getter","__esModule","d","a","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","require","logError","config","message","tag","logManager","error","logLevel","LogLevel","logWarn","warning","__assign","assign","t","s","i","n","arguments","length","p","apply","this","__read","m","iterator","r","e","ar","next","done","push","initStat","status","isLoading","isSdkReady","FlagshipContext","createContext","state","FlagshipProvider","_a","children","fetchNow","envId","apiKey","decisionMode","timeout","statusChangedCallback","pollingInterval","visitorData","onInitStart","onInitDone","onBucketingSuccess","onBucketingFail","loadingComponent","onBucketingUpdated","onUpdate","enableClientCache","initialBucketing","initialCampaigns","initialModifications","synchronizeOnBucketingUpdated","_b","useState","setState","_c","lastModified","setLastModified","useEffect","visitor","synchronizeModifications","updateVisitor","initSdk","context","clearContext","updateContext","setConsent","hasConsented","anonymousId","isAuthenticated","unauthenticate","authenticate","id","visitorId","initializeState","param","newStatus","isVisitorDefined","fsVisitor","lastRefresh","Date","toISOString","currentState","firstInitSuccess","modifications","Flagship","isFirstInit","statusChanged","FlagshipStatus","fsVisitor_1","on","fsModifications","onVisitorReady","onBucketingLastModified","lastUpdate","Provider","defaultProps","nodeEnv","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","rejected","result","then","__generator","body","f","y","g","_","label","sent","trys","ops","verb","v","op","TypeError","pop","useFsModifications","params","activateAll","useFsModificationsSync","useContext","getModificationsSync","noVisitorDefault","map","item","defaultValue","useFsModification","useFsModificationSync","getModificationSync","useFsModificationInfo","useFsModificationInfoSync","getModificationInfoSync","useFsSynchronizeModifications","functionName","error_1","reportNoVisitor","useFsActivate","error_2","activateModifications","noVisitorMessage","useFlagship","options","requested","getModificationsAsync","getModifications","getModificationInfo","hit","send","sendHit","sendMultiple","sendHits"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"index.js","mappings":"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","sources":["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/external commonjs \"react\"","webpack://@flagship.io/react-sdk/external commonjs \"@flagship.io/js-sdk\"","webpack://@flagship.io/react-sdk/./src/utils.tsx","webpack://@flagship.io/react-sdk/./src/FlagshipContext.tsx","webpack://@flagship.io/react-sdk/./src/FlagshipHooks.tsx"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\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};","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"react\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@flagship.io/js-sdk\");","import { LogLevel } from '@flagship.io/js-sdk';\nexport function logError(config, message, tag) {\n if (!config ||\n !config.logManager ||\n typeof config.logManager.error !== 'function' ||\n !config.logLevel ||\n config.logLevel < LogLevel.ERROR) {\n return;\n }\n config.logManager.error(message, tag);\n}\nexport function logInfo(config, message, tag) {\n if (!config ||\n !config.logManager ||\n typeof config.logManager.info !== 'function' ||\n !config.logLevel ||\n config.logLevel < LogLevel.INFO) {\n return;\n }\n config.logManager.info(message, tag);\n}\nexport function logWarn(config, message, tag) {\n if (!config || !config.logManager ||\n typeof config.logManager.warning !== 'function' || !config.logLevel || config.logLevel < LogLevel.WARNING) {\n return;\n }\n config.logManager.warning(message, tag);\n}\nexport var getModificationsFromCampaigns = function (campaigns) {\n var modifications = new Map();\n if (!campaigns || !Array.isArray(campaigns)) {\n return modifications;\n }\n campaigns.forEach(function (campaign) {\n var object = campaign.variation.modifications.value;\n for (var key in object) {\n var value = object[key];\n modifications.set(key, {\n key: key,\n campaignId: campaign.id,\n variationGroupId: campaign.variationGroupId,\n variationId: campaign.variation.id,\n isReference: campaign.variation.reference,\n value: value\n });\n }\n });\n return modifications;\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\n// eslint-disable-next-line no-use-before-define\nimport React, { useState, useEffect, createContext } from 'react';\nimport { Flagship, FlagshipStatus } from '@flagship.io/js-sdk';\nimport { getModificationsFromCampaigns, logError } from './utils';\nvar initStat = {\n status: { isLoading: true, isSdkReady: false }\n};\nexport var FlagshipContext = createContext({ state: __assign({}, initStat) });\nexport var FlagshipProvider = function (_a) {\n var children = _a.children, fetchNow = _a.fetchNow, envId = _a.envId, apiKey = _a.apiKey, decisionMode = _a.decisionMode, timeout = _a.timeout, logLevel = _a.logLevel, statusChangedCallback = _a.statusChangedCallback, logManager = _a.logManager, pollingInterval = _a.pollingInterval, visitorData = _a.visitorData, onInitStart = _a.onInitStart, onInitDone = _a.onInitDone, onBucketingSuccess = _a.onBucketingSuccess, onBucketingFail = _a.onBucketingFail, loadingComponent = _a.loadingComponent, onBucketingUpdated = _a.onBucketingUpdated, onUpdate = _a.onUpdate, enableClientCache = _a.enableClientCache, initialBucketing = _a.initialBucketing, initialCampaigns = _a.initialCampaigns, initialModifications = _a.initialModifications, synchronizeOnBucketingUpdated = _a.synchronizeOnBucketingUpdated;\n var modifications = new Map();\n if (initialModifications) {\n initialModifications.forEach(function (modification) {\n modifications.set(modification.key, modification);\n });\n }\n else if (initialCampaigns) {\n modifications = getModificationsFromCampaigns(initialCampaigns);\n }\n var _b = __read(useState(__assign(__assign({}, initStat), { modifications: modifications })), 2), state = _b[0], setState = _b[1];\n var _c = __read(useState(), 2), lastModified = _c[0], setLastModified = _c[1];\n useEffect(function () {\n var _a;\n if (synchronizeOnBucketingUpdated) {\n (_a = state.visitor) === null || _a === void 0 ? void 0 : _a.synchronizeModifications();\n }\n }, [lastModified]);\n useEffect(function () {\n updateVisitor();\n }, [visitorData]);\n useEffect(function () {\n initSdk();\n }, [envId, apiKey, decisionMode]);\n var updateVisitor = function () {\n if (!state.visitor) {\n return;\n }\n if (visitorData.context) {\n state.visitor.clearContext();\n state.visitor.updateContext(visitorData.context);\n }\n state.visitor.setConsent(!!visitorData.hasConsented);\n if (state.visitor.anonymousId && !visitorData.isAuthenticated) {\n state.visitor.unauthenticate();\n }\n else if (!state.visitor.anonymousId && visitorData.isAuthenticated) {\n state.visitor.authenticate(visitorData.id);\n }\n if (visitorData.id) {\n state.visitor.visitorId = visitorData.id;\n }\n state.visitor.synchronizeModifications();\n };\n function initializeState(param) {\n var newStatus = {\n isSdkReady: param.isSdkReady,\n isLoading: param.isLoading,\n isVisitorDefined: !!param.fsVisitor,\n lastRefresh: new Date().toISOString()\n };\n setState(function (currentState) {\n if (!currentState.status.firstInitSuccess) {\n newStatus.firstInitSuccess = new Date().toISOString();\n }\n return __assign(__assign({}, currentState), { visitor: param.fsVisitor, modifications: param.fsVisitor.modifications, config: Flagship.getConfig(), status: __assign(__assign({}, currentState.status), newStatus) });\n });\n return newStatus;\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var onVisitorReady = function (fsVisitor, error) {\n if (error) {\n logError(Flagship.getConfig(), error.message || error, 'onReady');\n return;\n }\n var newStatus = initializeState({\n fsVisitor: fsVisitor,\n isSdkReady: true,\n isLoading: false\n });\n if (onUpdate) {\n onUpdate({\n fsModifications: fsVisitor.modifications,\n config: Flagship.getConfig(),\n status: newStatus\n });\n }\n };\n var statusChanged = function (status) {\n if (statusChangedCallback) {\n statusChangedCallback(status);\n }\n if (status === FlagshipStatus.STARTING && onInitStart) {\n onInitStart();\n }\n else if (status === FlagshipStatus.READY_PANIC_ON || status === FlagshipStatus.READY) {\n if (onInitDone) {\n onInitDone();\n }\n if (state.visitor) {\n state.visitor.synchronizeModifications();\n }\n else {\n var fsVisitor_1 = Flagship.newVisitor({\n visitorId: visitorData.id,\n context: visitorData.context,\n isAuthenticated: visitorData.isAuthenticated,\n hasConsented: visitorData.hasConsented,\n initialCampaigns: initialCampaigns,\n initialModifications: initialModifications\n });\n fsVisitor_1 === null || fsVisitor_1 === void 0 ? void 0 : fsVisitor_1.on('ready', function (error) {\n onVisitorReady(fsVisitor_1, error);\n });\n if (!fetchNow && fsVisitor_1) {\n initializeState({\n fsVisitor: fsVisitor_1,\n isSdkReady: true,\n isLoading: false\n });\n }\n }\n }\n };\n var onBucketingLastModified = function (lastUpdate) {\n if (onBucketingUpdated) {\n onBucketingUpdated(lastUpdate);\n }\n setLastModified(lastUpdate);\n };\n var initSdk = function () {\n Flagship.start(envId, apiKey, {\n decisionMode: decisionMode,\n fetchNow: fetchNow,\n timeout: timeout,\n logLevel: logLevel,\n statusChangedCallback: statusChanged,\n logManager: logManager,\n pollingInterval: pollingInterval,\n onBucketingFail: onBucketingFail,\n onBucketingSuccess: onBucketingSuccess,\n enableClientCache: enableClientCache,\n onBucketingUpdated: onBucketingLastModified,\n initialBucketing: initialBucketing\n });\n };\n var handleDisplay = function () {\n var isFirstInit = !state.visitor;\n if (state.status.isLoading && loadingComponent && isFirstInit) {\n return React.createElement(React.Fragment, null, loadingComponent);\n }\n return React.createElement(React.Fragment, null, children);\n };\n return (React.createElement(FlagshipContext.Provider, { value: { state: state, setState: setState } }, handleDisplay()));\n};\nFlagshipProvider.defaultProps = {\n nodeEnv: 'production'\n};\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nimport { useContext } from 'react';\nimport { FlagshipContext } from './FlagshipContext';\nimport { logError, logWarn } from './utils';\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 */\nexport var useFsModifications = function (params, activateAll) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, useFsModificationsSync(params, activateAll)];\n });\n}); };\nvar checkType = function (value, defaultValue) { return (typeof value === 'object' &&\n typeof defaultValue === 'object' &&\n Array.isArray(value) === Array.isArray(defaultValue)) || (typeof value === typeof defaultValue); };\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 */\nexport var useFsModificationsSync = function (params, activateAll) {\n var state = useContext(FlagshipContext).state;\n var visitor = state.visitor, config = state.config;\n var functionName = 'useFsModifications';\n if (visitor) {\n return visitor.getModificationsSync(params, activateAll);\n }\n var check = !state.status.isSdkReady && !!state.modifications && state.modifications.size > 0;\n var flags = {};\n if (check) {\n params.forEach(function (item) {\n var _a;\n var modification = (_a = state.modifications) === null || _a === void 0 ? void 0 : _a.get(item.key);\n if (modification && checkType(modification === null || modification === void 0 ? void 0 : modification.value, item.defaultValue)) {\n flags[item.key] = modification.value;\n }\n else {\n flags[item.key] = item.defaultValue;\n }\n });\n return flags;\n }\n logWarn(config, noVisitorDefault, functionName);\n params.forEach(function (item) {\n flags[item.key] = item.defaultValue;\n });\n return flags;\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 */\nexport var useFsModification = function (params) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, useFsModificationSync(params)];\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 */\nexport var useFsModificationSync = function (params) {\n var _a;\n var state = useContext(FlagshipContext).state;\n var visitor = state.visitor, config = state.config;\n var functionName = 'useFsModifications';\n if (visitor) {\n return visitor.getModificationSync(params);\n }\n var modification = (_a = state.modifications) === null || _a === void 0 ? void 0 : _a.get(params.key);\n if (!state.status.isSdkReady && modification && checkType(modification === null || modification === void 0 ? void 0 : modification.value, params.defaultValue)) {\n return modification.value;\n }\n logWarn(config, noVisitorDefault, functionName);\n return params.defaultValue;\n};\n/**\n * Get the campaign modification information value matching the given key.\n * @param {string} key key which identify the modification.\n */\nexport var useFsModificationInfo = function (key) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, useFsModificationInfoSync(key)];\n });\n}); };\n/**\n * Get the campaign modification information value matching the given key.\n * @param {string} key key which identify the modification.\n */\nexport var useFsModificationInfoSync = function (key) {\n var _a;\n var state = useContext(FlagshipContext).state;\n var visitor = state.visitor;\n if (visitor) {\n return visitor.getModificationInfoSync(key);\n }\n var modification = (_a = state.modifications) === null || _a === void 0 ? void 0 : _a.get(key);\n if (!state.status.isSdkReady && modification) {\n return modification;\n }\n return null;\n};\n/**\n * This function calls the decision api and update all the campaigns modifications from the server according to the visitor context.\n*/\nexport var useFsSynchronizeModifications = function () { return __awaiter(void 0, void 0, void 0, function () {\n var state, visitor, config, functionName, error_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n state = useContext(FlagshipContext).state;\n visitor = state.visitor, config = state.config;\n functionName = 'useFsSynchronizeModifications';\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n if (!visitor) {\n reportNoVisitor(config, functionName);\n return [2 /*return*/];\n }\n return [4 /*yield*/, visitor.synchronizeModifications()\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n error_1 = _a.sent();\n logError(config, error_1.message || error_1, functionName);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/];\n }\n });\n}); };\n/**\n * Report this user has seen this modification. Report this user has seen these modifications.\n * @param params\n * @returns\n */\nexport var useFsActivate = function (params) { return __awaiter(void 0, void 0, void 0, function () {\n var state, visitor, config, functionName, error_2;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n state = useContext(FlagshipContext).state;\n visitor = state.visitor, config = state.config;\n functionName = 'useFsModifications';\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n if (!visitor) {\n logWarn(config, noVisitorMessage, functionName);\n return [2 /*return*/];\n }\n return [4 /*yield*/, visitor.activateModifications(params)\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n error_2 = _a.sent();\n logWarn(config, error_2.message || error_2, functionName);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/];\n }\n });\n}); };\nexport var useFlagship = function () {\n var state = useContext(FlagshipContext).state;\n var visitor = state.visitor, config = state.config;\n var fsUpdateContext = function (context) {\n var functionName = 'updateContext';\n if (!visitor) {\n logError(config, noVisitorMessage, functionName);\n return;\n }\n visitor.clearContext();\n visitor.updateContext(context);\n };\n var fsClearContext = function () {\n var functionName = 'cleanContext';\n if (!visitor) {\n logError(config, noVisitorMessage, functionName);\n return;\n }\n visitor.clearContext();\n };\n var fsAuthenticate = function (visitorId) {\n var functionName = 'authenticate';\n if (!visitor) {\n logError(config, noVisitorMessage, functionName);\n return;\n }\n visitor.authenticate(visitorId);\n };\n var fsUnauthenticate = function () {\n var functionName = 'unauthenticate';\n if (!visitor) {\n logError(config, noVisitorMessage, functionName);\n return;\n }\n visitor.unauthenticate();\n };\n /**\n * Send a Hit to Flagship servers for reporting.\n */\n var fsSendHit = function (hit) {\n var functionName = 'sendHit';\n if (!visitor) {\n logError(config, noVisitorMessage, functionName);\n return Promise.resolve();\n }\n return visitor.sendHit(hit);\n };\n /**\n * Send a Hit to Flagship servers for reporting.\n */\n var fsSendHits = function (hit) {\n var functionName = 'sendHits';\n if (!visitor) {\n logError(config, noVisitorMessage, functionName);\n return Promise.resolve();\n }\n return visitor.sendHits(hit);\n };\n var modifications = visitor === null || visitor === void 0 ? void 0 : 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, function (_a) {\n var _b = __read(_a, 2), _key = _b[0], item = _b[1];\n return item;\n });\n }\n return {\n updateContext: fsUpdateContext,\n clearContext: fsClearContext,\n authenticate: fsAuthenticate,\n unauthenticate: fsUnauthenticate,\n status: state.status,\n synchronizeModifications: useFsSynchronizeModifications,\n getModificationsSync: useFsModificationsSync,\n getModifications: useFsModifications,\n modifications: modifications || [],\n getModificationInfo: useFsModificationInfo,\n getModificationInfoSync: useFsModificationInfoSync,\n hit: {\n send: fsSendHit,\n sendMultiple: fsSendHits\n }\n };\n};\nexport var noVisitorMessage = 'sdk not correctly initialized... Make sure fsVisitor is ready.';\nexport var noVisitorDefault = 'fsVisitor not initialized, returns default value';\nvar reportNoVisitor = function (config, tag) {\n logError(config, noVisitorMessage, tag);\n};\n"],"names":["__webpack_require__","module","getter","__esModule","d","a","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","require","logError","config","message","tag","logManager","error","logLevel","LogLevel","logWarn","warning","__assign","assign","t","s","i","n","arguments","length","p","apply","this","__read","m","iterator","r","e","ar","next","done","push","initStat","status","isLoading","isSdkReady","FlagshipContext","createContext","state","FlagshipProvider","_a","children","fetchNow","envId","apiKey","decisionMode","timeout","statusChangedCallback","pollingInterval","visitorData","onInitStart","onInitDone","onBucketingSuccess","onBucketingFail","loadingComponent","onBucketingUpdated","onUpdate","enableClientCache","initialBucketing","initialCampaigns","initialModifications","synchronizeOnBucketingUpdated","modifications","Map","forEach","modification","set","campaigns","Array","isArray","campaign","object","variation","campaignId","id","variationGroupId","variationId","isReference","reference","getModificationsFromCampaigns","_b","useState","setState","_c","lastModified","setLastModified","useEffect","visitor","synchronizeModifications","updateVisitor","initSdk","context","clearContext","updateContext","setConsent","hasConsented","anonymousId","isAuthenticated","unauthenticate","authenticate","visitorId","initializeState","param","newStatus","isVisitorDefined","fsVisitor","lastRefresh","Date","toISOString","currentState","firstInitSuccess","Flagship","isFirstInit","statusChanged","FlagshipStatus","fsVisitor_1","on","fsModifications","onVisitorReady","onBucketingLastModified","lastUpdate","Provider","defaultProps","nodeEnv","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","rejected","result","then","__generator","body","f","y","g","_","label","sent","trys","ops","verb","v","op","TypeError","pop","useFsModifications","params","activateAll","useFsModificationsSync","checkType","defaultValue","useContext","getModificationsSync","check","size","flags","item","noVisitorDefault","useFsModification","useFsModificationSync","getModificationSync","useFsModificationInfo","useFsModificationInfoSync","getModificationInfoSync","useFsSynchronizeModifications","functionName","error_1","reportNoVisitor","useFsActivate","error_2","activateModifications","noVisitorMessage","useFlagship","getModificationsArray","from","getModifications","getModificationInfo","hit","send","sendHit","sendMultiple","sendHits"],"sourceRoot":""}
|
package/dist/utils.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { IFlagshipConfig } from '@flagship.io/js-sdk';
|
|
1
|
+
import { CampaignDTO, IFlagshipConfig, Modification } from '@flagship.io/js-sdk';
|
|
2
2
|
export declare function logError(config: IFlagshipConfig | undefined, message: string, tag: string): void;
|
|
3
3
|
export declare function logInfo(config: IFlagshipConfig | undefined, message: string, tag: string): void;
|
|
4
4
|
export declare function logWarn(config: IFlagshipConfig | undefined, message: string, tag: string): void;
|
|
5
|
+
export declare const getModificationsFromCampaigns: (campaigns: Array<CampaignDTO>) => Map<string, Modification>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flagship.io/react-sdk",
|
|
3
|
-
"version": "2.2.0-alpha.
|
|
3
|
+
"version": "2.2.0-alpha.4",
|
|
4
4
|
"description": "Flagship REACT SDK",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"README.md"
|
|
11
11
|
],
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@flagship.io/js-sdk": "^2.3.1-alpha.
|
|
13
|
+
"@flagship.io/js-sdk": "^2.3.1-alpha.4"
|
|
14
14
|
},
|
|
15
15
|
"peerDependencies": {
|
|
16
16
|
"react": "^16.8.0"
|
|
@@ -27,6 +27,9 @@
|
|
|
27
27
|
"sdk"
|
|
28
28
|
],
|
|
29
29
|
"devDependencies": {
|
|
30
|
+
"@babel/core": "^7.14.6",
|
|
31
|
+
"@babel/preset-env": "^7.14.7",
|
|
32
|
+
"@babel/preset-typescript": "^7.14.5",
|
|
30
33
|
"@testing-library/jest-dom": "^5.11.4",
|
|
31
34
|
"@testing-library/react": "^11.1.0",
|
|
32
35
|
"@testing-library/react-hooks": "^7.0.1",
|
|
@@ -37,6 +40,7 @@
|
|
|
37
40
|
"@types/react-dom": "^17.0.0",
|
|
38
41
|
"@typescript-eslint/eslint-plugin": "^4.32.0",
|
|
39
42
|
"@typescript-eslint/parser": "^4.32.0",
|
|
43
|
+
"babel-loader": "^8.2.2",
|
|
40
44
|
"eslint": "^7.32.0",
|
|
41
45
|
"eslint-config-standard": "^16.0.3",
|
|
42
46
|
"eslint-plugin-import": "^2.24.2",
|
|
@@ -48,16 +52,12 @@
|
|
|
48
52
|
"react-dom": "^17.0.2",
|
|
49
53
|
"react-test-renderer": "^17.0.2",
|
|
50
54
|
"ts-jest": "^27.0.3",
|
|
55
|
+
"ts-loader": "^9.2.3",
|
|
51
56
|
"typescript": "^4.4.3",
|
|
52
57
|
"webpack": "^5.44.0",
|
|
53
58
|
"webpack-cli": "^4.7.2",
|
|
54
59
|
"webpack-merge": "^5.8.0",
|
|
55
|
-
"webpack-node-externals": "^3.0.0"
|
|
56
|
-
"ts-loader": "^9.2.3",
|
|
57
|
-
"@babel/core": "^7.14.6",
|
|
58
|
-
"@babel/preset-env": "^7.14.7",
|
|
59
|
-
"@babel/preset-typescript": "^7.14.5",
|
|
60
|
-
"babel-loader": "^8.2.2"
|
|
60
|
+
"webpack-node-externals": "^3.0.0"
|
|
61
61
|
},
|
|
62
62
|
"scripts": {
|
|
63
63
|
"dev": "tsc --watch",
|