@rudderstack/analytics-js 3.11.6 → 3.11.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,25 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [3.11.8](https://github.com/rudderlabs/rudder-sdk-js/compare/@rudderstack/analytics-js@3.11.7...@rudderstack/analytics-js@3.11.8) (2024-11-21)
6
+
7
+ ### Dependency Updates
8
+
9
+ * `@rudderstack/analytics-js-cookies` updated to version `0.4.10`
10
+ * `@rudderstack/analytics-js-common` updated to version `3.14.7`
11
+ * `@rudderstack/analytics-js-plugins` updated to version `3.6.11`
12
+ ## [3.11.7](https://github.com/rudderlabs/rudder-sdk-js/compare/@rudderstack/analytics-js@3.11.6...@rudderstack/analytics-js@3.11.7) (2024-11-21)
13
+
14
+ ### Dependency Updates
15
+
16
+ * `@rudderstack/analytics-js-cookies` updated to version `0.4.9`
17
+ * `@rudderstack/analytics-js-common` updated to version `3.14.6`
18
+ * `@rudderstack/analytics-js-plugins` updated to version `3.6.10`
19
+
20
+ ### Bug Fixes
21
+
22
+ * utility import ([d86f545](https://github.com/rudderlabs/rudder-sdk-js/commit/d86f54536c5f4cb206c2fd676d3b49dd29e62bcf))
23
+
5
24
  ## [3.11.6](https://github.com/rudderlabs/rudder-sdk-js/compare/@rudderstack/analytics-js@3.11.5...@rudderstack/analytics-js@3.11.6) (2024-11-21)
6
25
 
7
26
  ### Dependency Updates
@@ -837,6 +837,10 @@ var isFunction=function isFunction(value){return typeof value==='function'&&Bool
837
837
  * @param value input value
838
838
  * @returns boolean
839
839
  */var isNullOrUndefined=function isNullOrUndefined(value){return isNull(value)||isUndefined(value);};/**
840
+ * Checks if the input is a BigInt
841
+ * @param value input value
842
+ * @returns True if the input is a BigInt
843
+ */var isBigInt=function isBigInt(value){return typeof value==='bigint';};/**
840
844
  * A function to check given value is defined
841
845
  * @param value input value
842
846
  * @returns boolean
@@ -854,6 +858,8 @@ var isFunction=function isFunction(value){return typeof value==='function'&&Bool
854
858
  * @returns true if the input is an instance of Error and false otherwise
855
859
  */var isTypeOfError=function isTypeOfError(obj){return obj instanceof Error;};
856
860
 
861
+ var LOG_CONTEXT_SEPARATOR=':: ';var SCRIPT_ALREADY_EXISTS_ERROR=function SCRIPT_ALREADY_EXISTS_ERROR(id){return "A script with the id \"".concat(id,"\" is already loaded. Skipping the loading of this script to prevent conflicts.");};var SCRIPT_LOAD_ERROR=function SCRIPT_LOAD_ERROR(id,url){return "Failed to load the script with the id \"".concat(id,"\" from URL \"").concat(url,"\".");};var SCRIPT_LOAD_TIMEOUT_ERROR=function SCRIPT_LOAD_TIMEOUT_ERROR(id,url,timeout){return "A timeout of ".concat(timeout," ms occurred while trying to load the script with id \"").concat(id,"\" from URL \"").concat(url,"\".");};var CIRCULAR_REFERENCE_WARNING=function CIRCULAR_REFERENCE_WARNING(context,key){return "".concat(context).concat(LOG_CONTEXT_SEPARATOR,"A circular reference has been detected in the object and the property \"").concat(key,"\" has been dropped from the output.");};var JSON_STRINGIFY_WARNING="Failed to convert the value to a JSON string.";
862
+
857
863
  var getValueByPath=function getValueByPath(obj,keyPath){var pathParts=keyPath.split('.');return path(pathParts,obj);};var hasValueByPath=function hasValueByPath(obj,path){return Boolean(getValueByPath(obj,path));};var isObject=function isObject(value){return _typeof(value)==='object';};/**
858
864
  * Checks if the input is an object literal or built-in object type and not null
859
865
  * @param value Input value
@@ -875,7 +881,28 @@ mergeDeepRight(mergedArray[index],value):value;});return mergedArray;};var merge
875
881
  * A utility to recursively remove undefined and null values from an object
876
882
  * @param obj input object
877
883
  * @returns a new object
878
- */var _removeUndefinedAndNullValues=function removeUndefinedAndNullValues(obj){var result=pickBy(isDefinedAndNotNull,obj);Object.keys(result).forEach(function(key){var value=result[key];if(isObjectLiteralAndNotNull(value)){result[key]=_removeUndefinedAndNullValues(value);}});return result;};
884
+ */var _removeUndefinedAndNullValues=function removeUndefinedAndNullValues(obj){var result=pickBy(isDefinedAndNotNull,obj);Object.keys(result).forEach(function(key){var value=result[key];if(isObjectLiteralAndNotNull(value)){result[key]=_removeUndefinedAndNullValues(value);}});return result;};var getReplacer=function getReplacer(logger){var ancestors=[];// Array to track ancestor objects
885
+ // Using a regular function to use `this` for the parent context
886
+ return function replacer(key,value){if(isBigInt(value)){return '[BigInt]';// Replace BigInt values
887
+ }// `this` is the object that value is contained in, i.e., its direct parent.
888
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
889
+ // @ts-ignore-next-line
890
+ while(ancestors.length>0&&ancestors[ancestors.length-1]!==this){ancestors.pop();// Remove ancestors that are no longer part of the chain
891
+ }// Check for circular references (if the value is already in the ancestors)
892
+ if(ancestors.includes(value)){return '[Circular Reference]';}// Add current value to ancestors
893
+ ancestors.push(value);return value;};};var _traverseWithThis=function traverseWithThis(obj,replacer){// Create a new result object or array
894
+ var result=Array.isArray(obj)?[]:{};// Traverse object properties or array elements
895
+ // eslint-disable-next-line no-restricted-syntax
896
+ for(var key in obj){if(Object.hasOwnProperty.call(obj,key)){var value=obj[key];// Recursively apply the replacer and traversal
897
+ var sanitizedValue=replacer.call(obj,key,value);// If the value is an object or array, continue traversal
898
+ if(isObjectLiteralAndNotNull(sanitizedValue)||Array.isArray(sanitizedValue)){result[key]=_traverseWithThis(sanitizedValue,replacer);}else {result[key]=sanitizedValue;}}}return result;};/**
899
+ * Recursively traverses an object similar to JSON.stringify,
900
+ * sanitizing BigInts and circular references
901
+ * @param value Input object
902
+ * @param logger Logger instance
903
+ * @returns Sanitized value
904
+ */var getSanitizedValue=function getSanitizedValue(value,logger){var replacer=getReplacer();// This is needed for registering the first ancestor
905
+ var newValue=replacer.call(value,'',value);if(isObjectLiteralAndNotNull(value)||Array.isArray(value)){return _traverseWithThis(value,replacer);}return newValue;};
879
906
 
880
907
  var trim=function trim(value){return value.replace(/^\s+|\s+$/gm,'');};var removeDoubleSpaces=function removeDoubleSpaces(value){return value.replace(/ {2,}/g,' ');};var removeLeadingPeriod=function removeLeadingPeriod(value){return value.replace(/^\.+/,'');};/**
881
908
  * A function to convert values to string
@@ -901,28 +928,6 @@ var trim=function trim(value){return value.replace(/^\s+|\s+$/gm,'');};var remov
901
928
  * @returns decoded string
902
929
  */var fromBase64=function fromBase64(value){return new TextDecoder().decode(base64ToBytes(value));};
903
930
 
904
- var LOG_CONTEXT_SEPARATOR=':: ';var SCRIPT_ALREADY_EXISTS_ERROR=function SCRIPT_ALREADY_EXISTS_ERROR(id){return "A script with the id \"".concat(id,"\" is already loaded. Skipping the loading of this script to prevent conflicts.");};var SCRIPT_LOAD_ERROR=function SCRIPT_LOAD_ERROR(id,url){return "Failed to load the script with the id \"".concat(id,"\" from URL \"").concat(url,"\".");};var SCRIPT_LOAD_TIMEOUT_ERROR=function SCRIPT_LOAD_TIMEOUT_ERROR(id,url,timeout){return "A timeout of ".concat(timeout," ms occurred while trying to load the script with id \"").concat(id,"\" from URL \"").concat(url,"\".");};var CIRCULAR_REFERENCE_WARNING=function CIRCULAR_REFERENCE_WARNING(context,key){return "".concat(context).concat(LOG_CONTEXT_SEPARATOR,"A circular reference has been detected in the object and the property \"").concat(key,"\" has been dropped from the output.");};var JSON_STRINGIFY_WARNING="Failed to convert the value to a JSON string.";
905
-
906
- var JSON_STRINGIFY='JSONStringify';var getCircularReplacer=function getCircularReplacer(excludeNull,excludeKeys,logger){var ancestors=[];// Here we do not want to use arrow function to use "this" in function context
907
- // eslint-disable-next-line func-names
908
- return function(key,value){if(excludeKeys!==null&&excludeKeys!==void 0&&excludeKeys.includes(key)){return undefined;}if(excludeNull&&isNullOrUndefined(value)){return undefined;}if(_typeof(value)!=='object'||isNull(value)){return value;}// `this` is the object that value is contained in, i.e., its direct parent.
909
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
910
- // @ts-ignore-next-line
911
- while(ancestors.length>0&&ancestors[ancestors.length-1]!==this){ancestors.pop();}if(ancestors.includes(value)){logger===null||logger===void 0||logger.warn(CIRCULAR_REFERENCE_WARNING(JSON_STRINGIFY,key));return '[Circular Reference]';}ancestors.push(value);return value;};};/**
912
- * Utility method for JSON stringify object excluding null values & circular references
913
- *
914
- * @param {*} value input
915
- * @param {boolean} excludeNull if it should exclude nul or not
916
- * @param {function} logger optional logger methods for warning
917
- * @returns string
918
- */var stringifyWithoutCircular=function stringifyWithoutCircular(value,excludeNull,excludeKeys,logger){try{return JSON.stringify(value,getCircularReplacer(excludeNull,excludeKeys,logger));}catch(err){logger===null||logger===void 0||logger.warn(JSON_STRINGIFY_WARNING,err);return null;}};/**
919
- * Recursively traverses an object similar to JSON.stringify,
920
- * sanitizing BigInts and circular references
921
- * @param value Input object
922
- * @param logger Logger instance
923
- * @returns Sanitized value
924
- */var getSanitizedValue=function getSanitizedValue(value,logger){return value;};
925
-
926
931
  // if yes make them null instead of omitting in overloaded cases
927
932
  /*
928
933
  * Normalise the overloaded arguments of the page call facade
@@ -1001,6 +1006,20 @@ var getFormattedTimestamp=function getFormattedTimestamp(date){return date.toISO
1001
1006
  * @returns ISO formatted timestamp string
1002
1007
  */var getCurrentTimeFormatted=function getCurrentTimeFormatted(){return getFormattedTimestamp(new Date());};
1003
1008
 
1009
+ var JSON_STRINGIFY='JSONStringify';var getCircularReplacer=function getCircularReplacer(excludeNull,excludeKeys,logger){var ancestors=[];// Here we do not want to use arrow function to use "this" in function context
1010
+ // eslint-disable-next-line func-names
1011
+ return function(key,value){if(excludeKeys!==null&&excludeKeys!==void 0&&excludeKeys.includes(key)){return undefined;}if(excludeNull&&isNullOrUndefined(value)){return undefined;}if(_typeof(value)!=='object'||isNull(value)){return value;}// `this` is the object that value is contained in, i.e., its direct parent.
1012
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
1013
+ // @ts-ignore-next-line
1014
+ while(ancestors.length>0&&ancestors[ancestors.length-1]!==this){ancestors.pop();}if(ancestors.includes(value)){logger===null||logger===void 0||logger.warn(CIRCULAR_REFERENCE_WARNING(JSON_STRINGIFY,key));return '[Circular Reference]';}ancestors.push(value);return value;};};/**
1015
+ * Utility method for JSON stringify object excluding null values & circular references
1016
+ *
1017
+ * @param {*} value input
1018
+ * @param {boolean} excludeNull if it should exclude nul or not
1019
+ * @param {function} logger optional logger methods for warning
1020
+ * @returns string
1021
+ */var stringifyWithoutCircular=function stringifyWithoutCircular(value,excludeNull,excludeKeys,logger){try{return JSON.stringify(value,getCircularReplacer(excludeNull,excludeKeys,logger));}catch(err){logger===null||logger===void 0||logger.warn(JSON_STRINGIFY_WARNING,err);return null;}};
1022
+
1004
1023
  var MANUAL_ERROR_IDENTIFIER='[MANUAL ERROR]';/**
1005
1024
  * Get mutated error with issue prepended to error message
1006
1025
  * @param err Original error
@@ -1008,7 +1027,7 @@ var MANUAL_ERROR_IDENTIFIER='[MANUAL ERROR]';/**
1008
1027
  * @returns Instance of Error with message prepended with issue
1009
1028
  */var getMutatedError=function getMutatedError(err,issue){var finalError=err;if(!isTypeOfError(err)){finalError=new Error("".concat(issue,": ").concat(stringifyWithoutCircular(err)));}else {finalError.message="".concat(issue,": ").concat(err.message);}return finalError;};var dispatchErrorEvent=function dispatchErrorEvent(error){if(isTypeOfError(error)){var _error$stack;error.stack="".concat((_error$stack=error.stack)!==null&&_error$stack!==void 0?_error$stack:'',"\n").concat(MANUAL_ERROR_IDENTIFIER);}globalThis.dispatchEvent(new ErrorEvent('error',{error:error}));};
1010
1029
 
1011
- var APP_NAME='RudderLabs JavaScript SDK';var APP_VERSION='3.11.6';var APP_NAMESPACE='com.rudderlabs.javascript';var MODULE_TYPE='npm';var ADBLOCK_PAGE_CATEGORY='RudderJS-Initiated';var ADBLOCK_PAGE_NAME='ad-block page request';var ADBLOCK_PAGE_PATH='/ad-blocked';var GLOBAL_PRELOAD_BUFFER='preloadedEventsBuffer';var CONSENT_TRACK_EVENT_NAME='Consent Management Interaction';
1030
+ var APP_NAME='RudderLabs JavaScript SDK';var APP_VERSION='3.11.8';var APP_NAMESPACE='com.rudderlabs.javascript';var MODULE_TYPE='npm';var ADBLOCK_PAGE_CATEGORY='RudderJS-Initiated';var ADBLOCK_PAGE_NAME='ad-block page request';var ADBLOCK_PAGE_PATH='/ad-blocked';var GLOBAL_PRELOAD_BUFFER='preloadedEventsBuffer';var CONSENT_TRACK_EVENT_NAME='Consent Management Interaction';
1012
1031
 
1013
1032
  var QUERY_PARAM_TRAIT_PREFIX='ajs_trait_';var QUERY_PARAM_PROPERTY_PREFIX='ajs_prop_';var QUERY_PARAM_ANONYMOUS_ID_KEY='ajs_aid';var QUERY_PARAM_USER_ID_KEY='ajs_uid';var QUERY_PARAM_TRACK_EVENT_NAME_KEY='ajs_event';
1014
1033
 
@@ -835,6 +835,10 @@ var isFunction=function isFunction(value){return typeof value==='function'&&Bool
835
835
  * @param value input value
836
836
  * @returns boolean
837
837
  */var isNullOrUndefined=function isNullOrUndefined(value){return isNull(value)||isUndefined(value);};/**
838
+ * Checks if the input is a BigInt
839
+ * @param value input value
840
+ * @returns True if the input is a BigInt
841
+ */var isBigInt=function isBigInt(value){return typeof value==='bigint';};/**
838
842
  * A function to check given value is defined
839
843
  * @param value input value
840
844
  * @returns boolean
@@ -852,6 +856,8 @@ var isFunction=function isFunction(value){return typeof value==='function'&&Bool
852
856
  * @returns true if the input is an instance of Error and false otherwise
853
857
  */var isTypeOfError=function isTypeOfError(obj){return obj instanceof Error;};
854
858
 
859
+ var LOG_CONTEXT_SEPARATOR=':: ';var SCRIPT_ALREADY_EXISTS_ERROR=function SCRIPT_ALREADY_EXISTS_ERROR(id){return "A script with the id \"".concat(id,"\" is already loaded. Skipping the loading of this script to prevent conflicts.");};var SCRIPT_LOAD_ERROR=function SCRIPT_LOAD_ERROR(id,url){return "Failed to load the script with the id \"".concat(id,"\" from URL \"").concat(url,"\".");};var SCRIPT_LOAD_TIMEOUT_ERROR=function SCRIPT_LOAD_TIMEOUT_ERROR(id,url,timeout){return "A timeout of ".concat(timeout," ms occurred while trying to load the script with id \"").concat(id,"\" from URL \"").concat(url,"\".");};var CIRCULAR_REFERENCE_WARNING=function CIRCULAR_REFERENCE_WARNING(context,key){return "".concat(context).concat(LOG_CONTEXT_SEPARATOR,"A circular reference has been detected in the object and the property \"").concat(key,"\" has been dropped from the output.");};var JSON_STRINGIFY_WARNING="Failed to convert the value to a JSON string.";
860
+
855
861
  var getValueByPath=function getValueByPath(obj,keyPath){var pathParts=keyPath.split('.');return path(pathParts,obj);};var hasValueByPath=function hasValueByPath(obj,path){return Boolean(getValueByPath(obj,path));};var isObject=function isObject(value){return _typeof(value)==='object';};/**
856
862
  * Checks if the input is an object literal or built-in object type and not null
857
863
  * @param value Input value
@@ -873,7 +879,28 @@ mergeDeepRight(mergedArray[index],value):value;});return mergedArray;};var merge
873
879
  * A utility to recursively remove undefined and null values from an object
874
880
  * @param obj input object
875
881
  * @returns a new object
876
- */var _removeUndefinedAndNullValues=function removeUndefinedAndNullValues(obj){var result=pickBy(isDefinedAndNotNull,obj);Object.keys(result).forEach(function(key){var value=result[key];if(isObjectLiteralAndNotNull(value)){result[key]=_removeUndefinedAndNullValues(value);}});return result;};
882
+ */var _removeUndefinedAndNullValues=function removeUndefinedAndNullValues(obj){var result=pickBy(isDefinedAndNotNull,obj);Object.keys(result).forEach(function(key){var value=result[key];if(isObjectLiteralAndNotNull(value)){result[key]=_removeUndefinedAndNullValues(value);}});return result;};var getReplacer=function getReplacer(logger){var ancestors=[];// Array to track ancestor objects
883
+ // Using a regular function to use `this` for the parent context
884
+ return function replacer(key,value){if(isBigInt(value)){return '[BigInt]';// Replace BigInt values
885
+ }// `this` is the object that value is contained in, i.e., its direct parent.
886
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
887
+ // @ts-ignore-next-line
888
+ while(ancestors.length>0&&ancestors[ancestors.length-1]!==this){ancestors.pop();// Remove ancestors that are no longer part of the chain
889
+ }// Check for circular references (if the value is already in the ancestors)
890
+ if(ancestors.includes(value)){return '[Circular Reference]';}// Add current value to ancestors
891
+ ancestors.push(value);return value;};};var _traverseWithThis=function traverseWithThis(obj,replacer){// Create a new result object or array
892
+ var result=Array.isArray(obj)?[]:{};// Traverse object properties or array elements
893
+ // eslint-disable-next-line no-restricted-syntax
894
+ for(var key in obj){if(Object.hasOwnProperty.call(obj,key)){var value=obj[key];// Recursively apply the replacer and traversal
895
+ var sanitizedValue=replacer.call(obj,key,value);// If the value is an object or array, continue traversal
896
+ if(isObjectLiteralAndNotNull(sanitizedValue)||Array.isArray(sanitizedValue)){result[key]=_traverseWithThis(sanitizedValue,replacer);}else {result[key]=sanitizedValue;}}}return result;};/**
897
+ * Recursively traverses an object similar to JSON.stringify,
898
+ * sanitizing BigInts and circular references
899
+ * @param value Input object
900
+ * @param logger Logger instance
901
+ * @returns Sanitized value
902
+ */var getSanitizedValue=function getSanitizedValue(value,logger){var replacer=getReplacer();// This is needed for registering the first ancestor
903
+ var newValue=replacer.call(value,'',value);if(isObjectLiteralAndNotNull(value)||Array.isArray(value)){return _traverseWithThis(value,replacer);}return newValue;};
877
904
 
878
905
  var trim=function trim(value){return value.replace(/^\s+|\s+$/gm,'');};var removeDoubleSpaces=function removeDoubleSpaces(value){return value.replace(/ {2,}/g,' ');};var removeLeadingPeriod=function removeLeadingPeriod(value){return value.replace(/^\.+/,'');};/**
879
906
  * A function to convert values to string
@@ -899,28 +926,6 @@ var trim=function trim(value){return value.replace(/^\s+|\s+$/gm,'');};var remov
899
926
  * @returns decoded string
900
927
  */var fromBase64=function fromBase64(value){return new TextDecoder().decode(base64ToBytes(value));};
901
928
 
902
- var LOG_CONTEXT_SEPARATOR=':: ';var SCRIPT_ALREADY_EXISTS_ERROR=function SCRIPT_ALREADY_EXISTS_ERROR(id){return "A script with the id \"".concat(id,"\" is already loaded. Skipping the loading of this script to prevent conflicts.");};var SCRIPT_LOAD_ERROR=function SCRIPT_LOAD_ERROR(id,url){return "Failed to load the script with the id \"".concat(id,"\" from URL \"").concat(url,"\".");};var SCRIPT_LOAD_TIMEOUT_ERROR=function SCRIPT_LOAD_TIMEOUT_ERROR(id,url,timeout){return "A timeout of ".concat(timeout," ms occurred while trying to load the script with id \"").concat(id,"\" from URL \"").concat(url,"\".");};var CIRCULAR_REFERENCE_WARNING=function CIRCULAR_REFERENCE_WARNING(context,key){return "".concat(context).concat(LOG_CONTEXT_SEPARATOR,"A circular reference has been detected in the object and the property \"").concat(key,"\" has been dropped from the output.");};var JSON_STRINGIFY_WARNING="Failed to convert the value to a JSON string.";
903
-
904
- var JSON_STRINGIFY='JSONStringify';var getCircularReplacer=function getCircularReplacer(excludeNull,excludeKeys,logger){var ancestors=[];// Here we do not want to use arrow function to use "this" in function context
905
- // eslint-disable-next-line func-names
906
- return function(key,value){if(excludeKeys!==null&&excludeKeys!==void 0&&excludeKeys.includes(key)){return undefined;}if(excludeNull&&isNullOrUndefined(value)){return undefined;}if(_typeof(value)!=='object'||isNull(value)){return value;}// `this` is the object that value is contained in, i.e., its direct parent.
907
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
908
- // @ts-ignore-next-line
909
- while(ancestors.length>0&&ancestors[ancestors.length-1]!==this){ancestors.pop();}if(ancestors.includes(value)){logger===null||logger===void 0||logger.warn(CIRCULAR_REFERENCE_WARNING(JSON_STRINGIFY,key));return '[Circular Reference]';}ancestors.push(value);return value;};};/**
910
- * Utility method for JSON stringify object excluding null values & circular references
911
- *
912
- * @param {*} value input
913
- * @param {boolean} excludeNull if it should exclude nul or not
914
- * @param {function} logger optional logger methods for warning
915
- * @returns string
916
- */var stringifyWithoutCircular=function stringifyWithoutCircular(value,excludeNull,excludeKeys,logger){try{return JSON.stringify(value,getCircularReplacer(excludeNull,excludeKeys,logger));}catch(err){logger===null||logger===void 0||logger.warn(JSON_STRINGIFY_WARNING,err);return null;}};/**
917
- * Recursively traverses an object similar to JSON.stringify,
918
- * sanitizing BigInts and circular references
919
- * @param value Input object
920
- * @param logger Logger instance
921
- * @returns Sanitized value
922
- */var getSanitizedValue=function getSanitizedValue(value,logger){return value;};
923
-
924
929
  // if yes make them null instead of omitting in overloaded cases
925
930
  /*
926
931
  * Normalise the overloaded arguments of the page call facade
@@ -999,6 +1004,20 @@ var getFormattedTimestamp=function getFormattedTimestamp(date){return date.toISO
999
1004
  * @returns ISO formatted timestamp string
1000
1005
  */var getCurrentTimeFormatted=function getCurrentTimeFormatted(){return getFormattedTimestamp(new Date());};
1001
1006
 
1007
+ var JSON_STRINGIFY='JSONStringify';var getCircularReplacer=function getCircularReplacer(excludeNull,excludeKeys,logger){var ancestors=[];// Here we do not want to use arrow function to use "this" in function context
1008
+ // eslint-disable-next-line func-names
1009
+ return function(key,value){if(excludeKeys!==null&&excludeKeys!==void 0&&excludeKeys.includes(key)){return undefined;}if(excludeNull&&isNullOrUndefined(value)){return undefined;}if(_typeof(value)!=='object'||isNull(value)){return value;}// `this` is the object that value is contained in, i.e., its direct parent.
1010
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
1011
+ // @ts-ignore-next-line
1012
+ while(ancestors.length>0&&ancestors[ancestors.length-1]!==this){ancestors.pop();}if(ancestors.includes(value)){logger===null||logger===void 0||logger.warn(CIRCULAR_REFERENCE_WARNING(JSON_STRINGIFY,key));return '[Circular Reference]';}ancestors.push(value);return value;};};/**
1013
+ * Utility method for JSON stringify object excluding null values & circular references
1014
+ *
1015
+ * @param {*} value input
1016
+ * @param {boolean} excludeNull if it should exclude nul or not
1017
+ * @param {function} logger optional logger methods for warning
1018
+ * @returns string
1019
+ */var stringifyWithoutCircular=function stringifyWithoutCircular(value,excludeNull,excludeKeys,logger){try{return JSON.stringify(value,getCircularReplacer(excludeNull,excludeKeys,logger));}catch(err){logger===null||logger===void 0||logger.warn(JSON_STRINGIFY_WARNING,err);return null;}};
1020
+
1002
1021
  var MANUAL_ERROR_IDENTIFIER='[MANUAL ERROR]';/**
1003
1022
  * Get mutated error with issue prepended to error message
1004
1023
  * @param err Original error
@@ -1006,7 +1025,7 @@ var MANUAL_ERROR_IDENTIFIER='[MANUAL ERROR]';/**
1006
1025
  * @returns Instance of Error with message prepended with issue
1007
1026
  */var getMutatedError=function getMutatedError(err,issue){var finalError=err;if(!isTypeOfError(err)){finalError=new Error("".concat(issue,": ").concat(stringifyWithoutCircular(err)));}else {finalError.message="".concat(issue,": ").concat(err.message);}return finalError;};var dispatchErrorEvent=function dispatchErrorEvent(error){if(isTypeOfError(error)){var _error$stack;error.stack="".concat((_error$stack=error.stack)!==null&&_error$stack!==void 0?_error$stack:'',"\n").concat(MANUAL_ERROR_IDENTIFIER);}globalThis.dispatchEvent(new ErrorEvent('error',{error:error}));};
1008
1027
 
1009
- var APP_NAME='RudderLabs JavaScript SDK';var APP_VERSION='3.11.6';var APP_NAMESPACE='com.rudderlabs.javascript';var MODULE_TYPE='npm';var ADBLOCK_PAGE_CATEGORY='RudderJS-Initiated';var ADBLOCK_PAGE_NAME='ad-block page request';var ADBLOCK_PAGE_PATH='/ad-blocked';var GLOBAL_PRELOAD_BUFFER='preloadedEventsBuffer';var CONSENT_TRACK_EVENT_NAME='Consent Management Interaction';
1028
+ var APP_NAME='RudderLabs JavaScript SDK';var APP_VERSION='3.11.8';var APP_NAMESPACE='com.rudderlabs.javascript';var MODULE_TYPE='npm';var ADBLOCK_PAGE_CATEGORY='RudderJS-Initiated';var ADBLOCK_PAGE_NAME='ad-block page request';var ADBLOCK_PAGE_PATH='/ad-blocked';var GLOBAL_PRELOAD_BUFFER='preloadedEventsBuffer';var CONSENT_TRACK_EVENT_NAME='Consent Management Interaction';
1010
1029
 
1011
1030
  var QUERY_PARAM_TRAIT_PREFIX='ajs_trait_';var QUERY_PARAM_PROPERTY_PREFIX='ajs_prop_';var QUERY_PARAM_ANONYMOUS_ID_KEY='ajs_aid';var QUERY_PARAM_USER_ID_KEY='ajs_uid';var QUERY_PARAM_TRACK_EVENT_NAME_KEY='ajs_event';
1012
1031
 
@@ -841,6 +841,10 @@
841
841
  * @param value input value
842
842
  * @returns boolean
843
843
  */var isNullOrUndefined=function isNullOrUndefined(value){return isNull(value)||isUndefined(value);};/**
844
+ * Checks if the input is a BigInt
845
+ * @param value input value
846
+ * @returns True if the input is a BigInt
847
+ */var isBigInt=function isBigInt(value){return typeof value==='bigint';};/**
844
848
  * A function to check given value is defined
845
849
  * @param value input value
846
850
  * @returns boolean
@@ -858,6 +862,8 @@
858
862
  * @returns true if the input is an instance of Error and false otherwise
859
863
  */var isTypeOfError=function isTypeOfError(obj){return obj instanceof Error;};
860
864
 
865
+ var LOG_CONTEXT_SEPARATOR=':: ';var SCRIPT_ALREADY_EXISTS_ERROR=function SCRIPT_ALREADY_EXISTS_ERROR(id){return "A script with the id \"".concat(id,"\" is already loaded. Skipping the loading of this script to prevent conflicts.");};var SCRIPT_LOAD_ERROR=function SCRIPT_LOAD_ERROR(id,url){return "Failed to load the script with the id \"".concat(id,"\" from URL \"").concat(url,"\".");};var SCRIPT_LOAD_TIMEOUT_ERROR=function SCRIPT_LOAD_TIMEOUT_ERROR(id,url,timeout){return "A timeout of ".concat(timeout," ms occurred while trying to load the script with id \"").concat(id,"\" from URL \"").concat(url,"\".");};var CIRCULAR_REFERENCE_WARNING=function CIRCULAR_REFERENCE_WARNING(context,key){return "".concat(context).concat(LOG_CONTEXT_SEPARATOR,"A circular reference has been detected in the object and the property \"").concat(key,"\" has been dropped from the output.");};var JSON_STRINGIFY_WARNING="Failed to convert the value to a JSON string.";
866
+
861
867
  var getValueByPath=function getValueByPath(obj,keyPath){var pathParts=keyPath.split('.');return path(pathParts,obj);};var hasValueByPath=function hasValueByPath(obj,path){return Boolean(getValueByPath(obj,path));};var isObject=function isObject(value){return _typeof(value)==='object';};/**
862
868
  * Checks if the input is an object literal or built-in object type and not null
863
869
  * @param value Input value
@@ -879,7 +885,28 @@
879
885
  * A utility to recursively remove undefined and null values from an object
880
886
  * @param obj input object
881
887
  * @returns a new object
882
- */var _removeUndefinedAndNullValues=function removeUndefinedAndNullValues(obj){var result=pickBy(isDefinedAndNotNull,obj);Object.keys(result).forEach(function(key){var value=result[key];if(isObjectLiteralAndNotNull(value)){result[key]=_removeUndefinedAndNullValues(value);}});return result;};
888
+ */var _removeUndefinedAndNullValues=function removeUndefinedAndNullValues(obj){var result=pickBy(isDefinedAndNotNull,obj);Object.keys(result).forEach(function(key){var value=result[key];if(isObjectLiteralAndNotNull(value)){result[key]=_removeUndefinedAndNullValues(value);}});return result;};var getReplacer=function getReplacer(logger){var ancestors=[];// Array to track ancestor objects
889
+ // Using a regular function to use `this` for the parent context
890
+ return function replacer(key,value){if(isBigInt(value)){return '[BigInt]';// Replace BigInt values
891
+ }// `this` is the object that value is contained in, i.e., its direct parent.
892
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
893
+ // @ts-ignore-next-line
894
+ while(ancestors.length>0&&ancestors[ancestors.length-1]!==this){ancestors.pop();// Remove ancestors that are no longer part of the chain
895
+ }// Check for circular references (if the value is already in the ancestors)
896
+ if(ancestors.includes(value)){return '[Circular Reference]';}// Add current value to ancestors
897
+ ancestors.push(value);return value;};};var _traverseWithThis=function traverseWithThis(obj,replacer){// Create a new result object or array
898
+ var result=Array.isArray(obj)?[]:{};// Traverse object properties or array elements
899
+ // eslint-disable-next-line no-restricted-syntax
900
+ for(var key in obj){if(Object.hasOwnProperty.call(obj,key)){var value=obj[key];// Recursively apply the replacer and traversal
901
+ var sanitizedValue=replacer.call(obj,key,value);// If the value is an object or array, continue traversal
902
+ if(isObjectLiteralAndNotNull(sanitizedValue)||Array.isArray(sanitizedValue)){result[key]=_traverseWithThis(sanitizedValue,replacer);}else {result[key]=sanitizedValue;}}}return result;};/**
903
+ * Recursively traverses an object similar to JSON.stringify,
904
+ * sanitizing BigInts and circular references
905
+ * @param value Input object
906
+ * @param logger Logger instance
907
+ * @returns Sanitized value
908
+ */var getSanitizedValue=function getSanitizedValue(value,logger){var replacer=getReplacer();// This is needed for registering the first ancestor
909
+ var newValue=replacer.call(value,'',value);if(isObjectLiteralAndNotNull(value)||Array.isArray(value)){return _traverseWithThis(value,replacer);}return newValue;};
883
910
 
884
911
  var trim=function trim(value){return value.replace(/^\s+|\s+$/gm,'');};var removeDoubleSpaces=function removeDoubleSpaces(value){return value.replace(/ {2,}/g,' ');};var removeLeadingPeriod=function removeLeadingPeriod(value){return value.replace(/^\.+/,'');};/**
885
912
  * A function to convert values to string
@@ -905,28 +932,6 @@
905
932
  * @returns decoded string
906
933
  */var fromBase64=function fromBase64(value){return new TextDecoder().decode(base64ToBytes(value));};
907
934
 
908
- var LOG_CONTEXT_SEPARATOR=':: ';var SCRIPT_ALREADY_EXISTS_ERROR=function SCRIPT_ALREADY_EXISTS_ERROR(id){return "A script with the id \"".concat(id,"\" is already loaded. Skipping the loading of this script to prevent conflicts.");};var SCRIPT_LOAD_ERROR=function SCRIPT_LOAD_ERROR(id,url){return "Failed to load the script with the id \"".concat(id,"\" from URL \"").concat(url,"\".");};var SCRIPT_LOAD_TIMEOUT_ERROR=function SCRIPT_LOAD_TIMEOUT_ERROR(id,url,timeout){return "A timeout of ".concat(timeout," ms occurred while trying to load the script with id \"").concat(id,"\" from URL \"").concat(url,"\".");};var CIRCULAR_REFERENCE_WARNING=function CIRCULAR_REFERENCE_WARNING(context,key){return "".concat(context).concat(LOG_CONTEXT_SEPARATOR,"A circular reference has been detected in the object and the property \"").concat(key,"\" has been dropped from the output.");};var JSON_STRINGIFY_WARNING="Failed to convert the value to a JSON string.";
909
-
910
- var JSON_STRINGIFY='JSONStringify';var getCircularReplacer=function getCircularReplacer(excludeNull,excludeKeys,logger){var ancestors=[];// Here we do not want to use arrow function to use "this" in function context
911
- // eslint-disable-next-line func-names
912
- return function(key,value){if(excludeKeys!==null&&excludeKeys!==void 0&&excludeKeys.includes(key)){return undefined;}if(excludeNull&&isNullOrUndefined(value)){return undefined;}if(_typeof(value)!=='object'||isNull(value)){return value;}// `this` is the object that value is contained in, i.e., its direct parent.
913
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
914
- // @ts-ignore-next-line
915
- while(ancestors.length>0&&ancestors[ancestors.length-1]!==this){ancestors.pop();}if(ancestors.includes(value)){logger===null||logger===void 0||logger.warn(CIRCULAR_REFERENCE_WARNING(JSON_STRINGIFY,key));return '[Circular Reference]';}ancestors.push(value);return value;};};/**
916
- * Utility method for JSON stringify object excluding null values & circular references
917
- *
918
- * @param {*} value input
919
- * @param {boolean} excludeNull if it should exclude nul or not
920
- * @param {function} logger optional logger methods for warning
921
- * @returns string
922
- */var stringifyWithoutCircular=function stringifyWithoutCircular(value,excludeNull,excludeKeys,logger){try{return JSON.stringify(value,getCircularReplacer(excludeNull,excludeKeys,logger));}catch(err){logger===null||logger===void 0||logger.warn(JSON_STRINGIFY_WARNING,err);return null;}};/**
923
- * Recursively traverses an object similar to JSON.stringify,
924
- * sanitizing BigInts and circular references
925
- * @param value Input object
926
- * @param logger Logger instance
927
- * @returns Sanitized value
928
- */var getSanitizedValue=function getSanitizedValue(value,logger){return value;};
929
-
930
935
  // if yes make them null instead of omitting in overloaded cases
931
936
  /*
932
937
  * Normalise the overloaded arguments of the page call facade
@@ -1005,6 +1010,20 @@
1005
1010
  * @returns ISO formatted timestamp string
1006
1011
  */var getCurrentTimeFormatted=function getCurrentTimeFormatted(){return getFormattedTimestamp(new Date());};
1007
1012
 
1013
+ var JSON_STRINGIFY='JSONStringify';var getCircularReplacer=function getCircularReplacer(excludeNull,excludeKeys,logger){var ancestors=[];// Here we do not want to use arrow function to use "this" in function context
1014
+ // eslint-disable-next-line func-names
1015
+ return function(key,value){if(excludeKeys!==null&&excludeKeys!==void 0&&excludeKeys.includes(key)){return undefined;}if(excludeNull&&isNullOrUndefined(value)){return undefined;}if(_typeof(value)!=='object'||isNull(value)){return value;}// `this` is the object that value is contained in, i.e., its direct parent.
1016
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
1017
+ // @ts-ignore-next-line
1018
+ while(ancestors.length>0&&ancestors[ancestors.length-1]!==this){ancestors.pop();}if(ancestors.includes(value)){logger===null||logger===void 0||logger.warn(CIRCULAR_REFERENCE_WARNING(JSON_STRINGIFY,key));return '[Circular Reference]';}ancestors.push(value);return value;};};/**
1019
+ * Utility method for JSON stringify object excluding null values & circular references
1020
+ *
1021
+ * @param {*} value input
1022
+ * @param {boolean} excludeNull if it should exclude nul or not
1023
+ * @param {function} logger optional logger methods for warning
1024
+ * @returns string
1025
+ */var stringifyWithoutCircular=function stringifyWithoutCircular(value,excludeNull,excludeKeys,logger){try{return JSON.stringify(value,getCircularReplacer(excludeNull,excludeKeys,logger));}catch(err){logger===null||logger===void 0||logger.warn(JSON_STRINGIFY_WARNING,err);return null;}};
1026
+
1008
1027
  var MANUAL_ERROR_IDENTIFIER='[MANUAL ERROR]';/**
1009
1028
  * Get mutated error with issue prepended to error message
1010
1029
  * @param err Original error
@@ -1012,7 +1031,7 @@
1012
1031
  * @returns Instance of Error with message prepended with issue
1013
1032
  */var getMutatedError=function getMutatedError(err,issue){var finalError=err;if(!isTypeOfError(err)){finalError=new Error("".concat(issue,": ").concat(stringifyWithoutCircular(err)));}else {finalError.message="".concat(issue,": ").concat(err.message);}return finalError;};var dispatchErrorEvent=function dispatchErrorEvent(error){if(isTypeOfError(error)){var _error$stack;error.stack="".concat((_error$stack=error.stack)!==null&&_error$stack!==void 0?_error$stack:'',"\n").concat(MANUAL_ERROR_IDENTIFIER);}globalThis.dispatchEvent(new ErrorEvent('error',{error:error}));};
1014
1033
 
1015
- var APP_NAME='RudderLabs JavaScript SDK';var APP_VERSION='3.11.6';var APP_NAMESPACE='com.rudderlabs.javascript';var MODULE_TYPE='npm';var ADBLOCK_PAGE_CATEGORY='RudderJS-Initiated';var ADBLOCK_PAGE_NAME='ad-block page request';var ADBLOCK_PAGE_PATH='/ad-blocked';var GLOBAL_PRELOAD_BUFFER='preloadedEventsBuffer';var CONSENT_TRACK_EVENT_NAME='Consent Management Interaction';
1034
+ var APP_NAME='RudderLabs JavaScript SDK';var APP_VERSION='3.11.8';var APP_NAMESPACE='com.rudderlabs.javascript';var MODULE_TYPE='npm';var ADBLOCK_PAGE_CATEGORY='RudderJS-Initiated';var ADBLOCK_PAGE_NAME='ad-block page request';var ADBLOCK_PAGE_PATH='/ad-blocked';var GLOBAL_PRELOAD_BUFFER='preloadedEventsBuffer';var CONSENT_TRACK_EVENT_NAME='Consent Management Interaction';
1016
1035
 
1017
1036
  var QUERY_PARAM_TRAIT_PREFIX='ajs_trait_';var QUERY_PARAM_PROPERTY_PREFIX='ajs_prop_';var QUERY_PARAM_ANONYMOUS_ID_KEY='ajs_aid';var QUERY_PARAM_USER_ID_KEY='ajs_uid';var QUERY_PARAM_TRACK_EVENT_NAME_KEY='ajs_event';
1018
1037
 
@@ -837,6 +837,10 @@ var isFunction=function isFunction(value){return typeof value==='function'&&Bool
837
837
  * @param value input value
838
838
  * @returns boolean
839
839
  */var isNullOrUndefined=function isNullOrUndefined(value){return isNull(value)||isUndefined(value);};/**
840
+ * Checks if the input is a BigInt
841
+ * @param value input value
842
+ * @returns True if the input is a BigInt
843
+ */var isBigInt=function isBigInt(value){return typeof value==='bigint';};/**
840
844
  * A function to check given value is defined
841
845
  * @param value input value
842
846
  * @returns boolean
@@ -854,6 +858,8 @@ var isFunction=function isFunction(value){return typeof value==='function'&&Bool
854
858
  * @returns true if the input is an instance of Error and false otherwise
855
859
  */var isTypeOfError=function isTypeOfError(obj){return obj instanceof Error;};
856
860
 
861
+ var LOG_CONTEXT_SEPARATOR=':: ';var SCRIPT_ALREADY_EXISTS_ERROR=function SCRIPT_ALREADY_EXISTS_ERROR(id){return "A script with the id \"".concat(id,"\" is already loaded. Skipping the loading of this script to prevent conflicts.");};var SCRIPT_LOAD_ERROR=function SCRIPT_LOAD_ERROR(id,url){return "Failed to load the script with the id \"".concat(id,"\" from URL \"").concat(url,"\".");};var SCRIPT_LOAD_TIMEOUT_ERROR=function SCRIPT_LOAD_TIMEOUT_ERROR(id,url,timeout){return "A timeout of ".concat(timeout," ms occurred while trying to load the script with id \"").concat(id,"\" from URL \"").concat(url,"\".");};var CIRCULAR_REFERENCE_WARNING=function CIRCULAR_REFERENCE_WARNING(context,key){return "".concat(context).concat(LOG_CONTEXT_SEPARATOR,"A circular reference has been detected in the object and the property \"").concat(key,"\" has been dropped from the output.");};var JSON_STRINGIFY_WARNING="Failed to convert the value to a JSON string.";
862
+
857
863
  var getValueByPath=function getValueByPath(obj,keyPath){var pathParts=keyPath.split('.');return path(pathParts,obj);};var hasValueByPath=function hasValueByPath(obj,path){return Boolean(getValueByPath(obj,path));};var isObject=function isObject(value){return _typeof(value)==='object';};/**
858
864
  * Checks if the input is an object literal or built-in object type and not null
859
865
  * @param value Input value
@@ -875,7 +881,28 @@ mergeDeepRight(mergedArray[index],value):value;});return mergedArray;};var merge
875
881
  * A utility to recursively remove undefined and null values from an object
876
882
  * @param obj input object
877
883
  * @returns a new object
878
- */var _removeUndefinedAndNullValues=function removeUndefinedAndNullValues(obj){var result=pickBy(isDefinedAndNotNull,obj);Object.keys(result).forEach(function(key){var value=result[key];if(isObjectLiteralAndNotNull(value)){result[key]=_removeUndefinedAndNullValues(value);}});return result;};
884
+ */var _removeUndefinedAndNullValues=function removeUndefinedAndNullValues(obj){var result=pickBy(isDefinedAndNotNull,obj);Object.keys(result).forEach(function(key){var value=result[key];if(isObjectLiteralAndNotNull(value)){result[key]=_removeUndefinedAndNullValues(value);}});return result;};var getReplacer=function getReplacer(logger){var ancestors=[];// Array to track ancestor objects
885
+ // Using a regular function to use `this` for the parent context
886
+ return function replacer(key,value){if(isBigInt(value)){return '[BigInt]';// Replace BigInt values
887
+ }// `this` is the object that value is contained in, i.e., its direct parent.
888
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
889
+ // @ts-ignore-next-line
890
+ while(ancestors.length>0&&ancestors[ancestors.length-1]!==this){ancestors.pop();// Remove ancestors that are no longer part of the chain
891
+ }// Check for circular references (if the value is already in the ancestors)
892
+ if(ancestors.includes(value)){return '[Circular Reference]';}// Add current value to ancestors
893
+ ancestors.push(value);return value;};};var _traverseWithThis=function traverseWithThis(obj,replacer){// Create a new result object or array
894
+ var result=Array.isArray(obj)?[]:{};// Traverse object properties or array elements
895
+ // eslint-disable-next-line no-restricted-syntax
896
+ for(var key in obj){if(Object.hasOwnProperty.call(obj,key)){var value=obj[key];// Recursively apply the replacer and traversal
897
+ var sanitizedValue=replacer.call(obj,key,value);// If the value is an object or array, continue traversal
898
+ if(isObjectLiteralAndNotNull(sanitizedValue)||Array.isArray(sanitizedValue)){result[key]=_traverseWithThis(sanitizedValue,replacer);}else {result[key]=sanitizedValue;}}}return result;};/**
899
+ * Recursively traverses an object similar to JSON.stringify,
900
+ * sanitizing BigInts and circular references
901
+ * @param value Input object
902
+ * @param logger Logger instance
903
+ * @returns Sanitized value
904
+ */var getSanitizedValue=function getSanitizedValue(value,logger){var replacer=getReplacer();// This is needed for registering the first ancestor
905
+ var newValue=replacer.call(value,'',value);if(isObjectLiteralAndNotNull(value)||Array.isArray(value)){return _traverseWithThis(value,replacer);}return newValue;};
879
906
 
880
907
  var trim=function trim(value){return value.replace(/^\s+|\s+$/gm,'');};var removeDoubleSpaces=function removeDoubleSpaces(value){return value.replace(/ {2,}/g,' ');};var removeLeadingPeriod=function removeLeadingPeriod(value){return value.replace(/^\.+/,'');};/**
881
908
  * A function to convert values to string
@@ -901,28 +928,6 @@ var trim=function trim(value){return value.replace(/^\s+|\s+$/gm,'');};var remov
901
928
  * @returns decoded string
902
929
  */var fromBase64=function fromBase64(value){return new TextDecoder().decode(base64ToBytes(value));};
903
930
 
904
- var LOG_CONTEXT_SEPARATOR=':: ';var SCRIPT_ALREADY_EXISTS_ERROR=function SCRIPT_ALREADY_EXISTS_ERROR(id){return "A script with the id \"".concat(id,"\" is already loaded. Skipping the loading of this script to prevent conflicts.");};var SCRIPT_LOAD_ERROR=function SCRIPT_LOAD_ERROR(id,url){return "Failed to load the script with the id \"".concat(id,"\" from URL \"").concat(url,"\".");};var SCRIPT_LOAD_TIMEOUT_ERROR=function SCRIPT_LOAD_TIMEOUT_ERROR(id,url,timeout){return "A timeout of ".concat(timeout," ms occurred while trying to load the script with id \"").concat(id,"\" from URL \"").concat(url,"\".");};var CIRCULAR_REFERENCE_WARNING=function CIRCULAR_REFERENCE_WARNING(context,key){return "".concat(context).concat(LOG_CONTEXT_SEPARATOR,"A circular reference has been detected in the object and the property \"").concat(key,"\" has been dropped from the output.");};var JSON_STRINGIFY_WARNING="Failed to convert the value to a JSON string.";
905
-
906
- var JSON_STRINGIFY='JSONStringify';var getCircularReplacer=function getCircularReplacer(excludeNull,excludeKeys,logger){var ancestors=[];// Here we do not want to use arrow function to use "this" in function context
907
- // eslint-disable-next-line func-names
908
- return function(key,value){if(excludeKeys!==null&&excludeKeys!==void 0&&excludeKeys.includes(key)){return undefined;}if(excludeNull&&isNullOrUndefined(value)){return undefined;}if(_typeof(value)!=='object'||isNull(value)){return value;}// `this` is the object that value is contained in, i.e., its direct parent.
909
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
910
- // @ts-ignore-next-line
911
- while(ancestors.length>0&&ancestors[ancestors.length-1]!==this){ancestors.pop();}if(ancestors.includes(value)){logger===null||logger===void 0||logger.warn(CIRCULAR_REFERENCE_WARNING(JSON_STRINGIFY,key));return '[Circular Reference]';}ancestors.push(value);return value;};};/**
912
- * Utility method for JSON stringify object excluding null values & circular references
913
- *
914
- * @param {*} value input
915
- * @param {boolean} excludeNull if it should exclude nul or not
916
- * @param {function} logger optional logger methods for warning
917
- * @returns string
918
- */var stringifyWithoutCircular=function stringifyWithoutCircular(value,excludeNull,excludeKeys,logger){try{return JSON.stringify(value,getCircularReplacer(excludeNull,excludeKeys,logger));}catch(err){logger===null||logger===void 0||logger.warn(JSON_STRINGIFY_WARNING,err);return null;}};/**
919
- * Recursively traverses an object similar to JSON.stringify,
920
- * sanitizing BigInts and circular references
921
- * @param value Input object
922
- * @param logger Logger instance
923
- * @returns Sanitized value
924
- */var getSanitizedValue=function getSanitizedValue(value,logger){return value;};
925
-
926
931
  // if yes make them null instead of omitting in overloaded cases
927
932
  /*
928
933
  * Normalise the overloaded arguments of the page call facade
@@ -1001,6 +1006,20 @@ var getFormattedTimestamp=function getFormattedTimestamp(date){return date.toISO
1001
1006
  * @returns ISO formatted timestamp string
1002
1007
  */var getCurrentTimeFormatted=function getCurrentTimeFormatted(){return getFormattedTimestamp(new Date());};
1003
1008
 
1009
+ var JSON_STRINGIFY='JSONStringify';var getCircularReplacer=function getCircularReplacer(excludeNull,excludeKeys,logger){var ancestors=[];// Here we do not want to use arrow function to use "this" in function context
1010
+ // eslint-disable-next-line func-names
1011
+ return function(key,value){if(excludeKeys!==null&&excludeKeys!==void 0&&excludeKeys.includes(key)){return undefined;}if(excludeNull&&isNullOrUndefined(value)){return undefined;}if(_typeof(value)!=='object'||isNull(value)){return value;}// `this` is the object that value is contained in, i.e., its direct parent.
1012
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
1013
+ // @ts-ignore-next-line
1014
+ while(ancestors.length>0&&ancestors[ancestors.length-1]!==this){ancestors.pop();}if(ancestors.includes(value)){logger===null||logger===void 0||logger.warn(CIRCULAR_REFERENCE_WARNING(JSON_STRINGIFY,key));return '[Circular Reference]';}ancestors.push(value);return value;};};/**
1015
+ * Utility method for JSON stringify object excluding null values & circular references
1016
+ *
1017
+ * @param {*} value input
1018
+ * @param {boolean} excludeNull if it should exclude nul or not
1019
+ * @param {function} logger optional logger methods for warning
1020
+ * @returns string
1021
+ */var stringifyWithoutCircular=function stringifyWithoutCircular(value,excludeNull,excludeKeys,logger){try{return JSON.stringify(value,getCircularReplacer(excludeNull,excludeKeys,logger));}catch(err){logger===null||logger===void 0||logger.warn(JSON_STRINGIFY_WARNING,err);return null;}};
1022
+
1004
1023
  var MANUAL_ERROR_IDENTIFIER='[MANUAL ERROR]';/**
1005
1024
  * Get mutated error with issue prepended to error message
1006
1025
  * @param err Original error
@@ -1008,7 +1027,7 @@ var MANUAL_ERROR_IDENTIFIER='[MANUAL ERROR]';/**
1008
1027
  * @returns Instance of Error with message prepended with issue
1009
1028
  */var getMutatedError=function getMutatedError(err,issue){var finalError=err;if(!isTypeOfError(err)){finalError=new Error("".concat(issue,": ").concat(stringifyWithoutCircular(err)));}else {finalError.message="".concat(issue,": ").concat(err.message);}return finalError;};var dispatchErrorEvent=function dispatchErrorEvent(error){if(isTypeOfError(error)){var _error$stack;error.stack="".concat((_error$stack=error.stack)!==null&&_error$stack!==void 0?_error$stack:'',"\n").concat(MANUAL_ERROR_IDENTIFIER);}globalThis.dispatchEvent(new ErrorEvent('error',{error:error}));};
1010
1029
 
1011
- var APP_NAME='RudderLabs JavaScript SDK';var APP_VERSION='3.11.6';var APP_NAMESPACE='com.rudderlabs.javascript';var MODULE_TYPE='npm';var ADBLOCK_PAGE_CATEGORY='RudderJS-Initiated';var ADBLOCK_PAGE_NAME='ad-block page request';var ADBLOCK_PAGE_PATH='/ad-blocked';var GLOBAL_PRELOAD_BUFFER='preloadedEventsBuffer';var CONSENT_TRACK_EVENT_NAME='Consent Management Interaction';
1030
+ var APP_NAME='RudderLabs JavaScript SDK';var APP_VERSION='3.11.8';var APP_NAMESPACE='com.rudderlabs.javascript';var MODULE_TYPE='npm';var ADBLOCK_PAGE_CATEGORY='RudderJS-Initiated';var ADBLOCK_PAGE_NAME='ad-block page request';var ADBLOCK_PAGE_PATH='/ad-blocked';var GLOBAL_PRELOAD_BUFFER='preloadedEventsBuffer';var CONSENT_TRACK_EVENT_NAME='Consent Management Interaction';
1012
1031
 
1013
1032
  var QUERY_PARAM_TRAIT_PREFIX='ajs_trait_';var QUERY_PARAM_PROPERTY_PREFIX='ajs_prop_';var QUERY_PARAM_ANONYMOUS_ID_KEY='ajs_aid';var QUERY_PARAM_USER_ID_KEY='ajs_uid';var QUERY_PARAM_TRACK_EVENT_NAME_KEY='ajs_event';
1014
1033
 
@@ -837,6 +837,10 @@ var isFunction=function isFunction(value){return typeof value==='function'&&Bool
837
837
  * @param value input value
838
838
  * @returns boolean
839
839
  */var isNullOrUndefined=function isNullOrUndefined(value){return isNull(value)||isUndefined(value);};/**
840
+ * Checks if the input is a BigInt
841
+ * @param value input value
842
+ * @returns True if the input is a BigInt
843
+ */var isBigInt=function isBigInt(value){return typeof value==='bigint';};/**
840
844
  * A function to check given value is defined
841
845
  * @param value input value
842
846
  * @returns boolean
@@ -854,6 +858,8 @@ var isFunction=function isFunction(value){return typeof value==='function'&&Bool
854
858
  * @returns true if the input is an instance of Error and false otherwise
855
859
  */var isTypeOfError=function isTypeOfError(obj){return obj instanceof Error;};
856
860
 
861
+ var LOG_CONTEXT_SEPARATOR=':: ';var SCRIPT_ALREADY_EXISTS_ERROR=function SCRIPT_ALREADY_EXISTS_ERROR(id){return "A script with the id \"".concat(id,"\" is already loaded. Skipping the loading of this script to prevent conflicts.");};var SCRIPT_LOAD_ERROR=function SCRIPT_LOAD_ERROR(id,url){return "Failed to load the script with the id \"".concat(id,"\" from URL \"").concat(url,"\".");};var SCRIPT_LOAD_TIMEOUT_ERROR=function SCRIPT_LOAD_TIMEOUT_ERROR(id,url,timeout){return "A timeout of ".concat(timeout," ms occurred while trying to load the script with id \"").concat(id,"\" from URL \"").concat(url,"\".");};var CIRCULAR_REFERENCE_WARNING=function CIRCULAR_REFERENCE_WARNING(context,key){return "".concat(context).concat(LOG_CONTEXT_SEPARATOR,"A circular reference has been detected in the object and the property \"").concat(key,"\" has been dropped from the output.");};var JSON_STRINGIFY_WARNING="Failed to convert the value to a JSON string.";
862
+
857
863
  var getValueByPath=function getValueByPath(obj,keyPath){var pathParts=keyPath.split('.');return path(pathParts,obj);};var hasValueByPath=function hasValueByPath(obj,path){return Boolean(getValueByPath(obj,path));};var isObject=function isObject(value){return _typeof(value)==='object';};/**
858
864
  * Checks if the input is an object literal or built-in object type and not null
859
865
  * @param value Input value
@@ -875,7 +881,28 @@ mergeDeepRight(mergedArray[index],value):value;});return mergedArray;};var merge
875
881
  * A utility to recursively remove undefined and null values from an object
876
882
  * @param obj input object
877
883
  * @returns a new object
878
- */var _removeUndefinedAndNullValues=function removeUndefinedAndNullValues(obj){var result=pickBy(isDefinedAndNotNull,obj);Object.keys(result).forEach(function(key){var value=result[key];if(isObjectLiteralAndNotNull(value)){result[key]=_removeUndefinedAndNullValues(value);}});return result;};
884
+ */var _removeUndefinedAndNullValues=function removeUndefinedAndNullValues(obj){var result=pickBy(isDefinedAndNotNull,obj);Object.keys(result).forEach(function(key){var value=result[key];if(isObjectLiteralAndNotNull(value)){result[key]=_removeUndefinedAndNullValues(value);}});return result;};var getReplacer=function getReplacer(logger){var ancestors=[];// Array to track ancestor objects
885
+ // Using a regular function to use `this` for the parent context
886
+ return function replacer(key,value){if(isBigInt(value)){return '[BigInt]';// Replace BigInt values
887
+ }// `this` is the object that value is contained in, i.e., its direct parent.
888
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
889
+ // @ts-ignore-next-line
890
+ while(ancestors.length>0&&ancestors[ancestors.length-1]!==this){ancestors.pop();// Remove ancestors that are no longer part of the chain
891
+ }// Check for circular references (if the value is already in the ancestors)
892
+ if(ancestors.includes(value)){return '[Circular Reference]';}// Add current value to ancestors
893
+ ancestors.push(value);return value;};};var _traverseWithThis=function traverseWithThis(obj,replacer){// Create a new result object or array
894
+ var result=Array.isArray(obj)?[]:{};// Traverse object properties or array elements
895
+ // eslint-disable-next-line no-restricted-syntax
896
+ for(var key in obj){if(Object.hasOwnProperty.call(obj,key)){var value=obj[key];// Recursively apply the replacer and traversal
897
+ var sanitizedValue=replacer.call(obj,key,value);// If the value is an object or array, continue traversal
898
+ if(isObjectLiteralAndNotNull(sanitizedValue)||Array.isArray(sanitizedValue)){result[key]=_traverseWithThis(sanitizedValue,replacer);}else {result[key]=sanitizedValue;}}}return result;};/**
899
+ * Recursively traverses an object similar to JSON.stringify,
900
+ * sanitizing BigInts and circular references
901
+ * @param value Input object
902
+ * @param logger Logger instance
903
+ * @returns Sanitized value
904
+ */var getSanitizedValue=function getSanitizedValue(value,logger){var replacer=getReplacer();// This is needed for registering the first ancestor
905
+ var newValue=replacer.call(value,'',value);if(isObjectLiteralAndNotNull(value)||Array.isArray(value)){return _traverseWithThis(value,replacer);}return newValue;};
879
906
 
880
907
  var trim=function trim(value){return value.replace(/^\s+|\s+$/gm,'');};var removeDoubleSpaces=function removeDoubleSpaces(value){return value.replace(/ {2,}/g,' ');};var removeLeadingPeriod=function removeLeadingPeriod(value){return value.replace(/^\.+/,'');};/**
881
908
  * A function to convert values to string
@@ -901,28 +928,6 @@ var trim=function trim(value){return value.replace(/^\s+|\s+$/gm,'');};var remov
901
928
  * @returns decoded string
902
929
  */var fromBase64=function fromBase64(value){return new TextDecoder().decode(base64ToBytes(value));};
903
930
 
904
- var LOG_CONTEXT_SEPARATOR=':: ';var SCRIPT_ALREADY_EXISTS_ERROR=function SCRIPT_ALREADY_EXISTS_ERROR(id){return "A script with the id \"".concat(id,"\" is already loaded. Skipping the loading of this script to prevent conflicts.");};var SCRIPT_LOAD_ERROR=function SCRIPT_LOAD_ERROR(id,url){return "Failed to load the script with the id \"".concat(id,"\" from URL \"").concat(url,"\".");};var SCRIPT_LOAD_TIMEOUT_ERROR=function SCRIPT_LOAD_TIMEOUT_ERROR(id,url,timeout){return "A timeout of ".concat(timeout," ms occurred while trying to load the script with id \"").concat(id,"\" from URL \"").concat(url,"\".");};var CIRCULAR_REFERENCE_WARNING=function CIRCULAR_REFERENCE_WARNING(context,key){return "".concat(context).concat(LOG_CONTEXT_SEPARATOR,"A circular reference has been detected in the object and the property \"").concat(key,"\" has been dropped from the output.");};var JSON_STRINGIFY_WARNING="Failed to convert the value to a JSON string.";
905
-
906
- var JSON_STRINGIFY='JSONStringify';var getCircularReplacer=function getCircularReplacer(excludeNull,excludeKeys,logger){var ancestors=[];// Here we do not want to use arrow function to use "this" in function context
907
- // eslint-disable-next-line func-names
908
- return function(key,value){if(excludeKeys!==null&&excludeKeys!==void 0&&excludeKeys.includes(key)){return undefined;}if(excludeNull&&isNullOrUndefined(value)){return undefined;}if(_typeof(value)!=='object'||isNull(value)){return value;}// `this` is the object that value is contained in, i.e., its direct parent.
909
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
910
- // @ts-ignore-next-line
911
- while(ancestors.length>0&&ancestors[ancestors.length-1]!==this){ancestors.pop();}if(ancestors.includes(value)){logger===null||logger===void 0||logger.warn(CIRCULAR_REFERENCE_WARNING(JSON_STRINGIFY,key));return '[Circular Reference]';}ancestors.push(value);return value;};};/**
912
- * Utility method for JSON stringify object excluding null values & circular references
913
- *
914
- * @param {*} value input
915
- * @param {boolean} excludeNull if it should exclude nul or not
916
- * @param {function} logger optional logger methods for warning
917
- * @returns string
918
- */var stringifyWithoutCircular=function stringifyWithoutCircular(value,excludeNull,excludeKeys,logger){try{return JSON.stringify(value,getCircularReplacer(excludeNull,excludeKeys,logger));}catch(err){logger===null||logger===void 0||logger.warn(JSON_STRINGIFY_WARNING,err);return null;}};/**
919
- * Recursively traverses an object similar to JSON.stringify,
920
- * sanitizing BigInts and circular references
921
- * @param value Input object
922
- * @param logger Logger instance
923
- * @returns Sanitized value
924
- */var getSanitizedValue=function getSanitizedValue(value,logger){return value;};
925
-
926
931
  // if yes make them null instead of omitting in overloaded cases
927
932
  /*
928
933
  * Normalise the overloaded arguments of the page call facade
@@ -1001,6 +1006,20 @@ var getFormattedTimestamp=function getFormattedTimestamp(date){return date.toISO
1001
1006
  * @returns ISO formatted timestamp string
1002
1007
  */var getCurrentTimeFormatted=function getCurrentTimeFormatted(){return getFormattedTimestamp(new Date());};
1003
1008
 
1009
+ var JSON_STRINGIFY='JSONStringify';var getCircularReplacer=function getCircularReplacer(excludeNull,excludeKeys,logger){var ancestors=[];// Here we do not want to use arrow function to use "this" in function context
1010
+ // eslint-disable-next-line func-names
1011
+ return function(key,value){if(excludeKeys!==null&&excludeKeys!==void 0&&excludeKeys.includes(key)){return undefined;}if(excludeNull&&isNullOrUndefined(value)){return undefined;}if(_typeof(value)!=='object'||isNull(value)){return value;}// `this` is the object that value is contained in, i.e., its direct parent.
1012
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
1013
+ // @ts-ignore-next-line
1014
+ while(ancestors.length>0&&ancestors[ancestors.length-1]!==this){ancestors.pop();}if(ancestors.includes(value)){logger===null||logger===void 0||logger.warn(CIRCULAR_REFERENCE_WARNING(JSON_STRINGIFY,key));return '[Circular Reference]';}ancestors.push(value);return value;};};/**
1015
+ * Utility method for JSON stringify object excluding null values & circular references
1016
+ *
1017
+ * @param {*} value input
1018
+ * @param {boolean} excludeNull if it should exclude nul or not
1019
+ * @param {function} logger optional logger methods for warning
1020
+ * @returns string
1021
+ */var stringifyWithoutCircular=function stringifyWithoutCircular(value,excludeNull,excludeKeys,logger){try{return JSON.stringify(value,getCircularReplacer(excludeNull,excludeKeys,logger));}catch(err){logger===null||logger===void 0||logger.warn(JSON_STRINGIFY_WARNING,err);return null;}};
1022
+
1004
1023
  var MANUAL_ERROR_IDENTIFIER='[MANUAL ERROR]';/**
1005
1024
  * Get mutated error with issue prepended to error message
1006
1025
  * @param err Original error
@@ -1008,7 +1027,7 @@ var MANUAL_ERROR_IDENTIFIER='[MANUAL ERROR]';/**
1008
1027
  * @returns Instance of Error with message prepended with issue
1009
1028
  */var getMutatedError=function getMutatedError(err,issue){var finalError=err;if(!isTypeOfError(err)){finalError=new Error("".concat(issue,": ").concat(stringifyWithoutCircular(err)));}else {finalError.message="".concat(issue,": ").concat(err.message);}return finalError;};var dispatchErrorEvent=function dispatchErrorEvent(error){if(isTypeOfError(error)){var _error$stack;error.stack="".concat((_error$stack=error.stack)!==null&&_error$stack!==void 0?_error$stack:'',"\n").concat(MANUAL_ERROR_IDENTIFIER);}globalThis.dispatchEvent(new ErrorEvent('error',{error:error}));};
1010
1029
 
1011
- var APP_NAME='RudderLabs JavaScript SDK';var APP_VERSION='3.11.6';var APP_NAMESPACE='com.rudderlabs.javascript';var MODULE_TYPE='npm';var ADBLOCK_PAGE_CATEGORY='RudderJS-Initiated';var ADBLOCK_PAGE_NAME='ad-block page request';var ADBLOCK_PAGE_PATH='/ad-blocked';var GLOBAL_PRELOAD_BUFFER='preloadedEventsBuffer';var CONSENT_TRACK_EVENT_NAME='Consent Management Interaction';
1030
+ var APP_NAME='RudderLabs JavaScript SDK';var APP_VERSION='3.11.8';var APP_NAMESPACE='com.rudderlabs.javascript';var MODULE_TYPE='npm';var ADBLOCK_PAGE_CATEGORY='RudderJS-Initiated';var ADBLOCK_PAGE_NAME='ad-block page request';var ADBLOCK_PAGE_PATH='/ad-blocked';var GLOBAL_PRELOAD_BUFFER='preloadedEventsBuffer';var CONSENT_TRACK_EVENT_NAME='Consent Management Interaction';
1012
1031
 
1013
1032
  var QUERY_PARAM_TRAIT_PREFIX='ajs_trait_';var QUERY_PARAM_PROPERTY_PREFIX='ajs_prop_';var QUERY_PARAM_ANONYMOUS_ID_KEY='ajs_aid';var QUERY_PARAM_USER_ID_KEY='ajs_uid';var QUERY_PARAM_TRACK_EVENT_NAME_KEY='ajs_event';
1014
1033