@flagsmith/flagsmith 11.0.0-internal.1 → 11.0.0-internal.2

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.
@@ -1,2 +1,2 @@
1
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self)["next-middleware"]={})}(this,(function(t){"use strict";var e=function(){return e=Object.assign||function(t){for(var e,i=1,n=arguments.length;i<n;i++)for(var a in e=arguments[i])Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t},e.apply(this,arguments)};function i(t,e,i,n){return new(i||(i=Promise))((function(a,o){function l(t){try{r(n.next(t))}catch(t){o(t)}}function s(t){try{r(n.throw(t))}catch(t){o(t)}}function r(t){var e;t.done?a(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(l,s)}r((n=n.apply(t,e||[])).next())}))}function n(t,e){var i,n,a,o,l={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;l;)try{if(i=1,n&&(a=2&o[0]?n.return:o[0]?n.throw||((a=n.return)&&a.call(n),0):n.next)&&!(a=a.call(n,o[1])).done)return a;switch(n=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return l.label++,{value:o[1],done:!1};case 5:l.label++,n=o[1],o=[0];continue;case 7:o=l.ops.pop(),l.trys.pop();continue;default:if(!(a=l.trys,(a=a.length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){l=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]<a[3])){l.label=o[1];break}if(6===o[0]&&l.label<a[1]){l.label=a[1],a=o;break}if(a&&l.label<a[2]){l.label=a[2],l.ops.push(o);break}a[2]&&l.ops.pop(),l.trys.pop();continue}o=e.call(t,l)}catch(t){o=[6,t],n=0}finally{i=a=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,s])}}}function a(t,e,i){if(i||2===arguments.length)for(var n,a=0,o=e.length;a<o;a++)!n&&a in e||(n||(n=Array.prototype.slice.call(e,0,a)),n[a]=e[a]);return t.concat(n||Array.prototype.slice.call(e))}var o=function t(e,i){if(e===i)return!0;if(e&&i&&"object"==typeof e&&"object"==typeof i){if(e.constructor!==i.constructor)return!1;var n,a,o;if(Array.isArray(e)){if((n=e.length)!=i.length)return!1;for(a=n;0!=a--;)if(!t(e[a],i[a]))return!1;return!0}if(e.constructor===RegExp)return e.source===i.source&&e.flags===i.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===i.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===i.toString();if((n=(o=Object.keys(e)).length)!==Object.keys(i).length)return!1;for(a=n;0!=a--;)if(!Object.prototype.hasOwnProperty.call(i,o[a]))return!1;for(a=n;0!=a--;){var l=o[a];if(!t(e[l],i[l]))return!1}return!0}return e!=e&&i!=i};function l(t,e){var i=Object.keys(e||{}).filter((function(i){var n=null==t?void 0:t[i],a=null==e?void 0:e[i];return!o(n,a)}));return Object.keys(t||{}).filter((function(t){Object.keys(e||{}).includes(t)||i.push(t)})),Object.keys(i).length?i:null}function s(t,e,i){var n="shortString",a=!0;"number"==typeof i&&(n="javaDouble",a=!1),t[n]=t[n]||{},t[n][e]=a?i+"":i}function r(t){return!!t&&"object"==typeof t&&void 0!==t.value}function u(t){return Object.fromEntries(Object.entries(t).map((function(t){var e=t[0],i=t[1];return[e,r(i)?i:{value:i}]})))}function c(t){return e(e({},t),{identity:t.identity?e(e({},t.identity),{traits:u(t.identity.traits||{})}):void 0})}function v(t){return t.endsWith("/")?t:t+"/"}var d,h,g="11.0.0-internal.1";t.FlagSource=void 0,(d=t.FlagSource||(t.FlagSource={})).NONE="NONE",d.DEFAULT_FLAGS="DEFAULT_FLAGS",d.CACHE="CACHE",d.SERVER="SERVER";var f,p=null,y="FLAGSMITH_EVENT",m=y,S="https://edge.api.flagsmith.com/api/v1/",C="flagsmith_value_",b="flagsmith_enabled_",F="flagsmith_trait_",E=function(){function d(a){var o=this;this._trigger=null,this._triggerLoadingState=null,this.timestamp=null,this.isLoading=!1,this.eventSource=null,this.getFlags=function(){var i=o,n=i.api,a=i.evaluationContext;o.log("Get Flags"),o.isLoading=!0,o.loadingState.isFetching||o.setLoadingState(e(e({},o.loadingState),{isFetching:!0}));var r="".concat(o.getContext().identity),u=function(i){var n,a,u,c;if(i&&r==="".concat(o.getContext().identity)){var v=i.flags,d=i.traits,h=i.identifier;o.isLoading=!1;var g={},f={};d=d||[],(v=v||[]).forEach((function(t){g[t.feature.name.toLowerCase().replace(/ /g,"_")]={id:t.feature.id,enabled:t.enabled,value:t.feature_state_value}})),d.forEach((function(t){f[t.trait_key.toLowerCase().replace(/ /g,"_")]={transient:t.transient,value:t.trait_value}})),o.oldFlags=e({},o.flags);var p=l(o.oldFlags,g),y=l(null===(n=o.evaluationContext.identity)||void 0===n?void 0:n.traits,f);if((h||Object.keys(f).length)&&(o.evaluationContext.identity=e(e({},o.evaluationContext.identity),{traits:f}),h&&(o.evaluationContext.identity.identifier=h,o.identity=h)),o.flags=g,o.updateStorage(),o._onChange(o.oldFlags,{isFromServer:!0,flagsChanged:p,traitsChanged:y},o._loadedState(null,t.FlagSource.SERVER)),o.datadogRum)try{if(o.datadogRum.trackTraits){var m={};Object.keys((null===(a=o.evaluationContext.identity)||void 0===a?void 0:a.traits)||{}).map((function(t){m[F+t]=o.getTrait(t)}));var S=e(e(e({},o.datadogRum.client.getUser()),{id:o.datadogRum.client.getUser().id||(null===(u=o.evaluationContext.identity)||void 0===u?void 0:u.identifier)}),m);o.log("Setting Datadog user",S),o.datadogRum.client.setUser(S)}}catch(t){console.error(t)}if(o.dtrum)try{var E={javaDouble:{},date:{},shortString:{},javaLongOrObject:{}};Object.keys(o.flags).map((function(t){s(E,C+t,o.getValue(t,{skipAnalytics:!0})),s(E,b+t,o.hasFeature(t,{skipAnalytics:!0}))})),Object.keys((null===(c=o.evaluationContext.identity)||void 0===c?void 0:c.traits)||{}).map((function(t){s(E,F+t,o.getTrait(t))})),o.log("Sending javaLongOrObject traits to dynatrace",E.javaLongOrObject),o.log("Sending date traits to dynatrace",E.date),o.log("Sending shortString traits to dynatrace",E.shortString),o.log("Sending javaDouble to dynatrace",E.javaDouble),o.dtrum.sendSessionProperties(E.javaLongOrObject,E.date,E.shortString,E.javaDouble)}catch(t){console.error(t)}}};return a.identity?Promise.all([a.identity.traits&&Object.keys(a.identity.traits).length||!a.identity.identifier?o.getJSON(n+"identities/","POST",JSON.stringify({identifier:a.identity.identifier,transient:a.identity.transient,traits:Object.entries(a.identity.traits).map((function(t){var e=t[0],i=t[1];return{trait_key:e,trait_value:null==i?void 0:i.value,transient:null==i?void 0:i.transient}})).filter((function(t){return void 0!==t.trait_value||(o.log("Warning - attempted to set an undefined trait value for key",t.trait_key),!1)}))})):o.getJSON(n+"identities/?identifier="+encodeURIComponent(a.identity.identifier)+(a.identity.transient?"&transient=true":""))]).then((function(t){return o.evaluationContext.identity=e(e({},o.evaluationContext.identity),{traits:{}}),u(null==t?void 0:t[0])})).catch((function(t){var e=t.message,i=new Error(e);return Promise.reject(i)})):o.getJSON(n+"flags/").then((function(t){return u({flags:t,traits:void 0})}))},this.analyticsFlags=function(){var t=o.api;if(o.evaluationEvent&&o.evaluationContext.environment&&o.evaluationEvent[o.evaluationContext.environment.apiKey])return o.evaluationEvent&&0!==Object.getOwnPropertyNames(o.evaluationEvent).length&&0!==Object.getOwnPropertyNames(o.evaluationEvent[o.evaluationContext.environment.apiKey]).length?o.getJSON(t+"analytics/flags/","POST",JSON.stringify(o.evaluationEvent[o.evaluationContext.environment.apiKey])).then((function(t){if(o.evaluationContext.environment){var i=o.getState();o.evaluationEvent||(o.evaluationEvent={}),o.evaluationEvent[o.evaluationContext.environment.apiKey]={},o.setState(e(e({},i),{evaluationEvent:o.evaluationEvent})),o.updateEventStorage()}})).catch((function(t){o.log("Exception fetching evaluationEvent",t)})):void 0},this.flushPipelineAnalytics=function(){return i(o,void 0,void 0,(function(){var t,i,a,o,l,s,r;return n(this,(function(n){switch(n.label){case 0:if(t=this.evaluationAnalyticsUrl&&this.evaluationContext.environment,i=this.pipelineEvents.length>0&&(!this.isPipelineFlushing||0===this.pipelineFlushInterval),!t||!i)return[2];a=this.evaluationContext.environment.apiKey,this.isPipelineFlushing=!0,o=this.pipelineEvents,this.pipelineEvents=[],l={events:o,environment_key:a},n.label=1;case 1:return n.trys.push([1,3,4,5]),[4,h(this.evaluationAnalyticsUrl+"v1/analytics/batch",{method:"POST",body:JSON.stringify(l),headers:e({"Content-Type":"application/json; charset=utf-8","X-Environment-Key":a},{"Flagsmith-SDK-User-Agent":"flagsmith-js-sdk/".concat(g)})})];case 2:if(!(s=n.sent()).status||s.status<200||s.status>=300)throw new Error("Pipeline analytics: unexpected status ".concat(s.status));return this.log("Pipeline analytics: flush successful"),[3,5];case 3:return r=n.sent(),this.pipelineEvents=o.concat(this.pipelineEvents),this.trimPipelineBuffer(),this.log("Pipeline analytics: flush failed, events re-queued",r),[3,5];case 4:return this.isPipelineFlushing=!1,[7];case 5:return[2]}}))}))},this.datadogRum=null,this.loadingState={isLoading:!0,isFetching:!0,error:null,source:t.FlagSource.NONE},this.canUseStorage=!1,this.analyticsInterval=null,this.api=null,this.cacheFlags=!1,this.enableAnalytics=!1,this.enableLogs=!1,this.evaluationContext={},this.evaluationEvent=null,this.flags=null,this.getFlagInterval=null,this.headers=null,this.identity=null,this.initialised=!1,this.oldFlags=null,this.onChange=null,this.onError=null,this.ticks=null,this.timer=null,this.dtrum=null,this.sentryClient=null,this.withTraits=null,this.cacheOptions={ttl:0,skipAPI:!1,loadStale:!1,storageKey:void 0},this.evaluationAnalyticsUrl=null,this.evaluationAnalyticsMaxBuffer=1e3,this.pipelineEvents=[],this.pipelineAnalyticsInterval=null,this.isPipelineFlushing=!1,this.getValue=function(t,e,i){var n=o.flags&&o.flags[t.toLowerCase().replace(/ /g,"_")],a=null;if(n&&(a=n.value),(null==e?void 0:e.skipAnalytics)||i||o.evaluateFlag(t,"VALUE"),null===a&&void 0!==(null==e?void 0:e.fallback))return e.fallback;if(null==e?void 0:e.json)try{return null===a?(o.log("Tried to parse null flag as JSON: "+t),null):JSON.parse(a)}catch(t){return e.fallback}return a},this.getTrait=function(t){var e,i;return(null===(e=o.evaluationContext.identity)||void 0===e?void 0:e.traits)&&(null===(i=o.evaluationContext.identity.traits[t.toLowerCase().replace(/ /g,"_")])||void 0===i?void 0:i.value)},this.getAllTraits=function(){var t;return Object.fromEntries(Object.entries((null===(t=o.evaluationContext.identity)||void 0===t?void 0:t.traits)||{}).map((function(t){var e=t[0],i=t[1];return[e,null==i?void 0:i.value]})))},this.setContext=function(t){var i,n,a=c(t);return o.evaluationContext=e(e({},a),{environment:a.environment||o.evaluationContext.environment}),o.identity=null===(n=null===(i=o.getContext())||void 0===i?void 0:i.identity)||void 0===n?void 0:n.identifier,o.initialised?o.getFlags():Promise.resolve()},this.getContext=function(){return o.evaluationContext},this.updateContext=function(t){return o.setContext(e(e({},o.getContext()),t))},this.setTrait=function(t,i){var n;if(o.api)return o.setContext(e(e({},o.evaluationContext),{identity:e(e({},o.evaluationContext.identity),{traits:e(e({},null===(n=o.evaluationContext.identity)||void 0===n?void 0:n.traits),u(Object.fromEntries([[t,i]])))})}))},this.setTraits=function(t){var i;if(o.api)return o.setContext(e(e({},o.evaluationContext),{identity:e(e({},o.evaluationContext.identity),{traits:e(e({},null===(i=o.evaluationContext.identity)||void 0===i?void 0:i.traits),Object.fromEntries(Object.entries(t).map((function(t){var e=t[0],i=t[1];return[e,r(i)?i:{value:i}]}))))})}));console.error("Attempted to "+"setTraits"+" a user before calling flagsmith.init. Call flagsmith.init first, if you wish to prevent it sending a request for flags, call init with preventFetch:true.")},this.hasFeature=function(t,e){var i,n,a="object"==typeof e,l=o.flags&&o.flags[t.toLowerCase().replace(/ /g,"_")],s=!1;if(!l&&a&&void 0!==e.fallback?s=null==e?void 0:e.fallback:l&&l.enabled&&(s=!0),(a&&!e.skipAnalytics||!e)&&o.evaluateFlag(t,"ENABLED"),o.sentryClient)try{null===(n=null===(i=o.sentryClient.getIntegrationByName("FeatureFlags"))||void 0===i?void 0:i.addFeatureFlag)||void 0===n||n.call(i,t,s)}catch(t){console.error(t)}return s},this.getStorageKey=function(){var t,e;return(null===(t=o.cacheOptions)||void 0===t?void 0:t.storageKey)||"FLAGSMITH_DB_"+(null===(e=o.evaluationContext.environment)||void 0===e?void 0:e.apiKey)},this.getJSON=function(t,e,i){var n,a,l,s=o.headers,r={method:e||"GET",body:i,cache:"no-cache",headers:{}};o.evaluationContext.environment&&(r.headers["X-Environment-Key"]=o.evaluationContext.environment.apiKey),e&&"GET"!==e&&(r.headers["Content-Type"]="application/json; charset=utf-8"),(null===(n=o.applicationMetadata)||void 0===n?void 0:n.name)&&(r.headers["Flagsmith-Application-Name"]=o.applicationMetadata.name),(null===(a=o.applicationMetadata)||void 0===a?void 0:a.version)&&(r.headers["Flagsmith-Application-Version"]=o.applicationMetadata.version),r.headers["Flagsmith-SDK-User-Agent"]="flagsmith-js-sdk/".concat(g),s&&Object.assign(r.headers,s),h||console.error("Flagsmith: fetch is undefined, please specify a fetch implementation into flagsmith.init to support SSR.");var u="".concat(null===(l=o.evaluationContext.identity)||void 0===l?void 0:l.identifier);return h(t,r).then((function(i){var n,a,l="".concat(null===(n=o.evaluationContext.identity)||void 0===n?void 0:n.identifier);if(u===l){var s=null===(a=i.headers)||void 0===a?void 0:a.get("x-flagsmith-document-updated-at");if(s)try{var r=parseFloat(s);if(isNaN(r))return Promise.reject("Failed to parse x-flagsmith-document-updated-at");o.timestamp=r}catch(t){o.log(t,"Failed to parse x-flagsmith-document-updated-at",s)}return o.log("Fetch response: "+i.status+" "+(e||"GET")+0+t),i.text().then((function(t){var e=t;try{e=JSON.parse(t)}catch(t){}return!e&&i.status&&(e="API Response: ".concat(i.status)),i.status&&i.status>=200&&i.status<300?e:Promise.reject(new Error(e))}))}o.log("Received response with identity mismatch, ignoring response. Requested: ".concat(u,", Current: ").concat(l))}))},this.evaluateFlag=function(t,e){if(o.datadogRum&&(o.datadogRum.client.addFeatureFlagEvaluation?"VALUE"===e?o.datadogRum.client.addFeatureFlagEvaluation(C+t,o.getValue(t,{},!0)):o.datadogRum.client.addFeatureFlagEvaluation(b+t,o.hasFeature(t,!0)):console.error("Flagsmith: Your datadog RUM client does not support the function addFeatureFlagEvaluation, please update it.")),o.enableAnalytics){if(!o.evaluationEvent||!o.evaluationContext.environment)return;o.evaluationEvent[o.evaluationContext.environment.apiKey]||(o.evaluationEvent[o.evaluationContext.environment.apiKey]={}),void 0===o.evaluationEvent[o.evaluationContext.environment.apiKey][t]&&(o.evaluationEvent[o.evaluationContext.environment.apiKey][t]=0),o.evaluationEvent[o.evaluationContext.environment.apiKey][t]+=1}o.evaluationAnalyticsUrl&&o.recordPipelineEvent(t),o.updateEventStorage()},this.pipelineFlushInterval=1e4,this._onChange=function(t,e,i){var n,a;o.setLoadingState(i),null===(n=o.onChange)||void 0===n||n.call(o,t,e,o.loadingState),null===(a=o._trigger)||void 0===a||a.call(o)},h=a.fetch?a.fetch:"undefined"!=typeof fetch?fetch:null===global||void 0===global?void 0:global.fetch,this.canUseStorage="undefined"!=typeof window||!!a.browserlessStorage,this.applicationMetadata=a.applicationMetadata,this.log("Constructing flagsmith instance "+a),a.eventSource&&(f=a.eventSource),a.AsyncStorage&&(p=a.AsyncStorage)}return d.prototype.init=function(a){var o,s,r,u;return i(this,void 0,void 0,(function(){var d,g,f,y,C,b,F,E,x,O,A,w,_,I,j,L,P,k,T,N,K,U,R,D,J,M,G,B,V,H,q,W,X,Y,z,Q,Z=this;return n(this,(function($){switch($.label){case 0:d=c(a.evaluationContext||this.evaluationContext),$.label=1;case 1:if($.trys.push([1,13,,14]),g=a.AsyncStorage,f=a._trigger,y=a._triggerLoadingState,C=a.angularHttpClient,b=a.api,F=void 0===b?S:b,E=a.applicationMetadata,x=a.cacheFlags,O=a.cacheOptions,A=a.datadogRum,w=a.defaultFlags,_=a.enableAnalytics,I=a.enableDynatrace,j=a.enableLogs,L=a.environmentID,P=a.evaluationAnalyticsConfig,k=a.eventSourceUrl,T=void 0===k?"https://realtime.flagsmith.com/":k,N=a.fetch,K=a.headers,U=a.identity,R=a.onChange,D=a.onError,J=a.preventFetch,M=a.realtime,G=a.sentryClient,B=a.state,V=a.traits,d.environment=L?{apiKey:L}:d.environment,!d.environment||!d.environment.apiKey)throw new Error("Please provide `evaluationContext.environment` with non-empty `apiKey`");if(d.identity=U||V?{identifier:U,traits:V?Object.fromEntries(Object.entries(V).map((function(t){return[t[0],{value:t[1]}]}))):{}}:d.identity,this.evaluationContext=d,this.api=v(F),this.headers=K,this.getFlagInterval=null,this.analyticsInterval=null,this.onChange=R,H="Wrong Flagsmith Configuration: preventFetch is true and no defaulFlags provided",this._trigger=f||this._trigger,this._triggerLoadingState=y||this._triggerLoadingState,this.onError=function(t){Z.setLoadingState(e(e({},Z.loadingState),{isFetching:!1,isLoading:!1,error:t})),null==D||D(t)},this.enableLogs=j||!1,this.cacheOptions=O?{skipAPI:!!O.skipAPI,ttl:O.ttl||0,storageKey:O.storageKey,loadStale:!!O.loadStale}:this.cacheOptions,!this.cacheOptions.ttl&&this.cacheOptions.skipAPI&&console.warn("Flagsmith: you have set a cache ttl of 0 and are skipping API calls, this means the API will not be hit unless you clear local storage."),N&&(h=N),this.enableAnalytics=_||!1,this.flags=Object.assign({},w)||{},this.datadogRum=A||null,this.initialised=!0,this.ticks=1e4,this.timer=this.enableLogs?(new Date).valueOf():null,this.cacheFlags=void 0!==p&&!!x,this.applicationMetadata=E,m="FLAGSMITH_EVENT_"+d.environment.apiKey,g&&(p=g),M&&"undefined"!=typeof window&&this.setupRealtime(T,d.environment.apiKey),Object.keys(this.flags).length&&(this.loadingState=e(e({},this.loadingState),{isLoading:!1,source:t.FlagSource.DEFAULT_FLAGS})),this.setState(B),this.log("Initialising with properties",a,this),I&&("undefined"==typeof dtrum?console.error("You have attempted to enable dynatrace but dtrum is undefined, please check you have the Dynatrace RUM JavaScript API installed."):this.dtrum=dtrum),G&&(this.sentryClient=G),C&&(h=function(t){return function(e,i){var n=i.headers,a=i.method,o=i.body,l={headers:n,observe:"response",responseType:"text"},s=function(t,e){var i=t.status,n=t.headers,a=t.body,o=t.error,l=t.message;return{status:null!=i?i:e?200:500,ok:e,headers:{get:function(t){var e,i;return null!==(i=null===(e=null==n?void 0:n.get)||void 0===e?void 0:e.call(n,t))&&void 0!==i?i:null}},text:function(){var t,e,i=null!==(e=null!==(t=null!=a?a:o)&&void 0!==t?t:l)&&void 0!==e?e:"";return Promise.resolve("string"!=typeof i?JSON.stringify(i):i)}}};return new Promise((function(i){var n=function(t){return i(s(t,!t.status||t.status>=200&&t.status<300))},r=function(t){return i(s(t,!1))};switch(a){case"GET":return t.get(e,l).subscribe(n,r);case"POST":case"PUT":return t.post(e,null!=o?o:"",l).subscribe(n,r);default:return r({status:405,message:"Unsupported method: ".concat(a)})}}))}}(C)),p&&this.canUseStorage&&p.getItem(m).then((function(t){try{Z.evaluationEvent=JSON.parse(t)||{}}catch(t){Z.evaluationEvent={}}Z.analyticsInterval=setInterval(Z.analyticsFlags,Z.ticks)})),this.enableAnalytics&&(this.analyticsInterval&&clearInterval(this.analyticsInterval),p&&this.canUseStorage&&p.getItem(m,(function(t,i){if(i&&Z.evaluationContext.environment){var n=JSON.parse(i);if(n[Z.evaluationContext.environment.apiKey]){var a=Z.getState();Z.log("Retrieved events from cache",i),Z.setState(e(e({},a),{evaluationEvent:n[Z.evaluationContext.environment.apiKey]}))}}}))),P?this.initPipelineAnalytics(P):this.stopPipelineAnalytics(),!x)return[3,9];if(!p||!this.canUseStorage)return[3,8];q=function(a,o){return i(Z,void 0,void 0,(function(){var i,a,s,r,u,v,d,h,g,f,p,y,m,S,C,b,F,E,x,O=this;return n(this,(function(n){switch(n.label){case 0:if(!o)return[3,7];i=null,a=null,n.label=1;case 1:return n.trys.push([1,5,,6]),s=JSON.parse(o),r=!1,u=!1,s&&s.api===this.api&&(null===(f=null===(g=s.evaluationContext)||void 0===g?void 0:g.environment)||void 0===f?void 0:f.apiKey)===(null===(p=this.evaluationContext.environment)||void 0===p?void 0:p.apiKey)&&(v=!0,this.evaluationContext.identity&&(null===(m=null===(y=s.evaluationContext)||void 0===y?void 0:y.identity)||void 0===m?void 0:m.identifier)!==this.evaluationContext.identity.identifier&&(this.log("Ignoring cache, identity has changed from "+(null===(C=null===(S=s.evaluationContext)||void 0===S?void 0:S.identity)||void 0===C?void 0:C.identifier)+" to "+this.evaluationContext.identity.identifier),v=!1),this.cacheOptions.ttl&&(!s.ts||(new Date).valueOf()-s.ts>this.cacheOptions.ttl)&&(s.ts&&!this.cacheOptions.loadStale?(this.log("Ignoring cache, timestamp is too old ts:"+s.ts+" ttl: "+this.cacheOptions.ttl+" time elapsed since cache: "+((new Date).valueOf()-s.ts)+"ms"),v=!1):s.ts&&this.cacheOptions.loadStale&&(this.log("Loading stale cache, timestamp ts:"+s.ts+" ttl: "+this.cacheOptions.ttl+" time elapsed since cache: "+((new Date).valueOf()-s.ts)+"ms"),u=!0,v=!0)),v&&(r=!0,i=l(this.flags,s.flags),this.setState(e(e({},s),{evaluationContext:c(e(e({},s.evaluationContext),{identity:(null===(b=s.evaluationContext)||void 0===b?void 0:b.identity)?e(e({},null===(F=s.evaluationContext)||void 0===F?void 0:F.identity),{traits:e({},V||{})}):void 0}))})),this.log("Retrieved flags from cache",s))),r?(d=!J&&(!this.cacheOptions.skipAPI||u),this._onChange(null,{isFromServer:!1,flagsChanged:i,traitsChanged:a},this._loadedState(null,t.FlagSource.CACHE,d)),this.oldFlags=this.flags,this.cacheOptions.skipAPI&&r&&!u&&this.log("Skipping API, using cache"),d&&this.getFlags().catch((function(t){var e;null===(e=O.onError)||void 0===e||e.call(O,t)})),[3,4]):[3,2];case 2:return J?[3,4]:[4,this.getFlags()];case 3:n.sent(),n.label=4;case 4:return[3,6];case 5:throw h=n.sent(),this.log("Exception fetching cached logs",h),h;case 6:return[3,10];case 7:return J?[3,9]:[4,this.getFlags()];case 8:return n.sent(),[3,10];case 9:if(w)this._onChange(null,{isFromServer:!1,flagsChanged:l({},this.flags),traitsChanged:l({},null===(E=this.evaluationContext.identity)||void 0===E?void 0:E.traits)},this._loadedState(null,t.FlagSource.DEFAULT_FLAGS));else{if(!this.flags)throw new Error(H);this._onChange(null,{isFromServer:!1,flagsChanged:l({},this.flags),traitsChanged:l({},null===(x=this.evaluationContext.identity)||void 0===x?void 0:x.traits)},this._loadedState(null,t.FlagSource.DEFAULT_FLAGS))}n.label=10;case 10:return[2]}}))}))},$.label=2;case 2:return $.trys.push([2,7,,8]),p.getItemSync?(W=p.getItemSync(this.getStorageKey()),[3,5]):[3,3];case 3:return[4,p.getItem(this.getStorageKey())];case 4:W=$.sent(),$.label=5;case 5:return[4,q(null,W)];case 6:return $.sent(),[3,8];case 7:if(X=$.sent(),!this.flags||0===Object.keys(this.flags).length)throw X;return Q=X instanceof Error?X:new Error("".concat(X)),null===(o=this.onError)||void 0===o||o.call(this,Q),[3,8];case 8:return[3,12];case 9:return J?[3,11]:[4,this.getFlags()];case 10:return $.sent(),[3,12];case 11:if(w)this._onChange(null,{isFromServer:!1,flagsChanged:l({},w),traitsChanged:l({},null===(s=d.identity)||void 0===s?void 0:s.traits)},this._loadedState(null,t.FlagSource.DEFAULT_FLAGS));else if(this.flags&&(Y=null,0===Object.keys(this.flags).length&&(Y=H),this._onChange(null,{isFromServer:!1,flagsChanged:l({},this.flags),traitsChanged:l({},null===(r=d.identity)||void 0===r?void 0:r.traits)},this._loadedState(Y,t.FlagSource.DEFAULT_FLAGS)),Y))throw new Error(Y);$.label=12;case 12:return[3,14];case 13:throw z=$.sent(),this.log("Error during initialisation ",z),Q=z instanceof Error?z:new Error("".concat(z)),null===(u=this.onError)||void 0===u||u.call(this,Q),z;case 14:return[2]}}))}))},d.prototype.getAllFlags=function(){return this.flags},d.prototype.identify=function(t,e,i){return this.identity=t,this.evaluationContext.identity={identifier:t,transient:i,traits:this.evaluationContext.identity&&this.evaluationContext.identity.identifier==t?this.evaluationContext.identity.traits:{}},this.evaluationContext.identity.identifier=t,this.log("Identify: "+this.evaluationContext.identity.identifier),e&&(this.evaluationContext.identity.traits=Object.fromEntries(Object.entries(e).map((function(t){var e=t[0],i=t[1];return[e,r(i)?i:{value:i}]})))),this.initialised?this.getFlags():Promise.resolve()},d.prototype.getState=function(){return{api:this.api,flags:this.flags,ts:this.ts,evaluationContext:this.evaluationContext,identity:this.identity,evaluationEvent:this.evaluationEvent}},d.prototype.setState=function(t){var e,i;t&&(this.initialised=!0,this.api=t.api||this.api||S,this.flags=t.flags||this.flags,this.evaluationContext=t.evaluationContext||this.evaluationContext,this.evaluationEvent=t.evaluationEvent||this.evaluationEvent,this.identity=null===(i=null===(e=this.getContext())||void 0===e?void 0:e.identity)||void 0===i?void 0:i.identifier,this.log("setState called",this))},d.prototype.logout=function(){return this.identity=null,this.evaluationContext.identity=null,this.initialised?this.getFlags():Promise.resolve()},d.prototype.startListening=function(t){void 0===t&&(t=1e3),this.getFlagInterval&&clearInterval(this.getFlagInterval),this.getFlagInterval=setInterval(this.getFlags,t)},d.prototype.stopListening=function(){this.getFlagInterval&&(clearInterval(this.getFlagInterval),this.getFlagInterval=null)},d.prototype._loadedState=function(t,e,i){return void 0===t&&(t=null),void 0===i&&(i=!1),{error:t,isFetching:i,isLoading:!1,source:e}},d.prototype.log=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];this.enableLogs&&console.log.apply(this,a(["FLAGSMITH:",(new Date).valueOf()-(this.timer||0),"ms"],t,!0))},d.prototype.updateStorage=function(){if(this.cacheFlags){this.ts=(new Date).valueOf();var t=JSON.stringify(this.getState());this.log("Setting storage",t),p.setItem(this.getStorageKey(),t)}},d.prototype.updateEventStorage=function(){if(this.enableAnalytics){var t=JSON.stringify(this.getState().evaluationEvent);p.setItem(m,t).catch((function(t){return console.error("Flagsmith: Error setting item in async storage",t)}))}},d.prototype.initPipelineAnalytics=function(t){var e,i,n,a;this.stopPipelineAnalytics(),this.evaluationAnalyticsUrl=v(t.analyticsServerUrl),this.evaluationAnalyticsMaxBuffer=null!==(e=t.maxBuffer)&&void 0!==e?e:1e3,this.pipelineFlushInterval=null!==(i=t.flushInterval)&&void 0!==i?i:1e4,this.pipelineEvents=[],this.pipelineFlushInterval>0&&(this.pipelineAnalyticsInterval=setInterval(this.flushPipelineAnalytics,this.pipelineFlushInterval),null===(a=null===(n=this.pipelineAnalyticsInterval)||void 0===n?void 0:n.unref)||void 0===a||a.call(n))},d.prototype.stopPipelineAnalytics=function(){this.pipelineAnalyticsInterval&&(clearInterval(this.pipelineAnalyticsInterval),this.pipelineAnalyticsInterval=null),this.evaluationAnalyticsUrl=null,this.pipelineEvents=[]},d.prototype.trimPipelineBuffer=function(){if(this.pipelineEvents.length>this.evaluationAnalyticsMaxBuffer){var t=this.pipelineEvents.length-this.evaluationAnalyticsMaxBuffer;this.pipelineEvents=this.pipelineEvents.slice(t)}},d.prototype.recordPipelineEvent=function(t){var i,n,a,o=t.toLowerCase().replace(/ /g,"_"),l=this.flags&&this.flags[o],s={event_id:o,event_type:"flag_evaluation",evaluated_at:Date.now(),identity_identifier:null!==(n=null===(i=this.evaluationContext.identity)||void 0===i?void 0:i.identifier)&&void 0!==n?n:null,enabled:l?l.enabled:null,value:l?l.value:null,traits:(null===(a=this.evaluationContext.identity)||void 0===a?void 0:a.traits)?e({},this.evaluationContext.identity.traits):null,metadata:e(e(e({},l?{id:l.id}:{}),"undefined"!=typeof window&&window.location?{page_url:window.location.href}:{}),{sdk_version:g})};this.pipelineEvents.push(s),this.trimPipelineBuffer(),0===this.pipelineFlushInterval&&this.flushPipelineAnalytics()},d.prototype.setLoadingState=function(t){var i;o(t,this.loadingState)||(this.loadingState=e({},t),this.log("Loading state changed",t),null===(i=this._triggerLoadingState)||void 0===i||i.call(this))},d.prototype.setupRealtime=function(t,e){var i=this,n=t+"sse/environments/"+e+"/stream";f?this.eventSource||(this.log("Creating event source with url "+n),this.eventSource=new f(n),this.eventSource.addEventListener("environment_updated",(function(t){var e;try{e=JSON.parse(t.data).updated_at}catch(t){i.log("Could not parse sse event",t)}e?!i.timestamp||e>i.timestamp?i.isLoading?i.log("updated_at is new, but flags are loading",t.data,i.timestamp):(i.log("updated_at is new, fetching flags",t.data,i.timestamp),i.getFlags()):i.log("updated_at is outdated, skipping get flags",t.data,i.timestamp):i.log("No updated_at received, fetching flags",t)}))):this.log("Error, EventSource is undefined")},d}();function x(t){var e=t.fetch,i=t.AsyncStorage,n=t.eventSource;return new E({fetch:e,AsyncStorage:i,eventSource:n})}var O=x({});t.createFlagsmithInstance=function(){return x({})},t.default=O,Object.defineProperty(t,"__esModule",{value:!0})}));
1
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self)["next-middleware"]={})}(this,(function(t){"use strict";var e=function(){return e=Object.assign||function(t){for(var e,i=1,n=arguments.length;i<n;i++)for(var a in e=arguments[i])Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t},e.apply(this,arguments)};function i(t,e,i,n){return new(i||(i=Promise))((function(a,o){function l(t){try{r(n.next(t))}catch(t){o(t)}}function s(t){try{r(n.throw(t))}catch(t){o(t)}}function r(t){var e;t.done?a(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(l,s)}r((n=n.apply(t,e||[])).next())}))}function n(t,e){var i,n,a,o,l={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;l;)try{if(i=1,n&&(a=2&o[0]?n.return:o[0]?n.throw||((a=n.return)&&a.call(n),0):n.next)&&!(a=a.call(n,o[1])).done)return a;switch(n=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return l.label++,{value:o[1],done:!1};case 5:l.label++,n=o[1],o=[0];continue;case 7:o=l.ops.pop(),l.trys.pop();continue;default:if(!(a=l.trys,(a=a.length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){l=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]<a[3])){l.label=o[1];break}if(6===o[0]&&l.label<a[1]){l.label=a[1],a=o;break}if(a&&l.label<a[2]){l.label=a[2],l.ops.push(o);break}a[2]&&l.ops.pop(),l.trys.pop();continue}o=e.call(t,l)}catch(t){o=[6,t],n=0}finally{i=a=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,s])}}}function a(t,e,i){if(i||2===arguments.length)for(var n,a=0,o=e.length;a<o;a++)!n&&a in e||(n||(n=Array.prototype.slice.call(e,0,a)),n[a]=e[a]);return t.concat(n||Array.prototype.slice.call(e))}var o=function t(e,i){if(e===i)return!0;if(e&&i&&"object"==typeof e&&"object"==typeof i){if(e.constructor!==i.constructor)return!1;var n,a,o;if(Array.isArray(e)){if((n=e.length)!=i.length)return!1;for(a=n;0!=a--;)if(!t(e[a],i[a]))return!1;return!0}if(e.constructor===RegExp)return e.source===i.source&&e.flags===i.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===i.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===i.toString();if((n=(o=Object.keys(e)).length)!==Object.keys(i).length)return!1;for(a=n;0!=a--;)if(!Object.prototype.hasOwnProperty.call(i,o[a]))return!1;for(a=n;0!=a--;){var l=o[a];if(!t(e[l],i[l]))return!1}return!0}return e!=e&&i!=i};function l(t,e){var i=Object.keys(e||{}).filter((function(i){var n=null==t?void 0:t[i],a=null==e?void 0:e[i];return!o(n,a)}));return Object.keys(t||{}).filter((function(t){Object.keys(e||{}).includes(t)||i.push(t)})),Object.keys(i).length?i:null}function s(t,e,i){var n="shortString",a=!0;"number"==typeof i&&(n="javaDouble",a=!1),t[n]=t[n]||{},t[n][e]=a?i+"":i}function r(t){return!!t&&"object"==typeof t&&void 0!==t.value}function u(t){return Object.fromEntries(Object.entries(t).map((function(t){var e=t[0],i=t[1];return[e,r(i)?i:{value:i}]})))}function c(t){return e(e({},t),{identity:t.identity?e(e({},t.identity),{traits:u(t.identity.traits||{})}):void 0})}function d(t){return t.endsWith("/")?t:t+"/"}var v,h,g="11.0.0-internal.2";t.FlagSource=void 0,(v=t.FlagSource||(t.FlagSource={})).NONE="NONE",v.DEFAULT_FLAGS="DEFAULT_FLAGS",v.CACHE="CACHE",v.SERVER="SERVER";var f,p=null,y="FLAGSMITH_EVENT",m=y,S="https://edge.api.flagsmith.com/api/v1/",C="flagsmith_value_",b="flagsmith_enabled_",F="flagsmith_trait_",E=function(){function v(a){var o=this;this._trigger=null,this._triggerLoadingState=null,this.timestamp=null,this.isLoading=!1,this.eventSource=null,this.getFlags=function(){var i=o,n=i.api,a=i.evaluationContext;o.log("Get Flags"),o.isLoading=!0,o.loadingState.isFetching||o.setLoadingState(e(e({},o.loadingState),{isFetching:!0}));var r="".concat(o.getContext().identity),u=function(i){var n,a,u,c;if(i&&r==="".concat(o.getContext().identity)){var d=i.flags,v=i.traits,h=i.identifier;o.isLoading=!1;var g={},f={};v=v||[],(d=d||[]).forEach((function(t){g[t.feature.name.toLowerCase().replace(/ /g,"_")]={id:t.feature.id,enabled:t.enabled,value:t.feature_state_value}})),v.forEach((function(t){f[t.trait_key.toLowerCase().replace(/ /g,"_")]={transient:t.transient,value:t.trait_value}})),o.oldFlags=e({},o.flags);var p=l(o.oldFlags,g),y=l(null===(n=o.evaluationContext.identity)||void 0===n?void 0:n.traits,f);if((h||Object.keys(f).length)&&(o.evaluationContext.identity=e(e({},o.evaluationContext.identity),{traits:f}),h&&(o.evaluationContext.identity.identifier=h,o.identity=h)),o.flags=g,o.updateStorage(),o._onChange(o.oldFlags,{isFromServer:!0,flagsChanged:p,traitsChanged:y},o._loadedState(null,t.FlagSource.SERVER)),o.datadogRum)try{if(o.datadogRum.trackTraits){var m={};Object.keys((null===(a=o.evaluationContext.identity)||void 0===a?void 0:a.traits)||{}).map((function(t){m[F+t]=o.getTrait(t)}));var S=e(e(e({},o.datadogRum.client.getUser()),{id:o.datadogRum.client.getUser().id||(null===(u=o.evaluationContext.identity)||void 0===u?void 0:u.identifier)}),m);o.log("Setting Datadog user",S),o.datadogRum.client.setUser(S)}}catch(t){console.error(t)}if(o.dtrum)try{var E={javaDouble:{},date:{},shortString:{},javaLongOrObject:{}};Object.keys(o.flags).map((function(t){s(E,C+t,o.getValue(t,{skipAnalytics:!0})),s(E,b+t,o.hasFeature(t,{skipAnalytics:!0}))})),Object.keys((null===(c=o.evaluationContext.identity)||void 0===c?void 0:c.traits)||{}).map((function(t){s(E,F+t,o.getTrait(t))})),o.log("Sending javaLongOrObject traits to dynatrace",E.javaLongOrObject),o.log("Sending date traits to dynatrace",E.date),o.log("Sending shortString traits to dynatrace",E.shortString),o.log("Sending javaDouble to dynatrace",E.javaDouble),o.dtrum.sendSessionProperties(E.javaLongOrObject,E.date,E.shortString,E.javaDouble)}catch(t){console.error(t)}}};return a.identity?Promise.all([a.identity.traits&&Object.keys(a.identity.traits).length||!a.identity.identifier?o.getJSON(n+"identities/","POST",JSON.stringify({identifier:a.identity.identifier,transient:a.identity.transient,traits:Object.entries(a.identity.traits).map((function(t){var e=t[0],i=t[1];return{trait_key:e,trait_value:null==i?void 0:i.value,transient:null==i?void 0:i.transient}})).filter((function(t){return void 0!==t.trait_value||(o.log("Warning - attempted to set an undefined trait value for key",t.trait_key),!1)}))})):o.getJSON(n+"identities/?identifier="+encodeURIComponent(a.identity.identifier)+(a.identity.transient?"&transient=true":""))]).then((function(t){return o.evaluationContext.identity=e(e({},o.evaluationContext.identity),{traits:{}}),u(null==t?void 0:t[0])})).catch((function(t){var e=t.message,i=new Error(e);return Promise.reject(i)})):o.getJSON(n+"flags/").then((function(t){return u({flags:t,traits:void 0})}))},this.analyticsFlags=function(){var t=o.api;if(o.evaluationEvent&&o.evaluationContext.environment&&o.evaluationEvent[o.evaluationContext.environment.apiKey])return o.evaluationEvent&&0!==Object.getOwnPropertyNames(o.evaluationEvent).length&&0!==Object.getOwnPropertyNames(o.evaluationEvent[o.evaluationContext.environment.apiKey]).length?o.getJSON(t+"analytics/flags/","POST",JSON.stringify(o.evaluationEvent[o.evaluationContext.environment.apiKey])).then((function(t){if(o.evaluationContext.environment){var i=o.getState();o.evaluationEvent||(o.evaluationEvent={}),o.evaluationEvent[o.evaluationContext.environment.apiKey]={},o.setState(e(e({},i),{evaluationEvent:o.evaluationEvent})),o.updateEventStorage()}})).catch((function(t){o.log("Exception fetching evaluationEvent",t)})):void 0},this.flushPipelineAnalytics=function(){return i(o,void 0,void 0,(function(){var t,i,a,o,l,s,r;return n(this,(function(n){switch(n.label){case 0:if(t=this.evaluationAnalyticsUrl&&this.evaluationContext.environment,i=this.pipelineEvents.length>0&&(!this.isPipelineFlushing||0===this.pipelineFlushInterval),!t||!i)return[2];a=this.evaluationContext.environment.apiKey,this.isPipelineFlushing=!0,o=this.pipelineEvents,this.pipelineEvents=[],this.pipelineRecordedKeys.clear(),l={events:o,environment_key:a},n.label=1;case 1:return n.trys.push([1,3,4,5]),[4,h(this.evaluationAnalyticsUrl+"v1/analytics/batch",{method:"POST",body:JSON.stringify(l),headers:e({"Content-Type":"application/json; charset=utf-8","X-Environment-Key":a},{"Flagsmith-SDK-User-Agent":"flagsmith-js-sdk/".concat(g)})})];case 2:if(!(s=n.sent()).status||s.status<200||s.status>=300)throw new Error("Pipeline analytics: unexpected status ".concat(s.status));return this.log("Pipeline analytics: flush successful"),[3,5];case 3:return r=n.sent(),this.pipelineEvents=o.concat(this.pipelineEvents),this.trimPipelineBuffer(),this.log("Pipeline analytics: flush failed, events re-queued",r),[3,5];case 4:return this.isPipelineFlushing=!1,[7];case 5:return[2]}}))}))},this.datadogRum=null,this.loadingState={isLoading:!0,isFetching:!0,error:null,source:t.FlagSource.NONE},this.canUseStorage=!1,this.analyticsInterval=null,this.api=null,this.cacheFlags=!1,this.enableAnalytics=!1,this.enableLogs=!1,this.evaluationContext={},this.evaluationEvent=null,this.flags=null,this.getFlagInterval=null,this.headers=null,this.identity=null,this.initialised=!1,this.oldFlags=null,this.onChange=null,this.onError=null,this.ticks=null,this.timer=null,this.dtrum=null,this.sentryClient=null,this.withTraits=null,this.cacheOptions={ttl:0,skipAPI:!1,loadStale:!1,storageKey:void 0},this.evaluationAnalyticsUrl=null,this.evaluationAnalyticsMaxBuffer=1e3,this.pipelineEvents=[],this.pipelineAnalyticsInterval=null,this.isPipelineFlushing=!1,this.pipelineRecordedKeys=new Map,this.getValue=function(t,e,i){var n=o.flags&&o.flags[t.toLowerCase().replace(/ /g,"_")],a=null;if(n&&(a=n.value),(null==e?void 0:e.skipAnalytics)||i||o.evaluateFlag(t,"VALUE"),null===a&&void 0!==(null==e?void 0:e.fallback))return e.fallback;if(null==e?void 0:e.json)try{return null===a?(o.log("Tried to parse null flag as JSON: "+t),null):JSON.parse(a)}catch(t){return e.fallback}return a},this.getTrait=function(t){var e,i;return(null===(e=o.evaluationContext.identity)||void 0===e?void 0:e.traits)&&(null===(i=o.evaluationContext.identity.traits[t.toLowerCase().replace(/ /g,"_")])||void 0===i?void 0:i.value)},this.getAllTraits=function(){var t;return Object.fromEntries(Object.entries((null===(t=o.evaluationContext.identity)||void 0===t?void 0:t.traits)||{}).map((function(t){var e=t[0],i=t[1];return[e,null==i?void 0:i.value]})))},this.setContext=function(t){var i,n,a=c(t);return o.evaluationContext=e(e({},a),{environment:a.environment||o.evaluationContext.environment}),o.identity=null===(n=null===(i=o.getContext())||void 0===i?void 0:i.identity)||void 0===n?void 0:n.identifier,o.initialised?o.getFlags():Promise.resolve()},this.getContext=function(){return o.evaluationContext},this.updateContext=function(t){return o.setContext(e(e({},o.getContext()),t))},this.setTrait=function(t,i){var n;if(o.api)return o.setContext(e(e({},o.evaluationContext),{identity:e(e({},o.evaluationContext.identity),{traits:e(e({},null===(n=o.evaluationContext.identity)||void 0===n?void 0:n.traits),u(Object.fromEntries([[t,i]])))})}))},this.setTraits=function(t){var i;if(o.api)return o.setContext(e(e({},o.evaluationContext),{identity:e(e({},o.evaluationContext.identity),{traits:e(e({},null===(i=o.evaluationContext.identity)||void 0===i?void 0:i.traits),Object.fromEntries(Object.entries(t).map((function(t){var e=t[0],i=t[1];return[e,r(i)?i:{value:i}]}))))})}));console.error("Attempted to "+"setTraits"+" a user before calling flagsmith.init. Call flagsmith.init first, if you wish to prevent it sending a request for flags, call init with preventFetch:true.")},this.hasFeature=function(t,e){var i,n,a="object"==typeof e,l=o.flags&&o.flags[t.toLowerCase().replace(/ /g,"_")],s=!1;if(!l&&a&&void 0!==e.fallback?s=null==e?void 0:e.fallback:l&&l.enabled&&(s=!0),(a&&!e.skipAnalytics||!e)&&o.evaluateFlag(t,"ENABLED"),o.sentryClient)try{null===(n=null===(i=o.sentryClient.getIntegrationByName("FeatureFlags"))||void 0===i?void 0:i.addFeatureFlag)||void 0===n||n.call(i,t,s)}catch(t){console.error(t)}return s},this.getStorageKey=function(){var t,e;return(null===(t=o.cacheOptions)||void 0===t?void 0:t.storageKey)||"FLAGSMITH_DB_"+(null===(e=o.evaluationContext.environment)||void 0===e?void 0:e.apiKey)},this.getJSON=function(t,e,i){var n,a,l,s=o.headers,r={method:e||"GET",body:i,cache:"no-cache",headers:{}};o.evaluationContext.environment&&(r.headers["X-Environment-Key"]=o.evaluationContext.environment.apiKey),e&&"GET"!==e&&(r.headers["Content-Type"]="application/json; charset=utf-8"),(null===(n=o.applicationMetadata)||void 0===n?void 0:n.name)&&(r.headers["Flagsmith-Application-Name"]=o.applicationMetadata.name),(null===(a=o.applicationMetadata)||void 0===a?void 0:a.version)&&(r.headers["Flagsmith-Application-Version"]=o.applicationMetadata.version),r.headers["Flagsmith-SDK-User-Agent"]="flagsmith-js-sdk/".concat(g),s&&Object.assign(r.headers,s),h||console.error("Flagsmith: fetch is undefined, please specify a fetch implementation into flagsmith.init to support SSR.");var u="".concat(null===(l=o.evaluationContext.identity)||void 0===l?void 0:l.identifier);return h(t,r).then((function(i){var n,a,l="".concat(null===(n=o.evaluationContext.identity)||void 0===n?void 0:n.identifier);if(u===l){var s=null===(a=i.headers)||void 0===a?void 0:a.get("x-flagsmith-document-updated-at");if(s)try{var r=parseFloat(s);if(isNaN(r))return Promise.reject("Failed to parse x-flagsmith-document-updated-at");o.timestamp=r}catch(t){o.log(t,"Failed to parse x-flagsmith-document-updated-at",s)}return o.log("Fetch response: "+i.status+" "+(e||"GET")+0+t),i.text().then((function(t){var e=t;try{e=JSON.parse(t)}catch(t){}return!e&&i.status&&(e="API Response: ".concat(i.status)),i.status&&i.status>=200&&i.status<300?e:Promise.reject(new Error(e))}))}o.log("Received response with identity mismatch, ignoring response. Requested: ".concat(u,", Current: ").concat(l))}))},this.evaluateFlag=function(t,e){if(o.datadogRum&&(o.datadogRum.client.addFeatureFlagEvaluation?"VALUE"===e?o.datadogRum.client.addFeatureFlagEvaluation(C+t,o.getValue(t,{},!0)):o.datadogRum.client.addFeatureFlagEvaluation(b+t,o.hasFeature(t,!0)):console.error("Flagsmith: Your datadog RUM client does not support the function addFeatureFlagEvaluation, please update it.")),o.enableAnalytics){if(!o.evaluationEvent||!o.evaluationContext.environment)return;o.evaluationEvent[o.evaluationContext.environment.apiKey]||(o.evaluationEvent[o.evaluationContext.environment.apiKey]={}),void 0===o.evaluationEvent[o.evaluationContext.environment.apiKey][t]&&(o.evaluationEvent[o.evaluationContext.environment.apiKey][t]=0),o.evaluationEvent[o.evaluationContext.environment.apiKey][t]+=1}o.evaluationAnalyticsUrl&&o.recordPipelineEvent(t),o.updateEventStorage()},this.pipelineFlushInterval=1e4,this._onChange=function(t,e,i){var n,a;o.setLoadingState(i),null===(n=o.onChange)||void 0===n||n.call(o,t,e,o.loadingState),null===(a=o._trigger)||void 0===a||a.call(o)},h=a.fetch?a.fetch:"undefined"!=typeof fetch?fetch:null===global||void 0===global?void 0:global.fetch,this.canUseStorage="undefined"!=typeof window||!!a.browserlessStorage,this.applicationMetadata=a.applicationMetadata,this.log("Constructing flagsmith instance "+a),a.eventSource&&(f=a.eventSource),a.AsyncStorage&&(p=a.AsyncStorage)}return v.prototype.init=function(a){var o,s,r,u;return i(this,void 0,void 0,(function(){var v,g,f,y,C,b,F,E,x,O,A,w,_,I,j,L,P,k,K,T,R,N,U,D,M,J,G,B,V,H,q,W,X,Y,z,Q,Z=this;return n(this,(function($){switch($.label){case 0:v=c(a.evaluationContext||this.evaluationContext),$.label=1;case 1:if($.trys.push([1,13,,14]),g=a.AsyncStorage,f=a._trigger,y=a._triggerLoadingState,C=a.angularHttpClient,b=a.api,F=void 0===b?S:b,E=a.applicationMetadata,x=a.cacheFlags,O=a.cacheOptions,A=a.datadogRum,w=a.defaultFlags,_=a.enableAnalytics,I=a.enableDynatrace,j=a.enableLogs,L=a.environmentID,P=a.evaluationAnalyticsConfig,k=a.eventSourceUrl,K=void 0===k?"https://realtime.flagsmith.com/":k,T=a.fetch,R=a.headers,N=a.identity,U=a.onChange,D=a.onError,M=a.preventFetch,J=a.realtime,G=a.sentryClient,B=a.state,V=a.traits,v.environment=L?{apiKey:L}:v.environment,!v.environment||!v.environment.apiKey)throw new Error("Please provide `evaluationContext.environment` with non-empty `apiKey`");if(v.identity=N||V?{identifier:N,traits:V?Object.fromEntries(Object.entries(V).map((function(t){return[t[0],{value:t[1]}]}))):{}}:v.identity,this.evaluationContext=v,this.api=d(F),this.headers=R,this.getFlagInterval=null,this.analyticsInterval=null,this.onChange=U,H="Wrong Flagsmith Configuration: preventFetch is true and no defaulFlags provided",this._trigger=f||this._trigger,this._triggerLoadingState=y||this._triggerLoadingState,this.onError=function(t){Z.setLoadingState(e(e({},Z.loadingState),{isFetching:!1,isLoading:!1,error:t})),null==D||D(t)},this.enableLogs=j||!1,this.cacheOptions=O?{skipAPI:!!O.skipAPI,ttl:O.ttl||0,storageKey:O.storageKey,loadStale:!!O.loadStale}:this.cacheOptions,!this.cacheOptions.ttl&&this.cacheOptions.skipAPI&&console.warn("Flagsmith: you have set a cache ttl of 0 and are skipping API calls, this means the API will not be hit unless you clear local storage."),T&&(h=T),this.enableAnalytics=_||!1,this.flags=Object.assign({},w)||{},this.datadogRum=A||null,this.initialised=!0,this.ticks=1e4,this.timer=this.enableLogs?(new Date).valueOf():null,this.cacheFlags=void 0!==p&&!!x,this.applicationMetadata=E,m="FLAGSMITH_EVENT_"+v.environment.apiKey,g&&(p=g),J&&"undefined"!=typeof window&&this.setupRealtime(K,v.environment.apiKey),Object.keys(this.flags).length&&(this.loadingState=e(e({},this.loadingState),{isLoading:!1,source:t.FlagSource.DEFAULT_FLAGS})),this.setState(B),this.log("Initialising with properties",a,this),I&&("undefined"==typeof dtrum?console.error("You have attempted to enable dynatrace but dtrum is undefined, please check you have the Dynatrace RUM JavaScript API installed."):this.dtrum=dtrum),G&&(this.sentryClient=G),C&&(h=function(t){return function(e,i){var n=i.headers,a=i.method,o=i.body,l={headers:n,observe:"response",responseType:"text"},s=function(t,e){var i=t.status,n=t.headers,a=t.body,o=t.error,l=t.message;return{status:null!=i?i:e?200:500,ok:e,headers:{get:function(t){var e,i;return null!==(i=null===(e=null==n?void 0:n.get)||void 0===e?void 0:e.call(n,t))&&void 0!==i?i:null}},text:function(){var t,e,i=null!==(e=null!==(t=null!=a?a:o)&&void 0!==t?t:l)&&void 0!==e?e:"";return Promise.resolve("string"!=typeof i?JSON.stringify(i):i)}}};return new Promise((function(i){var n=function(t){return i(s(t,!t.status||t.status>=200&&t.status<300))},r=function(t){return i(s(t,!1))};switch(a){case"GET":return t.get(e,l).subscribe(n,r);case"POST":case"PUT":return t.post(e,null!=o?o:"",l).subscribe(n,r);default:return r({status:405,message:"Unsupported method: ".concat(a)})}}))}}(C)),p&&this.canUseStorage&&p.getItem(m).then((function(t){try{Z.evaluationEvent=JSON.parse(t)||{}}catch(t){Z.evaluationEvent={}}Z.analyticsInterval=setInterval(Z.analyticsFlags,Z.ticks)})),this.enableAnalytics&&(this.analyticsInterval&&clearInterval(this.analyticsInterval),p&&this.canUseStorage&&p.getItem(m,(function(t,i){if(i&&Z.evaluationContext.environment){var n=JSON.parse(i);if(n[Z.evaluationContext.environment.apiKey]){var a=Z.getState();Z.log("Retrieved events from cache",i),Z.setState(e(e({},a),{evaluationEvent:n[Z.evaluationContext.environment.apiKey]}))}}}))),P?this.initPipelineAnalytics(P):this.stopPipelineAnalytics(),!x)return[3,9];if(!p||!this.canUseStorage)return[3,8];q=function(a,o){return i(Z,void 0,void 0,(function(){var i,a,s,r,u,d,v,h,g,f,p,y,m,S,C,b,F,E,x,O=this;return n(this,(function(n){switch(n.label){case 0:if(!o)return[3,7];i=null,a=null,n.label=1;case 1:return n.trys.push([1,5,,6]),s=JSON.parse(o),r=!1,u=!1,s&&s.api===this.api&&(null===(f=null===(g=s.evaluationContext)||void 0===g?void 0:g.environment)||void 0===f?void 0:f.apiKey)===(null===(p=this.evaluationContext.environment)||void 0===p?void 0:p.apiKey)&&(d=!0,this.evaluationContext.identity&&(null===(m=null===(y=s.evaluationContext)||void 0===y?void 0:y.identity)||void 0===m?void 0:m.identifier)!==this.evaluationContext.identity.identifier&&(this.log("Ignoring cache, identity has changed from "+(null===(C=null===(S=s.evaluationContext)||void 0===S?void 0:S.identity)||void 0===C?void 0:C.identifier)+" to "+this.evaluationContext.identity.identifier),d=!1),this.cacheOptions.ttl&&(!s.ts||(new Date).valueOf()-s.ts>this.cacheOptions.ttl)&&(s.ts&&!this.cacheOptions.loadStale?(this.log("Ignoring cache, timestamp is too old ts:"+s.ts+" ttl: "+this.cacheOptions.ttl+" time elapsed since cache: "+((new Date).valueOf()-s.ts)+"ms"),d=!1):s.ts&&this.cacheOptions.loadStale&&(this.log("Loading stale cache, timestamp ts:"+s.ts+" ttl: "+this.cacheOptions.ttl+" time elapsed since cache: "+((new Date).valueOf()-s.ts)+"ms"),u=!0,d=!0)),d&&(r=!0,i=l(this.flags,s.flags),this.setState(e(e({},s),{evaluationContext:c(e(e({},s.evaluationContext),{identity:(null===(b=s.evaluationContext)||void 0===b?void 0:b.identity)?e(e({},null===(F=s.evaluationContext)||void 0===F?void 0:F.identity),{traits:e({},V||{})}):void 0}))})),this.log("Retrieved flags from cache",s))),r?(v=!M&&(!this.cacheOptions.skipAPI||u),this._onChange(null,{isFromServer:!1,flagsChanged:i,traitsChanged:a},this._loadedState(null,t.FlagSource.CACHE,v)),this.oldFlags=this.flags,this.cacheOptions.skipAPI&&r&&!u&&this.log("Skipping API, using cache"),v&&this.getFlags().catch((function(t){var e;null===(e=O.onError)||void 0===e||e.call(O,t)})),[3,4]):[3,2];case 2:return M?[3,4]:[4,this.getFlags()];case 3:n.sent(),n.label=4;case 4:return[3,6];case 5:throw h=n.sent(),this.log("Exception fetching cached logs",h),h;case 6:return[3,10];case 7:return M?[3,9]:[4,this.getFlags()];case 8:return n.sent(),[3,10];case 9:if(w)this._onChange(null,{isFromServer:!1,flagsChanged:l({},this.flags),traitsChanged:l({},null===(E=this.evaluationContext.identity)||void 0===E?void 0:E.traits)},this._loadedState(null,t.FlagSource.DEFAULT_FLAGS));else{if(!this.flags)throw new Error(H);this._onChange(null,{isFromServer:!1,flagsChanged:l({},this.flags),traitsChanged:l({},null===(x=this.evaluationContext.identity)||void 0===x?void 0:x.traits)},this._loadedState(null,t.FlagSource.DEFAULT_FLAGS))}n.label=10;case 10:return[2]}}))}))},$.label=2;case 2:return $.trys.push([2,7,,8]),p.getItemSync?(W=p.getItemSync(this.getStorageKey()),[3,5]):[3,3];case 3:return[4,p.getItem(this.getStorageKey())];case 4:W=$.sent(),$.label=5;case 5:return[4,q(null,W)];case 6:return $.sent(),[3,8];case 7:if(X=$.sent(),!this.flags||0===Object.keys(this.flags).length)throw X;return Q=X instanceof Error?X:new Error("".concat(X)),null===(o=this.onError)||void 0===o||o.call(this,Q),[3,8];case 8:return[3,12];case 9:return M?[3,11]:[4,this.getFlags()];case 10:return $.sent(),[3,12];case 11:if(w)this._onChange(null,{isFromServer:!1,flagsChanged:l({},w),traitsChanged:l({},null===(s=v.identity)||void 0===s?void 0:s.traits)},this._loadedState(null,t.FlagSource.DEFAULT_FLAGS));else if(this.flags&&(Y=null,0===Object.keys(this.flags).length&&(Y=H),this._onChange(null,{isFromServer:!1,flagsChanged:l({},this.flags),traitsChanged:l({},null===(r=v.identity)||void 0===r?void 0:r.traits)},this._loadedState(Y,t.FlagSource.DEFAULT_FLAGS)),Y))throw new Error(Y);$.label=12;case 12:return[3,14];case 13:throw z=$.sent(),this.log("Error during initialisation ",z),Q=z instanceof Error?z:new Error("".concat(z)),null===(u=this.onError)||void 0===u||u.call(this,Q),z;case 14:return[2]}}))}))},v.prototype.getAllFlags=function(){return this.flags},v.prototype.identify=function(t,e,i){return this.identity=t,this.evaluationContext.identity={identifier:t,transient:i,traits:this.evaluationContext.identity&&this.evaluationContext.identity.identifier==t?this.evaluationContext.identity.traits:{}},this.evaluationContext.identity.identifier=t,this.log("Identify: "+this.evaluationContext.identity.identifier),e&&(this.evaluationContext.identity.traits=Object.fromEntries(Object.entries(e).map((function(t){var e=t[0],i=t[1];return[e,r(i)?i:{value:i}]})))),this.initialised?this.getFlags():Promise.resolve()},v.prototype.getState=function(){return{api:this.api,flags:this.flags,ts:this.ts,evaluationContext:this.evaluationContext,identity:this.identity,evaluationEvent:this.evaluationEvent}},v.prototype.setState=function(t){var e,i;t&&(this.initialised=!0,this.api=t.api||this.api||S,this.flags=t.flags||this.flags,this.evaluationContext=t.evaluationContext||this.evaluationContext,this.evaluationEvent=t.evaluationEvent||this.evaluationEvent,this.identity=null===(i=null===(e=this.getContext())||void 0===e?void 0:e.identity)||void 0===i?void 0:i.identifier,this.log("setState called",this))},v.prototype.logout=function(){return this.identity=null,this.evaluationContext.identity=null,this.initialised?this.getFlags():Promise.resolve()},v.prototype.startListening=function(t){void 0===t&&(t=1e3),this.getFlagInterval&&clearInterval(this.getFlagInterval),this.getFlagInterval=setInterval(this.getFlags,t)},v.prototype.stopListening=function(){this.getFlagInterval&&(clearInterval(this.getFlagInterval),this.getFlagInterval=null)},v.prototype._loadedState=function(t,e,i){return void 0===t&&(t=null),void 0===i&&(i=!1),{error:t,isFetching:i,isLoading:!1,source:e}},v.prototype.log=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];this.enableLogs&&console.log.apply(this,a(["FLAGSMITH:",(new Date).valueOf()-(this.timer||0),"ms"],t,!0))},v.prototype.updateStorage=function(){if(this.cacheFlags){this.ts=(new Date).valueOf();var t=JSON.stringify(this.getState());this.log("Setting storage",t),p.setItem(this.getStorageKey(),t)}},v.prototype.updateEventStorage=function(){if(this.enableAnalytics){var t=JSON.stringify(this.getState().evaluationEvent);p.setItem(m,t).catch((function(t){return console.error("Flagsmith: Error setting item in async storage",t)}))}},v.prototype.initPipelineAnalytics=function(t){var e,i,n,a;this.stopPipelineAnalytics(),this.evaluationAnalyticsUrl=d(t.analyticsServerUrl),this.evaluationAnalyticsMaxBuffer=null!==(e=t.maxBuffer)&&void 0!==e?e:1e3,this.pipelineFlushInterval=null!==(i=t.flushInterval)&&void 0!==i?i:1e4,this.pipelineEvents=[],this.pipelineFlushInterval>0&&(this.pipelineAnalyticsInterval=setInterval(this.flushPipelineAnalytics,this.pipelineFlushInterval),null===(a=null===(n=this.pipelineAnalyticsInterval)||void 0===n?void 0:n.unref)||void 0===a||a.call(n))},v.prototype.stopPipelineAnalytics=function(){this.pipelineAnalyticsInterval&&(clearInterval(this.pipelineAnalyticsInterval),this.pipelineAnalyticsInterval=null),this.evaluationAnalyticsUrl=null,this.pipelineEvents=[],this.pipelineRecordedKeys.clear()},v.prototype.trimPipelineBuffer=function(){if(this.pipelineEvents.length>this.evaluationAnalyticsMaxBuffer){var t=this.pipelineEvents.length-this.evaluationAnalyticsMaxBuffer;this.pipelineEvents=this.pipelineEvents.slice(t)}},v.prototype.recordPipelineEvent=function(t){var i,n,a,o,l,s,r,u=t.toLowerCase().replace(/ /g,"_"),c=this.flags&&this.flags[u],d="".concat(null!==(n=null===(i=this.evaluationContext.identity)||void 0===i?void 0:i.identifier)&&void 0!==n?n:"none","|").concat(null!==(a=null==c?void 0:c.enabled)&&void 0!==a&&a,"|").concat(null!==(o=null==c?void 0:c.value)&&void 0!==o?o:"null");if(this.pipelineRecordedKeys.get(u)!==d){this.pipelineRecordedKeys.set(u,d);var v={event_id:u,event_type:"flag_evaluation",evaluated_at:Date.now(),identity_identifier:null!==(s=null===(l=this.evaluationContext.identity)||void 0===l?void 0:l.identifier)&&void 0!==s?s:null,enabled:c?c.enabled:null,value:c?c.value:null,traits:(null===(r=this.evaluationContext.identity)||void 0===r?void 0:r.traits)?e({},this.evaluationContext.identity.traits):null,metadata:e(e(e({},c?{id:c.id}:{}),"undefined"!=typeof window&&window.location?{page_url:window.location.href}:{}),{sdk_version:g})};this.pipelineEvents.push(v),this.trimPipelineBuffer(),0===this.pipelineFlushInterval&&this.flushPipelineAnalytics()}},v.prototype.setLoadingState=function(t){var i;o(t,this.loadingState)||(this.loadingState=e({},t),this.log("Loading state changed",t),null===(i=this._triggerLoadingState)||void 0===i||i.call(this))},v.prototype.setupRealtime=function(t,e){var i=this,n=t+"sse/environments/"+e+"/stream";f?this.eventSource||(this.log("Creating event source with url "+n),this.eventSource=new f(n),this.eventSource.addEventListener("environment_updated",(function(t){var e;try{e=JSON.parse(t.data).updated_at}catch(t){i.log("Could not parse sse event",t)}e?!i.timestamp||e>i.timestamp?i.isLoading?i.log("updated_at is new, but flags are loading",t.data,i.timestamp):(i.log("updated_at is new, fetching flags",t.data,i.timestamp),i.getFlags()):i.log("updated_at is outdated, skipping get flags",t.data,i.timestamp):i.log("No updated_at received, fetching flags",t)}))):this.log("Error, EventSource is undefined")},v}();function x(t){var e=t.fetch,i=t.AsyncStorage,n=t.eventSource;return new E({fetch:e,AsyncStorage:i,eventSource:n})}var O=x({});t.createFlagsmithInstance=function(){return x({})},t.default=O,Object.defineProperty(t,"__esModule",{value:!0})}));
2
2
  //# sourceMappingURL=next-middleware.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"next-middleware.js","sources":["../../node_modules/tslib/tslib.es6.js","../../node_modules/fast-deep-equal/index.js","./src/utils/get-changes.ts","./src/utils/set-dynatrace-value.ts","./src/utils/types.ts","./src/utils/ensureTrailingSlash.ts","./src/utils/version.ts","./src/flagsmith-core.ts","./src/utils/angular-fetch.ts","./src/next-middleware.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\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;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","'use strict';\n\n// do not edit .js files directly - edit src/index.jst\n\n\n\nmodule.exports = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n\n for (i = length; i-- !== 0;) {\n var key = keys[i];\n\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n // true if both NaN, false otherwise\n return a!==a && b!==b;\n};\n",null,null,null,null,null,null,null,null],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","__generator","body","f","y","g","_","label","sent","trys","ops","verb","throw","return","Symbol","iterator","v","op","TypeError","pop","push","__spreadArray","to","from","pack","ar","l","Array","slice","concat","fastDeepEqual","equal","a","b","constructor","keys","isArray","RegExp","source","flags","valueOf","toString","key","getChanges","before","after","changedValues","filter","flagKey","beforeValue","afterValue","deepEqual","includes","setDynatraceValue","obj","trait","convertToString","isTraitEvaluationContext","undefined","toTraitEvaluationContextObject","traits","fromEntries","entries","map","_a","tKey","tValue","toEvaluationContext","clientEvaluationContext","identity","ensureTrailingSlash","str","endsWith","FlagSource","_fetch","SDK_VERSION","exports","eventSource","AsyncStorage","DEFAULT_FLAGSMITH_EVENT","FlagsmithEvent","defaultAPI","FLAGSMITH_CONFIG_ANALYTICS_KEY","FLAGSMITH_FLAG_ANALYTICS_KEY","FLAGSMITH_TRAIT_ANALYTICS_KEY","Flagsmith","class_1","props","_this","_trigger","_triggerLoadingState","timestamp","isLoading","getFlags","api","evaluationContext","log","loadingState","isFetching","setLoadingState","previousIdentity","getContext","handleResponse","response","features","identifier","userTraits","forEach","feature","name","toLowerCase","replace","id","enabled","feature_state_value","trait_key","transient","trait_value","oldFlags","flagsChanged","traitsChanged","updateStorage","_onChange","isFromServer","_loadedState","SERVER","datadogRum","trackTraits","traits_1","_b","getTrait","datadogRumData","client","getUser","_c","setUser","console","error","dtrum","traits_2","javaDouble","date","shortString","javaLongOrObject","getValue","skipAnalytics","hasFeature","_d","sendSessionProperties","all","getJSON","JSON","stringify","tContext","encodeURIComponent","res","message","Error","analyticsFlags","evaluationEvent","environment","apiKey","getOwnPropertyNames","state","getState","setState","updateEventStorage","err","flushPipelineAnalytics","isEvaluationEnabled","evaluationAnalyticsUrl","isReadyToFlush","pipelineEvents","isPipelineFlushing","pipelineFlushInterval","environmentKey","eventsToSend","batch","events","environment_key","method","headers","status","trimPipelineBuffer","err_1","NONE","canUseStorage","analyticsInterval","cacheFlags","enableAnalytics","enableLogs","getFlagInterval","initialised","onChange","onError","ticks","timer","sentryClient","withTraits","cacheOptions","ttl","skipAPI","loadStale","storageKey","evaluationAnalyticsMaxBuffer","pipelineAnalyticsInterval","options","flag","evaluateFlag","fallback","json","parse","getAllTraits","setContext","updateContext","setTrait","setTraits","usingNewOptions","getIntegrationByName","addFeatureFlag","getStorageKey","DEFAULT_FLAGSMITH_KEY","url","cache","applicationMetadata","version","requestedIdentity","newIdentity","lastUpdated","get","lastUpdatedFloat","parseFloat","isNaN","text","addFeatureFlagEvaluation","recordPipelineEvent","previousFlags","params","fetch","global","window","browserlessStorage","init","config","_AsyncStorage","angularHttpClient","_e","defaultFlags_1","defaultFlags","enableDynatrace","environmentID","evaluationAnalyticsConfig","_f","eventSourceUrl","fetchImplementation","onError_1","preventFetch_1","preventFetch","realtime","traits_3","WRONG_FLAGSMITH_CONFIG_1","warn","Date","setupRealtime","DEFAULT_FLAGS","observe","responseType","buildResponse","ok","onNext","subscribe","post","angularFetch","getItem","setInterval","clearInterval","state_1","initPipelineAnalytics","stopPipelineAnalytics","onRetrievedStorage","cachePopulated","staleCachePopulated","_g","ts","_h","_j","shouldFetchFlags","CACHE","_m","e_2","_k","_l","getItemSync","e_1","typedError","error_1","getAllFlags","identify","userId","logout","startListening","stopListening","args","_i","setItem","analyticsServerUrl","maxBuffer","flushInterval","unref","excess","event","event_id","event_type","evaluated_at","now","identity_identifier","metadata","location","page_url","href","sdk_version","connectionUrl","addEventListener","updated_at","data","core","flagsmith"],"mappings":"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"}
