@grafana/faro-core 1.13.0 → 1.13.1

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 +1 @@
1
- var GrafanaFaroCore=function(e){"use strict";function n(e,n){return typeof e===n}function t(e,n){return Object.prototype.toString.call(e)===`[object ${n}]`}function r(e,n){try{return e instanceof n}catch(e){return!1}}const i=e=>n(e,"null"),a=e=>n(e,"string"),s=e=>n(e,"number")&&!isNaN(e)||n(e,"bigint"),o=e=>!i(e)&&n(e,"object"),l=e=>n(e,"function"),u=e=>t(e,"Array"),c="undefined"!=typeof Event,d="undefined"!=typeof Error,g=e=>d&&r(e,Error),p="undefined"!=typeof Element,f="undefined"!=typeof Map;function m(e){return null==e||(u(e)||a(e)?0===e.length:!!o(e)&&0===Object.keys(e).length)}function v(e,t){if(e===t)return!0;if(n(e,"number")&&isNaN(e))return n(t,"number")&&isNaN(t);const r=u(e),i=u(t);if(r!==i)return!1;if(r&&i){const n=e.length;if(n!==t.length)return!1;for(let r=n;0!=r--;)if(!v(e[r],t[r]))return!1;return!0}const a=o(e),s=o(t);if(a!==s)return!1;if(e&&t&&a&&s){const n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let e of n)if(!r.includes(e))return!1;for(let r of n)if(!v(e[r],t[r]))return!1;return!0}return!1}function b(){return(new Date).toISOString()}function h(e){return new Date(e).toISOString()}var E;e.LogLevel=void 0,(E=e.LogLevel||(e.LogLevel={})).TRACE="trace",E.DEBUG="debug",E.INFO="info",E.LOG="log",E.WARN="warn",E.ERROR="error";const y=e.LogLevel.LOG,I=[e.LogLevel.TRACE,e.LogLevel.DEBUG,e.LogLevel.INFO,e.LogLevel.LOG,e.LogLevel.WARN,e.LogLevel.ERROR];function T(){}const O="abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ0123456789";const L="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof global?global:"undefined"!=typeof self?self:void 0;function S(){const e=new WeakSet;return function(n,t){if("object"==typeof t&&null!==t){if(e.has(t))return null;e.add(t)}return t}}function N(e={}){return JSON.stringify(null!=e?e:{},S())}class R{constructor(e,n){var t,r;this.signalBuffer=[],this.itemLimit=null!==(t=null==n?void 0:n.itemLimit)&&void 0!==t?t:50,this.sendTimeout=null!==(r=null==n?void 0:n.sendTimeout)&&void 0!==r?r:250,this.paused=(null==n?void 0:n.paused)||!1,this.sendFn=e,this.flushInterval=-1,this.paused||this.start(),document.addEventListener("visibilitychange",(()=>{"hidden"===document.visibilityState&&this.flush()}))}addItem(e){this.paused||(this.signalBuffer.push(e),this.signalBuffer.length>=this.itemLimit&&this.flush())}start(){this.paused=!1,this.sendTimeout>0&&(this.flushInterval=window.setInterval((()=>this.flush()),this.sendTimeout))}pause(){this.paused=!0,clearInterval(this.flushInterval)}groupItems(e){const n=new Map;return e.forEach((e=>{const t=JSON.stringify(e.meta);let r=n.get(t);r=void 0===r?[e]:[...r,e],n.set(t,r)})),Array.from(n.values())}flush(){if(this.paused||0===this.signalBuffer.length)return;this.groupItems(this.signalBuffer).forEach(this.sendFn),this.signalBuffer=[]}}var j;e.TransportItemType=void 0,(j=e.TransportItemType||(e.TransportItemType={})).EXCEPTION="exception",j.LOG="log",j.MEASUREMENT="measurement",j.TRACE="trace",j.EVENT="event";const x={[e.TransportItemType.EXCEPTION]:"exceptions",[e.TransportItemType.LOG]:"logs",[e.TransportItemType.MEASUREMENT]:"measurements",[e.TransportItemType.TRACE]:"traces",[e.TransportItemType.EVENT]:"events"};function A(n){return t=>{if(t.type===e.TransportItemType.EXCEPTION&&t.payload){const e=t.payload,r=`${e.type}: ${e.value}`;if(function(e,n){return e.some((e=>a(e)?n.includes(e):!!n.match(e)))}(n,r))return null}return t}}function w(e,n,t,r){var i;n.debug("Initializing transports");const a=[];let s=t.paused,o=[];const l=e=>{let n=e;for(const e of o){const t=n.map(e).filter(Boolean);if(0===t.length)return[];n=t}return n},u=e=>{const t=l(e);if(0!==t.length)for(const e of a)n.debug(`Transporting item using ${e.name}\n`,t),e.isBatched()&&e.send(t)};let c;(null===(i=t.batching)||void 0===i?void 0:i.enabled)&&(c=new R(u,{sendTimeout:t.batching.sendTimeout,itemLimit:t.batching.itemLimit,paused:s}));return{add:(...i)=>{n.debug("Adding transports"),i.forEach((i=>{n.debug(`Adding "${i.name}" transport`);a.some((e=>e===i))?n.warn(`Transport ${i.name} is already added`):(i.unpatchedConsole=e,i.internalLogger=n,i.config=t,i.metas=r,a.push(i))}))},addBeforeSendHooks:(...e)=>{n.debug("Adding beforeSendHooks\n",o),e.forEach((e=>{e&&o.push(e)}))},addIgnoreErrorsPatterns:(...e)=>{n.debug("Adding ignoreErrorsPatterns\n",e),e.forEach((e=>{e&&o.push(A(e))}))},getBeforeSendHooks:()=>[...o],execute:e=>{var r;s||((null===(r=t.batching)||void 0===r?void 0:r.enabled)&&(null==c||c.addItem(e)),(e=>{var r,i;if((null===(r=t.batching)||void 0===r?void 0:r.enabled)&&a.every((e=>e.isBatched())))return;const[s]=l([e]);if(void 0!==s)for(const e of a)n.debug(`Transporting item using ${e.name}\n`,s),e.isBatched()?(null===(i=t.batching)||void 0===i?void 0:i.enabled)||e.send([s]):e.send(s)})(e))},isPaused:()=>s,pause:()=>{n.debug("Pausing transports"),null==c||c.pause(),s=!0},remove:(...e)=>{n.debug("Removing transports"),e.forEach((e=>{n.debug(`Removing "${e.name}" transport`);const t=a.indexOf(e);-1!==t?a.splice(t,1):n.warn(`Transport "${e.name}" is not added`)}))},removeBeforeSendHooks:(...e)=>{o.filter((n=>!e.includes(n)))},get transports(){return[...a]},unpause:()=>{n.debug("Unpausing transports"),null==c||c.start(),s=!1}}}var C;e.InternalLoggerLevel=void 0,(C=e.InternalLoggerLevel||(e.InternalLoggerLevel={}))[C.OFF=0]="OFF",C[C.ERROR=1]="ERROR",C[C.WARN=2]="WARN",C[C.INFO=3]="INFO",C[C.VERBOSE=4]="VERBOSE";const k={debug:T,error:T,info:T,prefix:"Faro",warn:T},_=e.InternalLoggerLevel.ERROR,P=Object.assign({},console);let B=P;function F(e){var n;return B=null!==(n=e.unpatchedConsole)&&void 0!==n?n:B,B}function D(n=P,t=_){const r=k;return t>e.InternalLoggerLevel.OFF&&(r.error=t>=e.InternalLoggerLevel.ERROR?function(...e){n.error(`${r.prefix}\n`,...e)}:T,r.warn=t>=e.InternalLoggerLevel.WARN?function(...e){n.warn(`${r.prefix}\n`,...e)}:T,r.info=t>=e.InternalLoggerLevel.INFO?function(...e){n.info(`${r.prefix}\n`,...e)}:T,r.debug=t>=e.InternalLoggerLevel.VERBOSE?function(...e){n.debug(`${r.prefix}\n`,...e)}:T),r}let M=k;function V(e,n){return M=D(e,n.internalLoggerLevel),M}class ${constructor(){this.unpatchedConsole=P,this.internalLogger=k,this.config={},this.metas={}}logDebug(...e){this.internalLogger.debug(`${this.name}\n`,...e)}logInfo(...e){this.internalLogger.info(`${this.name}\n`,...e)}logWarn(...e){this.internalLogger.warn(`${this.name}\n`,...e)}logError(...e){this.internalLogger.error(`${this.name}\n`,...e)}}function G(e,n){var t,r;if(void 0===n)return e;if(void 0===e)return{resourceSpans:n};const i=null===(t=e.resourceSpans)||void 0===t?void 0:t[0];if(void 0===i)return e;const a=(null==i?void 0:i.scopeSpans)||[],s=(null===(r=null==n?void 0:n[0])||void 0===r?void 0:r.scopeSpans)||[];return Object.assign(Object.assign({},e),{resourceSpans:[Object.assign(Object.assign({},i),{scopeSpans:[...a,...s]})]})}const z="Error";let U;function K(e){let n=e.cause;return g(n)?n=e.cause.toString():null!==n&&(o(e.cause)||u(e.cause))?n=JSON.stringify(e.cause):null!=n&&(n=e.cause.toString()),null==n?{}:{cause:n}}const W=e=>e.map((e=>{try{return String(e)}catch(e){return""}})).join(" ");function H(n,t,r,s,o){t.debug("Initializing API");const l=function(n,t,r,i,a){let s;return t.debug("Initializing traces API"),{getOTEL:()=>s,getTraceContext:()=>{const e=null==s?void 0:s.trace.getSpanContext(s.context.active());return e?{trace_id:e.traceId,span_id:e.spanId}:void 0},initOTEL:(e,n)=>{t.debug("Initializing OpenTelemetry"),s={trace:e,context:n}},isOTELInitialized:()=>!!s,pushTraces:n=>{try{const r={type:e.TransportItemType.TRACE,payload:n,meta:i.value};t.debug("Pushing trace\n",r),a.execute(r)}catch(e){t.error("Error pushing trace\n",e)}}}}(0,t,0,s,o);return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},l),function(n,t,r,a,s,o){var l;t.debug("Initializing exceptions API");let u=null;U=null!==(l=r.parseStacktrace)&&void 0!==l?l:U;const c=e=>{t.debug("Changing stacktrace parser"),U=null!=e?e:U};return c(r.parseStacktrace),{changeStacktraceParser:c,getStacktraceParser:()=>U,pushError:(n,{skipDedupe:l,stackFrames:c,type:d,context:g,spanContext:p,timestampOverwriteMs:f}={})=>{d=d||n.name||z;const m={meta:a.value,payload:{type:d,value:n.message,timestamp:f?h(f):b(),trace:p?{trace_id:p.traceId,span_id:p.spanId}:o.getTraceContext(),context:Object.assign(Object.assign({},K(n)),null!=g?g:{})},type:e.TransportItemType.EXCEPTION};(null==(c=null!=c?c:n.stack?null==U?void 0:U(n).frames:void 0)?void 0:c.length)&&(m.payload.stacktrace={frames:c});const E={type:m.payload.type,value:m.payload.value,stackTrace:m.payload.stacktrace,context:m.payload.context};l||!r.dedupe||i(u)||!v(E,u)?(u=E,t.debug("Pushing exception\n",m),s.execute(m)):t.debug("Skipping error push because it is the same as the last one\n",m.payload)}}}(0,t,r,s,o,l)),function(e,n,t,r){let i,s,o,l;n.debug("Initializing meta API");const u=e=>{s&&r.remove(s),s={user:e},r.add(s)},c=(e,n)=>{const t=null==n?void 0:n.overrides;i&&r.remove(i),i={session:Object.assign(Object.assign({},m(e)?void 0:e),t?{overrides:t}:{})},r.add(i)},d=()=>r.value.session;return{setUser:u,resetUser:u,setSession:c,resetSession:c,getSession:d,setView:(e,n)=>{var t;if((null==n?void 0:n.overrides)&&c(d(),{overrides:n.overrides}),(null===(t=null==o?void 0:o.view)||void 0===t?void 0:t.name)===(null==e?void 0:e.name))return;const i=o;o={view:e},r.add(o),i&&r.remove(i)},getView:()=>r.value.view,setPage:e=>{const n=a(e)?Object.assign(Object.assign({},null==l?void 0:l.page),{id:e}):e;l&&r.remove(l),l={page:n},r.add(l)},getPage:()=>r.value.page}}(0,t,0,s)),function(n,t,r,a,s,o){var l;t.debug("Initializing logs API");let u=null;const c=null!==(l=r.logArgsSerializer)&&void 0!==l?l:W;return{pushLog:(n,{context:l,level:d,skipDedupe:g,spanContext:p,timestampOverwriteMs:f}={})=>{try{const m={type:e.TransportItemType.LOG,payload:{message:c(n),level:null!=d?d:y,context:null!=l?l:{},timestamp:f?h(f):b(),trace:p?{trace_id:p.traceId,span_id:p.spanId}:o.getTraceContext()},meta:a.value},E={message:m.payload.message,level:m.payload.level,context:m.payload.context};if(!g&&r.dedupe&&!i(u)&&v(E,u))return void t.debug("Skipping log push because it is the same as the last one\n",m.payload);u=E,t.debug("Pushing log\n",m),s.execute(m)}catch(e){t.error("Error pushing log\n",e)}}}}(0,t,r,s,o,l)),function(n,t,r,a,s,o){t.debug("Initializing measurements API");let l=null;return{pushMeasurement:(n,{skipDedupe:u,context:c,spanContext:d,timestampOverwriteMs:g}={})=>{try{const p={type:e.TransportItemType.MEASUREMENT,payload:Object.assign(Object.assign({},n),{trace:d?{trace_id:d.traceId,span_id:d.spanId}:o.getTraceContext(),timestamp:g?h(g):b(),context:null!=c?c:{}}),meta:a.value},f={type:p.payload.type,values:p.payload.values,context:p.payload.context};if(!u&&r.dedupe&&!i(l)&&v(f,l))return void t.debug("Skipping measurement push because it is the same as the last one\n",p.payload);l=f,t.debug("Pushing measurement\n",p),s.execute(p)}catch(e){t.error("Error pushing measurement\n",e)}}}}(0,t,r,s,o,l)),function(n,t,r,a,s,o){let l=null;return{pushEvent:(n,u,c,{skipDedupe:d,spanContext:g,timestampOverwriteMs:p}={})=>{try{const f={meta:a.value,payload:{name:n,domain:null!=c?c:r.eventDomain,attributes:u,timestamp:p?h(p):b(),trace:g?{trace_id:g.traceId,span_id:g.spanId}:o.getTraceContext()},type:e.TransportItemType.EVENT},m={name:f.payload.name,attributes:f.payload.attributes,domain:f.payload.domain};if(!d&&r.dedupe&&!i(l)&&v(m,l))return void t.debug("Skipping event push because it is the same as the last one\n",f.payload);l=m,t.debug("Pushing event\n",f),s.execute(f)}catch(e){t.error("Error pushing event",e)}}}}(0,t,r,s,o,l))}const X="1.13.0";const J="_faroInternal";function q(e){e.config.isolate?e.internalLogger.debug("Skipping registering internal Faro instance on global object"):(e.internalLogger.debug("Registering internal Faro instance on global object"),Object.defineProperty(L,J,{configurable:!1,enumerable:!1,writable:!1,value:e}))}function Q(){return J in L}function Y(n,t,r,i,a,s,o){return t.debug("Initializing Faro"),e.faro={api:s,config:r,instrumentations:o,internalLogger:t,metas:i,pause:a.pause,transports:a,unpatchedConsole:n,unpause:a.unpause},q(e.faro),function(e){if(e.config.preventGlobalExposure)e.internalLogger.debug("Skipping registering public Faro instance in the global scope");else{if(e.internalLogger.debug(`Registering public faro reference in the global scope using "${e.config.globalObjectKey}" key`),e.config.globalObjectKey in L)return void e.internalLogger.warn(`Skipping global registration due to key "${e.config.globalObjectKey}" being used already. Please set "globalObjectKey" to something else or set "preventGlobalExposure" to "true"`);Object.defineProperty(L,e.config.globalObjectKey,{configurable:!1,writable:!1,value:e})}}(e.faro),e.faro}e.faro={};return e.BaseExtension=$,e.BaseInstrumentation=class extends ${constructor(){super(...arguments),this.api={},this.transports={}}},e.BaseTransport=class extends ${isBatched(){return!1}getIgnoreUrls(){return[]}},e.Conventions={EventNames:{CLICK:"click",NAVIGATION:"navigation",SESSION_START:"session_start",VIEW_CHANGED:"view_changed"}},e.EVENT_CLICK="click",e.EVENT_NAVIGATION="navigation",e.EVENT_OVERRIDES_SERVICE_NAME="service_name_override",e.EVENT_ROUTE_CHANGE="route_change",e.EVENT_SESSION_EXTEND="session_extend",e.EVENT_SESSION_RESUME="session_resume",e.EVENT_SESSION_START="session_start",e.EVENT_VIEW_CHANGED="view_changed",e.VERSION=X,e.allLogLevels=I,e.createInternalLogger=D,e.createPromiseBuffer=function(e){const{size:n,concurrency:t}=e,r=[];let i=0;const a=()=>{if(i<t&&r.length){const{producer:e,resolve:n,reject:t}=r.shift();i++,e().then((e=>{i--,a(),n(e)}),(e=>{i--,a(),t(e)}))}};return{add:e=>{if(r.length+i>=n)throw new Error("Task buffer full");return new Promise(((n,t)=>{r.push({producer:e,resolve:n,reject:t}),a()}))}}},e.dateNow=function(){return Date.now()},e.deepEqual=v,e.defaultBatchingConfig={enabled:!0,sendTimeout:250,itemLimit:50},e.defaultErrorArgsSerializer=e=>e.map((e=>o(e)?N(e):String(e))).join(" "),e.defaultExceptionType=z,e.defaultGlobalObjectKey="faro",e.defaultInternalLoggerLevel=_,e.defaultLogArgsSerializer=W,e.defaultLogLevel=y,e.defaultUnpatchedConsole=P,e.genShortID=function(e=10){return Array.from(Array(e)).map((()=>O[Math.floor(59*Math.random())])).join("")},e.getCircularDependencyReplacer=S,e.getCurrentTimestamp=b,e.getInternalFaroFromGlobalObject=function(){return L[J]},e.getTransportBody=function(n){let t={meta:{}};return void 0!==n[0]&&(t.meta=n[0].meta),n.forEach((n=>{switch(n.type){case e.TransportItemType.LOG:case e.TransportItemType.EVENT:case e.TransportItemType.EXCEPTION:case e.TransportItemType.MEASUREMENT:const r=x[n.type],i=t[r];t=Object.assign(Object.assign({},t),{[r]:void 0===i?[n.payload]:[...i,n.payload]});break;case e.TransportItemType.TRACE:t=Object.assign(Object.assign({},t),{traces:G(t.traces,n.payload.resourceSpans)})}})),t},e.globalObject=L,e.initializeFaro=function(e){const n=F(e),t=V(n,e);if(Q()&&!e.isolate)return void t.error('Faro is already registered. Either add instrumentations, transports etc. to the global faro instance or use the "isolate" property');t.debug("Initializing");const r=function(e,n){let t=[],r=[];const i=()=>t.reduce(((e,n)=>Object.assign(e,l(n)?n():n)),{}),a=()=>{if(r.length){const e=i();r.forEach((n=>n(e)))}};return{add:(...e)=>{n.debug("Adding metas\n",e),t.push(...e),a()},remove:(...e)=>{n.debug("Removing metas\n",e),t=t.filter((n=>!e.includes(n))),a()},addListener:e=>{n.debug("Adding metas listener\n",e),r.push(e)},removeListener:e=>{n.debug("Removing metas listener\n",e),r=r.filter((n=>n!==e))},get value(){return i()}}}(0,t),i=w(n,t,e,r),a=H(0,t,e,r,i),s=function(e,n,t,r,i,a){n.debug("Initializing instrumentations");const s=[];return{add:(...o)=>{n.debug("Adding instrumentations"),o.forEach((o=>{n.debug(`Adding "${o.name}" instrumentation`),s.some((e=>e.name===o.name))?n.warn(`Instrumentation ${o.name} is already added`):(o.unpatchedConsole=e,o.internalLogger=n,o.config=t,o.metas=r,o.transports=i,o.api=a,s.push(o),o.initialize())}))},get instrumentations(){return[...s]},remove:(...e)=>{n.debug("Removing instrumentations"),e.forEach((e=>{var t,r;n.debug(`Removing "${e.name}" instrumentation`);const i=s.reduce(((n,t,r)=>null===n&&t.name===e.name?r:null),null);i?(null===(r=(t=s[i]).destroy)||void 0===r||r.call(t),s.splice(i,1)):n.warn(`Instrumentation "${e.name}" is not added`)}))}}}(n,t,e,r,i,a),o=Y(n,t,e,r,i,a,s);return function(e){var n,t;const r={sdk:{version:X},app:{bundleId:e.config.app.name&&(i=e.config.app.name,null==L?void 0:L[`__faroBundleId_${i}`])}};var i;const a=null===(n=e.config.sessionTracking)||void 0===n?void 0:n.session;a&&e.api.setSession(a),e.config.app&&(r.app=Object.assign(Object.assign({},e.config.app),r.app)),e.config.user&&(r.user=e.config.user),e.config.view&&(r.view=e.config.view),e.metas.add(r,...null!==(t=e.config.metas)&&void 0!==t?t:[])}(o),function(e){e.transports.add(...e.config.transports),e.transports.addBeforeSendHooks(e.config.beforeSend),e.transports.addIgnoreErrorsPatterns(e.config.ignoreErrors)}(o),function(e){e.instrumentations.add(...e.config.instrumentations)}(o),o},e.internalGlobalObjectKey=J,e.isArray=u,e.isBoolean=e=>n(e,"boolean"),e.isDomError=e=>t(e,"DOMError"),e.isDomException=e=>t(e,"DOMException"),e.isElement=e=>p&&r(e,Element),e.isElementDefined=p,e.isEmpty=m,e.isError=g,e.isErrorDefined=d,e.isErrorEvent=e=>t(e,"ErrorEvent"),e.isEvent=e=>c&&r(e,Event),e.isEventDefined=c,e.isFunction=l,e.isInstanceOf=r,e.isInt=e=>s(e)&&Number.isInteger(e),e.isInternalFaroOnGlobalObject=Q,e.isMap=e=>f&&r(e,Map),e.isMapDefined=f,e.isNull=i,e.isNumber=s,e.isObject=o,e.isPrimitive=e=>!o(e)&&!l(e),e.isRegExp=e=>t(e,"RegExp"),e.isString=a,e.isSymbol=e=>n(e,"symbol"),e.isSyntheticEvent=e=>o(e)&&"nativeEvent"in e&&"preventDefault"in e&&"stopPropagation"in e,e.isThenable=e=>l(null==e?void 0:e.then),e.isToString=t,e.isTypeof=n,e.isUndefined=e=>n(e,"undefined"),e.noop=T,e.setInternalFaroOnGlobalObject=q,e.stringifyExternalJson=N,e.transportItemTypeToBodyKey=x,e.unknownString="unknown",e}({});
1
+ var GrafanaFaroCore=function(e){"use strict";function n(e,n){return typeof e===n}function t(e,n){return Object.prototype.toString.call(e)===`[object ${n}]`}function r(e,n){try{return e instanceof n}catch(e){return!1}}const i=e=>n(e,"null"),a=e=>n(e,"string"),o=e=>n(e,"number")&&!isNaN(e)||n(e,"bigint"),s=e=>!i(e)&&n(e,"object"),l=e=>n(e,"function"),u=e=>t(e,"Array"),c="undefined"!=typeof Event,d="undefined"!=typeof Error,g=e=>d&&r(e,Error),p="undefined"!=typeof Element,f="undefined"!=typeof Map;function m(e){return null==e||(u(e)||a(e)?0===e.length:!!s(e)&&0===Object.keys(e).length)}function v(e,t){if(e===t)return!0;if(n(e,"number")&&isNaN(e))return n(t,"number")&&isNaN(t);const r=u(e),i=u(t);if(r!==i)return!1;if(r&&i){const n=e.length;if(n!==t.length)return!1;for(let r=n;0!=r--;)if(!v(e[r],t[r]))return!1;return!0}const a=s(e),o=s(t);if(a!==o)return!1;if(e&&t&&a&&o){const n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let e of n)if(!r.includes(e))return!1;for(let r of n)if(!v(e[r],t[r]))return!1;return!0}return!1}function b(){return(new Date).toISOString()}function h(e){return new Date(e).toISOString()}var E;e.LogLevel=void 0,(E=e.LogLevel||(e.LogLevel={})).TRACE="trace",E.DEBUG="debug",E.INFO="info",E.LOG="log",E.WARN="warn",E.ERROR="error";const y=e.LogLevel.LOG,I=[e.LogLevel.TRACE,e.LogLevel.DEBUG,e.LogLevel.INFO,e.LogLevel.LOG,e.LogLevel.WARN,e.LogLevel.ERROR];function T(){}const O="abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ0123456789";const L="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof global?global:"undefined"!=typeof self?self:void 0;function S(){const e=new WeakSet;return function(n,t){if("object"==typeof t&&null!==t){if(e.has(t))return null;e.add(t)}return t}}function N(e={}){return JSON.stringify(null!=e?e:{},S())}class R{constructor(e,n){var t,r;this.signalBuffer=[],this.itemLimit=null!==(t=null==n?void 0:n.itemLimit)&&void 0!==t?t:50,this.sendTimeout=null!==(r=null==n?void 0:n.sendTimeout)&&void 0!==r?r:250,this.paused=(null==n?void 0:n.paused)||!1,this.sendFn=e,this.flushInterval=-1,this.paused||this.start(),document.addEventListener("visibilitychange",(()=>{"hidden"===document.visibilityState&&this.flush()}))}addItem(e){this.paused||(this.signalBuffer.push(e),this.signalBuffer.length>=this.itemLimit&&this.flush())}start(){this.paused=!1,this.sendTimeout>0&&(this.flushInterval=window.setInterval((()=>this.flush()),this.sendTimeout))}pause(){this.paused=!0,clearInterval(this.flushInterval)}groupItems(e){const n=new Map;return e.forEach((e=>{const t=JSON.stringify(e.meta);let r=n.get(t);r=void 0===r?[e]:[...r,e],n.set(t,r)})),Array.from(n.values())}flush(){if(this.paused||0===this.signalBuffer.length)return;this.groupItems(this.signalBuffer).forEach(this.sendFn),this.signalBuffer=[]}}var j;e.TransportItemType=void 0,(j=e.TransportItemType||(e.TransportItemType={})).EXCEPTION="exception",j.LOG="log",j.MEASUREMENT="measurement",j.TRACE="trace",j.EVENT="event";const x={[e.TransportItemType.EXCEPTION]:"exceptions",[e.TransportItemType.LOG]:"logs",[e.TransportItemType.MEASUREMENT]:"measurements",[e.TransportItemType.TRACE]:"traces",[e.TransportItemType.EVENT]:"events"};function A(n){return t=>{if(t.type===e.TransportItemType.EXCEPTION&&t.payload){const e=t.payload,r=`${e.type}: ${e.value}`;if(function(e,n){return e.some((e=>a(e)?n.includes(e):!!n.match(e)))}(n,r))return null}return t}}function w(e,n,t,r){var i;n.debug("Initializing transports");const a=[];let o=t.paused,s=[];const l=e=>{let n=e;for(const e of s){const t=n.map(e).filter(Boolean);if(0===t.length)return[];n=t}return n},u=e=>{const t=l(e);if(0!==t.length)for(const e of a)n.debug(`Transporting item using ${e.name}\n`,t),e.isBatched()&&e.send(t)};let c;(null===(i=t.batching)||void 0===i?void 0:i.enabled)&&(c=new R(u,{sendTimeout:t.batching.sendTimeout,itemLimit:t.batching.itemLimit,paused:o}));return{add:(...i)=>{n.debug("Adding transports"),i.forEach((i=>{n.debug(`Adding "${i.name}" transport`);a.some((e=>e===i))?n.warn(`Transport ${i.name} is already added`):(i.unpatchedConsole=e,i.internalLogger=n,i.config=t,i.metas=r,a.push(i))}))},addBeforeSendHooks:(...e)=>{n.debug("Adding beforeSendHooks\n",s),e.forEach((e=>{e&&s.push(e)}))},addIgnoreErrorsPatterns:(...e)=>{n.debug("Adding ignoreErrorsPatterns\n",e),e.forEach((e=>{e&&s.push(A(e))}))},getBeforeSendHooks:()=>[...s],execute:e=>{var r;o||((null===(r=t.batching)||void 0===r?void 0:r.enabled)&&(null==c||c.addItem(e)),(e=>{var r,i;if((null===(r=t.batching)||void 0===r?void 0:r.enabled)&&a.every((e=>e.isBatched())))return;const[o]=l([e]);if(void 0!==o)for(const e of a)n.debug(`Transporting item using ${e.name}\n`,o),e.isBatched()?(null===(i=t.batching)||void 0===i?void 0:i.enabled)||e.send([o]):e.send(o)})(e))},isPaused:()=>o,pause:()=>{n.debug("Pausing transports"),null==c||c.pause(),o=!0},remove:(...e)=>{n.debug("Removing transports"),e.forEach((e=>{n.debug(`Removing "${e.name}" transport`);const t=a.indexOf(e);-1!==t?a.splice(t,1):n.warn(`Transport "${e.name}" is not added`)}))},removeBeforeSendHooks:(...e)=>{s.filter((n=>!e.includes(n)))},get transports(){return[...a]},unpause:()=>{n.debug("Unpausing transports"),null==c||c.start(),o=!1}}}var C;e.InternalLoggerLevel=void 0,(C=e.InternalLoggerLevel||(e.InternalLoggerLevel={}))[C.OFF=0]="OFF",C[C.ERROR=1]="ERROR",C[C.WARN=2]="WARN",C[C.INFO=3]="INFO",C[C.VERBOSE=4]="VERBOSE";const k={debug:T,error:T,info:T,prefix:"Faro",warn:T},_=e.InternalLoggerLevel.ERROR,P=Object.assign({},console);let B=P;function F(e){var n;return B=null!==(n=e.unpatchedConsole)&&void 0!==n?n:B,B}function D(n=P,t=_){const r=k;return t>e.InternalLoggerLevel.OFF&&(r.error=t>=e.InternalLoggerLevel.ERROR?function(...e){n.error(`${r.prefix}\n`,...e)}:T,r.warn=t>=e.InternalLoggerLevel.WARN?function(...e){n.warn(`${r.prefix}\n`,...e)}:T,r.info=t>=e.InternalLoggerLevel.INFO?function(...e){n.info(`${r.prefix}\n`,...e)}:T,r.debug=t>=e.InternalLoggerLevel.VERBOSE?function(...e){n.debug(`${r.prefix}\n`,...e)}:T),r}let M=k;function V(e,n){return M=D(e,n.internalLoggerLevel),M}class ${constructor(){this.unpatchedConsole=P,this.internalLogger=k,this.config={},this.metas={}}logDebug(...e){this.internalLogger.debug(`${this.name}\n`,...e)}logInfo(...e){this.internalLogger.info(`${this.name}\n`,...e)}logWarn(...e){this.internalLogger.warn(`${this.name}\n`,...e)}logError(...e){this.internalLogger.error(`${this.name}\n`,...e)}}function G(e,n){var t,r;if(void 0===n)return e;if(void 0===e)return{resourceSpans:n};const i=null===(t=e.resourceSpans)||void 0===t?void 0:t[0];if(void 0===i)return e;const a=(null==i?void 0:i.scopeSpans)||[],o=(null===(r=null==n?void 0:n[0])||void 0===r?void 0:r.scopeSpans)||[];return Object.assign(Object.assign({},e),{resourceSpans:[Object.assign(Object.assign({},i),{scopeSpans:[...a,...o]})]})}const z="Error";let U;function K(e){let n=e.cause;return g(n)?n=e.cause.toString():null!==n&&(s(e.cause)||u(e.cause))?n=JSON.stringify(e.cause):null!=n&&(n=e.cause.toString()),null==n?{}:{cause:n}}const W=e=>e.map((e=>{try{return String(e)}catch(e){return""}})).join(" ");function H(n,t,r,o,s){t.debug("Initializing API");const l=function(n,t,r,i,a){let o;return t.debug("Initializing traces API"),{getOTEL:()=>o,getTraceContext:()=>{const e=null==o?void 0:o.trace.getSpanContext(o.context.active());return e?{trace_id:e.traceId,span_id:e.spanId}:void 0},initOTEL:(e,n)=>{t.debug("Initializing OpenTelemetry"),o={trace:e,context:n}},isOTELInitialized:()=>!!o,pushTraces:n=>{try{const r={type:e.TransportItemType.TRACE,payload:n,meta:i.value};t.debug("Pushing trace\n",r),a.execute(r)}catch(e){t.error("Error pushing trace\n",e)}}}}(0,t,0,o,s);return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},l),function(n,t,r,a,o,s){var l;t.debug("Initializing exceptions API");let u=null;U=null!==(l=r.parseStacktrace)&&void 0!==l?l:U;const c=e=>{t.debug("Changing stacktrace parser"),U=null!=e?e:U};return c(r.parseStacktrace),{changeStacktraceParser:c,getStacktraceParser:()=>U,pushError:(n,{skipDedupe:l,stackFrames:c,type:d,context:g,spanContext:p,timestampOverwriteMs:f}={})=>{d=d||n.name||z;const m={meta:a.value,payload:{type:d,value:n.message,timestamp:f?h(f):b(),trace:p?{trace_id:p.traceId,span_id:p.spanId}:s.getTraceContext(),context:Object.assign(Object.assign({},K(n)),null!=g?g:{})},type:e.TransportItemType.EXCEPTION};(null==(c=null!=c?c:n.stack?null==U?void 0:U(n).frames:void 0)?void 0:c.length)&&(m.payload.stacktrace={frames:c});const E={type:m.payload.type,value:m.payload.value,stackTrace:m.payload.stacktrace,context:m.payload.context};l||!r.dedupe||i(u)||!v(E,u)?(u=E,t.debug("Pushing exception\n",m),o.execute(m)):t.debug("Skipping error push because it is the same as the last one\n",m.payload)}}}(0,t,r,o,s,l)),function(e,n,t,r){let i,o,s,l;n.debug("Initializing meta API");const u=e=>{o&&r.remove(o),o={user:e},r.add(o)},c=(e,n)=>{const t=null==n?void 0:n.overrides;i&&r.remove(i),i={session:Object.assign(Object.assign({},m(e)?void 0:e),t?{overrides:t}:{})},r.add(i)},d=()=>r.value.session,g=()=>r.value.page;return{setUser:u,resetUser:u,setSession:c,resetSession:c,getSession:d,setView:(e,n)=>{var t;if((null==n?void 0:n.overrides)&&c(d(),{overrides:n.overrides}),(null===(t=null==s?void 0:s.view)||void 0===t?void 0:t.name)===(null==e?void 0:e.name))return;const i=s;s={view:e},r.add(s),i&&r.remove(i)},getView:()=>r.value.view,setPage:e=>{var n;const t=a(e)?Object.assign(Object.assign({},null!==(n=null==l?void 0:l.page)&&void 0!==n?n:g()),{id:e}):e;l&&r.remove(l),l={page:t},r.add(l)},getPage:g}}(0,t,0,o)),function(n,t,r,a,o,s){var l;t.debug("Initializing logs API");let u=null;const c=null!==(l=r.logArgsSerializer)&&void 0!==l?l:W;return{pushLog:(n,{context:l,level:d,skipDedupe:g,spanContext:p,timestampOverwriteMs:f}={})=>{try{const m={type:e.TransportItemType.LOG,payload:{message:c(n),level:null!=d?d:y,context:null!=l?l:{},timestamp:f?h(f):b(),trace:p?{trace_id:p.traceId,span_id:p.spanId}:s.getTraceContext()},meta:a.value},E={message:m.payload.message,level:m.payload.level,context:m.payload.context};if(!g&&r.dedupe&&!i(u)&&v(E,u))return void t.debug("Skipping log push because it is the same as the last one\n",m.payload);u=E,t.debug("Pushing log\n",m),o.execute(m)}catch(e){t.error("Error pushing log\n",e)}}}}(0,t,r,o,s,l)),function(n,t,r,a,o,s){t.debug("Initializing measurements API");let l=null;return{pushMeasurement:(n,{skipDedupe:u,context:c,spanContext:d,timestampOverwriteMs:g}={})=>{try{const p={type:e.TransportItemType.MEASUREMENT,payload:Object.assign(Object.assign({},n),{trace:d?{trace_id:d.traceId,span_id:d.spanId}:s.getTraceContext(),timestamp:g?h(g):b(),context:null!=c?c:{}}),meta:a.value},f={type:p.payload.type,values:p.payload.values,context:p.payload.context};if(!u&&r.dedupe&&!i(l)&&v(f,l))return void t.debug("Skipping measurement push because it is the same as the last one\n",p.payload);l=f,t.debug("Pushing measurement\n",p),o.execute(p)}catch(e){t.error("Error pushing measurement\n",e)}}}}(0,t,r,o,s,l)),function(n,t,r,a,o,s){let l=null;return{pushEvent:(n,u,c,{skipDedupe:d,spanContext:g,timestampOverwriteMs:p}={})=>{try{const f={meta:a.value,payload:{name:n,domain:null!=c?c:r.eventDomain,attributes:u,timestamp:p?h(p):b(),trace:g?{trace_id:g.traceId,span_id:g.spanId}:s.getTraceContext()},type:e.TransportItemType.EVENT},m={name:f.payload.name,attributes:f.payload.attributes,domain:f.payload.domain};if(!d&&r.dedupe&&!i(l)&&v(m,l))return void t.debug("Skipping event push because it is the same as the last one\n",f.payload);l=m,t.debug("Pushing event\n",f),o.execute(f)}catch(e){t.error("Error pushing event",e)}}}}(0,t,r,o,s,l))}const X="1.13.1";const J="_faroInternal";function q(e){e.config.isolate?e.internalLogger.debug("Skipping registering internal Faro instance on global object"):(e.internalLogger.debug("Registering internal Faro instance on global object"),Object.defineProperty(L,J,{configurable:!1,enumerable:!1,writable:!1,value:e}))}function Q(){return J in L}function Y(n,t,r,i,a,o,s){return t.debug("Initializing Faro"),e.faro={api:o,config:r,instrumentations:s,internalLogger:t,metas:i,pause:a.pause,transports:a,unpatchedConsole:n,unpause:a.unpause},q(e.faro),function(e){if(e.config.preventGlobalExposure)e.internalLogger.debug("Skipping registering public Faro instance in the global scope");else{if(e.internalLogger.debug(`Registering public faro reference in the global scope using "${e.config.globalObjectKey}" key`),e.config.globalObjectKey in L)return void e.internalLogger.warn(`Skipping global registration due to key "${e.config.globalObjectKey}" being used already. Please set "globalObjectKey" to something else or set "preventGlobalExposure" to "true"`);Object.defineProperty(L,e.config.globalObjectKey,{configurable:!1,writable:!1,value:e})}}(e.faro),e.faro}e.faro={};return e.BaseExtension=$,e.BaseInstrumentation=class extends ${constructor(){super(...arguments),this.api={},this.transports={}}},e.BaseTransport=class extends ${isBatched(){return!1}getIgnoreUrls(){return[]}},e.Conventions={EventNames:{CLICK:"click",NAVIGATION:"navigation",SESSION_START:"session_start",VIEW_CHANGED:"view_changed"}},e.EVENT_CLICK="click",e.EVENT_NAVIGATION="navigation",e.EVENT_OVERRIDES_SERVICE_NAME="service_name_override",e.EVENT_ROUTE_CHANGE="route_change",e.EVENT_SESSION_EXTEND="session_extend",e.EVENT_SESSION_RESUME="session_resume",e.EVENT_SESSION_START="session_start",e.EVENT_VIEW_CHANGED="view_changed",e.VERSION=X,e.allLogLevels=I,e.createInternalLogger=D,e.createPromiseBuffer=function(e){const{size:n,concurrency:t}=e,r=[];let i=0;const a=()=>{if(i<t&&r.length){const{producer:e,resolve:n,reject:t}=r.shift();i++,e().then((e=>{i--,a(),n(e)}),(e=>{i--,a(),t(e)}))}};return{add:e=>{if(r.length+i>=n)throw new Error("Task buffer full");return new Promise(((n,t)=>{r.push({producer:e,resolve:n,reject:t}),a()}))}}},e.dateNow=function(){return Date.now()},e.deepEqual=v,e.defaultBatchingConfig={enabled:!0,sendTimeout:250,itemLimit:50},e.defaultErrorArgsSerializer=e=>e.map((e=>s(e)?N(e):String(e))).join(" "),e.defaultExceptionType=z,e.defaultGlobalObjectKey="faro",e.defaultInternalLoggerLevel=_,e.defaultLogArgsSerializer=W,e.defaultLogLevel=y,e.defaultUnpatchedConsole=P,e.genShortID=function(e=10){return Array.from(Array(e)).map((()=>O[Math.floor(59*Math.random())])).join("")},e.getCircularDependencyReplacer=S,e.getCurrentTimestamp=b,e.getInternalFaroFromGlobalObject=function(){return L[J]},e.getTransportBody=function(n){let t={meta:{}};return void 0!==n[0]&&(t.meta=n[0].meta),n.forEach((n=>{switch(n.type){case e.TransportItemType.LOG:case e.TransportItemType.EVENT:case e.TransportItemType.EXCEPTION:case e.TransportItemType.MEASUREMENT:const r=x[n.type],i=t[r];t=Object.assign(Object.assign({},t),{[r]:void 0===i?[n.payload]:[...i,n.payload]});break;case e.TransportItemType.TRACE:t=Object.assign(Object.assign({},t),{traces:G(t.traces,n.payload.resourceSpans)})}})),t},e.globalObject=L,e.initializeFaro=function(e){const n=F(e),t=V(n,e);if(Q()&&!e.isolate)return void t.error('Faro is already registered. Either add instrumentations, transports etc. to the global faro instance or use the "isolate" property');t.debug("Initializing");const r=function(e,n){let t=[],r=[];const i=()=>t.reduce(((e,n)=>Object.assign(e,l(n)?n():n)),{}),a=()=>{if(r.length){const e=i();r.forEach((n=>n(e)))}};return{add:(...e)=>{n.debug("Adding metas\n",e),t.push(...e),a()},remove:(...e)=>{n.debug("Removing metas\n",e),t=t.filter((n=>!e.includes(n))),a()},addListener:e=>{n.debug("Adding metas listener\n",e),r.push(e)},removeListener:e=>{n.debug("Removing metas listener\n",e),r=r.filter((n=>n!==e))},get value(){return i()}}}(0,t),i=w(n,t,e,r),a=H(0,t,e,r,i),o=function(e,n,t,r,i,a){n.debug("Initializing instrumentations");const o=[];return{add:(...s)=>{n.debug("Adding instrumentations"),s.forEach((s=>{n.debug(`Adding "${s.name}" instrumentation`),o.some((e=>e.name===s.name))?n.warn(`Instrumentation ${s.name} is already added`):(s.unpatchedConsole=e,s.internalLogger=n,s.config=t,s.metas=r,s.transports=i,s.api=a,o.push(s),s.initialize())}))},get instrumentations(){return[...o]},remove:(...e)=>{n.debug("Removing instrumentations"),e.forEach((e=>{var t,r;n.debug(`Removing "${e.name}" instrumentation`);const i=o.reduce(((n,t,r)=>null===n&&t.name===e.name?r:null),null);i?(null===(r=(t=o[i]).destroy)||void 0===r||r.call(t),o.splice(i,1)):n.warn(`Instrumentation "${e.name}" is not added`)}))}}}(n,t,e,r,i,a),s=Y(n,t,e,r,i,a,o);return function(e){var n,t;const r={sdk:{version:X},app:{bundleId:e.config.app.name&&(i=e.config.app.name,null==L?void 0:L[`__faroBundleId_${i}`])}};var i;const a=null===(n=e.config.sessionTracking)||void 0===n?void 0:n.session;a&&e.api.setSession(a),e.config.app&&(r.app=Object.assign(Object.assign({},e.config.app),r.app)),e.config.user&&(r.user=e.config.user),e.config.view&&(r.view=e.config.view),e.metas.add(r,...null!==(t=e.config.metas)&&void 0!==t?t:[])}(s),function(e){e.transports.add(...e.config.transports),e.transports.addBeforeSendHooks(e.config.beforeSend),e.transports.addIgnoreErrorsPatterns(e.config.ignoreErrors)}(s),function(e){e.instrumentations.add(...e.config.instrumentations)}(s),s},e.internalGlobalObjectKey=J,e.isArray=u,e.isBoolean=e=>n(e,"boolean"),e.isDomError=e=>t(e,"DOMError"),e.isDomException=e=>t(e,"DOMException"),e.isElement=e=>p&&r(e,Element),e.isElementDefined=p,e.isEmpty=m,e.isError=g,e.isErrorDefined=d,e.isErrorEvent=e=>t(e,"ErrorEvent"),e.isEvent=e=>c&&r(e,Event),e.isEventDefined=c,e.isFunction=l,e.isInstanceOf=r,e.isInt=e=>o(e)&&Number.isInteger(e),e.isInternalFaroOnGlobalObject=Q,e.isMap=e=>f&&r(e,Map),e.isMapDefined=f,e.isNull=i,e.isNumber=o,e.isObject=s,e.isPrimitive=e=>!s(e)&&!l(e),e.isRegExp=e=>t(e,"RegExp"),e.isString=a,e.isSymbol=e=>n(e,"symbol"),e.isSyntheticEvent=e=>s(e)&&"nativeEvent"in e&&"preventDefault"in e&&"stopPropagation"in e,e.isThenable=e=>l(null==e?void 0:e.then),e.isToString=t,e.isTypeof=n,e.isUndefined=e=>n(e,"undefined"),e.noop=T,e.setInternalFaroOnGlobalObject=q,e.stringifyExternalJson=N,e.transportItemTypeToBodyKey=x,e.unknownString="unknown",e}({});
@@ -4,7 +4,7 @@ import type { Transport, TransportItem } from '../transports';
4
4
  export declare class MockTransport extends BaseTransport implements Transport {
5
5
  private ignoreURLs;
6
6
  readonly name = "@grafana/transport-mock";
7
- readonly version = "1.13.0";
7
+ readonly version = "1.13.1";
8
8
  items: TransportItem[];
9
9
  constructor(ignoreURLs?: Patterns);
10
10
  send(items: TransportItem[]): void | Promise<void>;
@@ -1 +1 @@
1
- export declare const VERSION = "1.13.0";
1
+ export declare const VERSION = "1.13.1";
@@ -58,8 +58,9 @@ function initializeMetaAPI(_unpatchedConsole, internalLogger, _config, metas, _t
58
58
  };
59
59
  var getView = function () { return metas.value.view; };
60
60
  var setPage = function (page) {
61
+ var _a;
61
62
  var pageMeta = (0, is_1.isString)(page)
62
- ? __assign(__assign({}, metaPage === null || metaPage === void 0 ? void 0 : metaPage.page), { id: page }) : page;
63
+ ? __assign(__assign({}, ((_a = metaPage === null || metaPage === void 0 ? void 0 : metaPage.page) !== null && _a !== void 0 ? _a : getPage())), { id: page }) : page;
63
64
  if (metaPage) {
64
65
  metas.remove(metaPage);
65
66
  }
@@ -1 +1 @@
1
- {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../../src/api/meta/initialize.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Config } from '../../config';\nimport type { InternalLogger } from '../../internalLogger';\nimport type { Meta, Metas } from '../../metas';\nimport type { Transports } from '../../transports';\nimport type { UnpatchedConsole } from '../../unpatchedConsole';\nimport { isEmpty, isString } from '../../utils/is';\n\nimport type { MetaAPI } from './types';\n\nexport function initializeMetaAPI(\n _unpatchedConsole: UnpatchedConsole,\n internalLogger: InternalLogger,\n _config: Config,\n metas: Metas,\n _transports: Transports\n): MetaAPI {\n internalLogger.debug('Initializing meta API');\n\n let metaSession: Partial<Meta> | undefined = undefined;\n let metaUser: Partial<Meta> | undefined = undefined;\n let metaView: Partial<Meta> | undefined = undefined;\n let metaPage: Partial<Meta> | undefined = undefined;\n\n const setUser: MetaAPI['setUser'] = (user) => {\n if (metaUser) {\n metas.remove(metaUser);\n }\n\n metaUser = {\n user,\n };\n\n metas.add(metaUser);\n };\n\n const setSession: MetaAPI['setSession'] = (session, options) => {\n const overrides = options?.overrides;\n\n if (metaSession) {\n metas.remove(metaSession);\n }\n\n metaSession = {\n session: {\n // if session is empty, session manager force creates a new session\n ...(isEmpty(session) ? undefined : session),\n ...(overrides ? { overrides } : {}),\n },\n };\n\n metas.add(metaSession);\n };\n\n const getSession: MetaAPI['getSession'] = () => metas.value.session;\n\n const setView: MetaAPI['setView'] = (view, options) => {\n if (options?.overrides) {\n setSession(getSession(), { overrides: options.overrides });\n }\n\n if (metaView?.view?.name === view?.name) {\n return;\n }\n\n const previousView = metaView;\n\n metaView = {\n view,\n };\n\n metas.add(metaView);\n\n if (previousView) {\n metas.remove(previousView);\n }\n };\n\n const getView: MetaAPI['getView'] = () => metas.value.view;\n\n const setPage: MetaAPI['setPage'] = (page) => {\n const pageMeta = isString(page)\n ? {\n ...metaPage?.page,\n id: page,\n }\n : page;\n\n if (metaPage) {\n metas.remove(metaPage);\n }\n\n metaPage = {\n page: pageMeta,\n };\n\n metas.add(metaPage);\n };\n\n const getPage: MetaAPI['getPage'] = () => metas.value.page;\n\n return {\n setUser,\n resetUser: setUser as MetaAPI['resetUser'],\n setSession,\n resetSession: setSession as MetaAPI['resetSession'],\n getSession,\n setView,\n getView,\n setPage,\n getPage,\n };\n}\n"]}
1
+ {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../../src/api/meta/initialize.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Config } from '../../config';\nimport type { InternalLogger } from '../../internalLogger';\nimport type { Meta, Metas } from '../../metas';\nimport type { Transports } from '../../transports';\nimport type { UnpatchedConsole } from '../../unpatchedConsole';\nimport { isEmpty, isString } from '../../utils/is';\n\nimport type { MetaAPI } from './types';\n\nexport function initializeMetaAPI(\n _unpatchedConsole: UnpatchedConsole,\n internalLogger: InternalLogger,\n _config: Config,\n metas: Metas,\n _transports: Transports\n): MetaAPI {\n internalLogger.debug('Initializing meta API');\n\n let metaSession: Partial<Meta> | undefined = undefined;\n let metaUser: Partial<Meta> | undefined = undefined;\n let metaView: Partial<Meta> | undefined = undefined;\n let metaPage: Partial<Meta> | undefined = undefined;\n\n const setUser: MetaAPI['setUser'] = (user) => {\n if (metaUser) {\n metas.remove(metaUser);\n }\n\n metaUser = {\n user,\n };\n\n metas.add(metaUser);\n };\n\n const setSession: MetaAPI['setSession'] = (session, options) => {\n const overrides = options?.overrides;\n\n if (metaSession) {\n metas.remove(metaSession);\n }\n\n metaSession = {\n session: {\n // if session is empty, session manager force creates a new session\n ...(isEmpty(session) ? undefined : session),\n ...(overrides ? { overrides } : {}),\n },\n };\n\n metas.add(metaSession);\n };\n\n const getSession: MetaAPI['getSession'] = () => metas.value.session;\n\n const setView: MetaAPI['setView'] = (view, options) => {\n if (options?.overrides) {\n setSession(getSession(), { overrides: options.overrides });\n }\n\n if (metaView?.view?.name === view?.name) {\n return;\n }\n\n const previousView = metaView;\n\n metaView = {\n view,\n };\n\n metas.add(metaView);\n\n if (previousView) {\n metas.remove(previousView);\n }\n };\n\n const getView: MetaAPI['getView'] = () => metas.value.view;\n\n const setPage: MetaAPI['setPage'] = (page) => {\n const pageMeta = isString(page)\n ? {\n // metaPage is available once setPage() has been called.\n // This is because page self updating metas like page need to be added as a function\n // Thus we call getPage in case metaPage is empty\n ...(metaPage?.page ?? getPage()),\n id: page,\n }\n : page;\n\n if (metaPage) {\n metas.remove(metaPage);\n }\n\n metaPage = {\n page: pageMeta,\n };\n\n metas.add(metaPage);\n };\n\n const getPage: MetaAPI['getPage'] = () => metas.value.page;\n\n return {\n setUser,\n resetUser: setUser as MetaAPI['resetUser'],\n setSession,\n resetSession: setSession as MetaAPI['resetSession'],\n getSession,\n setView,\n getView,\n setPage,\n getPage,\n };\n}\n"]}
@@ -2,5 +2,5 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VERSION = void 0;
4
4
  // auto-generated by bin/genVersion.ts
5
- exports.VERSION = '1.13.0';
5
+ exports.VERSION = '1.13.1';
6
6
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";;;AAAA,sCAAsC;AACzB,QAAA,OAAO,GAAG,QAAQ,CAAC","sourcesContent":["// auto-generated by bin/genVersion.ts\nexport const VERSION = '1.13.0';\n"]}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";;;AAAA,sCAAsC;AACzB,QAAA,OAAO,GAAG,QAAQ,CAAC","sourcesContent":["// auto-generated by bin/genVersion.ts\nexport const VERSION = '1.13.1';\n"]}
@@ -44,8 +44,9 @@ export function initializeMetaAPI(_unpatchedConsole, internalLogger, _config, me
44
44
  };
45
45
  const getView = () => metas.value.view;
46
46
  const setPage = (page) => {
47
+ var _a;
47
48
  const pageMeta = isString(page)
48
- ? Object.assign(Object.assign({}, metaPage === null || metaPage === void 0 ? void 0 : metaPage.page), { id: page }) : page;
49
+ ? Object.assign(Object.assign({}, ((_a = metaPage === null || metaPage === void 0 ? void 0 : metaPage.page) !== null && _a !== void 0 ? _a : getPage())), { id: page }) : page;
49
50
  if (metaPage) {
50
51
  metas.remove(metaPage);
51
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../../src/api/meta/initialize.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Config } from '../../config';\nimport type { InternalLogger } from '../../internalLogger';\nimport type { Meta, Metas } from '../../metas';\nimport type { Transports } from '../../transports';\nimport type { UnpatchedConsole } from '../../unpatchedConsole';\nimport { isEmpty, isString } from '../../utils/is';\n\nimport type { MetaAPI } from './types';\n\nexport function initializeMetaAPI(\n _unpatchedConsole: UnpatchedConsole,\n internalLogger: InternalLogger,\n _config: Config,\n metas: Metas,\n _transports: Transports\n): MetaAPI {\n internalLogger.debug('Initializing meta API');\n\n let metaSession: Partial<Meta> | undefined = undefined;\n let metaUser: Partial<Meta> | undefined = undefined;\n let metaView: Partial<Meta> | undefined = undefined;\n let metaPage: Partial<Meta> | undefined = undefined;\n\n const setUser: MetaAPI['setUser'] = (user) => {\n if (metaUser) {\n metas.remove(metaUser);\n }\n\n metaUser = {\n user,\n };\n\n metas.add(metaUser);\n };\n\n const setSession: MetaAPI['setSession'] = (session, options) => {\n const overrides = options?.overrides;\n\n if (metaSession) {\n metas.remove(metaSession);\n }\n\n metaSession = {\n session: {\n // if session is empty, session manager force creates a new session\n ...(isEmpty(session) ? undefined : session),\n ...(overrides ? { overrides } : {}),\n },\n };\n\n metas.add(metaSession);\n };\n\n const getSession: MetaAPI['getSession'] = () => metas.value.session;\n\n const setView: MetaAPI['setView'] = (view, options) => {\n if (options?.overrides) {\n setSession(getSession(), { overrides: options.overrides });\n }\n\n if (metaView?.view?.name === view?.name) {\n return;\n }\n\n const previousView = metaView;\n\n metaView = {\n view,\n };\n\n metas.add(metaView);\n\n if (previousView) {\n metas.remove(previousView);\n }\n };\n\n const getView: MetaAPI['getView'] = () => metas.value.view;\n\n const setPage: MetaAPI['setPage'] = (page) => {\n const pageMeta = isString(page)\n ? {\n ...metaPage?.page,\n id: page,\n }\n : page;\n\n if (metaPage) {\n metas.remove(metaPage);\n }\n\n metaPage = {\n page: pageMeta,\n };\n\n metas.add(metaPage);\n };\n\n const getPage: MetaAPI['getPage'] = () => metas.value.page;\n\n return {\n setUser,\n resetUser: setUser as MetaAPI['resetUser'],\n setSession,\n resetSession: setSession as MetaAPI['resetSession'],\n getSession,\n setView,\n getView,\n setPage,\n getPage,\n };\n}\n"]}
1
+ {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../../src/api/meta/initialize.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Config } from '../../config';\nimport type { InternalLogger } from '../../internalLogger';\nimport type { Meta, Metas } from '../../metas';\nimport type { Transports } from '../../transports';\nimport type { UnpatchedConsole } from '../../unpatchedConsole';\nimport { isEmpty, isString } from '../../utils/is';\n\nimport type { MetaAPI } from './types';\n\nexport function initializeMetaAPI(\n _unpatchedConsole: UnpatchedConsole,\n internalLogger: InternalLogger,\n _config: Config,\n metas: Metas,\n _transports: Transports\n): MetaAPI {\n internalLogger.debug('Initializing meta API');\n\n let metaSession: Partial<Meta> | undefined = undefined;\n let metaUser: Partial<Meta> | undefined = undefined;\n let metaView: Partial<Meta> | undefined = undefined;\n let metaPage: Partial<Meta> | undefined = undefined;\n\n const setUser: MetaAPI['setUser'] = (user) => {\n if (metaUser) {\n metas.remove(metaUser);\n }\n\n metaUser = {\n user,\n };\n\n metas.add(metaUser);\n };\n\n const setSession: MetaAPI['setSession'] = (session, options) => {\n const overrides = options?.overrides;\n\n if (metaSession) {\n metas.remove(metaSession);\n }\n\n metaSession = {\n session: {\n // if session is empty, session manager force creates a new session\n ...(isEmpty(session) ? undefined : session),\n ...(overrides ? { overrides } : {}),\n },\n };\n\n metas.add(metaSession);\n };\n\n const getSession: MetaAPI['getSession'] = () => metas.value.session;\n\n const setView: MetaAPI['setView'] = (view, options) => {\n if (options?.overrides) {\n setSession(getSession(), { overrides: options.overrides });\n }\n\n if (metaView?.view?.name === view?.name) {\n return;\n }\n\n const previousView = metaView;\n\n metaView = {\n view,\n };\n\n metas.add(metaView);\n\n if (previousView) {\n metas.remove(previousView);\n }\n };\n\n const getView: MetaAPI['getView'] = () => metas.value.view;\n\n const setPage: MetaAPI['setPage'] = (page) => {\n const pageMeta = isString(page)\n ? {\n // metaPage is available once setPage() has been called.\n // This is because page self updating metas like page need to be added as a function\n // Thus we call getPage in case metaPage is empty\n ...(metaPage?.page ?? getPage()),\n id: page,\n }\n : page;\n\n if (metaPage) {\n metas.remove(metaPage);\n }\n\n metaPage = {\n page: pageMeta,\n };\n\n metas.add(metaPage);\n };\n\n const getPage: MetaAPI['getPage'] = () => metas.value.page;\n\n return {\n setUser,\n resetUser: setUser as MetaAPI['resetUser'],\n setSession,\n resetSession: setSession as MetaAPI['resetSession'],\n getSession,\n setView,\n getView,\n setPage,\n getPage,\n };\n}\n"]}
@@ -1,3 +1,3 @@
1
1
  // auto-generated by bin/genVersion.ts
2
- export const VERSION = '1.13.0';
2
+ export const VERSION = '1.13.1';
3
3
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC","sourcesContent":["// auto-generated by bin/genVersion.ts\nexport const VERSION = '1.13.0';\n"]}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC","sourcesContent":["// auto-generated by bin/genVersion.ts\nexport const VERSION = '1.13.1';\n"]}
@@ -58,8 +58,9 @@ function initializeMetaAPI(_unpatchedConsole, internalLogger, _config, metas, _t
58
58
  };
59
59
  var getView = function () { return metas.value.view; };
60
60
  var setPage = function (page) {
61
+ var _a;
61
62
  var pageMeta = (0, is_1.isString)(page)
62
- ? __assign(__assign({}, metaPage === null || metaPage === void 0 ? void 0 : metaPage.page), { id: page }) : page;
63
+ ? __assign(__assign({}, ((_a = metaPage === null || metaPage === void 0 ? void 0 : metaPage.page) !== null && _a !== void 0 ? _a : getPage())), { id: page }) : page;
63
64
  if (metaPage) {
64
65
  metas.remove(metaPage);
65
66
  }
@@ -1 +1 @@
1
- {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../../../../src/api/meta/initialize.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Config } from '../../config';\nimport type { InternalLogger } from '../../internalLogger';\nimport type { Meta, Metas } from '../../metas';\nimport type { Transports } from '../../transports';\nimport type { UnpatchedConsole } from '../../unpatchedConsole';\nimport { isEmpty, isString } from '../../utils/is';\n\nimport type { MetaAPI } from './types';\n\nexport function initializeMetaAPI(\n _unpatchedConsole: UnpatchedConsole,\n internalLogger: InternalLogger,\n _config: Config,\n metas: Metas,\n _transports: Transports\n): MetaAPI {\n internalLogger.debug('Initializing meta API');\n\n let metaSession: Partial<Meta> | undefined = undefined;\n let metaUser: Partial<Meta> | undefined = undefined;\n let metaView: Partial<Meta> | undefined = undefined;\n let metaPage: Partial<Meta> | undefined = undefined;\n\n const setUser: MetaAPI['setUser'] = (user) => {\n if (metaUser) {\n metas.remove(metaUser);\n }\n\n metaUser = {\n user,\n };\n\n metas.add(metaUser);\n };\n\n const setSession: MetaAPI['setSession'] = (session, options) => {\n const overrides = options?.overrides;\n\n if (metaSession) {\n metas.remove(metaSession);\n }\n\n metaSession = {\n session: {\n // if session is empty, session manager force creates a new session\n ...(isEmpty(session) ? undefined : session),\n ...(overrides ? { overrides } : {}),\n },\n };\n\n metas.add(metaSession);\n };\n\n const getSession: MetaAPI['getSession'] = () => metas.value.session;\n\n const setView: MetaAPI['setView'] = (view, options) => {\n if (options?.overrides) {\n setSession(getSession(), { overrides: options.overrides });\n }\n\n if (metaView?.view?.name === view?.name) {\n return;\n }\n\n const previousView = metaView;\n\n metaView = {\n view,\n };\n\n metas.add(metaView);\n\n if (previousView) {\n metas.remove(previousView);\n }\n };\n\n const getView: MetaAPI['getView'] = () => metas.value.view;\n\n const setPage: MetaAPI['setPage'] = (page) => {\n const pageMeta = isString(page)\n ? {\n ...metaPage?.page,\n id: page,\n }\n : page;\n\n if (metaPage) {\n metas.remove(metaPage);\n }\n\n metaPage = {\n page: pageMeta,\n };\n\n metas.add(metaPage);\n };\n\n const getPage: MetaAPI['getPage'] = () => metas.value.page;\n\n return {\n setUser,\n resetUser: setUser as MetaAPI['resetUser'],\n setSession,\n resetSession: setSession as MetaAPI['resetSession'],\n getSession,\n setView,\n getView,\n setPage,\n getPage,\n };\n}\n"]}
1
+ {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../../../../src/api/meta/initialize.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Config } from '../../config';\nimport type { InternalLogger } from '../../internalLogger';\nimport type { Meta, Metas } from '../../metas';\nimport type { Transports } from '../../transports';\nimport type { UnpatchedConsole } from '../../unpatchedConsole';\nimport { isEmpty, isString } from '../../utils/is';\n\nimport type { MetaAPI } from './types';\n\nexport function initializeMetaAPI(\n _unpatchedConsole: UnpatchedConsole,\n internalLogger: InternalLogger,\n _config: Config,\n metas: Metas,\n _transports: Transports\n): MetaAPI {\n internalLogger.debug('Initializing meta API');\n\n let metaSession: Partial<Meta> | undefined = undefined;\n let metaUser: Partial<Meta> | undefined = undefined;\n let metaView: Partial<Meta> | undefined = undefined;\n let metaPage: Partial<Meta> | undefined = undefined;\n\n const setUser: MetaAPI['setUser'] = (user) => {\n if (metaUser) {\n metas.remove(metaUser);\n }\n\n metaUser = {\n user,\n };\n\n metas.add(metaUser);\n };\n\n const setSession: MetaAPI['setSession'] = (session, options) => {\n const overrides = options?.overrides;\n\n if (metaSession) {\n metas.remove(metaSession);\n }\n\n metaSession = {\n session: {\n // if session is empty, session manager force creates a new session\n ...(isEmpty(session) ? undefined : session),\n ...(overrides ? { overrides } : {}),\n },\n };\n\n metas.add(metaSession);\n };\n\n const getSession: MetaAPI['getSession'] = () => metas.value.session;\n\n const setView: MetaAPI['setView'] = (view, options) => {\n if (options?.overrides) {\n setSession(getSession(), { overrides: options.overrides });\n }\n\n if (metaView?.view?.name === view?.name) {\n return;\n }\n\n const previousView = metaView;\n\n metaView = {\n view,\n };\n\n metas.add(metaView);\n\n if (previousView) {\n metas.remove(previousView);\n }\n };\n\n const getView: MetaAPI['getView'] = () => metas.value.view;\n\n const setPage: MetaAPI['setPage'] = (page) => {\n const pageMeta = isString(page)\n ? {\n // metaPage is available once setPage() has been called.\n // This is because page self updating metas like page need to be added as a function\n // Thus we call getPage in case metaPage is empty\n ...(metaPage?.page ?? getPage()),\n id: page,\n }\n : page;\n\n if (metaPage) {\n metas.remove(metaPage);\n }\n\n metaPage = {\n page: pageMeta,\n };\n\n metas.add(metaPage);\n };\n\n const getPage: MetaAPI['getPage'] = () => metas.value.page;\n\n return {\n setUser,\n resetUser: setUser as MetaAPI['resetUser'],\n setSession,\n resetSession: setSession as MetaAPI['resetSession'],\n getSession,\n setView,\n getView,\n setPage,\n getPage,\n };\n}\n"]}
@@ -13,11 +13,26 @@ var __assign = (this && this.__assign) || function () {
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
14
  var faro_core_1 = require("@grafana/faro-core");
15
15
  var testUtils_1 = require("@grafana/faro-core/src/testUtils");
16
+ var originalWindow = window;
16
17
  describe('Meta API', function () {
18
+ var mockUrl = 'http://dummy.com';
17
19
  beforeEach(function () {
18
- jest.resetAllMocks();
20
+ window = Object.create(window);
21
+ Object.defineProperty(window, 'location', {
22
+ value: {
23
+ href: mockUrl,
24
+ },
25
+ writable: true, // possibility to override
26
+ });
27
+ });
28
+ beforeEach(function () {
29
+ jest.resetModules();
30
+ jest.clearAllMocks();
19
31
  jest.restoreAllMocks();
20
32
  });
33
+ afterAll(function () {
34
+ window = originalWindow;
35
+ });
21
36
  describe('setView', function () {
22
37
  it('updates the view meta if the new view meta is different to the previous one', function () {
23
38
  var api = (0, faro_core_1.initializeFaro)((0, testUtils_1.mockConfig)()).api;
@@ -85,6 +100,10 @@ describe('Meta API', function () {
85
100
  api.setPage(page);
86
101
  expect(api.getPage()).toEqual(page);
87
102
  });
103
+ // Note: there's an integration test in the web-sdk that tests the following scenario:
104
+ // >>> it'sets the page meta correctly when setPage() is called and the locally cached meta is not set <<<
105
+ // This is because it needs web-sdk functions to be able to test the integration
106
+ // you can find it in the pageMeta test file: https://github.com/grafana/faro-web-sdk/blob/3c2ba0f8ea8bfdfb39cd79b704d9a6c07bc7834e/packages/web-sdk/src/metas/page/meta.test.ts#L10
88
107
  });
89
108
  });
90
109
  //# sourceMappingURL=initilialize.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"initilialize.test.js","sourceRoot":"","sources":["../../../../../../src/api/meta/initilialize.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { initializeFaro } from '@grafana/faro-core';\nimport { mockConfig } from '@grafana/faro-core/src/testUtils';\n\ndescribe('Meta API', () => {\n beforeEach(() => {\n jest.resetAllMocks();\n jest.restoreAllMocks();\n });\n\n describe('setView', () => {\n it('updates the view meta if the new view meta is different to the previous one', () => {\n const { api } = initializeFaro(mockConfig());\n\n const view = { name: 'my-view' };\n api.setView(view);\n let previousView = api.getView();\n expect(previousView).toEqual(view);\n\n const newView = { name: 'my-new-view' };\n api.setView(newView);\n previousView = api.getView();\n expect(previousView).toEqual(newView);\n });\n\n it('does not update the view meta if the new view meta is identical to the previous one', () => {\n const { api } = initializeFaro(mockConfig());\n\n const view = { name: 'my-view' };\n api.setView(view);\n let previousView = api.getView();\n expect(previousView).toEqual(view);\n\n const newView = { name: 'my-view' };\n api.setView(newView);\n previousView = api.getView();\n expect(previousView).toEqual(view);\n });\n });\n\n describe('setSession', () => {\n it('adds overrides to the session meta if provided via the setView() function call', () => {\n const initialSession = { id: 'my-session' };\n\n const { api } = initializeFaro(mockConfig({ sessionTracking: { enabled: false, session: initialSession } }));\n\n expect(api.getSession()).toEqual(initialSession);\n\n let overrides = { serviceName: 'service-1' };\n\n const newSession = { id: 'my-new-session', attributes: { hello: 'world' } };\n api.setSession(newSession, { overrides });\n expect(api.getSession()).toEqual({ ...newSession, overrides });\n\n overrides = { serviceName: 'service-2' };\n api.setSession({}, { overrides });\n expect(api.getSession()).toEqual({ overrides });\n\n overrides = { serviceName: 'service-3' };\n api.setSession(undefined, { overrides });\n expect(api.getSession()).toEqual({ overrides });\n });\n });\n\n describe('setPage / getPage', () => {\n it('updates the page meta when setPage(meta) is called', () => {\n const { api } = initializeFaro(mockConfig());\n\n const page = { url: 'http://example.com/my-page', id: 'my-page' };\n api.setPage(page);\n expect(api.getPage()).toEqual(page);\n\n const newPage = { url: 'http://example.com/my-new-page', id: 'my-new-page' };\n api.setPage(newPage);\n expect(api.getPage()).toEqual(newPage);\n });\n\n it('updates the page id if the parameter of setPage is a string', () => {\n const { api } = initializeFaro(mockConfig());\n\n const initialPage = { url: 'http://example.com/my-page', id: 'my-page', attributes: { hello: 'world' } };\n api.setPage(initialPage);\n expect(api.getPage()).toStrictEqual(initialPage);\n\n const newPageId = 'my-new-page-id';\n api.setPage(newPageId);\n expect(api.getPage()?.id).toEqual(newPageId);\n });\n\n it('gets the page meta when getPage(meta) is called', () => {\n const { api } = initializeFaro(mockConfig());\n\n const page = { url: 'http://example.com/my-page', id: 'my-page' };\n api.setPage(page);\n expect(api.getPage()).toEqual(page);\n });\n });\n});\n"]}
1
+ {"version":3,"file":"initilialize.test.js","sourceRoot":"","sources":["../../../../../../src/api/meta/initilialize.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { initializeFaro } from '@grafana/faro-core';\nimport { mockConfig } from '@grafana/faro-core/src/testUtils';\n\nconst originalWindow = window;\n\ndescribe('Meta API', () => {\n const mockUrl = 'http://dummy.com';\n\n beforeEach(() => {\n window = Object.create(window);\n Object.defineProperty(window, 'location', {\n value: {\n href: mockUrl,\n },\n writable: true, // possibility to override\n });\n });\n\n beforeEach(() => {\n jest.resetModules();\n jest.clearAllMocks();\n jest.restoreAllMocks();\n });\n\n afterAll(() => {\n window = originalWindow;\n });\n\n describe('setView', () => {\n it('updates the view meta if the new view meta is different to the previous one', () => {\n const { api } = initializeFaro(mockConfig());\n\n const view = { name: 'my-view' };\n api.setView(view);\n let previousView = api.getView();\n expect(previousView).toEqual(view);\n\n const newView = { name: 'my-new-view' };\n api.setView(newView);\n previousView = api.getView();\n expect(previousView).toEqual(newView);\n });\n\n it('does not update the view meta if the new view meta is identical to the previous one', () => {\n const { api } = initializeFaro(mockConfig());\n\n const view = { name: 'my-view' };\n api.setView(view);\n let previousView = api.getView();\n expect(previousView).toEqual(view);\n\n const newView = { name: 'my-view' };\n api.setView(newView);\n previousView = api.getView();\n expect(previousView).toEqual(view);\n });\n });\n\n describe('setSession', () => {\n it('adds overrides to the session meta if provided via the setView() function call', () => {\n const initialSession = { id: 'my-session' };\n\n const { api } = initializeFaro(mockConfig({ sessionTracking: { enabled: false, session: initialSession } }));\n\n expect(api.getSession()).toEqual(initialSession);\n\n let overrides = { serviceName: 'service-1' };\n\n const newSession = { id: 'my-new-session', attributes: { hello: 'world' } };\n api.setSession(newSession, { overrides });\n expect(api.getSession()).toEqual({ ...newSession, overrides });\n\n overrides = { serviceName: 'service-2' };\n api.setSession({}, { overrides });\n expect(api.getSession()).toEqual({ overrides });\n\n overrides = { serviceName: 'service-3' };\n api.setSession(undefined, { overrides });\n expect(api.getSession()).toEqual({ overrides });\n });\n });\n\n describe('setPage / getPage', () => {\n it('updates the page meta when setPage(meta) is called', () => {\n const { api } = initializeFaro(mockConfig());\n\n const page = { url: 'http://example.com/my-page', id: 'my-page' };\n api.setPage(page);\n expect(api.getPage()).toEqual(page);\n\n const newPage = { url: 'http://example.com/my-new-page', id: 'my-new-page' };\n api.setPage(newPage);\n expect(api.getPage()).toEqual(newPage);\n });\n\n it('updates the page id if the parameter of setPage is a string', () => {\n const { api } = initializeFaro(mockConfig());\n\n const initialPage = { url: 'http://example.com/my-page', id: 'my-page', attributes: { hello: 'world' } };\n api.setPage(initialPage);\n expect(api.getPage()).toStrictEqual(initialPage);\n\n const newPageId = 'my-new-page-id';\n api.setPage(newPageId);\n expect(api.getPage()?.id).toEqual(newPageId);\n });\n\n it('gets the page meta when getPage(meta) is called', () => {\n const { api } = initializeFaro(mockConfig());\n\n const page = { url: 'http://example.com/my-page', id: 'my-page' };\n api.setPage(page);\n expect(api.getPage()).toEqual(page);\n });\n\n // Note: there's an integration test in the web-sdk that tests the following scenario:\n // >>> it'sets the page meta correctly when setPage() is called and the locally cached meta is not set <<<\n // This is because it needs web-sdk functions to be able to test the integration\n // you can find it in the pageMeta test file: https://github.com/grafana/faro-web-sdk/blob/3c2ba0f8ea8bfdfb39cd79b704d9a6c07bc7834e/packages/web-sdk/src/metas/page/meta.test.ts#L10\n });\n});\n"]}
@@ -42,10 +42,10 @@ function defer(fn) {
42
42
  return __awaiter(this, void 0, void 0, function () {
43
43
  return __generator(this, function (_a) {
44
44
  return [2 /*return*/, new Promise(function (resolve) {
45
- setImmediate(function () {
45
+ setTimeout(function () {
46
46
  fn();
47
47
  resolve();
48
- });
48
+ }, 0);
49
49
  })];
50
50
  });
51
51
  });
@@ -1 +1 @@
1
- {"version":3,"file":"promiseBuffer.test.js","sourceRoot":"","sources":["../../../../../src/utils/promiseBuffer.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { createTestPromise, TestPromise } from '../testUtils';\n\nimport { createPromiseBuffer } from './promiseBuffer';\n\nasync function defer(fn: () => void) {\n return new Promise<void>((resolve) => {\n setImmediate(() => {\n fn();\n resolve();\n });\n });\n}\n\ndescribe('PromiseBuffer', () => {\n it('add() new promise that resolves when task is completed', async () => {\n const buf = createPromiseBuffer({ size: 2, concurrency: 2 });\n expect(await buf.add(() => Promise.resolve('hi'))).toEqual('hi');\n });\n\n it('executes tasks concurrently, limited to concurrency setting', async () => {\n const promises: Array<TestPromise<void>> = [];\n const buf = createPromiseBuffer({\n size: 10,\n concurrency: 2,\n });\n\n const addTask = (id: number) => {\n return buf.add(() => {\n const prom = createTestPromise<void>(id);\n promises.push(prom);\n return prom.promise;\n });\n };\n\n addTask(1);\n addTask(2);\n addTask(3);\n\n // 1 & 2 have started to execute. 3d is not started\n expect(promises).toHaveLength(2);\n expect(promises[0]?.id).toEqual(1);\n expect(promises[1]?.id).toEqual(2);\n\n // resolve first two\n promises[0]?.resolve();\n promises[1]?.resolve();\n\n await defer(() => {\n // 3 has started to be executed\n expect(promises).toHaveLength(3);\n expect(promises[2]?.id).toEqual(3);\n promises[2]?.resolve();\n });\n });\n\n it('rejects tasks that exceed buffer size', async () => {\n const promises: Array<TestPromise<void>> = [];\n const buf = createPromiseBuffer({\n size: 3,\n concurrency: 2,\n });\n\n const addTask = (id: number) => {\n return buf.add(() => {\n const prom = createTestPromise<void>(id);\n promises.push(prom);\n return prom.promise;\n });\n };\n\n // adding 3 tasks works, 2 of them begin executing\n addTask(1);\n addTask(2);\n addTask(3);\n expect(promises).toHaveLength(2);\n // adding 4th task fails\n expect(() => addTask(4)).toThrow('Task buffer full');\n\n // finishing a task allows new tasks to be added again\n promises[0]?.resolve();\n\n await defer(() => {\n addTask(4);\n });\n });\n});\n"]}
1
+ {"version":3,"file":"promiseBuffer.test.js","sourceRoot":"","sources":["../../../../../src/utils/promiseBuffer.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { createTestPromise, TestPromise } from '../testUtils';\n\nimport { createPromiseBuffer } from './promiseBuffer';\n\nasync function defer(fn: () => void) {\n return new Promise<void>((resolve) => {\n setTimeout(() => {\n fn();\n resolve();\n }, 0);\n });\n}\n\ndescribe('PromiseBuffer', () => {\n it('add() new promise that resolves when task is completed', async () => {\n const buf = createPromiseBuffer({ size: 2, concurrency: 2 });\n expect(await buf.add(() => Promise.resolve('hi'))).toEqual('hi');\n });\n\n it('executes tasks concurrently, limited to concurrency setting', async () => {\n const promises: Array<TestPromise<void>> = [];\n const buf = createPromiseBuffer({\n size: 10,\n concurrency: 2,\n });\n\n const addTask = (id: number) => {\n return buf.add(() => {\n const prom = createTestPromise<void>(id);\n promises.push(prom);\n return prom.promise;\n });\n };\n\n addTask(1);\n addTask(2);\n addTask(3);\n\n // 1 & 2 have started to execute. 3d is not started\n expect(promises).toHaveLength(2);\n expect(promises[0]?.id).toEqual(1);\n expect(promises[1]?.id).toEqual(2);\n\n // resolve first two\n promises[0]?.resolve();\n promises[1]?.resolve();\n\n await defer(() => {\n // 3 has started to be executed\n expect(promises).toHaveLength(3);\n expect(promises[2]?.id).toEqual(3);\n promises[2]?.resolve();\n });\n });\n\n it('rejects tasks that exceed buffer size', async () => {\n const promises: Array<TestPromise<void>> = [];\n const buf = createPromiseBuffer({\n size: 3,\n concurrency: 2,\n });\n\n const addTask = (id: number) => {\n return buf.add(() => {\n const prom = createTestPromise<void>(id);\n promises.push(prom);\n return prom.promise;\n });\n };\n\n // adding 3 tasks works, 2 of them begin executing\n addTask(1);\n addTask(2);\n addTask(3);\n expect(promises).toHaveLength(2);\n // adding 4th task fails\n expect(() => addTask(4)).toThrow('Task buffer full');\n\n // finishing a task allows new tasks to be added again\n promises[0]?.resolve();\n\n await defer(() => {\n addTask(4);\n });\n });\n});\n"]}
@@ -2,5 +2,5 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VERSION = void 0;
4
4
  // auto-generated by bin/genVersion.ts
5
- exports.VERSION = '1.13.0';
5
+ exports.VERSION = '1.13.1';
6
6
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../../../src/version.ts"],"names":[],"mappings":";;;AAAA,sCAAsC;AACzB,QAAA,OAAO,GAAG,QAAQ,CAAC","sourcesContent":["// auto-generated by bin/genVersion.ts\nexport const VERSION = '1.13.0';\n"]}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../../../src/version.ts"],"names":[],"mappings":";;;AAAA,sCAAsC;AACzB,QAAA,OAAO,GAAG,QAAQ,CAAC","sourcesContent":["// auto-generated by bin/genVersion.ts\nexport const VERSION = '1.13.1';\n"]}
@@ -4,7 +4,7 @@ import type { Transport, TransportItem } from '../transports';
4
4
  export declare class MockTransport extends BaseTransport implements Transport {
5
5
  private ignoreURLs;
6
6
  readonly name = "@grafana/transport-mock";
7
- readonly version = "1.13.0";
7
+ readonly version = "1.13.1";
8
8
  items: TransportItem[];
9
9
  constructor(ignoreURLs?: Patterns);
10
10
  send(items: TransportItem[]): void | Promise<void>;
@@ -1 +1 @@
1
- export declare const VERSION = "1.13.0";
1
+ export declare const VERSION = "1.13.1";
@@ -4,7 +4,7 @@ import type { Transport, TransportItem } from '../transports';
4
4
  export declare class MockTransport extends BaseTransport implements Transport {
5
5
  private ignoreURLs;
6
6
  readonly name = "@grafana/transport-mock";
7
- readonly version = "1.13.0";
7
+ readonly version = "1.13.1";
8
8
  items: TransportItem[];
9
9
  constructor(ignoreURLs?: Patterns);
10
10
  send(items: TransportItem[]): void | Promise<void>;
@@ -1 +1 @@
1
- export declare const VERSION = "1.13.0";
1
+ export declare const VERSION = "1.13.1";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@grafana/faro-core",
3
- "version": "1.13.0",
3
+ "version": "1.13.1",
4
4
  "description": "Core package of Faro.",
5
5
  "engines": {
6
6
  "node": ">=18.0.0"
@@ -63,5 +63,5 @@
63
63
  "publishConfig": {
64
64
  "access": "public"
65
65
  },
66
- "gitHead": "6cd423ffab2f4218c81d624577958d3140a438ba"
66
+ "gitHead": "18459c25eac4d0537af75aa3322048968d4bea08"
67
67
  }