UNPKG

opticks

Version:

FindHotel Toggle Flag JavaScript SDK

2 lines 3.23 kB
var V=Object.create;var p=Object.defineProperty,P=Object.defineProperties,U=Object.getOwnPropertyDescriptor,L=Object.getOwnPropertyDescriptors,R=Object.getOwnPropertyNames,x=Object.getOwnPropertySymbols,k=Object.getPrototypeOf,C=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable;var h=(e,t,n)=>t in e?p(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,l=(e,t)=>{for(var n in t||(t={}))C.call(t,n)&&h(e,n,t[n]);if(x)for(var n of x(t))z.call(t,n)&&h(e,n,t[n]);return e},d=(e,t)=>P(e,L(t));var D=(e,t)=>{for(var n in t)p(e,n,{get:t[n],enumerable:!0})},v=(e,t,n,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of R(t))!C.call(e,o)&&o!==n&&p(e,o,{get:()=>t[o],enumerable:!(i=U(t,o))||i.enumerable});return e};var K=(e,t,n)=>(n=e!=null?V(k(e)):{},v(t||!e||!e.__esModule?p(n,"default",{value:e,enumerable:!0}):n,e)),w=e=>v(p({},"__esModule",{value:!0}),e);var ne={};D(ne,{ExperimentType:()=>F,NOTIFICATION_TYPES:()=>E,addActivateListener:()=>N,forceToggles:()=>B,initialize:()=>q,isUserInRolloutAudience:()=>Z,registerLibrary:()=>M,resetAudienceSegmentationAttributes:()=>Y,setAudienceSegmentationAttributes:()=>J,setUserId:()=>G,toggle:()=>te});module.exports=w(ne);var m=K(require("@optimizely/optimizely-sdk"));var b=e=>typeof e=="function"?e():e;var O=e=>(t,...n)=>{let i="a".charCodeAt(0),o=e(t);if(n.length===0)return o;let y=o.charCodeAt(0)-i,c=n[y];return b(c)};var E=m.default.enums.NOTIFICATION_TYPES,S=m.default,s,u,r={},f,g={},a={},M=e=>{S=e},j=()=>{g={}},B=e=>{Object.keys(e).forEach(t=>{let n=e[t];if(typeof n=="boolean"){a[t]=n?"b":"a";return}n===null?delete a[t]:a[t]=n})},I=()=>{j()},G=e=>{u!==e&&I(),u=e},J=(e={})=>{let t=l(l({},r),e);JSON.stringify(t)!==JSON.stringify(r||{})&&I(),r=t},Y=()=>{I(),r={}},_=()=>null,H={dispatchEvent:()=>null},F=(n=>(n.flag="flag",n.mvt="feature-test",n))(F||{}),q=(e,t=_,n=H)=>(s=S.createInstance({datafile:e,eventDispatcher:n}),N(t),s),N=e=>{let t=n=>{let{variationKey:i}=n.decisionInfo,o=i==="on"?"b":i==="off"?"a":i,y=d(l({},n),{decisionInfo:d(l({},n.decisionInfo),{variationKey:o})});return e(y)};return s.notificationCenter.addNotificationListener(E.DECISION,t)},Q=(e,t)=>a.hasOwnProperty(e)||t.hasOwnProperty(e),W=(e,t)=>(a.hasOwnProperty(e)?a:t)[e],X=e=>{if(!e)throw new Error("Opticks: Fatal error: user id is not set")},Z=e=>{let t=s.projectConfigManager.getConfig(),n=t.featureKeyMap[e],o=[...t.rolloutIdMap[n.rolloutId].experiments];if(n.experimentIds.length>0){let{experimentIds:c}=n,T=c.map(A=>t.experimentIdMap[A]);o.push(...T)}return o.reduce((c,T)=>s.decisionService.checkIfUserIsInAudience(t,T,"rule",f,r,"").result&&!$(T)?!0:c,!1)},$=e=>{let t=e.trafficAllocation[0];return typeof t=="undefined"||t.endOfRange===1e4},ee=e=>{X(u);let t="a";if(Q(e,g)){let o=W(e,g);return typeof o=="string"?o:t}f=s.createUserContext(u,r);let n=f.decide(e).variationKey,i=n==="on"?"b":n==="off"?"a":n;return g[e]=i||t,i||t};function te(e,...t){return O(ee)(e,...t)}0&&(module.exports={ExperimentType,NOTIFICATION_TYPES,addActivateListener,forceToggles,initialize,isUserInRolloutAudience,registerLibrary,resetAudienceSegmentationAttributes,setAudienceSegmentationAttributes,setUserId,toggle}); //# sourceMappingURL=optimizely.js.map