1
+ {"version":3,"file":"next-middleware.js","sources":["../../node_modules/tslib/tslib.es6.js","../../node_modules/fast-deep-equal/index.js","./src/utils/get-changes.ts","./src/utils/set-dynatrace-value.ts","./src/utils/types.ts","./src/utils/ensureTrailingSlash.ts","./src/utils/version.ts","./src/flagsmith-core.ts","./src/utils/angular-fetch.ts","./src/next-middleware.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\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;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","'use strict';\n\n// do not edit .js files directly - edit src/index.jst\n\n\n\nmodule.exports = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n\n for (i = length; i-- !== 0;) {\n var key = keys[i];\n\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n // true if both NaN, false otherwise\n return a!==a && b!==b;\n};\n",null,null,null,null,null,null,null,null],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","__generator","body","f","y","g","_","label","sent","trys","ops","verb","throw","return","Symbol","iterator","v","op","TypeError","pop","push","__spreadArray","to","from","pack","ar","l","Array","slice","concat","fastDeepEqual","equal","a","b","constructor","keys","isArray","RegExp","source","flags","valueOf","toString","key","getChanges","before","after","changedValues","filter","flagKey","beforeValue","afterValue","deepEqual","includes","setDynatraceValue","obj","trait","convertToString","isTraitEvaluationContext","undefined","toTraitEvaluationContextObject","traits","fromEntries","entries","map","_a","tKey","tValue","toEvaluationContext","clientEvaluationContext","identity","ensureTrailingSlash","str","endsWith","FlagSource","_fetch","SDK_VERSION","exports","eventSource","AsyncStorage","DEFAULT_FLAGSMITH_EVENT","FlagsmithEvent","defaultAPI","FLAGSMITH_CONFIG_ANALYTICS_KEY","FLAGSMITH_FLAG_ANALYTICS_KEY","FLAGSMITH_TRAIT_ANALYTICS_KEY","Flagsmith","class_1","props","_this","_trigger","_triggerLoadingState","timestamp","isLoading","getFlags","api","evaluationContext","log","loadingState","isFetching","setLoadingState","previousIdentity","getContext","handleResponse","response","features","identifier","userTraits","forEach","feature","name","toLowerCase","replace","id","enabled","feature_state_value","trait_key","transient","trait_value","oldFlags","flagsChanged","traitsChanged","updateStorage","_onChange","isFromServer","_loadedState","SERVER","datadogRum","trackTraits","traits_1","_b","getTrait","datadogRumData","client","getUser","_c","setUser","console","error","dtrum","traits_2","javaDouble","date","shortString","javaLongOrObject","getValue","skipAnalytics","hasFeature","_d","sendSessionProperties","all","getJSON","JSON","stringify","tContext","encodeURIComponent","res","message","Error","analyticsFlags","evaluationEvent","environment","apiKey","getOwnPropertyNames","state","getState","setState","updateEventStorage","err","flushPipelineAnalytics","isEvaluationEnabled","evaluationAnalyticsUrl","isReadyToFlush","pipelineEvents","isPipelineFlushing","pipelineFlushInterval","environmentKey","eventsToSend","pipelineRecordedKeys","clear","batch","events","environment_key","method","headers","status","trimPipelineBuffer","err_1","NONE","canUseStorage","analyticsInterval","cacheFlags","enableAnalytics","enableLogs","getFlagInterval","initialised","onChange","onError","ticks","timer","sentryClient","withTraits","cacheOptions","ttl","skipAPI","loadStale","storageKey","evaluationAnalyticsMaxBuffer","pipelineAnalyticsInterval","Map","options","flag","evaluateFlag","fallback","json","parse","getAllTraits","setContext","updateContext","setTrait","setTraits","usingNewOptions","getIntegrationByName","addFeatureFlag","getStorageKey","DEFAULT_FLAGSMITH_KEY","url","cache","applicationMetadata","version","requestedIdentity","newIdentity","lastUpdated","get","lastUpdatedFloat","parseFloat","isNaN","text","addFeatureFlagEvaluation","recordPipelineEvent","previousFlags","params","fetch","global","window","browserlessStorage","init","config","_AsyncStorage","angularHttpClient","_e","defaultFlags_1","defaultFlags","enableDynatrace","environmentID","evaluationAnalyticsConfig","_f","eventSourceUrl","fetchImplementation","onError_1","preventFetch_1","preventFetch","realtime","traits_3","WRONG_FLAGSMITH_CONFIG_1","warn","Date","setupRealtime","DEFAULT_FLAGS","observe","responseType","buildResponse","ok","onNext","subscribe","post","angularFetch","getItem","setInterval","clearInterval","state_1","initPipelineAnalytics","stopPipelineAnalytics","onRetrievedStorage","cachePopulated","staleCachePopulated","_g","ts","_h","_j","shouldFetchFlags","CACHE","_m","e_2","_k","_l","getItemSync","e_1","typedError","error_1","getAllFlags","identify","userId","logout","startListening","stopListening","args","_i","setItem","analyticsServerUrl","maxBuffer","flushInterval","unref","excess","fingerprint","set","event","event_id","event_type","evaluated_at","now","identity_identifier","metadata","location","page_url","href","sdk_version","connectionUrl","addEventListener","updated_at","data","core","flagsmith"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- var t=function(){return t=Object.assign||function(t){for(var e,i=1,n=arguments.length;i<n;i++)for(var a in e=arguments[i])Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t},t.apply(this,arguments)};function e(t,e,i,n){return new(i||(i=Promise))((function(a,o){function l(t){try{r(n.next(t))}catch(t){o(t)}}function s(t){try{r(n.throw(t))}catch(t){o(t)}}function r(t){var e;t.done?a(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(l,s)}r((n=n.apply(t,e||[])).next())}))}function i(t,e){var i,n,a,o,l={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;l;)try{if(i=1,n&&(a=2&o[0]?n.return:o[0]?n.throw||((a=n.return)&&a.call(n),0):n.next)&&!(a=a.call(n,o[1])).done)return a;switch(n=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return l.label++,{value:o[1],done:!1};case 5:l.label++,n=o[1],o=[0];continue;case 7:o=l.ops.pop(),l.trys.pop();continue;default:if(!(a=l.trys,(a=a.length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){l=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]<a[3])){l.label=o[1];break}if(6===o[0]&&l.label<a[1]){l.label=a[1],a=o;break}if(a&&l.label<a[2]){l.label=a[2],l.ops.push(o);break}a[2]&&l.ops.pop(),l.trys.pop();continue}o=e.call(t,l)}catch(t){o=[6,t],n=0}finally{i=a=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,s])}}}function n(t,e,i){if(i||2===arguments.length)for(var n,a=0,o=e.length;a<o;a++)!n&&a in e||(n||(n=Array.prototype.slice.call(e,0,a)),n[a]=e[a]);return t.concat(n||Array.prototype.slice.call(e))}var a=function t(e,i){if(e===i)return!0;if(e&&i&&"object"==typeof e&&"object"==typeof i){if(e.constructor!==i.constructor)return!1;var n,a,o;if(Array.isArray(e)){if((n=e.length)!=i.length)return!1;for(a=n;0!=a--;)if(!t(e[a],i[a]))return!1;return!0}if(e.constructor===RegExp)return e.source===i.source&&e.flags===i.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===i.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===i.toString();if((n=(o=Object.keys(e)).length)!==Object.keys(i).length)return!1;for(a=n;0!=a--;)if(!Object.prototype.hasOwnProperty.call(i,o[a]))return!1;for(a=n;0!=a--;){var l=o[a];if(!t(e[l],i[l]))return!1}return!0}return e!=e&&i!=i};function o(t,e){var i=Object.keys(e||{}).filter((function(i){var n=null==t?void 0:t[i],o=null==e?void 0:e[i];return!a(n,o)}));return Object.keys(t||{}).filter((function(t){Object.keys(e||{}).includes(t)||i.push(t)})),Object.keys(i).length?i:null}function l(t,e,i){var n="shortString",a=!0;"number"==typeof i&&(n="javaDouble",a=!1),t[n]=t[n]||{},t[n][e]=a?i+"":i}function s(t){return!!t&&"object"==typeof t&&void 0!==t.value}function r(t){return Object.fromEntries(Object.entries(t).map((function(t){var e=t[0],i=t[1];return[e,s(i)?i:{value:i}]})))}function u(e){return t(t({},e),{identity:e.identity?t(t({},e.identity),{traits:r(e.identity.traits||{})}):void 0})}function c(t){return t.endsWith("/")?t:t+"/"}var v,h;!function(t){t.NONE="NONE",t.DEFAULT_FLAGS="DEFAULT_FLAGS",t.CACHE="CACHE",t.SERVER="SERVER"}(v||(v={}));var d,g=null,f="FLAGSMITH_EVENT",p="https://edge.api.flagsmith.com/api/v1/",y=function(){function y(n){var a=this;this._trigger=null,this._triggerLoadingState=null,this.timestamp=null,this.isLoading=!1,this.eventSource=null,this.getFlags=function(){var e=a,i=e.api,n=e.evaluationContext;a.log("Get Flags"),a.isLoading=!0,a.loadingState.isFetching||a.setLoadingState(t(t({},a.loadingState),{isFetching:!0}));var s="".concat(a.getContext().identity),r=function(e){var i,n,r,u;if(e&&s==="".concat(a.getContext().identity)){var c=e.flags,h=e.traits,d=e.identifier;a.isLoading=!1;var g={},f={};h=h||[],(c=c||[]).forEach((function(t){g[t.feature.name.toLowerCase().replace(/ /g,"_")]={id:t.feature.id,enabled:t.enabled,value:t.feature_state_value}})),h.forEach((function(t){f[t.trait_key.toLowerCase().replace(/ /g,"_")]={transient:t.transient,value:t.trait_value}})),a.oldFlags=t({},a.flags);var p=o(a.oldFlags,g),y=o(null===(i=a.evaluationContext.identity)||void 0===i?void 0:i.traits,f);if((d||Object.keys(f).length)&&(a.evaluationContext.identity=t(t({},a.evaluationContext.identity),{traits:f}),d&&(a.evaluationContext.identity.identifier=d,a.identity=d)),a.flags=g,a.updateStorage(),a._onChange(a.oldFlags,{isFromServer:!0,flagsChanged:p,traitsChanged:y},a._loadedState(null,v.SERVER)),a.datadogRum)try{if(a.datadogRum.trackTraits){var m={};Object.keys((null===(n=a.evaluationContext.identity)||void 0===n?void 0:n.traits)||{}).map((function(t){m["flagsmith_trait_"+t]=a.getTrait(t)}));var C=t(t(t({},a.datadogRum.client.getUser()),{id:a.datadogRum.client.getUser().id||(null===(r=a.evaluationContext.identity)||void 0===r?void 0:r.identifier)}),m);a.log("Setting Datadog user",C),a.datadogRum.client.setUser(C)}}catch(t){console.error(t)}if(a.dtrum)try{var S={javaDouble:{},date:{},shortString:{},javaLongOrObject:{}};Object.keys(a.flags).map((function(t){l(S,"flagsmith_value_"+t,a.getValue(t,{skipAnalytics:!0})),l(S,"flagsmith_enabled_"+t,a.hasFeature(t,{skipAnalytics:!0}))})),Object.keys((null===(u=a.evaluationContext.identity)||void 0===u?void 0:u.traits)||{}).map((function(t){l(S,"flagsmith_trait_"+t,a.getTrait(t))})),a.log("Sending javaLongOrObject traits to dynatrace",S.javaLongOrObject),a.log("Sending date traits to dynatrace",S.date),a.log("Sending shortString traits to dynatrace",S.shortString),a.log("Sending javaDouble to dynatrace",S.javaDouble),a.dtrum.sendSessionProperties(S.javaLongOrObject,S.date,S.shortString,S.javaDouble)}catch(t){console.error(t)}}};return n.identity?Promise.all([n.identity.traits&&Object.keys(n.identity.traits).length||!n.identity.identifier?a.getJSON(i+"identities/","POST",JSON.stringify({identifier:n.identity.identifier,transient:n.identity.transient,traits:Object.entries(n.identity.traits).map((function(t){var e=t[0],i=t[1];return{trait_key:e,trait_value:null==i?void 0:i.value,transient:null==i?void 0:i.transient}})).filter((function(t){return void 0!==t.trait_value||(a.log("Warning - attempted to set an undefined trait value for key",t.trait_key),!1)}))})):a.getJSON(i+"identities/?identifier="+encodeURIComponent(n.identity.identifier)+(n.identity.transient?"&transient=true":""))]).then((function(e){return a.evaluationContext.identity=t(t({},a.evaluationContext.identity),{traits:{}}),r(null==e?void 0:e[0])})).catch((function(t){var e=t.message,i=new Error(e);return Promise.reject(i)})):a.getJSON(i+"flags/").then((function(t){return r({flags:t,traits:void 0})}))},this.analyticsFlags=function(){var e=a.api;if(a.evaluationEvent&&a.evaluationContext.environment&&a.evaluationEvent[a.evaluationContext.environment.apiKey])return a.evaluationEvent&&0!==Object.getOwnPropertyNames(a.evaluationEvent).length&&0!==Object.getOwnPropertyNames(a.evaluationEvent[a.evaluationContext.environment.apiKey]).length?a.getJSON(e+"analytics/flags/","POST",JSON.stringify(a.evaluationEvent[a.evaluationContext.environment.apiKey])).then((function(e){if(a.evaluationContext.environment){var i=a.getState();a.evaluationEvent||(a.evaluationEvent={}),a.evaluationEvent[a.evaluationContext.environment.apiKey]={},a.setState(t(t({},i),{evaluationEvent:a.evaluationEvent})),a.updateEventStorage()}})).catch((function(t){a.log("Exception fetching evaluationEvent",t)})):void 0},this.flushPipelineAnalytics=function(){return e(a,void 0,void 0,(function(){var e,n,a,o,l,s,r;return i(this,(function(i){switch(i.label){case 0:if(e=this.evaluationAnalyticsUrl&&this.evaluationContext.environment,n=this.pipelineEvents.length>0&&(!this.isPipelineFlushing||0===this.pipelineFlushInterval),!e||!n)return[2];a=this.evaluationContext.environment.apiKey,this.isPipelineFlushing=!0,o=this.pipelineEvents,this.pipelineEvents=[],l={events:o,environment_key:a},i.label=1;case 1:return i.trys.push([1,3,4,5]),[4,h(this.evaluationAnalyticsUrl+"v1/analytics/batch",{method:"POST",body:JSON.stringify(l),headers:t({"Content-Type":"application/json; charset=utf-8","X-Environment-Key":a},{"Flagsmith-SDK-User-Agent":"flagsmith-js-sdk/".concat("11.0.0-internal.1")})})];case 2:if(!(s=i.sent()).status||s.status<200||s.status>=300)throw new Error("Pipeline analytics: unexpected status ".concat(s.status));return this.log("Pipeline analytics: flush successful"),[3,5];case 3:return r=i.sent(),this.pipelineEvents=o.concat(this.pipelineEvents),this.trimPipelineBuffer(),this.log("Pipeline analytics: flush failed, events re-queued",r),[3,5];case 4:return this.isPipelineFlushing=!1,[7];case 5:return[2]}}))}))},this.datadogRum=null,this.loadingState={isLoading:!0,isFetching:!0,error:null,source:v.NONE},this.canUseStorage=!1,this.analyticsInterval=null,this.api=null,this.cacheFlags=!1,this.enableAnalytics=!1,this.enableLogs=!1,this.evaluationContext={},this.evaluationEvent=null,this.flags=null,this.getFlagInterval=null,this.headers=null,this.identity=null,this.initialised=!1,this.oldFlags=null,this.onChange=null,this.onError=null,this.ticks=null,this.timer=null,this.dtrum=null,this.sentryClient=null,this.withTraits=null,this.cacheOptions={ttl:0,skipAPI:!1,loadStale:!1,storageKey:void 0},this.evaluationAnalyticsUrl=null,this.evaluationAnalyticsMaxBuffer=1e3,this.pipelineEvents=[],this.pipelineAnalyticsInterval=null,this.isPipelineFlushing=!1,this.getValue=function(t,e,i){var n=a.flags&&a.flags[t.toLowerCase().replace(/ /g,"_")],o=null;if(n&&(o=n.value),(null==e?void 0:e.skipAnalytics)||i||a.evaluateFlag(t,"VALUE"),null===o&&void 0!==(null==e?void 0:e.fallback))return e.fallback;if(null==e?void 0:e.json)try{return null===o?(a.log("Tried to parse null flag as JSON: "+t),null):JSON.parse(o)}catch(t){return e.fallback}return o},this.getTrait=function(t){var e,i;return(null===(e=a.evaluationContext.identity)||void 0===e?void 0:e.traits)&&(null===(i=a.evaluationContext.identity.traits[t.toLowerCase().replace(/ /g,"_")])||void 0===i?void 0:i.value)},this.getAllTraits=function(){var t;return Object.fromEntries(Object.entries((null===(t=a.evaluationContext.identity)||void 0===t?void 0:t.traits)||{}).map((function(t){var e=t[0],i=t[1];return[e,null==i?void 0:i.value]})))},this.setContext=function(e){var i,n,o=u(e);return a.evaluationContext=t(t({},o),{environment:o.environment||a.evaluationContext.environment}),a.identity=null===(n=null===(i=a.getContext())||void 0===i?void 0:i.identity)||void 0===n?void 0:n.identifier,a.initialised?a.getFlags():Promise.resolve()},this.getContext=function(){return a.evaluationContext},this.updateContext=function(e){return a.setContext(t(t({},a.getContext()),e))},this.setTrait=function(e,i){var n;if(a.api)return a.setContext(t(t({},a.evaluationContext),{identity:t(t({},a.evaluationContext.identity),{traits:t(t({},null===(n=a.evaluationContext.identity)||void 0===n?void 0:n.traits),r(Object.fromEntries([[e,i]])))})}))},this.setTraits=function(e){var i;if(a.api)return a.setContext(t(t({},a.evaluationContext),{identity:t(t({},a.evaluationContext.identity),{traits:t(t({},null===(i=a.evaluationContext.identity)||void 0===i?void 0:i.traits),Object.fromEntries(Object.entries(e).map((function(t){var e=t[0],i=t[1];return[e,s(i)?i:{value:i}]}))))})}));console.error("Attempted to "+"setTraits"+" a user before calling flagsmith.init. Call flagsmith.init first, if you wish to prevent it sending a request for flags, call init with preventFetch:true.")},this.hasFeature=function(t,e){var i,n,o="object"==typeof e,l=a.flags&&a.flags[t.toLowerCase().replace(/ /g,"_")],s=!1;if(!l&&o&&void 0!==e.fallback?s=null==e?void 0:e.fallback:l&&l.enabled&&(s=!0),(o&&!e.skipAnalytics||!e)&&a.evaluateFlag(t,"ENABLED"),a.sentryClient)try{null===(n=null===(i=a.sentryClient.getIntegrationByName("FeatureFlags"))||void 0===i?void 0:i.addFeatureFlag)||void 0===n||n.call(i,t,s)}catch(t){console.error(t)}return s},this.getStorageKey=function(){var t,e;return(null===(t=a.cacheOptions)||void 0===t?void 0:t.storageKey)||"FLAGSMITH_DB_"+(null===(e=a.evaluationContext.environment)||void 0===e?void 0:e.apiKey)},this.getJSON=function(t,e,i){var n,o,l,s=a.headers,r={method:e||"GET",body:i,cache:"no-cache",headers:{}};a.evaluationContext.environment&&(r.headers["X-Environment-Key"]=a.evaluationContext.environment.apiKey),e&&"GET"!==e&&(r.headers["Content-Type"]="application/json; charset=utf-8"),(null===(n=a.applicationMetadata)||void 0===n?void 0:n.name)&&(r.headers["Flagsmith-Application-Name"]=a.applicationMetadata.name),(null===(o=a.applicationMetadata)||void 0===o?void 0:o.version)&&(r.headers["Flagsmith-Application-Version"]=a.applicationMetadata.version),r.headers["Flagsmith-SDK-User-Agent"]="flagsmith-js-sdk/".concat("11.0.0-internal.1"),s&&Object.assign(r.headers,s),h||console.error("Flagsmith: fetch is undefined, please specify a fetch implementation into flagsmith.init to support SSR.");var u="".concat(null===(l=a.evaluationContext.identity)||void 0===l?void 0:l.identifier);return h(t,r).then((function(i){var n,o,l="".concat(null===(n=a.evaluationContext.identity)||void 0===n?void 0:n.identifier);if(u===l){var s=null===(o=i.headers)||void 0===o?void 0:o.get("x-flagsmith-document-updated-at");if(s)try{var r=parseFloat(s);if(isNaN(r))return Promise.reject("Failed to parse x-flagsmith-document-updated-at");a.timestamp=r}catch(t){a.log(t,"Failed to parse x-flagsmith-document-updated-at",s)}return a.log("Fetch response: "+i.status+" "+(e||"GET")+0+t),i.text().then((function(t){var e=t;try{e=JSON.parse(t)}catch(t){}return!e&&i.status&&(e="API Response: ".concat(i.status)),i.status&&i.status>=200&&i.status<300?e:Promise.reject(new Error(e))}))}a.log("Received response with identity mismatch, ignoring response. Requested: ".concat(u,", Current: ").concat(l))}))},this.evaluateFlag=function(t,e){if(a.datadogRum&&(a.datadogRum.client.addFeatureFlagEvaluation?"VALUE"===e?a.datadogRum.client.addFeatureFlagEvaluation("flagsmith_value_"+t,a.getValue(t,{},!0)):a.datadogRum.client.addFeatureFlagEvaluation("flagsmith_enabled_"+t,a.hasFeature(t,!0)):console.error("Flagsmith: Your datadog RUM client does not support the function addFeatureFlagEvaluation, please update it.")),a.enableAnalytics){if(!a.evaluationEvent||!a.evaluationContext.environment)return;a.evaluationEvent[a.evaluationContext.environment.apiKey]||(a.evaluationEvent[a.evaluationContext.environment.apiKey]={}),void 0===a.evaluationEvent[a.evaluationContext.environment.apiKey][t]&&(a.evaluationEvent[a.evaluationContext.environment.apiKey][t]=0),a.evaluationEvent[a.evaluationContext.environment.apiKey][t]+=1}a.evaluationAnalyticsUrl&&a.recordPipelineEvent(t),a.updateEventStorage()},this.pipelineFlushInterval=1e4,this._onChange=function(t,e,i){var n,o;a.setLoadingState(i),null===(n=a.onChange)||void 0===n||n.call(a,t,e,a.loadingState),null===(o=a._trigger)||void 0===o||o.call(a)},h=n.fetch?n.fetch:"undefined"!=typeof fetch?fetch:null===global||void 0===global?void 0:global.fetch,this.canUseStorage="undefined"!=typeof window||!!n.browserlessStorage,this.applicationMetadata=n.applicationMetadata,this.log("Constructing flagsmith instance "+n),n.eventSource&&(d=n.eventSource),n.AsyncStorage&&(g=n.AsyncStorage)}return y.prototype.init=function(n){var a,l,s,r;return e(this,void 0,void 0,(function(){var d,y,m,C,S,b,E,x,F,O,A,_,w,I,j,L,P,k,T,N,K,U,R,D,J,M,G,B,V,H,q,W,X,Y,z,Q,Z=this;return i(this,(function($){switch($.label){case 0:d=u(n.evaluationContext||this.evaluationContext),$.label=1;case 1:if($.trys.push([1,13,,14]),y=n.AsyncStorage,m=n._trigger,C=n._triggerLoadingState,S=n.angularHttpClient,b=n.api,E=void 0===b?p:b,x=n.applicationMetadata,F=n.cacheFlags,O=n.cacheOptions,A=n.datadogRum,_=n.defaultFlags,w=n.enableAnalytics,I=n.enableDynatrace,j=n.enableLogs,L=n.environmentID,P=n.evaluationAnalyticsConfig,k=n.eventSourceUrl,T=void 0===k?"https://realtime.flagsmith.com/":k,N=n.fetch,K=n.headers,U=n.identity,R=n.onChange,D=n.onError,J=n.preventFetch,M=n.realtime,G=n.sentryClient,B=n.state,V=n.traits,d.environment=L?{apiKey:L}:d.environment,!d.environment||!d.environment.apiKey)throw new Error("Please provide `evaluationContext.environment` with non-empty `apiKey`");if(d.identity=U||V?{identifier:U,traits:V?Object.fromEntries(Object.entries(V).map((function(t){return[t[0],{value:t[1]}]}))):{}}:d.identity,this.evaluationContext=d,this.api=c(E),this.headers=K,this.getFlagInterval=null,this.analyticsInterval=null,this.onChange=R,H="Wrong Flagsmith Configuration: preventFetch is true and no defaulFlags provided",this._trigger=m||this._trigger,this._triggerLoadingState=C||this._triggerLoadingState,this.onError=function(e){Z.setLoadingState(t(t({},Z.loadingState),{isFetching:!1,isLoading:!1,error:e})),null==D||D(e)},this.enableLogs=j||!1,this.cacheOptions=O?{skipAPI:!!O.skipAPI,ttl:O.ttl||0,storageKey:O.storageKey,loadStale:!!O.loadStale}:this.cacheOptions,!this.cacheOptions.ttl&&this.cacheOptions.skipAPI&&console.warn("Flagsmith: you have set a cache ttl of 0 and are skipping API calls, this means the API will not be hit unless you clear local storage."),N&&(h=N),this.enableAnalytics=w||!1,this.flags=Object.assign({},_)||{},this.datadogRum=A||null,this.initialised=!0,this.ticks=1e4,this.timer=this.enableLogs?(new Date).valueOf():null,this.cacheFlags=void 0!==g&&!!F,this.applicationMetadata=x,f="FLAGSMITH_EVENT_"+d.environment.apiKey,y&&(g=y),M&&"undefined"!=typeof window&&this.setupRealtime(T,d.environment.apiKey),Object.keys(this.flags).length&&(this.loadingState=t(t({},this.loadingState),{isLoading:!1,source:v.DEFAULT_FLAGS})),this.setState(B),this.log("Initialising with properties",n,this),I&&("undefined"==typeof dtrum?console.error("You have attempted to enable dynatrace but dtrum is undefined, please check you have the Dynatrace RUM JavaScript API installed."):this.dtrum=dtrum),G&&(this.sentryClient=G),S&&(h=function(t){return function(e,i){var n=i.headers,a=i.method,o=i.body,l={headers:n,observe:"response",responseType:"text"},s=function(t,e){var i=t.status,n=t.headers,a=t.body,o=t.error,l=t.message;return{status:null!=i?i:e?200:500,ok:e,headers:{get:function(t){var e,i;return null!==(i=null===(e=null==n?void 0:n.get)||void 0===e?void 0:e.call(n,t))&&void 0!==i?i:null}},text:function(){var t,e,i=null!==(e=null!==(t=null!=a?a:o)&&void 0!==t?t:l)&&void 0!==e?e:"";return Promise.resolve("string"!=typeof i?JSON.stringify(i):i)}}};return new Promise((function(i){var n=function(t){return i(s(t,!t.status||t.status>=200&&t.status<300))},r=function(t){return i(s(t,!1))};switch(a){case"GET":return t.get(e,l).subscribe(n,r);case"POST":case"PUT":return t.post(e,null!=o?o:"",l).subscribe(n,r);default:return r({status:405,message:"Unsupported method: ".concat(a)})}}))}}(S)),g&&this.canUseStorage&&g.getItem(f).then((function(t){try{Z.evaluationEvent=JSON.parse(t)||{}}catch(t){Z.evaluationEvent={}}Z.analyticsInterval=setInterval(Z.analyticsFlags,Z.ticks)})),this.enableAnalytics&&(this.analyticsInterval&&clearInterval(this.analyticsInterval),g&&this.canUseStorage&&g.getItem(f,(function(e,i){if(i&&Z.evaluationContext.environment){var n=JSON.parse(i);if(n[Z.evaluationContext.environment.apiKey]){var a=Z.getState();Z.log("Retrieved events from cache",i),Z.setState(t(t({},a),{evaluationEvent:n[Z.evaluationContext.environment.apiKey]}))}}}))),P?this.initPipelineAnalytics(P):this.stopPipelineAnalytics(),!F)return[3,9];if(!g||!this.canUseStorage)return[3,8];q=function(n,a){return e(Z,void 0,void 0,(function(){var e,n,l,s,r,c,h,d,g,f,p,y,m,C,S,b,E,x,F,O=this;return i(this,(function(i){switch(i.label){case 0:if(!a)return[3,7];e=null,n=null,i.label=1;case 1:return i.trys.push([1,5,,6]),l=JSON.parse(a),s=!1,r=!1,l&&l.api===this.api&&(null===(f=null===(g=l.evaluationContext)||void 0===g?void 0:g.environment)||void 0===f?void 0:f.apiKey)===(null===(p=this.evaluationContext.environment)||void 0===p?void 0:p.apiKey)&&(c=!0,this.evaluationContext.identity&&(null===(m=null===(y=l.evaluationContext)||void 0===y?void 0:y.identity)||void 0===m?void 0:m.identifier)!==this.evaluationContext.identity.identifier&&(this.log("Ignoring cache, identity has changed from "+(null===(S=null===(C=l.evaluationContext)||void 0===C?void 0:C.identity)||void 0===S?void 0:S.identifier)+" to "+this.evaluationContext.identity.identifier),c=!1),this.cacheOptions.ttl&&(!l.ts||(new Date).valueOf()-l.ts>this.cacheOptions.ttl)&&(l.ts&&!this.cacheOptions.loadStale?(this.log("Ignoring cache, timestamp is too old ts:"+l.ts+" ttl: "+this.cacheOptions.ttl+" time elapsed since cache: "+((new Date).valueOf()-l.ts)+"ms"),c=!1):l.ts&&this.cacheOptions.loadStale&&(this.log("Loading stale cache, timestamp ts:"+l.ts+" ttl: "+this.cacheOptions.ttl+" time elapsed since cache: "+((new Date).valueOf()-l.ts)+"ms"),r=!0,c=!0)),c&&(s=!0,e=o(this.flags,l.flags),this.setState(t(t({},l),{evaluationContext:u(t(t({},l.evaluationContext),{identity:(null===(b=l.evaluationContext)||void 0===b?void 0:b.identity)?t(t({},null===(E=l.evaluationContext)||void 0===E?void 0:E.identity),{traits:t({},V||{})}):void 0}))})),this.log("Retrieved flags from cache",l))),s?(h=!J&&(!this.cacheOptions.skipAPI||r),this._onChange(null,{isFromServer:!1,flagsChanged:e,traitsChanged:n},this._loadedState(null,v.CACHE,h)),this.oldFlags=this.flags,this.cacheOptions.skipAPI&&s&&!r&&this.log("Skipping API, using cache"),h&&this.getFlags().catch((function(t){var e;null===(e=O.onError)||void 0===e||e.call(O,t)})),[3,4]):[3,2];case 2:return J?[3,4]:[4,this.getFlags()];case 3:i.sent(),i.label=4;case 4:return[3,6];case 5:throw d=i.sent(),this.log("Exception fetching cached logs",d),d;case 6:return[3,10];case 7:return J?[3,9]:[4,this.getFlags()];case 8:return i.sent(),[3,10];case 9:if(_)this._onChange(null,{isFromServer:!1,flagsChanged:o({},this.flags),traitsChanged:o({},null===(x=this.evaluationContext.identity)||void 0===x?void 0:x.traits)},this._loadedState(null,v.DEFAULT_FLAGS));else{if(!this.flags)throw new Error(H);this._onChange(null,{isFromServer:!1,flagsChanged:o({},this.flags),traitsChanged:o({},null===(F=this.evaluationContext.identity)||void 0===F?void 0:F.traits)},this._loadedState(null,v.DEFAULT_FLAGS))}i.label=10;case 10:return[2]}}))}))},$.label=2;case 2:return $.trys.push([2,7,,8]),g.getItemSync?(W=g.getItemSync(this.getStorageKey()),[3,5]):[3,3];case 3:return[4,g.getItem(this.getStorageKey())];case 4:W=$.sent(),$.label=5;case 5:return[4,q(null,W)];case 6:return $.sent(),[3,8];case 7:if(X=$.sent(),!this.flags||0===Object.keys(this.flags).length)throw X;return Q=X instanceof Error?X:new Error("".concat(X)),null===(a=this.onError)||void 0===a||a.call(this,Q),[3,8];case 8:return[3,12];case 9:return J?[3,11]:[4,this.getFlags()];case 10:return $.sent(),[3,12];case 11:if(_)this._onChange(null,{isFromServer:!1,flagsChanged:o({},_),traitsChanged:o({},null===(l=d.identity)||void 0===l?void 0:l.traits)},this._loadedState(null,v.DEFAULT_FLAGS));else if(this.flags&&(Y=null,0===Object.keys(this.flags).length&&(Y=H),this._onChange(null,{isFromServer:!1,flagsChanged:o({},this.flags),traitsChanged:o({},null===(s=d.identity)||void 0===s?void 0:s.traits)},this._loadedState(Y,v.DEFAULT_FLAGS)),Y))throw new Error(Y);$.label=12;case 12:return[3,14];case 13:throw z=$.sent(),this.log("Error during initialisation ",z),Q=z instanceof Error?z:new Error("".concat(z)),null===(r=this.onError)||void 0===r||r.call(this,Q),z;case 14:return[2]}}))}))},y.prototype.getAllFlags=function(){return this.flags},y.prototype.identify=function(t,e,i){return this.identity=t,this.evaluationContext.identity={identifier:t,transient:i,traits:this.evaluationContext.identity&&this.evaluationContext.identity.identifier==t?this.evaluationContext.identity.traits:{}},this.evaluationContext.identity.identifier=t,this.log("Identify: "+this.evaluationContext.identity.identifier),e&&(this.evaluationContext.identity.traits=Object.fromEntries(Object.entries(e).map((function(t){var e=t[0],i=t[1];return[e,s(i)?i:{value:i}]})))),this.initialised?this.getFlags():Promise.resolve()},y.prototype.getState=function(){return{api:this.api,flags:this.flags,ts:this.ts,evaluationContext:this.evaluationContext,identity:this.identity,evaluationEvent:this.evaluationEvent}},y.prototype.setState=function(t){var e,i;t&&(this.initialised=!0,this.api=t.api||this.api||p,this.flags=t.flags||this.flags,this.evaluationContext=t.evaluationContext||this.evaluationContext,this.evaluationEvent=t.evaluationEvent||this.evaluationEvent,this.identity=null===(i=null===(e=this.getContext())||void 0===e?void 0:e.identity)||void 0===i?void 0:i.identifier,this.log("setState called",this))},y.prototype.logout=function(){return this.identity=null,this.evaluationContext.identity=null,this.initialised?this.getFlags():Promise.resolve()},y.prototype.startListening=function(t){void 0===t&&(t=1e3),this.getFlagInterval&&clearInterval(this.getFlagInterval),this.getFlagInterval=setInterval(this.getFlags,t)},y.prototype.stopListening=function(){this.getFlagInterval&&(clearInterval(this.getFlagInterval),this.getFlagInterval=null)},y.prototype._loadedState=function(t,e,i){return void 0===t&&(t=null),void 0===i&&(i=!1),{error:t,isFetching:i,isLoading:!1,source:e}},y.prototype.log=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];this.enableLogs&&console.log.apply(this,n(["FLAGSMITH:",(new Date).valueOf()-(this.timer||0),"ms"],t,!0))},y.prototype.updateStorage=function(){if(this.cacheFlags){this.ts=(new Date).valueOf();var t=JSON.stringify(this.getState());this.log("Setting storage",t),g.setItem(this.getStorageKey(),t)}},y.prototype.updateEventStorage=function(){if(this.enableAnalytics){var t=JSON.stringify(this.getState().evaluationEvent);g.setItem(f,t).catch((function(t){return console.error("Flagsmith: Error setting item in async storage",t)}))}},y.prototype.initPipelineAnalytics=function(t){var e,i,n,a;this.stopPipelineAnalytics(),this.evaluationAnalyticsUrl=c(t.analyticsServerUrl),this.evaluationAnalyticsMaxBuffer=null!==(e=t.maxBuffer)&&void 0!==e?e:1e3,this.pipelineFlushInterval=null!==(i=t.flushInterval)&&void 0!==i?i:1e4,this.pipelineEvents=[],this.pipelineFlushInterval>0&&(this.pipelineAnalyticsInterval=setInterval(this.flushPipelineAnalytics,this.pipelineFlushInterval),null===(a=null===(n=this.pipelineAnalyticsInterval)||void 0===n?void 0:n.unref)||void 0===a||a.call(n))},y.prototype.stopPipelineAnalytics=function(){this.pipelineAnalyticsInterval&&(clearInterval(this.pipelineAnalyticsInterval),this.pipelineAnalyticsInterval=null),this.evaluationAnalyticsUrl=null,this.pipelineEvents=[]},y.prototype.trimPipelineBuffer=function(){if(this.pipelineEvents.length>this.evaluationAnalyticsMaxBuffer){var t=this.pipelineEvents.length-this.evaluationAnalyticsMaxBuffer;this.pipelineEvents=this.pipelineEvents.slice(t)}},y.prototype.recordPipelineEvent=function(e){var i,n,a,o=e.toLowerCase().replace(/ /g,"_"),l=this.flags&&this.flags[o],s={event_id:o,event_type:"flag_evaluation",evaluated_at:Date.now(),identity_identifier:null!==(n=null===(i=this.evaluationContext.identity)||void 0===i?void 0:i.identifier)&&void 0!==n?n:null,enabled:l?l.enabled:null,value:l?l.value:null,traits:(null===(a=this.evaluationContext.identity)||void 0===a?void 0:a.traits)?t({},this.evaluationContext.identity.traits):null,metadata:t(t(t({},l?{id:l.id}:{}),"undefined"!=typeof window&&window.location?{page_url:window.location.href}:{}),{sdk_version:"11.0.0-internal.1"})};this.pipelineEvents.push(s),this.trimPipelineBuffer(),0===this.pipelineFlushInterval&&this.flushPipelineAnalytics()},y.prototype.setLoadingState=function(e){var i;a(e,this.loadingState)||(this.loadingState=t({},e),this.log("Loading state changed",e),null===(i=this._triggerLoadingState)||void 0===i||i.call(this))},y.prototype.setupRealtime=function(t,e){var i=this,n=t+"sse/environments/"+e+"/stream";d?this.eventSource||(this.log("Creating event source with url "+n),this.eventSource=new d(n),this.eventSource.addEventListener("environment_updated",(function(t){var e;try{e=JSON.parse(t.data).updated_at}catch(t){i.log("Could not parse sse event",t)}e?!i.timestamp||e>i.timestamp?i.isLoading?i.log("updated_at is new, but flags are loading",t.data,i.timestamp):(i.log("updated_at is new, fetching flags",t.data,i.timestamp),i.getFlags()):i.log("updated_at is outdated, skipping get flags",t.data,i.timestamp):i.log("No updated_at received, fetching flags",t)}))):this.log("Error, EventSource is undefined")},y}();function m(t){var e=t.fetch,i=t.AsyncStorage,n=t.eventSource;return new y({fetch:e,AsyncStorage:i,eventSource:n})}var C=m({}),S=function(){return m({})};export{v as FlagSource,S as createFlagsmithInstance,C as default};
1
+ var t=function(){return t=Object.assign||function(t){for(var e,i=1,n=arguments.length;i<n;i++)for(var a in e=arguments[i])Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t},t.apply(this,arguments)};function e(t,e,i,n){return new(i||(i=Promise))((function(a,l){function o(t){try{r(n.next(t))}catch(t){l(t)}}function s(t){try{r(n.throw(t))}catch(t){l(t)}}function r(t){var e;t.done?a(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(o,s)}r((n=n.apply(t,e||[])).next())}))}function i(t,e){var i,n,a,l,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return l={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(l[Symbol.iterator]=function(){return this}),l;function s(l){return function(s){return function(l){if(i)throw new TypeError("Generator is already executing.");for(;o;)try{if(i=1,n&&(a=2&l[0]?n.return:l[0]?n.throw||((a=n.return)&&a.call(n),0):n.next)&&!(a=a.call(n,l[1])).done)return a;switch(n=0,a&&(l=[2&l[0],a.value]),l[0]){case 0:case 1:a=l;break;case 4:return o.label++,{value:l[1],done:!1};case 5:o.label++,n=l[1],l=[0];continue;case 7:l=o.ops.pop(),o.trys.pop();continue;default:if(!(a=o.trys,(a=a.length>0&&a[a.length-1])||6!==l[0]&&2!==l[0])){o=0;continue}if(3===l[0]&&(!a||l[1]>a[0]&&l[1]<a[3])){o.label=l[1];break}if(6===l[0]&&o.label<a[1]){o.label=a[1],a=l;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(l);break}a[2]&&o.ops.pop(),o.trys.pop();continue}l=e.call(t,o)}catch(t){l=[6,t],n=0}finally{i=a=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([l,s])}}}function n(t,e,i){if(i||2===arguments.length)for(var n,a=0,l=e.length;a<l;a++)!n&&a in e||(n||(n=Array.prototype.slice.call(e,0,a)),n[a]=e[a]);return t.concat(n||Array.prototype.slice.call(e))}var a=function t(e,i){if(e===i)return!0;if(e&&i&&"object"==typeof e&&"object"==typeof i){if(e.constructor!==i.constructor)return!1;var n,a,l;if(Array.isArray(e)){if((n=e.length)!=i.length)return!1;for(a=n;0!=a--;)if(!t(e[a],i[a]))return!1;return!0}if(e.constructor===RegExp)return e.source===i.source&&e.flags===i.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===i.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===i.toString();if((n=(l=Object.keys(e)).length)!==Object.keys(i).length)return!1;for(a=n;0!=a--;)if(!Object.prototype.hasOwnProperty.call(i,l[a]))return!1;for(a=n;0!=a--;){var o=l[a];if(!t(e[o],i[o]))return!1}return!0}return e!=e&&i!=i};function l(t,e){var i=Object.keys(e||{}).filter((function(i){var n=null==t?void 0:t[i],l=null==e?void 0:e[i];return!a(n,l)}));return Object.keys(t||{}).filter((function(t){Object.keys(e||{}).includes(t)||i.push(t)})),Object.keys(i).length?i:null}function o(t,e,i){var n="shortString",a=!0;"number"==typeof i&&(n="javaDouble",a=!1),t[n]=t[n]||{},t[n][e]=a?i+"":i}function s(t){return!!t&&"object"==typeof t&&void 0!==t.value}function r(t){return Object.fromEntries(Object.entries(t).map((function(t){var e=t[0],i=t[1];return[e,s(i)?i:{value:i}]})))}function u(e){return t(t({},e),{identity:e.identity?t(t({},e.identity),{traits:r(e.identity.traits||{})}):void 0})}function c(t){return t.endsWith("/")?t:t+"/"}var v,d;!function(t){t.NONE="NONE",t.DEFAULT_FLAGS="DEFAULT_FLAGS",t.CACHE="CACHE",t.SERVER="SERVER"}(v||(v={}));var h,g=null,f="FLAGSMITH_EVENT",p="https://edge.api.flagsmith.com/api/v1/",y=function(){function y(n){var a=this;this._trigger=null,this._triggerLoadingState=null,this.timestamp=null,this.isLoading=!1,this.eventSource=null,this.getFlags=function(){var e=a,i=e.api,n=e.evaluationContext;a.log("Get Flags"),a.isLoading=!0,a.loadingState.isFetching||a.setLoadingState(t(t({},a.loadingState),{isFetching:!0}));var s="".concat(a.getContext().identity),r=function(e){var i,n,r,u;if(e&&s==="".concat(a.getContext().identity)){var c=e.flags,d=e.traits,h=e.identifier;a.isLoading=!1;var g={},f={};d=d||[],(c=c||[]).forEach((function(t){g[t.feature.name.toLowerCase().replace(/ /g,"_")]={id:t.feature.id,enabled:t.enabled,value:t.feature_state_value}})),d.forEach((function(t){f[t.trait_key.toLowerCase().replace(/ /g,"_")]={transient:t.transient,value:t.trait_value}})),a.oldFlags=t({},a.flags);var p=l(a.oldFlags,g),y=l(null===(i=a.evaluationContext.identity)||void 0===i?void 0:i.traits,f);if((h||Object.keys(f).length)&&(a.evaluationContext.identity=t(t({},a.evaluationContext.identity),{traits:f}),h&&(a.evaluationContext.identity.identifier=h,a.identity=h)),a.flags=g,a.updateStorage(),a._onChange(a.oldFlags,{isFromServer:!0,flagsChanged:p,traitsChanged:y},a._loadedState(null,v.SERVER)),a.datadogRum)try{if(a.datadogRum.trackTraits){var m={};Object.keys((null===(n=a.evaluationContext.identity)||void 0===n?void 0:n.traits)||{}).map((function(t){m["flagsmith_trait_"+t]=a.getTrait(t)}));var C=t(t(t({},a.datadogRum.client.getUser()),{id:a.datadogRum.client.getUser().id||(null===(r=a.evaluationContext.identity)||void 0===r?void 0:r.identifier)}),m);a.log("Setting Datadog user",C),a.datadogRum.client.setUser(C)}}catch(t){console.error(t)}if(a.dtrum)try{var S={javaDouble:{},date:{},shortString:{},javaLongOrObject:{}};Object.keys(a.flags).map((function(t){o(S,"flagsmith_value_"+t,a.getValue(t,{skipAnalytics:!0})),o(S,"flagsmith_enabled_"+t,a.hasFeature(t,{skipAnalytics:!0}))})),Object.keys((null===(u=a.evaluationContext.identity)||void 0===u?void 0:u.traits)||{}).map((function(t){o(S,"flagsmith_trait_"+t,a.getTrait(t))})),a.log("Sending javaLongOrObject traits to dynatrace",S.javaLongOrObject),a.log("Sending date traits to dynatrace",S.date),a.log("Sending shortString traits to dynatrace",S.shortString),a.log("Sending javaDouble to dynatrace",S.javaDouble),a.dtrum.sendSessionProperties(S.javaLongOrObject,S.date,S.shortString,S.javaDouble)}catch(t){console.error(t)}}};return n.identity?Promise.all([n.identity.traits&&Object.keys(n.identity.traits).length||!n.identity.identifier?a.getJSON(i+"identities/","POST",JSON.stringify({identifier:n.identity.identifier,transient:n.identity.transient,traits:Object.entries(n.identity.traits).map((function(t){var e=t[0],i=t[1];return{trait_key:e,trait_value:null==i?void 0:i.value,transient:null==i?void 0:i.transient}})).filter((function(t){return void 0!==t.trait_value||(a.log("Warning - attempted to set an undefined trait value for key",t.trait_key),!1)}))})):a.getJSON(i+"identities/?identifier="+encodeURIComponent(n.identity.identifier)+(n.identity.transient?"&transient=true":""))]).then((function(e){return a.evaluationContext.identity=t(t({},a.evaluationContext.identity),{traits:{}}),r(null==e?void 0:e[0])})).catch((function(t){var e=t.message,i=new Error(e);return Promise.reject(i)})):a.getJSON(i+"flags/").then((function(t){return r({flags:t,traits:void 0})}))},this.analyticsFlags=function(){var e=a.api;if(a.evaluationEvent&&a.evaluationContext.environment&&a.evaluationEvent[a.evaluationContext.environment.apiKey])return a.evaluationEvent&&0!==Object.getOwnPropertyNames(a.evaluationEvent).length&&0!==Object.getOwnPropertyNames(a.evaluationEvent[a.evaluationContext.environment.apiKey]).length?a.getJSON(e+"analytics/flags/","POST",JSON.stringify(a.evaluationEvent[a.evaluationContext.environment.apiKey])).then((function(e){if(a.evaluationContext.environment){var i=a.getState();a.evaluationEvent||(a.evaluationEvent={}),a.evaluationEvent[a.evaluationContext.environment.apiKey]={},a.setState(t(t({},i),{evaluationEvent:a.evaluationEvent})),a.updateEventStorage()}})).catch((function(t){a.log("Exception fetching evaluationEvent",t)})):void 0},this.flushPipelineAnalytics=function(){return e(a,void 0,void 0,(function(){var e,n,a,l,o,s,r;return i(this,(function(i){switch(i.label){case 0:if(e=this.evaluationAnalyticsUrl&&this.evaluationContext.environment,n=this.pipelineEvents.length>0&&(!this.isPipelineFlushing||0===this.pipelineFlushInterval),!e||!n)return[2];a=this.evaluationContext.environment.apiKey,this.isPipelineFlushing=!0,l=this.pipelineEvents,this.pipelineEvents=[],this.pipelineRecordedKeys.clear(),o={events:l,environment_key:a},i.label=1;case 1:return i.trys.push([1,3,4,5]),[4,d(this.evaluationAnalyticsUrl+"v1/analytics/batch",{method:"POST",body:JSON.stringify(o),headers:t({"Content-Type":"application/json; charset=utf-8","X-Environment-Key":a},{"Flagsmith-SDK-User-Agent":"flagsmith-js-sdk/".concat("11.0.0-internal.2")})})];case 2:if(!(s=i.sent()).status||s.status<200||s.status>=300)throw new Error("Pipeline analytics: unexpected status ".concat(s.status));return this.log("Pipeline analytics: flush successful"),[3,5];case 3:return r=i.sent(),this.pipelineEvents=l.concat(this.pipelineEvents),this.trimPipelineBuffer(),this.log("Pipeline analytics: flush failed, events re-queued",r),[3,5];case 4:return this.isPipelineFlushing=!1,[7];case 5:return[2]}}))}))},this.datadogRum=null,this.loadingState={isLoading:!0,isFetching:!0,error:null,source:v.NONE},this.canUseStorage=!1,this.analyticsInterval=null,this.api=null,this.cacheFlags=!1,this.enableAnalytics=!1,this.enableLogs=!1,this.evaluationContext={},this.evaluationEvent=null,this.flags=null,this.getFlagInterval=null,this.headers=null,this.identity=null,this.initialised=!1,this.oldFlags=null,this.onChange=null,this.onError=null,this.ticks=null,this.timer=null,this.dtrum=null,this.sentryClient=null,this.withTraits=null,this.cacheOptions={ttl:0,skipAPI:!1,loadStale:!1,storageKey:void 0},this.evaluationAnalyticsUrl=null,this.evaluationAnalyticsMaxBuffer=1e3,this.pipelineEvents=[],this.pipelineAnalyticsInterval=null,this.isPipelineFlushing=!1,this.pipelineRecordedKeys=new Map,this.getValue=function(t,e,i){var n=a.flags&&a.flags[t.toLowerCase().replace(/ /g,"_")],l=null;if(n&&(l=n.value),(null==e?void 0:e.skipAnalytics)||i||a.evaluateFlag(t,"VALUE"),null===l&&void 0!==(null==e?void 0:e.fallback))return e.fallback;if(null==e?void 0:e.json)try{return null===l?(a.log("Tried to parse null flag as JSON: "+t),null):JSON.parse(l)}catch(t){return e.fallback}return l},this.getTrait=function(t){var e,i;return(null===(e=a.evaluationContext.identity)||void 0===e?void 0:e.traits)&&(null===(i=a.evaluationContext.identity.traits[t.toLowerCase().replace(/ /g,"_")])||void 0===i?void 0:i.value)},this.getAllTraits=function(){var t;return Object.fromEntries(Object.entries((null===(t=a.evaluationContext.identity)||void 0===t?void 0:t.traits)||{}).map((function(t){var e=t[0],i=t[1];return[e,null==i?void 0:i.value]})))},this.setContext=function(e){var i,n,l=u(e);return a.evaluationContext=t(t({},l),{environment:l.environment||a.evaluationContext.environment}),a.identity=null===(n=null===(i=a.getContext())||void 0===i?void 0:i.identity)||void 0===n?void 0:n.identifier,a.initialised?a.getFlags():Promise.resolve()},this.getContext=function(){return a.evaluationContext},this.updateContext=function(e){return a.setContext(t(t({},a.getContext()),e))},this.setTrait=function(e,i){var n;if(a.api)return a.setContext(t(t({},a.evaluationContext),{identity:t(t({},a.evaluationContext.identity),{traits:t(t({},null===(n=a.evaluationContext.identity)||void 0===n?void 0:n.traits),r(Object.fromEntries([[e,i]])))})}))},this.setTraits=function(e){var i;if(a.api)return a.setContext(t(t({},a.evaluationContext),{identity:t(t({},a.evaluationContext.identity),{traits:t(t({},null===(i=a.evaluationContext.identity)||void 0===i?void 0:i.traits),Object.fromEntries(Object.entries(e).map((function(t){var e=t[0],i=t[1];return[e,s(i)?i:{value:i}]}))))})}));console.error("Attempted to "+"setTraits"+" a user before calling flagsmith.init. Call flagsmith.init first, if you wish to prevent it sending a request for flags, call init with preventFetch:true.")},this.hasFeature=function(t,e){var i,n,l="object"==typeof e,o=a.flags&&a.flags[t.toLowerCase().replace(/ /g,"_")],s=!1;if(!o&&l&&void 0!==e.fallback?s=null==e?void 0:e.fallback:o&&o.enabled&&(s=!0),(l&&!e.skipAnalytics||!e)&&a.evaluateFlag(t,"ENABLED"),a.sentryClient)try{null===(n=null===(i=a.sentryClient.getIntegrationByName("FeatureFlags"))||void 0===i?void 0:i.addFeatureFlag)||void 0===n||n.call(i,t,s)}catch(t){console.error(t)}return s},this.getStorageKey=function(){var t,e;return(null===(t=a.cacheOptions)||void 0===t?void 0:t.storageKey)||"FLAGSMITH_DB_"+(null===(e=a.evaluationContext.environment)||void 0===e?void 0:e.apiKey)},this.getJSON=function(t,e,i){var n,l,o,s=a.headers,r={method:e||"GET",body:i,cache:"no-cache",headers:{}};a.evaluationContext.environment&&(r.headers["X-Environment-Key"]=a.evaluationContext.environment.apiKey),e&&"GET"!==e&&(r.headers["Content-Type"]="application/json; charset=utf-8"),(null===(n=a.applicationMetadata)||void 0===n?void 0:n.name)&&(r.headers["Flagsmith-Application-Name"]=a.applicationMetadata.name),(null===(l=a.applicationMetadata)||void 0===l?void 0:l.version)&&(r.headers["Flagsmith-Application-Version"]=a.applicationMetadata.version),r.headers["Flagsmith-SDK-User-Agent"]="flagsmith-js-sdk/".concat("11.0.0-internal.2"),s&&Object.assign(r.headers,s),d||console.error("Flagsmith: fetch is undefined, please specify a fetch implementation into flagsmith.init to support SSR.");var u="".concat(null===(o=a.evaluationContext.identity)||void 0===o?void 0:o.identifier);return d(t,r).then((function(i){var n,l,o="".concat(null===(n=a.evaluationContext.identity)||void 0===n?void 0:n.identifier);if(u===o){var s=null===(l=i.headers)||void 0===l?void 0:l.get("x-flagsmith-document-updated-at");if(s)try{var r=parseFloat(s);if(isNaN(r))return Promise.reject("Failed to parse x-flagsmith-document-updated-at");a.timestamp=r}catch(t){a.log(t,"Failed to parse x-flagsmith-document-updated-at",s)}return a.log("Fetch response: "+i.status+" "+(e||"GET")+0+t),i.text().then((function(t){var e=t;try{e=JSON.parse(t)}catch(t){}return!e&&i.status&&(e="API Response: ".concat(i.status)),i.status&&i.status>=200&&i.status<300?e:Promise.reject(new Error(e))}))}a.log("Received response with identity mismatch, ignoring response. Requested: ".concat(u,", Current: ").concat(o))}))},this.evaluateFlag=function(t,e){if(a.datadogRum&&(a.datadogRum.client.addFeatureFlagEvaluation?"VALUE"===e?a.datadogRum.client.addFeatureFlagEvaluation("flagsmith_value_"+t,a.getValue(t,{},!0)):a.datadogRum.client.addFeatureFlagEvaluation("flagsmith_enabled_"+t,a.hasFeature(t,!0)):console.error("Flagsmith: Your datadog RUM client does not support the function addFeatureFlagEvaluation, please update it.")),a.enableAnalytics){if(!a.evaluationEvent||!a.evaluationContext.environment)return;a.evaluationEvent[a.evaluationContext.environment.apiKey]||(a.evaluationEvent[a.evaluationContext.environment.apiKey]={}),void 0===a.evaluationEvent[a.evaluationContext.environment.apiKey][t]&&(a.evaluationEvent[a.evaluationContext.environment.apiKey][t]=0),a.evaluationEvent[a.evaluationContext.environment.apiKey][t]+=1}a.evaluationAnalyticsUrl&&a.recordPipelineEvent(t),a.updateEventStorage()},this.pipelineFlushInterval=1e4,this._onChange=function(t,e,i){var n,l;a.setLoadingState(i),null===(n=a.onChange)||void 0===n||n.call(a,t,e,a.loadingState),null===(l=a._trigger)||void 0===l||l.call(a)},d=n.fetch?n.fetch:"undefined"!=typeof fetch?fetch:null===global||void 0===global?void 0:global.fetch,this.canUseStorage="undefined"!=typeof window||!!n.browserlessStorage,this.applicationMetadata=n.applicationMetadata,this.log("Constructing flagsmith instance "+n),n.eventSource&&(h=n.eventSource),n.AsyncStorage&&(g=n.AsyncStorage)}return y.prototype.init=function(n){var a,o,s,r;return e(this,void 0,void 0,(function(){var h,y,m,C,S,b,E,x,F,O,A,_,w,I,j,L,P,k,K,T,R,N,U,D,J,M,G,B,V,H,q,W,X,Y,z,Q,Z=this;return i(this,(function($){switch($.label){case 0:h=u(n.evaluationContext||this.evaluationContext),$.label=1;case 1:if($.trys.push([1,13,,14]),y=n.AsyncStorage,m=n._trigger,C=n._triggerLoadingState,S=n.angularHttpClient,b=n.api,E=void 0===b?p:b,x=n.applicationMetadata,F=n.cacheFlags,O=n.cacheOptions,A=n.datadogRum,_=n.defaultFlags,w=n.enableAnalytics,I=n.enableDynatrace,j=n.enableLogs,L=n.environmentID,P=n.evaluationAnalyticsConfig,k=n.eventSourceUrl,K=void 0===k?"https://realtime.flagsmith.com/":k,T=n.fetch,R=n.headers,N=n.identity,U=n.onChange,D=n.onError,J=n.preventFetch,M=n.realtime,G=n.sentryClient,B=n.state,V=n.traits,h.environment=L?{apiKey:L}:h.environment,!h.environment||!h.environment.apiKey)throw new Error("Please provide `evaluationContext.environment` with non-empty `apiKey`");if(h.identity=N||V?{identifier:N,traits:V?Object.fromEntries(Object.entries(V).map((function(t){return[t[0],{value:t[1]}]}))):{}}:h.identity,this.evaluationContext=h,this.api=c(E),this.headers=R,this.getFlagInterval=null,this.analyticsInterval=null,this.onChange=U,H="Wrong Flagsmith Configuration: preventFetch is true and no defaulFlags provided",this._trigger=m||this._trigger,this._triggerLoadingState=C||this._triggerLoadingState,this.onError=function(e){Z.setLoadingState(t(t({},Z.loadingState),{isFetching:!1,isLoading:!1,error:e})),null==D||D(e)},this.enableLogs=j||!1,this.cacheOptions=O?{skipAPI:!!O.skipAPI,ttl:O.ttl||0,storageKey:O.storageKey,loadStale:!!O.loadStale}:this.cacheOptions,!this.cacheOptions.ttl&&this.cacheOptions.skipAPI&&console.warn("Flagsmith: you have set a cache ttl of 0 and are skipping API calls, this means the API will not be hit unless you clear local storage."),T&&(d=T),this.enableAnalytics=w||!1,this.flags=Object.assign({},_)||{},this.datadogRum=A||null,this.initialised=!0,this.ticks=1e4,this.timer=this.enableLogs?(new Date).valueOf():null,this.cacheFlags=void 0!==g&&!!F,this.applicationMetadata=x,f="FLAGSMITH_EVENT_"+h.environment.apiKey,y&&(g=y),M&&"undefined"!=typeof window&&this.setupRealtime(K,h.environment.apiKey),Object.keys(this.flags).length&&(this.loadingState=t(t({},this.loadingState),{isLoading:!1,source:v.DEFAULT_FLAGS})),this.setState(B),this.log("Initialising with properties",n,this),I&&("undefined"==typeof dtrum?console.error("You have attempted to enable dynatrace but dtrum is undefined, please check you have the Dynatrace RUM JavaScript API installed."):this.dtrum=dtrum),G&&(this.sentryClient=G),S&&(d=function(t){return function(e,i){var n=i.headers,a=i.method,l=i.body,o={headers:n,observe:"response",responseType:"text"},s=function(t,e){var i=t.status,n=t.headers,a=t.body,l=t.error,o=t.message;return{status:null!=i?i:e?200:500,ok:e,headers:{get:function(t){var e,i;return null!==(i=null===(e=null==n?void 0:n.get)||void 0===e?void 0:e.call(n,t))&&void 0!==i?i:null}},text:function(){var t,e,i=null!==(e=null!==(t=null!=a?a:l)&&void 0!==t?t:o)&&void 0!==e?e:"";return Promise.resolve("string"!=typeof i?JSON.stringify(i):i)}}};return new Promise((function(i){var n=function(t){return i(s(t,!t.status||t.status>=200&&t.status<300))},r=function(t){return i(s(t,!1))};switch(a){case"GET":return t.get(e,o).subscribe(n,r);case"POST":case"PUT":return t.post(e,null!=l?l:"",o).subscribe(n,r);default:return r({status:405,message:"Unsupported method: ".concat(a)})}}))}}(S)),g&&this.canUseStorage&&g.getItem(f).then((function(t){try{Z.evaluationEvent=JSON.parse(t)||{}}catch(t){Z.evaluationEvent={}}Z.analyticsInterval=setInterval(Z.analyticsFlags,Z.ticks)})),this.enableAnalytics&&(this.analyticsInterval&&clearInterval(this.analyticsInterval),g&&this.canUseStorage&&g.getItem(f,(function(e,i){if(i&&Z.evaluationContext.environment){var n=JSON.parse(i);if(n[Z.evaluationContext.environment.apiKey]){var a=Z.getState();Z.log("Retrieved events from cache",i),Z.setState(t(t({},a),{evaluationEvent:n[Z.evaluationContext.environment.apiKey]}))}}}))),P?this.initPipelineAnalytics(P):this.stopPipelineAnalytics(),!F)return[3,9];if(!g||!this.canUseStorage)return[3,8];q=function(n,a){return e(Z,void 0,void 0,(function(){var e,n,o,s,r,c,d,h,g,f,p,y,m,C,S,b,E,x,F,O=this;return i(this,(function(i){switch(i.label){case 0:if(!a)return[3,7];e=null,n=null,i.label=1;case 1:return i.trys.push([1,5,,6]),o=JSON.parse(a),s=!1,r=!1,o&&o.api===this.api&&(null===(f=null===(g=o.evaluationContext)||void 0===g?void 0:g.environment)||void 0===f?void 0:f.apiKey)===(null===(p=this.evaluationContext.environment)||void 0===p?void 0:p.apiKey)&&(c=!0,this.evaluationContext.identity&&(null===(m=null===(y=o.evaluationContext)||void 0===y?void 0:y.identity)||void 0===m?void 0:m.identifier)!==this.evaluationContext.identity.identifier&&(this.log("Ignoring cache, identity has changed from "+(null===(S=null===(C=o.evaluationContext)||void 0===C?void 0:C.identity)||void 0===S?void 0:S.identifier)+" to "+this.evaluationContext.identity.identifier),c=!1),this.cacheOptions.ttl&&(!o.ts||(new Date).valueOf()-o.ts>this.cacheOptions.ttl)&&(o.ts&&!this.cacheOptions.loadStale?(this.log("Ignoring cache, timestamp is too old ts:"+o.ts+" ttl: "+this.cacheOptions.ttl+" time elapsed since cache: "+((new Date).valueOf()-o.ts)+"ms"),c=!1):o.ts&&this.cacheOptions.loadStale&&(this.log("Loading stale cache, timestamp ts:"+o.ts+" ttl: "+this.cacheOptions.ttl+" time elapsed since cache: "+((new Date).valueOf()-o.ts)+"ms"),r=!0,c=!0)),c&&(s=!0,e=l(this.flags,o.flags),this.setState(t(t({},o),{evaluationContext:u(t(t({},o.evaluationContext),{identity:(null===(b=o.evaluationContext)||void 0===b?void 0:b.identity)?t(t({},null===(E=o.evaluationContext)||void 0===E?void 0:E.identity),{traits:t({},V||{})}):void 0}))})),this.log("Retrieved flags from cache",o))),s?(d=!J&&(!this.cacheOptions.skipAPI||r),this._onChange(null,{isFromServer:!1,flagsChanged:e,traitsChanged:n},this._loadedState(null,v.CACHE,d)),this.oldFlags=this.flags,this.cacheOptions.skipAPI&&s&&!r&&this.log("Skipping API, using cache"),d&&this.getFlags().catch((function(t){var e;null===(e=O.onError)||void 0===e||e.call(O,t)})),[3,4]):[3,2];case 2:return J?[3,4]:[4,this.getFlags()];case 3:i.sent(),i.label=4;case 4:return[3,6];case 5:throw h=i.sent(),this.log("Exception fetching cached logs",h),h;case 6:return[3,10];case 7:return J?[3,9]:[4,this.getFlags()];case 8:return i.sent(),[3,10];case 9:if(_)this._onChange(null,{isFromServer:!1,flagsChanged:l({},this.flags),traitsChanged:l({},null===(x=this.evaluationContext.identity)||void 0===x?void 0:x.traits)},this._loadedState(null,v.DEFAULT_FLAGS));else{if(!this.flags)throw new Error(H);this._onChange(null,{isFromServer:!1,flagsChanged:l({},this.flags),traitsChanged:l({},null===(F=this.evaluationContext.identity)||void 0===F?void 0:F.traits)},this._loadedState(null,v.DEFAULT_FLAGS))}i.label=10;case 10:return[2]}}))}))},$.label=2;case 2:return $.trys.push([2,7,,8]),g.getItemSync?(W=g.getItemSync(this.getStorageKey()),[3,5]):[3,3];case 3:return[4,g.getItem(this.getStorageKey())];case 4:W=$.sent(),$.label=5;case 5:return[4,q(null,W)];case 6:return $.sent(),[3,8];case 7:if(X=$.sent(),!this.flags||0===Object.keys(this.flags).length)throw X;return Q=X instanceof Error?X:new Error("".concat(X)),null===(a=this.onError)||void 0===a||a.call(this,Q),[3,8];case 8:return[3,12];case 9:return J?[3,11]:[4,this.getFlags()];case 10:return $.sent(),[3,12];case 11:if(_)this._onChange(null,{isFromServer:!1,flagsChanged:l({},_),traitsChanged:l({},null===(o=h.identity)||void 0===o?void 0:o.traits)},this._loadedState(null,v.DEFAULT_FLAGS));else if(this.flags&&(Y=null,0===Object.keys(this.flags).length&&(Y=H),this._onChange(null,{isFromServer:!1,flagsChanged:l({},this.flags),traitsChanged:l({},null===(s=h.identity)||void 0===s?void 0:s.traits)},this._loadedState(Y,v.DEFAULT_FLAGS)),Y))throw new Error(Y);$.label=12;case 12:return[3,14];case 13:throw z=$.sent(),this.log("Error during initialisation ",z),Q=z instanceof Error?z:new Error("".concat(z)),null===(r=this.onError)||void 0===r||r.call(this,Q),z;case 14:return[2]}}))}))},y.prototype.getAllFlags=function(){return this.flags},y.prototype.identify=function(t,e,i){return this.identity=t,this.evaluationContext.identity={identifier:t,transient:i,traits:this.evaluationContext.identity&&this.evaluationContext.identity.identifier==t?this.evaluationContext.identity.traits:{}},this.evaluationContext.identity.identifier=t,this.log("Identify: "+this.evaluationContext.identity.identifier),e&&(this.evaluationContext.identity.traits=Object.fromEntries(Object.entries(e).map((function(t){var e=t[0],i=t[1];return[e,s(i)?i:{value:i}]})))),this.initialised?this.getFlags():Promise.resolve()},y.prototype.getState=function(){return{api:this.api,flags:this.flags,ts:this.ts,evaluationContext:this.evaluationContext,identity:this.identity,evaluationEvent:this.evaluationEvent}},y.prototype.setState=function(t){var e,i;t&&(this.initialised=!0,this.api=t.api||this.api||p,this.flags=t.flags||this.flags,this.evaluationContext=t.evaluationContext||this.evaluationContext,this.evaluationEvent=t.evaluationEvent||this.evaluationEvent,this.identity=null===(i=null===(e=this.getContext())||void 0===e?void 0:e.identity)||void 0===i?void 0:i.identifier,this.log("setState called",this))},y.prototype.logout=function(){return this.identity=null,this.evaluationContext.identity=null,this.initialised?this.getFlags():Promise.resolve()},y.prototype.startListening=function(t){void 0===t&&(t=1e3),this.getFlagInterval&&clearInterval(this.getFlagInterval),this.getFlagInterval=setInterval(this.getFlags,t)},y.prototype.stopListening=function(){this.getFlagInterval&&(clearInterval(this.getFlagInterval),this.getFlagInterval=null)},y.prototype._loadedState=function(t,e,i){return void 0===t&&(t=null),void 0===i&&(i=!1),{error:t,isFetching:i,isLoading:!1,source:e}},y.prototype.log=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];this.enableLogs&&console.log.apply(this,n(["FLAGSMITH:",(new Date).valueOf()-(this.timer||0),"ms"],t,!0))},y.prototype.updateStorage=function(){if(this.cacheFlags){this.ts=(new Date).valueOf();var t=JSON.stringify(this.getState());this.log("Setting storage",t),g.setItem(this.getStorageKey(),t)}},y.prototype.updateEventStorage=function(){if(this.enableAnalytics){var t=JSON.stringify(this.getState().evaluationEvent);g.setItem(f,t).catch((function(t){return console.error("Flagsmith: Error setting item in async storage",t)}))}},y.prototype.initPipelineAnalytics=function(t){var e,i,n,a;this.stopPipelineAnalytics(),this.evaluationAnalyticsUrl=c(t.analyticsServerUrl),this.evaluationAnalyticsMaxBuffer=null!==(e=t.maxBuffer)&&void 0!==e?e:1e3,this.pipelineFlushInterval=null!==(i=t.flushInterval)&&void 0!==i?i:1e4,this.pipelineEvents=[],this.pipelineFlushInterval>0&&(this.pipelineAnalyticsInterval=setInterval(this.flushPipelineAnalytics,this.pipelineFlushInterval),null===(a=null===(n=this.pipelineAnalyticsInterval)||void 0===n?void 0:n.unref)||void 0===a||a.call(n))},y.prototype.stopPipelineAnalytics=function(){this.pipelineAnalyticsInterval&&(clearInterval(this.pipelineAnalyticsInterval),this.pipelineAnalyticsInterval=null),this.evaluationAnalyticsUrl=null,this.pipelineEvents=[],this.pipelineRecordedKeys.clear()},y.prototype.trimPipelineBuffer=function(){if(this.pipelineEvents.length>this.evaluationAnalyticsMaxBuffer){var t=this.pipelineEvents.length-this.evaluationAnalyticsMaxBuffer;this.pipelineEvents=this.pipelineEvents.slice(t)}},y.prototype.recordPipelineEvent=function(e){var i,n,a,l,o,s,r,u=e.toLowerCase().replace(/ /g,"_"),c=this.flags&&this.flags[u],v="".concat(null!==(n=null===(i=this.evaluationContext.identity)||void 0===i?void 0:i.identifier)&&void 0!==n?n:"none","|").concat(null!==(a=null==c?void 0:c.enabled)&&void 0!==a&&a,"|").concat(null!==(l=null==c?void 0:c.value)&&void 0!==l?l:"null");if(this.pipelineRecordedKeys.get(u)!==v){this.pipelineRecordedKeys.set(u,v);var d={event_id:u,event_type:"flag_evaluation",evaluated_at:Date.now(),identity_identifier:null!==(s=null===(o=this.evaluationContext.identity)||void 0===o?void 0:o.identifier)&&void 0!==s?s:null,enabled:c?c.enabled:null,value:c?c.value:null,traits:(null===(r=this.evaluationContext.identity)||void 0===r?void 0:r.traits)?t({},this.evaluationContext.identity.traits):null,metadata:t(t(t({},c?{id:c.id}:{}),"undefined"!=typeof window&&window.location?{page_url:window.location.href}:{}),{sdk_version:"11.0.0-internal.2"})};this.pipelineEvents.push(d),this.trimPipelineBuffer(),0===this.pipelineFlushInterval&&this.flushPipelineAnalytics()}},y.prototype.setLoadingState=function(e){var i;a(e,this.loadingState)||(this.loadingState=t({},e),this.log("Loading state changed",e),null===(i=this._triggerLoadingState)||void 0===i||i.call(this))},y.prototype.setupRealtime=function(t,e){var i=this,n=t+"sse/environments/"+e+"/stream";h?this.eventSource||(this.log("Creating event source with url "+n),this.eventSource=new h(n),this.eventSource.addEventListener("environment_updated",(function(t){var e;try{e=JSON.parse(t.data).updated_at}catch(t){i.log("Could not parse sse event",t)}e?!i.timestamp||e>i.timestamp?i.isLoading?i.log("updated_at is new, but flags are loading",t.data,i.timestamp):(i.log("updated_at is new, fetching flags",t.data,i.timestamp),i.getFlags()):i.log("updated_at is outdated, skipping get flags",t.data,i.timestamp):i.log("No updated_at received, fetching flags",t)}))):this.log("Error, EventSource is undefined")},y}();function m(t){var e=t.fetch,i=t.AsyncStorage,n=t.eventSource;return new y({fetch:e,AsyncStorage:i,eventSource:n})}var C=m({}),S=function(){return m({})};export{v as FlagSource,S as createFlagsmithInstance,C as default};
2
2
  //# sourceMappingURL=next-middleware.mjs.map