@cloudcare/browser-core 3.1.11 → 3.1.13

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.
Files changed (139) hide show
  1. package/cjs/browser/addEventListener.js.map +1 -1
  2. package/cjs/browser/cookie.js +2 -1
  3. package/cjs/browser/cookie.js.map +1 -1
  4. package/cjs/browser/fetchObservable.js.map +1 -1
  5. package/cjs/browser/htmlDomUtils.js.map +1 -1
  6. package/cjs/browser/pageExitObservable.js.map +1 -1
  7. package/cjs/browser/runOnReadyState.js.map +1 -1
  8. package/cjs/browser/scroll.js.map +1 -1
  9. package/cjs/browser/xhrObservable.js.map +1 -1
  10. package/cjs/configuration/configuration.js +13 -5
  11. package/cjs/configuration/configuration.js.map +1 -1
  12. package/cjs/configuration/transportConfiguration.js.map +1 -1
  13. package/cjs/console/consoleObservable.js.map +1 -1
  14. package/cjs/dataMap.js +3 -1
  15. package/cjs/dataMap.js.map +1 -1
  16. package/cjs/error/trackRuntimeError.js.map +1 -1
  17. package/cjs/helper/boundedBuffer.js.map +1 -1
  18. package/cjs/helper/byteUtils.js.map +1 -1
  19. package/cjs/helper/catchUserErrors.js.map +1 -1
  20. package/cjs/helper/contextHistory.js.map +1 -1
  21. package/cjs/helper/createEventRateLimiter.js.map +1 -1
  22. package/cjs/helper/deviceInfo.js.map +1 -1
  23. package/cjs/helper/display.js.map +1 -1
  24. package/cjs/helper/enums.js.map +1 -1
  25. package/cjs/helper/errorTools.js.map +1 -1
  26. package/cjs/helper/eventEmitter.js.map +1 -1
  27. package/cjs/helper/getZoneJsOriginalValue.js.map +1 -1
  28. package/cjs/helper/instrumentMethod.js.map +1 -1
  29. package/cjs/helper/lifeCycle.js.map +1 -1
  30. package/cjs/helper/limitModification.js.map +1 -1
  31. package/cjs/helper/mobileUtil.js.map +1 -1
  32. package/cjs/helper/monitor.js.map +1 -1
  33. package/cjs/helper/observable.js.map +1 -1
  34. package/cjs/helper/readBytesFromStream.js.map +1 -1
  35. package/cjs/helper/sanitize.js.map +1 -1
  36. package/cjs/helper/serialisation/contextManager.js.map +1 -1
  37. package/cjs/helper/serialisation/heavyCustomerDataWarning.js.map +1 -1
  38. package/cjs/helper/serialisation/jsonStringify.js.map +1 -1
  39. package/cjs/helper/serialisation/rowData.js.map +1 -1
  40. package/cjs/helper/serialisation/storedContextManager.js.map +1 -1
  41. package/cjs/helper/timer.js.map +1 -1
  42. package/cjs/helper/tools.js.map +1 -1
  43. package/cjs/helper/urlPolyfill.js.map +1 -1
  44. package/cjs/index.js.map +1 -1
  45. package/cjs/init.js.map +1 -1
  46. package/cjs/report/reportObservable.js.map +1 -1
  47. package/cjs/session/sessionConstants.js.map +1 -1
  48. package/cjs/session/sessionCookieStore.js.map +1 -1
  49. package/cjs/session/sessionManagement.js.map +1 -1
  50. package/cjs/session/sessionStore.js.map +1 -1
  51. package/cjs/synthetics/syntheticsWorkerValues.js.map +1 -1
  52. package/cjs/synthetics/usr.js.map +1 -1
  53. package/cjs/telemetry/telemetry.js.map +1 -1
  54. package/cjs/telemetry/types.js.map +1 -1
  55. package/cjs/tracekit/computeStackTrace.js.map +1 -1
  56. package/cjs/tracekit/index.js.map +1 -1
  57. package/cjs/tracekit/tracekit.js.map +1 -1
  58. package/cjs/transport/batch.js.map +1 -1
  59. package/cjs/transport/eventBridge.js.map +1 -1
  60. package/cjs/transport/flushController.js.map +1 -1
  61. package/cjs/transport/httpRequest.js.map +1 -1
  62. package/cjs/transport/index.js.map +1 -1
  63. package/cjs/transport/sendWithRetryStrategy.js.map +1 -1
  64. package/cjs/transport/startBatchWithReplica.js.map +1 -1
  65. package/cjs/user/index.js.map +1 -1
  66. package/cjs/user/user.js.map +1 -1
  67. package/cjs/worker.js.map +1 -1
  68. package/esm/browser/addEventListener.js.map +1 -1
  69. package/esm/browser/cookie.js +2 -1
  70. package/esm/browser/cookie.js.map +1 -1
  71. package/esm/browser/fetchObservable.js.map +1 -1
  72. package/esm/browser/htmlDomUtils.js.map +1 -1
  73. package/esm/browser/pageExitObservable.js.map +1 -1
  74. package/esm/browser/runOnReadyState.js.map +1 -1
  75. package/esm/browser/scroll.js.map +1 -1
  76. package/esm/browser/xhrObservable.js.map +1 -1
  77. package/esm/configuration/configuration.js +13 -5
  78. package/esm/configuration/configuration.js.map +1 -1
  79. package/esm/configuration/transportConfiguration.js.map +1 -1
  80. package/esm/console/consoleObservable.js.map +1 -1
  81. package/esm/dataMap.js +3 -1
  82. package/esm/dataMap.js.map +1 -1
  83. package/esm/error/trackRuntimeError.js.map +1 -1
  84. package/esm/helper/boundedBuffer.js.map +1 -1
  85. package/esm/helper/byteUtils.js.map +1 -1
  86. package/esm/helper/catchUserErrors.js.map +1 -1
  87. package/esm/helper/contextHistory.js.map +1 -1
  88. package/esm/helper/createEventRateLimiter.js.map +1 -1
  89. package/esm/helper/deviceInfo.js.map +1 -1
  90. package/esm/helper/display.js.map +1 -1
  91. package/esm/helper/enums.js.map +1 -1
  92. package/esm/helper/errorTools.js.map +1 -1
  93. package/esm/helper/eventEmitter.js.map +1 -1
  94. package/esm/helper/getZoneJsOriginalValue.js.map +1 -1
  95. package/esm/helper/instrumentMethod.js.map +1 -1
  96. package/esm/helper/lifeCycle.js.map +1 -1
  97. package/esm/helper/limitModification.js.map +1 -1
  98. package/esm/helper/mobileUtil.js.map +1 -1
  99. package/esm/helper/monitor.js.map +1 -1
  100. package/esm/helper/observable.js.map +1 -1
  101. package/esm/helper/readBytesFromStream.js.map +1 -1
  102. package/esm/helper/sanitize.js.map +1 -1
  103. package/esm/helper/serialisation/contextManager.js.map +1 -1
  104. package/esm/helper/serialisation/heavyCustomerDataWarning.js.map +1 -1
  105. package/esm/helper/serialisation/jsonStringify.js.map +1 -1
  106. package/esm/helper/serialisation/rowData.js.map +1 -1
  107. package/esm/helper/serialisation/storedContextManager.js.map +1 -1
  108. package/esm/helper/timer.js.map +1 -1
  109. package/esm/helper/tools.js.map +1 -1
  110. package/esm/helper/urlPolyfill.js.map +1 -1
  111. package/esm/index.js.map +1 -1
  112. package/esm/init.js.map +1 -1
  113. package/esm/report/reportObservable.js.map +1 -1
  114. package/esm/session/sessionConstants.js.map +1 -1
  115. package/esm/session/sessionCookieStore.js.map +1 -1
  116. package/esm/session/sessionManagement.js.map +1 -1
  117. package/esm/session/sessionStore.js.map +1 -1
  118. package/esm/synthetics/syntheticsWorkerValues.js.map +1 -1
  119. package/esm/synthetics/usr.js.map +1 -1
  120. package/esm/telemetry/telemetry.js.map +1 -1
  121. package/esm/telemetry/types.js.map +1 -1
  122. package/esm/tracekit/computeStackTrace.js.map +1 -1
  123. package/esm/tracekit/index.js.map +1 -1
  124. package/esm/tracekit/tracekit.js.map +1 -1
  125. package/esm/transport/batch.js.map +1 -1
  126. package/esm/transport/eventBridge.js.map +1 -1
  127. package/esm/transport/flushController.js.map +1 -1
  128. package/esm/transport/httpRequest.js.map +1 -1
  129. package/esm/transport/index.js.map +1 -1
  130. package/esm/transport/sendWithRetryStrategy.js.map +1 -1
  131. package/esm/transport/startBatchWithReplica.js.map +1 -1
  132. package/esm/user/index.js.map +1 -1
  133. package/esm/user/user.js.map +1 -1
  134. package/esm/worker.js.map +1 -1
  135. package/package.json +2 -2
  136. package/src/browser/cookie.js +3 -1
  137. package/src/configuration/configuration.js +17 -9
  138. package/src/dataMap.js +3 -1
  139. package/types/index.d.ts +64 -5
@@ -1 +1 @@
1
- {"version":3,"file":"reportObservable.js","names":["toStackTraceString","mergeObservables","Observable","includes","safeTruncate","filter","each","addEventListener","DOM_EVENT","monitor","RawReportType","intervention","deprecation","cspViolation","initReportObservable","configuration","apis","observables","push","createCspViolationReportObservable","reportTypes","api","length","createReportObservable","apply","observable","window","ReportingObserver","handleReports","reports","report","notify","buildRawReportFromReport","observer","types","buffered","observe","disconnect","handleCspViolation","event","buildRawReportFromCspViolation","_addEventListener","document","SECURITY_POLICY_VIOLATION","stop","body","type","subtype","id","message","stack","buildStack","sourceFile","lineNumber","columnNumber","blockedURI","effectiveDirective","originalPolicy","name","func","url","line","column"],"sources":["../../src/report/reportObservable.js"],"sourcesContent":["import { toStackTraceString } from '../helper/errorTools'\nimport { mergeObservables, Observable } from '../helper/observable'\nimport { includes, safeTruncate, filter, each } from '../helper/tools'\nimport { addEventListener } from '../browser/addEventListener'\nimport { DOM_EVENT } from '../helper/enums'\nimport { monitor } from '../helper/monitor'\nexport var RawReportType = {\n intervention: 'intervention',\n deprecation: 'deprecation',\n cspViolation: 'csp_violation'\n}\nexport function initReportObservable(configuration, apis) {\n var observables = []\n\n if (includes(apis, RawReportType.cspViolation)) {\n observables.push(createCspViolationReportObservable(configuration))\n }\n\n var reportTypes = filter(apis, function (api) {\n return api !== RawReportType.cspViolation\n })\n if (reportTypes.length) {\n observables.push(createReportObservable(reportTypes))\n }\n return mergeObservables.apply(this, observables)\n}\n\nfunction createReportObservable(reportTypes) {\n return new Observable(function (observable) {\n if (!window.ReportingObserver) {\n return\n }\n\n var handleReports = monitor(function (reports) {\n each(reports, function (report) {\n observable.notify(buildRawReportFromReport(report))\n })\n })\n\n var observer = new window.ReportingObserver(handleReports, {\n types: reportTypes,\n buffered: true\n })\n\n observer.observe()\n return function () {\n observer.disconnect()\n }\n })\n\n return observable\n}\n\nfunction createCspViolationReportObservable(configuration) {\n return new Observable(function (observable) {\n var handleCspViolation = function (event) {\n observable.notify(buildRawReportFromCspViolation(event))\n }\n\n var _addEventListener = addEventListener(\n document,\n DOM_EVENT.SECURITY_POLICY_VIOLATION,\n handleCspViolation\n )\n\n return _addEventListener.stop\n })\n return observable\n}\n\nfunction buildRawReportFromReport(report) {\n var body = report.body\n var type = report.type\n return {\n type: type,\n subtype: body.id,\n message: type + ': ' + body.message,\n stack: buildStack(\n body.id,\n body.message,\n body.sourceFile,\n body.lineNumber,\n body.columnNumber\n )\n }\n}\n\nfunction buildRawReportFromCspViolation(event) {\n var type = RawReportType.cspViolation\n var message =\n \"'\" +\n event.blockedURI +\n \"' blocked by '\" +\n event.effectiveDirective +\n \"' directive\"\n return {\n type: RawReportType.cspViolation,\n subtype: event.effectiveDirective,\n message: type + ': ' + message,\n stack: buildStack(\n event.effectiveDirective,\n message +\n ' of the policy \"' +\n safeTruncate(event.originalPolicy, 100, '...') +\n '\"',\n event.sourceFile,\n event.lineNumber,\n event.columnNumber\n )\n }\n}\n\nfunction buildStack(name, message, sourceFile, lineNumber, columnNumber) {\n return (\n sourceFile &&\n toStackTraceString({\n name: name,\n message: message,\n stack: [\n {\n func: '?',\n url: sourceFile,\n line: lineNumber,\n column: columnNumber\n }\n ]\n })\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"reportObservable.js","names":["toStackTraceString","mergeObservables","Observable","includes","safeTruncate","filter","each","addEventListener","DOM_EVENT","monitor","RawReportType","intervention","deprecation","cspViolation","initReportObservable","configuration","apis","observables","push","createCspViolationReportObservable","reportTypes","api","length","createReportObservable","apply","observable","window","ReportingObserver","handleReports","reports","report","notify","buildRawReportFromReport","observer","types","buffered","observe","disconnect","handleCspViolation","event","buildRawReportFromCspViolation","_addEventListener","document","SECURITY_POLICY_VIOLATION","stop","body","type","subtype","id","message","stack","buildStack","sourceFile","lineNumber","columnNumber","blockedURI","effectiveDirective","originalPolicy","name","func","url","line","column"],"sources":["../../src/report/reportObservable.js"],"sourcesContent":["import { toStackTraceString } from '../helper/errorTools'\nimport { mergeObservables, Observable } from '../helper/observable'\nimport { includes, safeTruncate, filter, each } from '../helper/tools'\nimport { addEventListener } from '../browser/addEventListener'\nimport { DOM_EVENT } from '../helper/enums'\nimport { monitor } from '../helper/monitor'\nexport var RawReportType = {\n intervention: 'intervention',\n deprecation: 'deprecation',\n cspViolation: 'csp_violation'\n}\nexport function initReportObservable(configuration, apis) {\n var observables = []\n\n if (includes(apis, RawReportType.cspViolation)) {\n observables.push(createCspViolationReportObservable(configuration))\n }\n\n var reportTypes = filter(apis, function (api) {\n return api !== RawReportType.cspViolation\n })\n if (reportTypes.length) {\n observables.push(createReportObservable(reportTypes))\n }\n return mergeObservables.apply(this, observables)\n}\n\nfunction createReportObservable(reportTypes) {\n return new Observable(function (observable) {\n if (!window.ReportingObserver) {\n return\n }\n\n var handleReports = monitor(function (reports) {\n each(reports, function (report) {\n observable.notify(buildRawReportFromReport(report))\n })\n })\n\n var observer = new window.ReportingObserver(handleReports, {\n types: reportTypes,\n buffered: true\n })\n\n observer.observe()\n return function () {\n observer.disconnect()\n }\n })\n\n return observable\n}\n\nfunction createCspViolationReportObservable(configuration) {\n return new Observable(function (observable) {\n var handleCspViolation = function (event) {\n observable.notify(buildRawReportFromCspViolation(event))\n }\n\n var _addEventListener = addEventListener(\n document,\n DOM_EVENT.SECURITY_POLICY_VIOLATION,\n handleCspViolation\n )\n\n return _addEventListener.stop\n })\n return observable\n}\n\nfunction buildRawReportFromReport(report) {\n var body = report.body\n var type = report.type\n return {\n type: type,\n subtype: body.id,\n message: type + ': ' + body.message,\n stack: buildStack(\n body.id,\n body.message,\n body.sourceFile,\n body.lineNumber,\n body.columnNumber\n )\n }\n}\n\nfunction buildRawReportFromCspViolation(event) {\n var type = RawReportType.cspViolation\n var message =\n \"'\" +\n event.blockedURI +\n \"' blocked by '\" +\n event.effectiveDirective +\n \"' directive\"\n return {\n type: RawReportType.cspViolation,\n subtype: event.effectiveDirective,\n message: type + ': ' + message,\n stack: buildStack(\n event.effectiveDirective,\n message +\n ' of the policy \"' +\n safeTruncate(event.originalPolicy, 100, '...') +\n '\"',\n event.sourceFile,\n event.lineNumber,\n event.columnNumber\n )\n }\n}\n\nfunction buildStack(name, message, sourceFile, lineNumber, columnNumber) {\n return (\n sourceFile &&\n toStackTraceString({\n name: name,\n message: message,\n stack: [\n {\n func: '?',\n url: sourceFile,\n line: lineNumber,\n column: columnNumber\n }\n ]\n })\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"sessionConstants.js","names":["ONE_HOUR","ONE_MINUTE","SESSION_TIME_OUT_DELAY","SESSION_EXPIRATION_DELAY"],"sources":["../../src/session/sessionConstants.js"],"sourcesContent":["import { ONE_HOUR, ONE_MINUTE } from '../helper/tools'\nexport var SESSION_TIME_OUT_DELAY = 4 * ONE_HOUR\nexport var SESSION_EXPIRATION_DELAY = 15 * ONE_MINUTE\n"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,UAAU,QAAQ,iBAAiB;AACtD,OAAO,IAAIC,sBAAsB,GAAG,CAAC,GAAGF,QAAQ;AAChD,OAAO,IAAIG,wBAAwB,GAAG,EAAE,GAAGF,UAAU"}
1
+ {"version":3,"file":"sessionConstants.js","names":["ONE_HOUR","ONE_MINUTE","SESSION_TIME_OUT_DELAY","SESSION_EXPIRATION_DELAY"],"sources":["../../src/session/sessionConstants.js"],"sourcesContent":["import { ONE_HOUR, ONE_MINUTE } from '../helper/tools'\nexport var SESSION_TIME_OUT_DELAY = 4 * ONE_HOUR\nexport var SESSION_EXPIRATION_DELAY = 15 * ONE_MINUTE\n"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,UAAU,QAAQ,iBAAiB;AACtD,OAAO,IAAIC,sBAAsB,GAAG,CAAC,GAAGF,QAAQ;AAChD,OAAO,IAAIG,wBAAwB,GAAG,EAAE,GAAGF,UAAU","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"sessionCookieStore.js","names":["getCookie","setCookie","isChromium","dateNow","isEmptyObject","UUID","objectEntries","map","each","SESSION_EXPIRATION_DELAY","setTimeout","SESSION_ENTRY_REGEXP","SESSION_ENTRY_SEPARATOR","SESSION_COOKIE_NAME","LOCK_RETRY_DELAY","MAX_NUMBER_OF_LOCK_RETRIES","bufferedOperations","ongoingOperations","withCookieLockAccess","operations","numberOfRetries","push","next","currentLock","currentSession","retrieveSession","isCookieLockEnabled","lock","retryLater","setSession","options","processedSession","process","persistSession","isExpiredState","after","currentNumberOfRetries","undefined","nextOperations","shift","session","clearSession","expire","String","toSessionString","item","join","sessionString","isValidSessionString","split","entry","matches","exec","key","value","indexOf","test"],"sources":["../../src/session/sessionCookieStore.js"],"sourcesContent":["import { getCookie, setCookie } from '../browser/cookie'\nimport {\n isChromium,\n dateNow,\n isEmptyObject,\n UUID,\n objectEntries,\n map,\n each\n} from '../helper/tools'\nimport { SESSION_EXPIRATION_DELAY } from './sessionConstants'\nimport { setTimeout } from '../helper/timer'\nvar SESSION_ENTRY_REGEXP = /^([a-z]+)=([a-z0-9-]+)$/\nvar SESSION_ENTRY_SEPARATOR = '&'\n\nexport var SESSION_COOKIE_NAME = '_dataflux_s'\n\n// arbitrary values\nexport var LOCK_RETRY_DELAY = 10\nexport var MAX_NUMBER_OF_LOCK_RETRIES = 100\n\nvar bufferedOperations = []\nvar ongoingOperations\n\nexport function withCookieLockAccess(operations, numberOfRetries) {\n if (typeof numberOfRetries === 'undefined') {\n numberOfRetries = 0\n }\n if (!ongoingOperations) {\n ongoingOperations = operations\n }\n if (operations !== ongoingOperations) {\n bufferedOperations.push(operations)\n return\n }\n if (numberOfRetries >= MAX_NUMBER_OF_LOCK_RETRIES) {\n next()\n return\n }\n var currentLock\n var currentSession = retrieveSession()\n if (isCookieLockEnabled()) {\n // if someone has lock, retry later\n if (currentSession.lock) {\n retryLater(operations, numberOfRetries)\n return\n }\n // acquire lock\n currentLock = UUID()\n currentSession.lock = currentLock\n setSession(currentSession, operations.options)\n // if lock is not acquired, retry later\n currentSession = retrieveSession()\n if (currentSession.lock !== currentLock) {\n retryLater(operations, numberOfRetries)\n return\n }\n }\n var processedSession = operations.process(currentSession)\n if (isCookieLockEnabled()) {\n // if lock corrupted after process, retry later\n currentSession = retrieveSession()\n if (currentSession.lock !== currentLock) {\n retryLater(operations, numberOfRetries)\n return\n }\n }\n if (processedSession) {\n persistSession(processedSession, operations.options)\n }\n if (isCookieLockEnabled()) {\n // correctly handle lock around expiration would require to handle this case properly at several levels\n // since we don't have evidence of lock issues around expiration, let's just not do the corruption check for it\n if (!(processedSession && isExpiredState(processedSession))) {\n // if lock corrupted after persist, retry later\n currentSession = retrieveSession()\n if (currentSession.lock !== currentLock) {\n retryLater(operations, numberOfRetries)\n return\n }\n delete currentSession.lock\n setSession(currentSession, operations.options)\n processedSession = currentSession\n }\n }\n // call after even if session is not persisted in order to perform operations on\n // up-to-date cookie value, the value could have been modified by another tab\n if (operations.after) {\n operations.after(processedSession || currentSession)\n }\n next()\n}\n\n/**\n * Cookie lock strategy allows mitigating issues due to concurrent access to cookie.\n * This issue concerns only chromium browsers and enabling this on firefox increase cookie write failures.\n */\nfunction isCookieLockEnabled() {\n return isChromium()\n}\n\nfunction retryLater(operations, currentNumberOfRetries) {\n setTimeout(function () {\n withCookieLockAccess(operations, currentNumberOfRetries + 1)\n }, LOCK_RETRY_DELAY)\n}\n\nfunction next() {\n ongoingOperations = undefined\n var nextOperations = bufferedOperations.shift()\n if (nextOperations) {\n withCookieLockAccess(nextOperations)\n }\n}\n\nexport function persistSession(session, options) {\n if (isExpiredState(session)) {\n clearSession(options)\n return\n }\n session.expire = String(dateNow() + SESSION_EXPIRATION_DELAY)\n setSession(session, options)\n}\n\nfunction setSession(session, options) {\n setCookie(\n SESSION_COOKIE_NAME,\n toSessionString(session),\n SESSION_EXPIRATION_DELAY,\n options\n )\n}\n\nexport function toSessionString(session) {\n return map(objectEntries(session), function (item) {\n return item[0] + '=' + item[1]\n }).join(SESSION_ENTRY_SEPARATOR)\n}\n\nexport function retrieveSession() {\n var sessionString = getCookie(SESSION_COOKIE_NAME)\n var session = {}\n if (isValidSessionString(sessionString)) {\n each(sessionString.split(SESSION_ENTRY_SEPARATOR), function (entry) {\n var matches = SESSION_ENTRY_REGEXP.exec(entry)\n if (matches !== null) {\n var key = matches[1]\n var value = matches[2]\n session[key] = value\n }\n })\n }\n return session\n}\n\nfunction isValidSessionString(sessionString) {\n return (\n sessionString !== undefined &&\n (sessionString.indexOf(SESSION_ENTRY_SEPARATOR) !== -1 ||\n SESSION_ENTRY_REGEXP.test(sessionString))\n )\n}\n\nfunction isExpiredState(session) {\n return isEmptyObject(session)\n}\nexport function clearSession(options) {\n setCookie(SESSION_COOKIE_NAME, '', 0, options)\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"sessionCookieStore.js","names":["getCookie","setCookie","isChromium","dateNow","isEmptyObject","UUID","objectEntries","map","each","SESSION_EXPIRATION_DELAY","setTimeout","SESSION_ENTRY_REGEXP","SESSION_ENTRY_SEPARATOR","SESSION_COOKIE_NAME","LOCK_RETRY_DELAY","MAX_NUMBER_OF_LOCK_RETRIES","bufferedOperations","ongoingOperations","withCookieLockAccess","operations","numberOfRetries","push","next","currentLock","currentSession","retrieveSession","isCookieLockEnabled","lock","retryLater","setSession","options","processedSession","process","persistSession","isExpiredState","after","currentNumberOfRetries","undefined","nextOperations","shift","session","clearSession","expire","String","toSessionString","item","join","sessionString","isValidSessionString","split","entry","matches","exec","key","value","indexOf","test"],"sources":["../../src/session/sessionCookieStore.js"],"sourcesContent":["import { getCookie, setCookie } from '../browser/cookie'\nimport {\n isChromium,\n dateNow,\n isEmptyObject,\n UUID,\n objectEntries,\n map,\n each\n} from '../helper/tools'\nimport { SESSION_EXPIRATION_DELAY } from './sessionConstants'\nimport { setTimeout } from '../helper/timer'\nvar SESSION_ENTRY_REGEXP = /^([a-z]+)=([a-z0-9-]+)$/\nvar SESSION_ENTRY_SEPARATOR = '&'\n\nexport var SESSION_COOKIE_NAME = '_dataflux_s'\n\n// arbitrary values\nexport var LOCK_RETRY_DELAY = 10\nexport var MAX_NUMBER_OF_LOCK_RETRIES = 100\n\nvar bufferedOperations = []\nvar ongoingOperations\n\nexport function withCookieLockAccess(operations, numberOfRetries) {\n if (typeof numberOfRetries === 'undefined') {\n numberOfRetries = 0\n }\n if (!ongoingOperations) {\n ongoingOperations = operations\n }\n if (operations !== ongoingOperations) {\n bufferedOperations.push(operations)\n return\n }\n if (numberOfRetries >= MAX_NUMBER_OF_LOCK_RETRIES) {\n next()\n return\n }\n var currentLock\n var currentSession = retrieveSession()\n if (isCookieLockEnabled()) {\n // if someone has lock, retry later\n if (currentSession.lock) {\n retryLater(operations, numberOfRetries)\n return\n }\n // acquire lock\n currentLock = UUID()\n currentSession.lock = currentLock\n setSession(currentSession, operations.options)\n // if lock is not acquired, retry later\n currentSession = retrieveSession()\n if (currentSession.lock !== currentLock) {\n retryLater(operations, numberOfRetries)\n return\n }\n }\n var processedSession = operations.process(currentSession)\n if (isCookieLockEnabled()) {\n // if lock corrupted after process, retry later\n currentSession = retrieveSession()\n if (currentSession.lock !== currentLock) {\n retryLater(operations, numberOfRetries)\n return\n }\n }\n if (processedSession) {\n persistSession(processedSession, operations.options)\n }\n if (isCookieLockEnabled()) {\n // correctly handle lock around expiration would require to handle this case properly at several levels\n // since we don't have evidence of lock issues around expiration, let's just not do the corruption check for it\n if (!(processedSession && isExpiredState(processedSession))) {\n // if lock corrupted after persist, retry later\n currentSession = retrieveSession()\n if (currentSession.lock !== currentLock) {\n retryLater(operations, numberOfRetries)\n return\n }\n delete currentSession.lock\n setSession(currentSession, operations.options)\n processedSession = currentSession\n }\n }\n // call after even if session is not persisted in order to perform operations on\n // up-to-date cookie value, the value could have been modified by another tab\n if (operations.after) {\n operations.after(processedSession || currentSession)\n }\n next()\n}\n\n/**\n * Cookie lock strategy allows mitigating issues due to concurrent access to cookie.\n * This issue concerns only chromium browsers and enabling this on firefox increase cookie write failures.\n */\nfunction isCookieLockEnabled() {\n return isChromium()\n}\n\nfunction retryLater(operations, currentNumberOfRetries) {\n setTimeout(function () {\n withCookieLockAccess(operations, currentNumberOfRetries + 1)\n }, LOCK_RETRY_DELAY)\n}\n\nfunction next() {\n ongoingOperations = undefined\n var nextOperations = bufferedOperations.shift()\n if (nextOperations) {\n withCookieLockAccess(nextOperations)\n }\n}\n\nexport function persistSession(session, options) {\n if (isExpiredState(session)) {\n clearSession(options)\n return\n }\n session.expire = String(dateNow() + SESSION_EXPIRATION_DELAY)\n setSession(session, options)\n}\n\nfunction setSession(session, options) {\n setCookie(\n SESSION_COOKIE_NAME,\n toSessionString(session),\n SESSION_EXPIRATION_DELAY,\n options\n )\n}\n\nexport function toSessionString(session) {\n return map(objectEntries(session), function (item) {\n return item[0] + '=' + item[1]\n }).join(SESSION_ENTRY_SEPARATOR)\n}\n\nexport function retrieveSession() {\n var sessionString = getCookie(SESSION_COOKIE_NAME)\n var session = {}\n if (isValidSessionString(sessionString)) {\n each(sessionString.split(SESSION_ENTRY_SEPARATOR), function (entry) {\n var matches = SESSION_ENTRY_REGEXP.exec(entry)\n if (matches !== null) {\n var key = matches[1]\n var value = matches[2]\n session[key] = value\n }\n })\n }\n return session\n}\n\nfunction isValidSessionString(sessionString) {\n return (\n sessionString !== undefined &&\n (sessionString.indexOf(SESSION_ENTRY_SEPARATOR) !== -1 ||\n SESSION_ENTRY_REGEXP.test(sessionString))\n )\n}\n\nfunction isExpiredState(session) {\n return isEmptyObject(session)\n}\nexport function clearSession(options) {\n setCookie(SESSION_COOKIE_NAME, '', 0, options)\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"sessionManagement.js","names":["relativeNow","clocksOrigin","ONE_MINUTE","each","addEventListeners","addEventListener","ContextHistory","startSessionStore","SESSION_TIME_OUT_DELAY","DOM_EVENT","clearInterval","setInterval","Observable","VISIBILITY_CHECK_DELAY","SESSION_CONTEXT_TIMEOUT_DELAY","stopCallbacks","startSessionManager","options","productKey","computeSessionState","renewObservable","expireObservable","sessionStore","push","stop","sessionContextHistory","subscribe","add","buildSessionContext","notify","closeActive","expandOrRenewSession","relative","trackActivity","trackVisibility","expandSession","id","getSession","trackingType","findActiveSession","startTime","find","expire","stopSessionManager","e","_addEventListeners","window","CLICK","TOUCH_START","KEY_DOWN","SCROLL","capture","passive","expandSessionWhenVisible","document","visibilityState","_addEventListener","VISIBILITY_CHANGE","visibilityCheckInterval"],"sources":["../../src/session/sessionManagement.js"],"sourcesContent":["import { relativeNow, clocksOrigin, ONE_MINUTE, each } from '../helper/tools'\nimport {\n addEventListeners,\n addEventListener\n} from '../browser/addEventListener'\nimport { ContextHistory } from '../helper/contextHistory'\nimport { startSessionStore } from './sessionStore'\nimport { SESSION_TIME_OUT_DELAY } from './sessionConstants'\nimport { DOM_EVENT } from '../helper/enums'\nimport { clearInterval, setInterval } from '../helper/timer'\nimport { Observable } from '../helper/observable'\nexport var VISIBILITY_CHECK_DELAY = ONE_MINUTE\nvar SESSION_CONTEXT_TIMEOUT_DELAY = SESSION_TIME_OUT_DELAY\nvar stopCallbacks = []\n\nexport var startSessionManager = function (\n options,\n productKey,\n computeSessionState\n) {\n var renewObservable = new Observable()\n var expireObservable = new Observable()\n var sessionStore = startSessionStore(options, productKey, computeSessionState)\n stopCallbacks.push(function () {\n return sessionStore.stop()\n })\n\n var sessionContextHistory = new ContextHistory(SESSION_CONTEXT_TIMEOUT_DELAY)\n stopCallbacks.push(function () {\n return sessionContextHistory.stop()\n })\n\n sessionStore.renewObservable.subscribe(function () {\n sessionContextHistory.add(buildSessionContext(), relativeNow())\n renewObservable.notify()\n })\n sessionStore.expireObservable.subscribe(function () {\n expireObservable.notify()\n sessionContextHistory.closeActive(relativeNow())\n })\n\n sessionStore.expandOrRenewSession()\n sessionContextHistory.add(buildSessionContext(), clocksOrigin().relative)\n\n trackActivity(function () {\n return sessionStore.expandOrRenewSession()\n })\n trackVisibility(function () {\n return sessionStore.expandSession()\n })\n\n function buildSessionContext() {\n return {\n id: sessionStore.getSession().id,\n trackingType: sessionStore.getSession()[productKey]\n }\n }\n\n return {\n findActiveSession: function (startTime) {\n return sessionContextHistory.find(startTime)\n },\n renewObservable: renewObservable,\n expireObservable: expireObservable,\n expire: sessionStore.expire\n }\n}\n\nexport function stopSessionManager() {\n each(stopCallbacks, function (e) {\n return e()\n })\n stopCallbacks = []\n}\n\nfunction trackActivity(expandOrRenewSession) {\n var _addEventListeners = addEventListeners(\n window,\n [\n DOM_EVENT.CLICK,\n DOM_EVENT.TOUCH_START,\n DOM_EVENT.KEY_DOWN,\n DOM_EVENT.SCROLL\n ],\n expandOrRenewSession,\n { capture: true, passive: true }\n )\n stopCallbacks.push(_addEventListeners.stop)\n}\n\nfunction trackVisibility(expandSession) {\n var expandSessionWhenVisible = function () {\n if (document.visibilityState === 'visible') {\n expandSession()\n }\n }\n var _addEventListener = addEventListener(\n document,\n DOM_EVENT.VISIBILITY_CHANGE,\n expandSessionWhenVisible\n )\n stopCallbacks.push(_addEventListener.stop)\n\n var visibilityCheckInterval = setInterval(\n expandSessionWhenVisible,\n VISIBILITY_CHECK_DELAY\n )\n stopCallbacks.push(function () {\n clearInterval(visibilityCheckInterval)\n })\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"sessionManagement.js","names":["relativeNow","clocksOrigin","ONE_MINUTE","each","addEventListeners","addEventListener","ContextHistory","startSessionStore","SESSION_TIME_OUT_DELAY","DOM_EVENT","clearInterval","setInterval","Observable","VISIBILITY_CHECK_DELAY","SESSION_CONTEXT_TIMEOUT_DELAY","stopCallbacks","startSessionManager","options","productKey","computeSessionState","renewObservable","expireObservable","sessionStore","push","stop","sessionContextHistory","subscribe","add","buildSessionContext","notify","closeActive","expandOrRenewSession","relative","trackActivity","trackVisibility","expandSession","id","getSession","trackingType","findActiveSession","startTime","find","expire","stopSessionManager","e","_addEventListeners","window","CLICK","TOUCH_START","KEY_DOWN","SCROLL","capture","passive","expandSessionWhenVisible","document","visibilityState","_addEventListener","VISIBILITY_CHANGE","visibilityCheckInterval"],"sources":["../../src/session/sessionManagement.js"],"sourcesContent":["import { relativeNow, clocksOrigin, ONE_MINUTE, each } from '../helper/tools'\nimport {\n addEventListeners,\n addEventListener\n} from '../browser/addEventListener'\nimport { ContextHistory } from '../helper/contextHistory'\nimport { startSessionStore } from './sessionStore'\nimport { SESSION_TIME_OUT_DELAY } from './sessionConstants'\nimport { DOM_EVENT } from '../helper/enums'\nimport { clearInterval, setInterval } from '../helper/timer'\nimport { Observable } from '../helper/observable'\nexport var VISIBILITY_CHECK_DELAY = ONE_MINUTE\nvar SESSION_CONTEXT_TIMEOUT_DELAY = SESSION_TIME_OUT_DELAY\nvar stopCallbacks = []\n\nexport var startSessionManager = function (\n options,\n productKey,\n computeSessionState\n) {\n var renewObservable = new Observable()\n var expireObservable = new Observable()\n var sessionStore = startSessionStore(options, productKey, computeSessionState)\n stopCallbacks.push(function () {\n return sessionStore.stop()\n })\n\n var sessionContextHistory = new ContextHistory(SESSION_CONTEXT_TIMEOUT_DELAY)\n stopCallbacks.push(function () {\n return sessionContextHistory.stop()\n })\n\n sessionStore.renewObservable.subscribe(function () {\n sessionContextHistory.add(buildSessionContext(), relativeNow())\n renewObservable.notify()\n })\n sessionStore.expireObservable.subscribe(function () {\n expireObservable.notify()\n sessionContextHistory.closeActive(relativeNow())\n })\n\n sessionStore.expandOrRenewSession()\n sessionContextHistory.add(buildSessionContext(), clocksOrigin().relative)\n\n trackActivity(function () {\n return sessionStore.expandOrRenewSession()\n })\n trackVisibility(function () {\n return sessionStore.expandSession()\n })\n\n function buildSessionContext() {\n return {\n id: sessionStore.getSession().id,\n trackingType: sessionStore.getSession()[productKey]\n }\n }\n\n return {\n findActiveSession: function (startTime) {\n return sessionContextHistory.find(startTime)\n },\n renewObservable: renewObservable,\n expireObservable: expireObservable,\n expire: sessionStore.expire\n }\n}\n\nexport function stopSessionManager() {\n each(stopCallbacks, function (e) {\n return e()\n })\n stopCallbacks = []\n}\n\nfunction trackActivity(expandOrRenewSession) {\n var _addEventListeners = addEventListeners(\n window,\n [\n DOM_EVENT.CLICK,\n DOM_EVENT.TOUCH_START,\n DOM_EVENT.KEY_DOWN,\n DOM_EVENT.SCROLL\n ],\n expandOrRenewSession,\n { capture: true, passive: true }\n )\n stopCallbacks.push(_addEventListeners.stop)\n}\n\nfunction trackVisibility(expandSession) {\n var expandSessionWhenVisible = function () {\n if (document.visibilityState === 'visible') {\n expandSession()\n }\n }\n var _addEventListener = addEventListener(\n document,\n DOM_EVENT.VISIBILITY_CHANGE,\n expandSessionWhenVisible\n )\n stopCallbacks.push(_addEventListener.stop)\n\n var visibilityCheckInterval = setInterval(\n expandSessionWhenVisible,\n VISIBILITY_CHECK_DELAY\n )\n stopCallbacks.push(function () {\n clearInterval(visibilityCheckInterval)\n })\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"sessionStore.js","names":["COOKIE_ACCESS_DELAY","Observable","dateNow","UUID","throttle","ONE_SECOND","SESSION_TIME_OUT_DELAY","retrieveSession","withCookieLockAccess","clearSession","clearInterval","setInterval","STORAGE_POLL_DELAY","startSessionStore","options","productKey","computeSessionState","renewObservable","expireObservable","watchSessionTimeoutId","watchSession","sessionCache","retrieveActiveSession","_throttleExpandOrRenewSession","isTracked","process","cookieSession","synchronizedSession","synchronizeSession","expandOrRenewCookie","after","hasSessionInCache","renewSession","throttledExpandOrRenewSession","throttled","cancelExpandOrRenewSession","cancel","expandSession","undefined","isActiveSession","isSessionInCacheOutdated","expireSessionInCache","sessionState","trackingType","id","created","String","notify","session","Number","expire","expandOrRenewSession","getSession","stop"],"sources":["../../src/session/sessionStore.js"],"sourcesContent":["import { COOKIE_ACCESS_DELAY } from '../browser/cookie'\nimport { Observable } from '../helper/observable'\nimport { dateNow, UUID, throttle, ONE_SECOND } from '../helper/tools'\nimport { SESSION_TIME_OUT_DELAY } from './sessionConstants'\nimport {\n retrieveSession,\n withCookieLockAccess,\n clearSession\n} from './sessionCookieStore'\nimport { clearInterval, setInterval } from '../helper/timer'\n\nexport var STORAGE_POLL_DELAY = ONE_SECOND\n/**\n * Different session concepts:\n * - tracked, the session has an id and is updated along the user navigation\n * - not tracked, the session does not have an id but it is updated along the user navigation\n * - inactive, no session in store or session expired, waiting for a renew session\n */\nexport function startSessionStore(options, productKey, computeSessionState) {\n var renewObservable = new Observable()\n var expireObservable = new Observable()\n\n var watchSessionTimeoutId = setInterval(watchSession, STORAGE_POLL_DELAY)\n var sessionCache = retrieveActiveSession()\n var _throttleExpandOrRenewSession = throttle(function () {\n var isTracked\n withCookieLockAccess({\n options: options,\n process: function (cookieSession) {\n var synchronizedSession = synchronizeSession(cookieSession)\n isTracked = expandOrRenewCookie(synchronizedSession)\n return synchronizedSession\n },\n after: function (cookieSession) {\n if (isTracked && !hasSessionInCache()) {\n renewSession(cookieSession)\n }\n sessionCache = cookieSession\n }\n })\n }, STORAGE_POLL_DELAY)\n var throttledExpandOrRenewSession = _throttleExpandOrRenewSession.throttled\n var cancelExpandOrRenewSession = _throttleExpandOrRenewSession.cancel\n // function expandOrRenewSession() {\n // var isTracked\n // withCookieLockAccess({\n // options: options,\n // process: function (cookieSession) {\n // var synchronizedSession = synchronizeSession(cookieSession)\n // isTracked = expandOrRenewCookie(synchronizedSession)\n // return synchronizedSession\n // },\n // after: function (cookieSession) {\n // if (isTracked && !hasSessionInCache()) {\n // renewSession(cookieSession)\n // }\n // sessionCache = cookieSession\n // }\n // })\n // }\n\n function expandSession() {\n withCookieLockAccess({\n options: options,\n process: function (cookieSession) {\n return hasSessionInCache()\n ? synchronizeSession(cookieSession)\n : undefined\n }\n })\n }\n\n /**\n * allows two behaviors:\n * - if the session is active, synchronize the session cache without updating the session cookie\n * - if the session is not active, clear the session cookie and expire the session cache\n */\n function watchSession() {\n withCookieLockAccess({\n options: options,\n process: function (cookieSession) {\n return !isActiveSession(cookieSession) ? {} : undefined\n },\n after: synchronizeSession\n })\n }\n\n function synchronizeSession(cookieSession) {\n if (!isActiveSession(cookieSession)) {\n cookieSession = {}\n }\n if (hasSessionInCache()) {\n if (isSessionInCacheOutdated(cookieSession)) {\n expireSessionInCache()\n } else {\n sessionCache = cookieSession\n }\n }\n return cookieSession\n }\n\n function expandOrRenewCookie(cookieSession) {\n var sessionState = computeSessionState(cookieSession[productKey])\n var trackingType = sessionState.trackingType\n var isTracked = sessionState.isTracked\n cookieSession[productKey] = trackingType\n if (isTracked && !cookieSession.id) {\n cookieSession.id = UUID()\n cookieSession.created = String(dateNow())\n }\n return isTracked\n }\n\n function hasSessionInCache() {\n return sessionCache[productKey] !== undefined\n }\n\n function isSessionInCacheOutdated(cookieSession) {\n return (\n sessionCache.id !== cookieSession.id ||\n sessionCache[productKey] !== cookieSession[productKey]\n )\n }\n\n function expireSessionInCache() {\n sessionCache = {}\n expireObservable.notify()\n }\n\n function renewSession(cookieSession) {\n sessionCache = cookieSession\n renewObservable.notify()\n }\n\n function retrieveActiveSession() {\n var session = retrieveSession()\n if (isActiveSession(session)) {\n return session\n }\n return {}\n }\n\n function isActiveSession(session) {\n // created and expire can be undefined for versions which was not storing them\n // these checks could be removed when older versions will not be available/live anymore\n return (\n (session.created === undefined ||\n dateNow() - Number(session.created) < SESSION_TIME_OUT_DELAY) &&\n (session.expire === undefined || dateNow() < Number(session.expire))\n )\n }\n\n return {\n expandOrRenewSession: throttledExpandOrRenewSession,\n expandSession: expandSession,\n getSession: function () {\n return sessionCache\n },\n renewObservable: renewObservable,\n expireObservable: expireObservable,\n expire: function () {\n cancelExpandOrRenewSession()\n clearSession(options)\n synchronizeSession({})\n },\n stop: function () {\n clearInterval(watchSessionTimeoutId)\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"sessionStore.js","names":["COOKIE_ACCESS_DELAY","Observable","dateNow","UUID","throttle","ONE_SECOND","SESSION_TIME_OUT_DELAY","retrieveSession","withCookieLockAccess","clearSession","clearInterval","setInterval","STORAGE_POLL_DELAY","startSessionStore","options","productKey","computeSessionState","renewObservable","expireObservable","watchSessionTimeoutId","watchSession","sessionCache","retrieveActiveSession","_throttleExpandOrRenewSession","isTracked","process","cookieSession","synchronizedSession","synchronizeSession","expandOrRenewCookie","after","hasSessionInCache","renewSession","throttledExpandOrRenewSession","throttled","cancelExpandOrRenewSession","cancel","expandSession","undefined","isActiveSession","isSessionInCacheOutdated","expireSessionInCache","sessionState","trackingType","id","created","String","notify","session","Number","expire","expandOrRenewSession","getSession","stop"],"sources":["../../src/session/sessionStore.js"],"sourcesContent":["import { COOKIE_ACCESS_DELAY } from '../browser/cookie'\nimport { Observable } from '../helper/observable'\nimport { dateNow, UUID, throttle, ONE_SECOND } from '../helper/tools'\nimport { SESSION_TIME_OUT_DELAY } from './sessionConstants'\nimport {\n retrieveSession,\n withCookieLockAccess,\n clearSession\n} from './sessionCookieStore'\nimport { clearInterval, setInterval } from '../helper/timer'\n\nexport var STORAGE_POLL_DELAY = ONE_SECOND\n/**\n * Different session concepts:\n * - tracked, the session has an id and is updated along the user navigation\n * - not tracked, the session does not have an id but it is updated along the user navigation\n * - inactive, no session in store or session expired, waiting for a renew session\n */\nexport function startSessionStore(options, productKey, computeSessionState) {\n var renewObservable = new Observable()\n var expireObservable = new Observable()\n\n var watchSessionTimeoutId = setInterval(watchSession, STORAGE_POLL_DELAY)\n var sessionCache = retrieveActiveSession()\n var _throttleExpandOrRenewSession = throttle(function () {\n var isTracked\n withCookieLockAccess({\n options: options,\n process: function (cookieSession) {\n var synchronizedSession = synchronizeSession(cookieSession)\n isTracked = expandOrRenewCookie(synchronizedSession)\n return synchronizedSession\n },\n after: function (cookieSession) {\n if (isTracked && !hasSessionInCache()) {\n renewSession(cookieSession)\n }\n sessionCache = cookieSession\n }\n })\n }, STORAGE_POLL_DELAY)\n var throttledExpandOrRenewSession = _throttleExpandOrRenewSession.throttled\n var cancelExpandOrRenewSession = _throttleExpandOrRenewSession.cancel\n // function expandOrRenewSession() {\n // var isTracked\n // withCookieLockAccess({\n // options: options,\n // process: function (cookieSession) {\n // var synchronizedSession = synchronizeSession(cookieSession)\n // isTracked = expandOrRenewCookie(synchronizedSession)\n // return synchronizedSession\n // },\n // after: function (cookieSession) {\n // if (isTracked && !hasSessionInCache()) {\n // renewSession(cookieSession)\n // }\n // sessionCache = cookieSession\n // }\n // })\n // }\n\n function expandSession() {\n withCookieLockAccess({\n options: options,\n process: function (cookieSession) {\n return hasSessionInCache()\n ? synchronizeSession(cookieSession)\n : undefined\n }\n })\n }\n\n /**\n * allows two behaviors:\n * - if the session is active, synchronize the session cache without updating the session cookie\n * - if the session is not active, clear the session cookie and expire the session cache\n */\n function watchSession() {\n withCookieLockAccess({\n options: options,\n process: function (cookieSession) {\n return !isActiveSession(cookieSession) ? {} : undefined\n },\n after: synchronizeSession\n })\n }\n\n function synchronizeSession(cookieSession) {\n if (!isActiveSession(cookieSession)) {\n cookieSession = {}\n }\n if (hasSessionInCache()) {\n if (isSessionInCacheOutdated(cookieSession)) {\n expireSessionInCache()\n } else {\n sessionCache = cookieSession\n }\n }\n return cookieSession\n }\n\n function expandOrRenewCookie(cookieSession) {\n var sessionState = computeSessionState(cookieSession[productKey])\n var trackingType = sessionState.trackingType\n var isTracked = sessionState.isTracked\n cookieSession[productKey] = trackingType\n if (isTracked && !cookieSession.id) {\n cookieSession.id = UUID()\n cookieSession.created = String(dateNow())\n }\n return isTracked\n }\n\n function hasSessionInCache() {\n return sessionCache[productKey] !== undefined\n }\n\n function isSessionInCacheOutdated(cookieSession) {\n return (\n sessionCache.id !== cookieSession.id ||\n sessionCache[productKey] !== cookieSession[productKey]\n )\n }\n\n function expireSessionInCache() {\n sessionCache = {}\n expireObservable.notify()\n }\n\n function renewSession(cookieSession) {\n sessionCache = cookieSession\n renewObservable.notify()\n }\n\n function retrieveActiveSession() {\n var session = retrieveSession()\n if (isActiveSession(session)) {\n return session\n }\n return {}\n }\n\n function isActiveSession(session) {\n // created and expire can be undefined for versions which was not storing them\n // these checks could be removed when older versions will not be available/live anymore\n return (\n (session.created === undefined ||\n dateNow() - Number(session.created) < SESSION_TIME_OUT_DELAY) &&\n (session.expire === undefined || dateNow() < Number(session.expire))\n )\n }\n\n return {\n expandOrRenewSession: throttledExpandOrRenewSession,\n expandSession: expandSession,\n getSession: function () {\n return sessionCache\n },\n renewObservable: renewObservable,\n expireObservable: expireObservable,\n expire: function () {\n cancelExpandOrRenewSession()\n clearSession(options)\n synchronizeSession({})\n },\n stop: function () {\n clearInterval(watchSessionTimeoutId)\n }\n }\n}\n"],"mappings":"AAAA,SAASA,mBAAmB,QAAQ,mBAAmB;AACvD,SAASC,UAAU,QAAQ,sBAAsB;AACjD,SAASC,OAAO,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,UAAU,QAAQ,iBAAiB;AACrE,SAASC,sBAAsB,QAAQ,oBAAoB;AAC3D,SACEC,eAAe,EACfC,oBAAoB,EACpBC,YAAY,QACP,sBAAsB;AAC7B,SAASC,aAAa,EAAEC,WAAW,QAAQ,iBAAiB;AAE5D,OAAO,IAAIC,kBAAkB,GAAGP,UAAU;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASQ,iBAAiBA,CAACC,OAAO,EAAEC,UAAU,EAAEC,mBAAmB,EAAE;EAC1E,IAAIC,eAAe,GAAG,IAAIhB,UAAU,CAAC,CAAC;EACtC,IAAIiB,gBAAgB,GAAG,IAAIjB,UAAU,CAAC,CAAC;EAEvC,IAAIkB,qBAAqB,GAAGR,WAAW,CAACS,YAAY,EAAER,kBAAkB,CAAC;EACzE,IAAIS,YAAY,GAAGC,qBAAqB,CAAC,CAAC;EAC1C,IAAIC,6BAA6B,GAAGnB,QAAQ,CAAC,YAAY;IACvD,IAAIoB,SAAS;IACbhB,oBAAoB,CAAC;MACnBM,OAAO,EAAEA,OAAO;MAChBW,OAAO,EAAE,SAAAA,QAAUC,aAAa,EAAE;QAChC,IAAIC,mBAAmB,GAAGC,kBAAkB,CAACF,aAAa,CAAC;QAC3DF,SAAS,GAAGK,mBAAmB,CAACF,mBAAmB,CAAC;QACpD,OAAOA,mBAAmB;MAC5B,CAAC;MACDG,KAAK,EAAE,SAAAA,MAAUJ,aAAa,EAAE;QAC9B,IAAIF,SAAS,IAAI,CAACO,iBAAiB,CAAC,CAAC,EAAE;UACrCC,YAAY,CAACN,aAAa,CAAC;QAC7B;QACAL,YAAY,GAAGK,aAAa;MAC9B;IACF,CAAC,CAAC;EACJ,CAAC,EAAEd,kBAAkB,CAAC;EACtB,IAAIqB,6BAA6B,GAAGV,6BAA6B,CAACW,SAAS;EAC3E,IAAIC,0BAA0B,GAAGZ,6BAA6B,CAACa,MAAM;EACrE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA,SAASC,aAAaA,CAAA,EAAG;IACvB7B,oBAAoB,CAAC;MACnBM,OAAO,EAAEA,OAAO;MAChBW,OAAO,EAAE,SAAAA,QAAUC,aAAa,EAAE;QAChC,OAAOK,iBAAiB,CAAC,CAAC,GACtBH,kBAAkB,CAACF,aAAa,CAAC,GACjCY,SAAS;MACf;IACF,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;AACA;AACA;EACE,SAASlB,YAAYA,CAAA,EAAG;IACtBZ,oBAAoB,CAAC;MACnBM,OAAO,EAAEA,OAAO;MAChBW,OAAO,EAAE,SAAAA,QAAUC,aAAa,EAAE;QAChC,OAAO,CAACa,eAAe,CAACb,aAAa,CAAC,GAAG,CAAC,CAAC,GAAGY,SAAS;MACzD,CAAC;MACDR,KAAK,EAAEF;IACT,CAAC,CAAC;EACJ;EAEA,SAASA,kBAAkBA,CAACF,aAAa,EAAE;IACzC,IAAI,CAACa,eAAe,CAACb,aAAa,CAAC,EAAE;MACnCA,aAAa,GAAG,CAAC,CAAC;IACpB;IACA,IAAIK,iBAAiB,CAAC,CAAC,EAAE;MACvB,IAAIS,wBAAwB,CAACd,aAAa,CAAC,EAAE;QAC3Ce,oBAAoB,CAAC,CAAC;MACxB,CAAC,MAAM;QACLpB,YAAY,GAAGK,aAAa;MAC9B;IACF;IACA,OAAOA,aAAa;EACtB;EAEA,SAASG,mBAAmBA,CAACH,aAAa,EAAE;IAC1C,IAAIgB,YAAY,GAAG1B,mBAAmB,CAACU,aAAa,CAACX,UAAU,CAAC,CAAC;IACjE,IAAI4B,YAAY,GAAGD,YAAY,CAACC,YAAY;IAC5C,IAAInB,SAAS,GAAGkB,YAAY,CAAClB,SAAS;IACtCE,aAAa,CAACX,UAAU,CAAC,GAAG4B,YAAY;IACxC,IAAInB,SAAS,IAAI,CAACE,aAAa,CAACkB,EAAE,EAAE;MAClClB,aAAa,CAACkB,EAAE,GAAGzC,IAAI,CAAC,CAAC;MACzBuB,aAAa,CAACmB,OAAO,GAAGC,MAAM,CAAC5C,OAAO,CAAC,CAAC,CAAC;IAC3C;IACA,OAAOsB,SAAS;EAClB;EAEA,SAASO,iBAAiBA,CAAA,EAAG;IAC3B,OAAOV,YAAY,CAACN,UAAU,CAAC,KAAKuB,SAAS;EAC/C;EAEA,SAASE,wBAAwBA,CAACd,aAAa,EAAE;IAC/C,OACEL,YAAY,CAACuB,EAAE,KAAKlB,aAAa,CAACkB,EAAE,IACpCvB,YAAY,CAACN,UAAU,CAAC,KAAKW,aAAa,CAACX,UAAU,CAAC;EAE1D;EAEA,SAAS0B,oBAAoBA,CAAA,EAAG;IAC9BpB,YAAY,GAAG,CAAC,CAAC;IACjBH,gBAAgB,CAAC6B,MAAM,CAAC,CAAC;EAC3B;EAEA,SAASf,YAAYA,CAACN,aAAa,EAAE;IACnCL,YAAY,GAAGK,aAAa;IAC5BT,eAAe,CAAC8B,MAAM,CAAC,CAAC;EAC1B;EAEA,SAASzB,qBAAqBA,CAAA,EAAG;IAC/B,IAAI0B,OAAO,GAAGzC,eAAe,CAAC,CAAC;IAC/B,IAAIgC,eAAe,CAACS,OAAO,CAAC,EAAE;MAC5B,OAAOA,OAAO;IAChB;IACA,OAAO,CAAC,CAAC;EACX;EAEA,SAAST,eAAeA,CAACS,OAAO,EAAE;IAChC;IACA;IACA,OACE,CAACA,OAAO,CAACH,OAAO,KAAKP,SAAS,IAC5BpC,OAAO,CAAC,CAAC,GAAG+C,MAAM,CAACD,OAAO,CAACH,OAAO,CAAC,GAAGvC,sBAAsB,MAC7D0C,OAAO,CAACE,MAAM,KAAKZ,SAAS,IAAIpC,OAAO,CAAC,CAAC,GAAG+C,MAAM,CAACD,OAAO,CAACE,MAAM,CAAC,CAAC;EAExE;EAEA,OAAO;IACLC,oBAAoB,EAAElB,6BAA6B;IACnDI,aAAa,EAAEA,aAAa;IAC5Be,UAAU,EAAE,SAAAA,WAAA,EAAY;MACtB,OAAO/B,YAAY;IACrB,CAAC;IACDJ,eAAe,EAAEA,eAAe;IAChCC,gBAAgB,EAAEA,gBAAgB;IAClCgC,MAAM,EAAE,SAAAA,OAAA,EAAY;MAClBf,0BAA0B,CAAC,CAAC;MAC5B1B,YAAY,CAACK,OAAO,CAAC;MACrBc,kBAAkB,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IACDyB,IAAI,EAAE,SAAAA,KAAA,EAAY;MAChB3C,aAAa,CAACS,qBAAqB,CAAC;IACtC;EACF,CAAC;AACH","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"syntheticsWorkerValues.js","names":["getCookie","SYNTHETICS_TEST_ID_COOKIE_NAME","SYNTHETICS_RESULT_ID_COOKIE_NAME","SYNTHETICS_INJECTS_RUM_COOKIE_NAME","willSyntheticsInjectRum","Boolean","window","_GUANCE_SYNTHETICS_INJECTS_RUM","getSyntheticsTestId","value","_GUANCE_SYNTHETICS_PUBLIC_ID","undefined","getSyntheticsResultId","_GUANCE_SYNTHETICS_RESULT_ID"],"sources":["../../src/synthetics/syntheticsWorkerValues.js"],"sourcesContent":["import { getCookie } from '../browser/cookie'\n\nexport var SYNTHETICS_TEST_ID_COOKIE_NAME = 'guance-synthetics-public-id'\nexport var SYNTHETICS_RESULT_ID_COOKIE_NAME = 'guance-synthetics-result-id'\nexport var SYNTHETICS_INJECTS_RUM_COOKIE_NAME = 'guance-synthetics-injects-rum'\n\nexport function willSyntheticsInjectRum() {\n return Boolean(\n window._GUANCE_SYNTHETICS_INJECTS_RUM ||\n getCookie(SYNTHETICS_INJECTS_RUM_COOKIE_NAME)\n )\n}\n\nexport function getSyntheticsTestId() {\n var value =\n window._GUANCE_SYNTHETICS_PUBLIC_ID ||\n getCookie(SYNTHETICS_TEST_ID_COOKIE_NAME)\n return typeof value === 'string' ? value : undefined\n}\n\nexport function getSyntheticsResultId() {\n var value =\n window._GUANCE_SYNTHETICS_RESULT_ID ||\n getCookie(SYNTHETICS_RESULT_ID_COOKIE_NAME)\n return typeof value === 'string' ? value : undefined\n}\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,mBAAmB;AAE7C,OAAO,IAAIC,8BAA8B,GAAG,6BAA6B;AACzE,OAAO,IAAIC,gCAAgC,GAAG,6BAA6B;AAC3E,OAAO,IAAIC,kCAAkC,GAAG,+BAA+B;AAE/E,OAAO,SAASC,uBAAuBA,CAAA,EAAG;EACxC,OAAOC,OAAO,CACZC,MAAM,CAACC,8BAA8B,IACnCP,SAAS,CAACG,kCAAkC,CAChD,CAAC;AACH;AAEA,OAAO,SAASK,mBAAmBA,CAAA,EAAG;EACpC,IAAIC,KAAK,GACPH,MAAM,CAACI,4BAA4B,IACnCV,SAAS,CAACC,8BAA8B,CAAC;EAC3C,OAAO,OAAOQ,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAGE,SAAS;AACtD;AAEA,OAAO,SAASC,qBAAqBA,CAAA,EAAG;EACtC,IAAIH,KAAK,GACPH,MAAM,CAACO,4BAA4B,IACnCb,SAAS,CAACE,gCAAgC,CAAC;EAC7C,OAAO,OAAOO,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAGE,SAAS;AACtD"}
1
+ {"version":3,"file":"syntheticsWorkerValues.js","names":["getCookie","SYNTHETICS_TEST_ID_COOKIE_NAME","SYNTHETICS_RESULT_ID_COOKIE_NAME","SYNTHETICS_INJECTS_RUM_COOKIE_NAME","willSyntheticsInjectRum","Boolean","window","_GUANCE_SYNTHETICS_INJECTS_RUM","getSyntheticsTestId","value","_GUANCE_SYNTHETICS_PUBLIC_ID","undefined","getSyntheticsResultId","_GUANCE_SYNTHETICS_RESULT_ID"],"sources":["../../src/synthetics/syntheticsWorkerValues.js"],"sourcesContent":["import { getCookie } from '../browser/cookie'\n\nexport var SYNTHETICS_TEST_ID_COOKIE_NAME = 'guance-synthetics-public-id'\nexport var SYNTHETICS_RESULT_ID_COOKIE_NAME = 'guance-synthetics-result-id'\nexport var SYNTHETICS_INJECTS_RUM_COOKIE_NAME = 'guance-synthetics-injects-rum'\n\nexport function willSyntheticsInjectRum() {\n return Boolean(\n window._GUANCE_SYNTHETICS_INJECTS_RUM ||\n getCookie(SYNTHETICS_INJECTS_RUM_COOKIE_NAME)\n )\n}\n\nexport function getSyntheticsTestId() {\n var value =\n window._GUANCE_SYNTHETICS_PUBLIC_ID ||\n getCookie(SYNTHETICS_TEST_ID_COOKIE_NAME)\n return typeof value === 'string' ? value : undefined\n}\n\nexport function getSyntheticsResultId() {\n var value =\n window._GUANCE_SYNTHETICS_RESULT_ID ||\n getCookie(SYNTHETICS_RESULT_ID_COOKIE_NAME)\n return typeof value === 'string' ? value : undefined\n}\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,mBAAmB;AAE7C,OAAO,IAAIC,8BAA8B,GAAG,6BAA6B;AACzE,OAAO,IAAIC,gCAAgC,GAAG,6BAA6B;AAC3E,OAAO,IAAIC,kCAAkC,GAAG,+BAA+B;AAE/E,OAAO,SAASC,uBAAuBA,CAAA,EAAG;EACxC,OAAOC,OAAO,CACZC,MAAM,CAACC,8BAA8B,IACnCP,SAAS,CAACG,kCAAkC,CAChD,CAAC;AACH;AAEA,OAAO,SAASK,mBAAmBA,CAAA,EAAG;EACpC,IAAIC,KAAK,GACPH,MAAM,CAACI,4BAA4B,IACnCV,SAAS,CAACC,8BAA8B,CAAC;EAC3C,OAAO,OAAOQ,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAGE,SAAS;AACtD;AAEA,OAAO,SAASC,qBAAqBA,CAAA,EAAG;EACtC,IAAIH,KAAK,GACPH,MAAM,CAACO,4BAA4B,IACnCb,SAAS,CAACE,gCAAgC,CAAC;EAC7C,OAAO,OAAOO,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAGE,SAAS;AACtD","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"usr.js","names":["getCookie","setCookie","ONE_HOUR","UUID","ANONYMOUS_ID_COOKIE_NAME","ANONYMOUS_ID_EXPIRATION","startCacheUsrCache","configuration","usrCacheId","cookieOptions","getUsrId"],"sources":["../../src/synthetics/usr.js"],"sourcesContent":["import { getCookie, setCookie } from '../browser/cookie'\nimport { ONE_HOUR, UUID } from '../helper/tools'\n\nexport var ANONYMOUS_ID_COOKIE_NAME = '_dataflulx_usr_id'\nexport var ANONYMOUS_ID_EXPIRATION = 60 * 24 * ONE_HOUR\n\nexport var startCacheUsrCache = function(configuration) {\n var usrCacheId = getCookie(ANONYMOUS_ID_COOKIE_NAME)\n if (!usrCacheId) {\n usrCacheId = UUID()\n setCookie(ANONYMOUS_ID_COOKIE_NAME, usrCacheId, ANONYMOUS_ID_EXPIRATION, configuration.cookieOptions)\n }\n return {\n getUsrId: function() {\n return usrCacheId\n }\n }\n}"],"mappings":"AAAA,SAASA,SAAS,EAAEC,SAAS,QAAQ,mBAAmB;AACxD,SAASC,QAAQ,EAAEC,IAAI,QAAQ,iBAAiB;AAEhD,OAAO,IAAIC,wBAAwB,GAAG,mBAAmB;AACzD,OAAO,IAAIC,uBAAuB,GAAG,EAAE,GAAG,EAAE,GAAGH,QAAQ;AAEvD,OAAO,IAAII,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAYC,aAAa,EAAE;EACtD,IAAIC,UAAU,GAAGR,SAAS,CAACI,wBAAwB,CAAC;EACpD,IAAI,CAACI,UAAU,EAAE;IACfA,UAAU,GAAGL,IAAI,CAAC,CAAC;IACnBF,SAAS,CAACG,wBAAwB,EAAEI,UAAU,EAAEH,uBAAuB,EAAEE,aAAa,CAACE,aAAa,CAAC;EACvG;EACA,OAAO;IACLC,QAAQ,EAAE,SAAAA,SAAA,EAAW;MACnB,OAAOF,UAAU;IACnB;EACF,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"usr.js","names":["getCookie","setCookie","ONE_HOUR","UUID","ANONYMOUS_ID_COOKIE_NAME","ANONYMOUS_ID_EXPIRATION","startCacheUsrCache","configuration","usrCacheId","cookieOptions","getUsrId"],"sources":["../../src/synthetics/usr.js"],"sourcesContent":["import { getCookie, setCookie } from '../browser/cookie'\nimport { ONE_HOUR, UUID } from '../helper/tools'\n\nexport var ANONYMOUS_ID_COOKIE_NAME = '_dataflulx_usr_id'\nexport var ANONYMOUS_ID_EXPIRATION = 60 * 24 * ONE_HOUR\n\nexport var startCacheUsrCache = function(configuration) {\n var usrCacheId = getCookie(ANONYMOUS_ID_COOKIE_NAME)\n if (!usrCacheId) {\n usrCacheId = UUID()\n setCookie(ANONYMOUS_ID_COOKIE_NAME, usrCacheId, ANONYMOUS_ID_EXPIRATION, configuration.cookieOptions)\n }\n return {\n getUsrId: function() {\n return usrCacheId\n }\n }\n}"],"mappings":"AAAA,SAASA,SAAS,EAAEC,SAAS,QAAQ,mBAAmB;AACxD,SAASC,QAAQ,EAAEC,IAAI,QAAQ,iBAAiB;AAEhD,OAAO,IAAIC,wBAAwB,GAAG,mBAAmB;AACzD,OAAO,IAAIC,uBAAuB,GAAG,EAAE,GAAG,EAAE,GAAGH,QAAQ;AAEvD,OAAO,IAAII,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAYC,aAAa,EAAE;EACtD,IAAIC,UAAU,GAAGR,SAAS,CAACI,wBAAwB,CAAC;EACpD,IAAI,CAACI,UAAU,EAAE;IACfA,UAAU,GAAGL,IAAI,CAAC,CAAC;IACnBF,SAAS,CAACG,wBAAwB,EAAEI,UAAU,EAAEH,uBAAuB,EAAEE,aAAa,CAACE,aAAa,CAAC;EACvG;EACA,OAAO;IACLC,QAAQ,EAAE,SAAAA,SAAA,EAAW;MACnB,OAAOF,UAAU;IACnB;EACF,CAAC;AACH,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.js","names":["ConsoleApiName","toStackTraceString","NO_ERROR_STACK_PRESENT_MESSAGE","computeStackTrace","Observable","displayIfDebugEnabled","startMonitorErrorCollection","startsWith","assign","performDraw","timeStampNow","extend2Lev","jsonStringify","NonErrorPrefix","TelemetryStatusType","TelemetryType","ALLOWED_FRAME_URLS","TelemetryService","LOGS","RUM","telemetryConfiguration","maxEventsPerPage","sentEventCount","telemetryEnabled","onRawTelemetryEventCollected","startTelemetry","telemetryService","configuration","contextProvider","observable","telemetrySampleRate","rawEvent","event","toTelemetryEvent","notify","addTelemetryError","maxTelemetryEventsPerPage","type","date","service","version","__BUILD_ENV__SDK_VERSION__","source","telemetry","undefined","setContextProvider","provider","enabled","resetTelemetry","addTelemetryDebug","message","context","debug","addTelemetry","log","status","e","error","formatError","addTelemetryConfiguration","Error","stackTrace","kind","name","stack","scrubCustomerFrames","UNCAUGHT","filter","frame","url","some","allowedFrameUrl"],"sources":["../../src/telemetry/telemetry.js"],"sourcesContent":["import { ConsoleApiName } from '../helper/display'\nimport {\n toStackTraceString,\n NO_ERROR_STACK_PRESENT_MESSAGE\n} from '../helper/errorTools'\nimport { computeStackTrace } from '../tracekit'\nimport { Observable } from '../helper/observable'\nimport {\n displayIfDebugEnabled,\n startMonitorErrorCollection\n} from '..//helper/monitor'\nimport {\n startsWith,\n assign,\n performDraw,\n timeStampNow,\n extend2Lev\n} from '../helper/tools'\nimport { jsonStringify } from '../helper/serialisation/jsonStringify'\nimport { NonErrorPrefix } from '../helper/enums'\nimport { TelemetryStatusType, TelemetryType } from './types'\n\nconst ALLOWED_FRAME_URLS = [\n 'https://static.guance.com',\n 'http://localhost',\n '<anonymous>'\n]\n\nexport var TelemetryService = {\n LOGS: 'browser-logs-sdk',\n RUM: 'browser-rum-sdk'\n}\n\nvar telemetryConfiguration = {\n maxEventsPerPage: 0,\n sentEventCount: 0,\n telemetryEnabled: false\n}\n\nvar onRawTelemetryEventCollected\n\nexport function startTelemetry(telemetryService, configuration) {\n let contextProvider\n var observable = new Observable()\n telemetryConfiguration.telemetryEnabled =\n configuration.telemetryEnabled &&\n performDraw(configuration.telemetrySampleRate)\n\n onRawTelemetryEventCollected = function (rawEvent) {\n if (telemetryConfiguration.telemetryEnabled) {\n var event = toTelemetryEvent(telemetryService, rawEvent)\n observable.notify(event)\n }\n }\n startMonitorErrorCollection(addTelemetryError)\n\n assign(telemetryConfiguration, {\n maxEventsPerPage: configuration.maxTelemetryEventsPerPage,\n sentEventCount: 0\n })\n\n function toTelemetryEvent(telemetryService, event) {\n return extend2Lev(\n {\n type: 'telemetry',\n date: timeStampNow(),\n service: telemetryService,\n version: __BUILD_ENV__SDK_VERSION__,\n source: 'browser',\n telemetry: event // https://github.com/microsoft/TypeScript/issues/48457\n },\n contextProvider !== undefined ? contextProvider() : {}\n )\n }\n\n return {\n setContextProvider: function (provider) {\n contextProvider = provider\n },\n observable: observable,\n enabled: telemetryConfiguration.telemetryEnabled\n }\n}\n\nexport function resetTelemetry() {\n onRawTelemetryEventCollected = undefined\n}\n\nexport function addTelemetryDebug(message, context) {\n displayIfDebugEnabled(ConsoleApiName.debug, message, context)\n addTelemetry(\n assign(\n {\n type: TelemetryType.log,\n message: message,\n status: TelemetryStatusType.debug\n },\n context\n )\n )\n}\n\nexport function addTelemetryError(e, context) {\n addTelemetry(\n assign(\n {\n type: TelemetryType.log,\n status: TelemetryStatusType.error\n },\n formatError(e),\n context\n )\n )\n}\n\nexport function addTelemetryConfiguration(configuration) {\n if (telemetryConfiguration.telemetryEnabled) {\n addTelemetry({\n type: TelemetryType.configuration,\n configuration: configuration\n })\n }\n}\n\nfunction addTelemetry(event) {\n if (\n onRawTelemetryEventCollected &&\n telemetryConfiguration.sentEventCount <\n telemetryConfiguration.maxEventsPerPage\n ) {\n telemetryConfiguration.sentEventCount += 1\n onRawTelemetryEventCollected(event)\n }\n}\n\nexport function formatError(e) {\n if (e instanceof Error) {\n var stackTrace = computeStackTrace(e)\n return {\n error: {\n kind: stackTrace.name,\n stack: toStackTraceString(scrubCustomerFrames(stackTrace))\n },\n message: stackTrace.message\n }\n }\n return {\n error: {\n stack: NO_ERROR_STACK_PRESENT_MESSAGE\n },\n message: NonErrorPrefix.UNCAUGHT + ' ' + jsonStringify(e)\n }\n}\n\nexport function scrubCustomerFrames(stackTrace) {\n stackTrace.stack = stackTrace.stack.filter(function (frame) {\n return (\n !frame.url ||\n ALLOWED_FRAME_URLS.some(function (allowedFrameUrl) {\n return startsWith(frame.url, allowedFrameUrl)\n })\n )\n })\n return stackTrace\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"telemetry.js","names":["ConsoleApiName","toStackTraceString","NO_ERROR_STACK_PRESENT_MESSAGE","computeStackTrace","Observable","displayIfDebugEnabled","startMonitorErrorCollection","startsWith","assign","performDraw","timeStampNow","extend2Lev","jsonStringify","NonErrorPrefix","TelemetryStatusType","TelemetryType","ALLOWED_FRAME_URLS","TelemetryService","LOGS","RUM","telemetryConfiguration","maxEventsPerPage","sentEventCount","telemetryEnabled","onRawTelemetryEventCollected","startTelemetry","telemetryService","configuration","contextProvider","observable","telemetrySampleRate","rawEvent","event","toTelemetryEvent","notify","addTelemetryError","maxTelemetryEventsPerPage","type","date","service","version","__BUILD_ENV__SDK_VERSION__","source","telemetry","undefined","setContextProvider","provider","enabled","resetTelemetry","addTelemetryDebug","message","context","debug","addTelemetry","log","status","e","error","formatError","addTelemetryConfiguration","Error","stackTrace","kind","name","stack","scrubCustomerFrames","UNCAUGHT","filter","frame","url","some","allowedFrameUrl"],"sources":["../../src/telemetry/telemetry.js"],"sourcesContent":["import { ConsoleApiName } from '../helper/display'\nimport {\n toStackTraceString,\n NO_ERROR_STACK_PRESENT_MESSAGE\n} from '../helper/errorTools'\nimport { computeStackTrace } from '../tracekit'\nimport { Observable } from '../helper/observable'\nimport {\n displayIfDebugEnabled,\n startMonitorErrorCollection\n} from '..//helper/monitor'\nimport {\n startsWith,\n assign,\n performDraw,\n timeStampNow,\n extend2Lev\n} from '../helper/tools'\nimport { jsonStringify } from '../helper/serialisation/jsonStringify'\nimport { NonErrorPrefix } from '../helper/enums'\nimport { TelemetryStatusType, TelemetryType } from './types'\n\nconst ALLOWED_FRAME_URLS = [\n 'https://static.guance.com',\n 'http://localhost',\n '<anonymous>'\n]\n\nexport var TelemetryService = {\n LOGS: 'browser-logs-sdk',\n RUM: 'browser-rum-sdk'\n}\n\nvar telemetryConfiguration = {\n maxEventsPerPage: 0,\n sentEventCount: 0,\n telemetryEnabled: false\n}\n\nvar onRawTelemetryEventCollected\n\nexport function startTelemetry(telemetryService, configuration) {\n let contextProvider\n var observable = new Observable()\n telemetryConfiguration.telemetryEnabled =\n configuration.telemetryEnabled &&\n performDraw(configuration.telemetrySampleRate)\n\n onRawTelemetryEventCollected = function (rawEvent) {\n if (telemetryConfiguration.telemetryEnabled) {\n var event = toTelemetryEvent(telemetryService, rawEvent)\n observable.notify(event)\n }\n }\n startMonitorErrorCollection(addTelemetryError)\n\n assign(telemetryConfiguration, {\n maxEventsPerPage: configuration.maxTelemetryEventsPerPage,\n sentEventCount: 0\n })\n\n function toTelemetryEvent(telemetryService, event) {\n return extend2Lev(\n {\n type: 'telemetry',\n date: timeStampNow(),\n service: telemetryService,\n version: __BUILD_ENV__SDK_VERSION__,\n source: 'browser',\n telemetry: event // https://github.com/microsoft/TypeScript/issues/48457\n },\n contextProvider !== undefined ? contextProvider() : {}\n )\n }\n\n return {\n setContextProvider: function (provider) {\n contextProvider = provider\n },\n observable: observable,\n enabled: telemetryConfiguration.telemetryEnabled\n }\n}\n\nexport function resetTelemetry() {\n onRawTelemetryEventCollected = undefined\n}\n\nexport function addTelemetryDebug(message, context) {\n displayIfDebugEnabled(ConsoleApiName.debug, message, context)\n addTelemetry(\n assign(\n {\n type: TelemetryType.log,\n message: message,\n status: TelemetryStatusType.debug\n },\n context\n )\n )\n}\n\nexport function addTelemetryError(e, context) {\n addTelemetry(\n assign(\n {\n type: TelemetryType.log,\n status: TelemetryStatusType.error\n },\n formatError(e),\n context\n )\n )\n}\n\nexport function addTelemetryConfiguration(configuration) {\n if (telemetryConfiguration.telemetryEnabled) {\n addTelemetry({\n type: TelemetryType.configuration,\n configuration: configuration\n })\n }\n}\n\nfunction addTelemetry(event) {\n if (\n onRawTelemetryEventCollected &&\n telemetryConfiguration.sentEventCount <\n telemetryConfiguration.maxEventsPerPage\n ) {\n telemetryConfiguration.sentEventCount += 1\n onRawTelemetryEventCollected(event)\n }\n}\n\nexport function formatError(e) {\n if (e instanceof Error) {\n var stackTrace = computeStackTrace(e)\n return {\n error: {\n kind: stackTrace.name,\n stack: toStackTraceString(scrubCustomerFrames(stackTrace))\n },\n message: stackTrace.message\n }\n }\n return {\n error: {\n stack: NO_ERROR_STACK_PRESENT_MESSAGE\n },\n message: NonErrorPrefix.UNCAUGHT + ' ' + jsonStringify(e)\n }\n}\n\nexport function scrubCustomerFrames(stackTrace) {\n stackTrace.stack = stackTrace.stack.filter(function (frame) {\n return (\n !frame.url ||\n ALLOWED_FRAME_URLS.some(function (allowedFrameUrl) {\n return startsWith(frame.url, allowedFrameUrl)\n })\n )\n })\n return stackTrace\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":["TelemetryType","log","configuration","TelemetryStatusType","debug","error"],"sources":["../../src/telemetry/types.js"],"sourcesContent":["export var TelemetryType = {\n log: 'log',\n configuration: 'configuration'\n}\n\nexport var TelemetryStatusType = {\n debug: 'debug',\n error: 'error'\n}\n"],"mappings":"AAAA,OAAO,IAAIA,aAAa,GAAG;EACzBC,GAAG,EAAE,KAAK;EACVC,aAAa,EAAE;AACjB,CAAC;AAED,OAAO,IAAIC,mBAAmB,GAAG;EAC/BC,KAAK,EAAE,OAAO;EACdC,KAAK,EAAE;AACT,CAAC"}
1
+ {"version":3,"file":"types.js","names":["TelemetryType","log","configuration","TelemetryStatusType","debug","error"],"sources":["../../src/telemetry/types.js"],"sourcesContent":["export var TelemetryType = {\n log: 'log',\n configuration: 'configuration'\n}\n\nexport var TelemetryStatusType = {\n debug: 'debug',\n error: 'error'\n}\n"],"mappings":"AAAA,OAAO,IAAIA,aAAa,GAAG;EACzBC,GAAG,EAAE,KAAK;EACVC,aAAa,EAAE;AACjB,CAAC;AAED,OAAO,IAAIC,mBAAmB,GAAG;EAC/BC,KAAK,EAAE,OAAO;EACdC,KAAK,EAAE;AACT,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"computeStackTrace.js","names":["each","UNKNOWN_FUNCTION","computeStackTrace","ex","stack","stackProperty","tryToGetString","split","line","stackFrame","parseChromeLine","parseChromeAnonymousLine","parseWinLine","parseGeckoLine","func","push","message","name","fileUrl","filePosition","CHROME_LINE_RE","RegExp","CHROME_EVAL_RE","parts","exec","isNative","indexOf","isEval","submatch","args","column","undefined","url","CHROME_ANONYMOUS_FUNCTION_RE","WINJS_LINE_RE","GECKO_LINE_RE","GECKO_EVAL_RE","candidate","property","_typeof","value"],"sources":["../../src/tracekit/computeStackTrace.js"],"sourcesContent":["import { each } from '../helper/tools'\nvar UNKNOWN_FUNCTION = '?'\n\n/**\n * Computes a stack trace for an exception.\n */\nexport function computeStackTrace(ex) {\n var stack = []\n\n var stackProperty = tryToGetString(ex, 'stack')\n if (stackProperty) {\n each(stackProperty.split('\\n'), function(line) {\n var stackFrame =\n parseChromeLine(line) || parseChromeAnonymousLine(line) || parseWinLine(line) || parseGeckoLine(line)\n if (stackFrame) {\n if (!stackFrame.func && stackFrame.line) {\n stackFrame.func = UNKNOWN_FUNCTION\n }\n stack.push(stackFrame)\n }\n })\n }\n\n return {\n message: tryToGetString(ex, 'message'),\n name: tryToGetString(ex, 'name'),\n stack: stack,\n }\n}\nvar fileUrl = '((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|\\\\w+\\\\.|\\\\/).*?)'\nvar filePosition = '(?::(\\\\d+))'\nvar CHROME_LINE_RE = new RegExp('^\\\\s*at (.*?) ?\\\\('+ fileUrl + filePosition + '?' + filePosition + '?\\\\)?\\\\s*$', 'i')\nvar CHROME_EVAL_RE = new RegExp('\\\\((\\\\S*)' + filePosition + filePosition + '\\\\)')\n\nfunction parseChromeLine(line){\n var parts = CHROME_LINE_RE.exec(line)\n\n if (!parts) {\n return\n }\n\n var isNative = parts[2] && parts[2].indexOf('native') === 0 // start of line\n var isEval = parts[2] && parts[2].indexOf('eval') === 0 // start of line\n var submatch = CHROME_EVAL_RE.exec(parts[2])\n\n if (isEval && submatch) {\n // throw out eval line/column and use top-most line/column number\n parts[2] = submatch[1] // url\n parts[3] = submatch[2] // line\n parts[4] = submatch[3] // column\n }\n\n return {\n args: isNative ? [parts[2]] : [],\n column: parts[4] ? +parts[4] : undefined,\n func: parts[1] || UNKNOWN_FUNCTION,\n line: parts[3] ? +parts[3] : undefined,\n url: !isNative ? parts[2] : undefined,\n }\n}\n\nvar CHROME_ANONYMOUS_FUNCTION_RE = new RegExp('^\\\\s*at ?' + fileUrl + filePosition + '?' + filePosition + '??\\\\s*$', 'i')\n\nfunction parseChromeAnonymousLine(line){\n var parts = CHROME_ANONYMOUS_FUNCTION_RE.exec(line)\n\n if (!parts) {\n return\n }\n\n return {\n args: [],\n column: parts[3] ? +parts[3] : undefined,\n func: UNKNOWN_FUNCTION,\n line: parts[2] ? +parts[2] : undefined,\n url: parts[1],\n }\n}\n\nvar WINJS_LINE_RE =\n /^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i\n\nfunction parseWinLine(line) {\n var parts = WINJS_LINE_RE.exec(line)\n if (!parts) {\n return\n }\n\n return {\n args: [],\n column: parts[4] ? +parts[4] : undefined,\n func: parts[1] || UNKNOWN_FUNCTION,\n line: +parts[3],\n url: parts[2],\n }\n}\n\nvar GECKO_LINE_RE =\n /^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|capacitor|\\[native).*?|[^@]*bundle)(?::(\\d+))?(?::(\\d+))?\\s*$/i\nvar GECKO_EVAL_RE = /(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i\n\nfunction parseGeckoLine(line) {\n var parts = GECKO_LINE_RE.exec(line)\n if (!parts) {\n return\n }\n\n var isEval = parts[3] && parts[3].indexOf(' > eval') > -1\n var submatch = GECKO_EVAL_RE.exec(parts[3])\n\n if (isEval && submatch) {\n // throw out eval line/column and use top-most line number\n parts[3] = submatch[1]\n parts[4] = submatch[2]\n parts[5] = undefined // no column when eval\n }\n\n return {\n args: parts[2] ? parts[2].split(',') : [],\n column: parts[5] ? +parts[5] : undefined,\n func: parts[1] || UNKNOWN_FUNCTION,\n line: parts[4] ? +parts[4] : undefined,\n url: parts[3],\n }\n}\n\nfunction tryToGetString(candidate, property) {\n if (typeof candidate !== 'object' || !candidate || !(property in candidate)) {\n return undefined\n }\n var value = candidate[property]\n return typeof value === 'string' ? value : undefined\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"computeStackTrace.js","names":["each","UNKNOWN_FUNCTION","computeStackTrace","ex","stack","stackProperty","tryToGetString","split","line","stackFrame","parseChromeLine","parseChromeAnonymousLine","parseWinLine","parseGeckoLine","func","push","message","name","fileUrl","filePosition","CHROME_LINE_RE","RegExp","CHROME_EVAL_RE","parts","exec","isNative","indexOf","isEval","submatch","args","column","undefined","url","CHROME_ANONYMOUS_FUNCTION_RE","WINJS_LINE_RE","GECKO_LINE_RE","GECKO_EVAL_RE","candidate","property","_typeof","value"],"sources":["../../src/tracekit/computeStackTrace.js"],"sourcesContent":["import { each } from '../helper/tools'\nvar UNKNOWN_FUNCTION = '?'\n\n/**\n * Computes a stack trace for an exception.\n */\nexport function computeStackTrace(ex) {\n var stack = []\n\n var stackProperty = tryToGetString(ex, 'stack')\n if (stackProperty) {\n each(stackProperty.split('\\n'), function(line) {\n var stackFrame =\n parseChromeLine(line) || parseChromeAnonymousLine(line) || parseWinLine(line) || parseGeckoLine(line)\n if (stackFrame) {\n if (!stackFrame.func && stackFrame.line) {\n stackFrame.func = UNKNOWN_FUNCTION\n }\n stack.push(stackFrame)\n }\n })\n }\n\n return {\n message: tryToGetString(ex, 'message'),\n name: tryToGetString(ex, 'name'),\n stack: stack,\n }\n}\nvar fileUrl = '((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|\\\\w+\\\\.|\\\\/).*?)'\nvar filePosition = '(?::(\\\\d+))'\nvar CHROME_LINE_RE = new RegExp('^\\\\s*at (.*?) ?\\\\('+ fileUrl + filePosition + '?' + filePosition + '?\\\\)?\\\\s*$', 'i')\nvar CHROME_EVAL_RE = new RegExp('\\\\((\\\\S*)' + filePosition + filePosition + '\\\\)')\n\nfunction parseChromeLine(line){\n var parts = CHROME_LINE_RE.exec(line)\n\n if (!parts) {\n return\n }\n\n var isNative = parts[2] && parts[2].indexOf('native') === 0 // start of line\n var isEval = parts[2] && parts[2].indexOf('eval') === 0 // start of line\n var submatch = CHROME_EVAL_RE.exec(parts[2])\n\n if (isEval && submatch) {\n // throw out eval line/column and use top-most line/column number\n parts[2] = submatch[1] // url\n parts[3] = submatch[2] // line\n parts[4] = submatch[3] // column\n }\n\n return {\n args: isNative ? [parts[2]] : [],\n column: parts[4] ? +parts[4] : undefined,\n func: parts[1] || UNKNOWN_FUNCTION,\n line: parts[3] ? +parts[3] : undefined,\n url: !isNative ? parts[2] : undefined,\n }\n}\n\nvar CHROME_ANONYMOUS_FUNCTION_RE = new RegExp('^\\\\s*at ?' + fileUrl + filePosition + '?' + filePosition + '??\\\\s*$', 'i')\n\nfunction parseChromeAnonymousLine(line){\n var parts = CHROME_ANONYMOUS_FUNCTION_RE.exec(line)\n\n if (!parts) {\n return\n }\n\n return {\n args: [],\n column: parts[3] ? +parts[3] : undefined,\n func: UNKNOWN_FUNCTION,\n line: parts[2] ? +parts[2] : undefined,\n url: parts[1],\n }\n}\n\nvar WINJS_LINE_RE =\n /^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i\n\nfunction parseWinLine(line) {\n var parts = WINJS_LINE_RE.exec(line)\n if (!parts) {\n return\n }\n\n return {\n args: [],\n column: parts[4] ? +parts[4] : undefined,\n func: parts[1] || UNKNOWN_FUNCTION,\n line: +parts[3],\n url: parts[2],\n }\n}\n\nvar GECKO_LINE_RE =\n /^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|capacitor|\\[native).*?|[^@]*bundle)(?::(\\d+))?(?::(\\d+))?\\s*$/i\nvar GECKO_EVAL_RE = /(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i\n\nfunction parseGeckoLine(line) {\n var parts = GECKO_LINE_RE.exec(line)\n if (!parts) {\n return\n }\n\n var isEval = parts[3] && parts[3].indexOf(' > eval') > -1\n var submatch = GECKO_EVAL_RE.exec(parts[3])\n\n if (isEval && submatch) {\n // throw out eval line/column and use top-most line number\n parts[3] = submatch[1]\n parts[4] = submatch[2]\n parts[5] = undefined // no column when eval\n }\n\n return {\n args: parts[2] ? parts[2].split(',') : [],\n column: parts[5] ? +parts[5] : undefined,\n func: parts[1] || UNKNOWN_FUNCTION,\n line: parts[4] ? +parts[4] : undefined,\n url: parts[3],\n }\n}\n\nfunction tryToGetString(candidate, property) {\n if (typeof candidate !== 'object' || !candidate || !(property in candidate)) {\n return undefined\n }\n var value = candidate[property]\n return typeof value === 'string' ? value : undefined\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["computeStackTrace","startUnhandledErrorCollection"],"sources":["../../src/tracekit/index.js"],"sourcesContent":["export { computeStackTrace } from './computeStackTrace'\nexport { startUnhandledErrorCollection } from './tracekit'\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AACvD,SAASC,6BAA6B,QAAQ,YAAY"}
1
+ {"version":3,"file":"index.js","names":["computeStackTrace","startUnhandledErrorCollection"],"sources":["../../src/tracekit/index.js"],"sourcesContent":["export { computeStackTrace } from './computeStackTrace'\nexport { startUnhandledErrorCollection } from './tracekit'\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AACvD,SAASC,6BAA6B,QAAQ,YAAY","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"tracekit.js","names":["instrumentMethodAndCallOriginal","isNullUndefinedDefaultValue","computeStackTrace","ERROR_TYPES_RE","startUnhandledErrorCollection","callback","_instrumentOnError","instrumentOnError","_instrumentUnhandledRejection","instrumentUnhandledRejection","stop","window","before","messageObj","url","line","column","errorObj","stackTrace","Error","location","parse","tryToParseMessage","name","message","stack","toString","call","groups","exec","e","reason"],"sources":["../../src/tracekit/tracekit.js"],"sourcesContent":["import { instrumentMethodAndCallOriginal } from '../helper/instrumentMethod'\nimport { isNullUndefinedDefaultValue } from '../helper/tools'\nimport { computeStackTrace } from './computeStackTrace'\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error#Error_types\nvar ERROR_TYPES_RE =\n /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?([\\s\\S]*)$/\n/**\n * Cross-browser collection of unhandled errors\n *\n * Supports:\n * - Firefox: full stack trace with line numbers, plus column number\n * on top frame; column number is not guaranteed\n * - Opera: full stack trace with line and column numbers\n * - Chrome: full stack trace with line and column numbers\n * - Safari: line and column number for the top frame only; some frames\n * may be missing, and column number is not guaranteed\n * - IE: line and column number for the top frame only; some frames\n * may be missing, and column number is not guaranteed\n *\n * In theory, TraceKit should work on all of the following versions:\n * - IE5.5+ (only 8.0 tested)\n * - Firefox 0.9+ (only 3.5+ tested)\n * - Opera 7+ (only 10.50 tested; versions 9 and earlier may require\n * Exceptions Have Stacktrace to be enabled in opera:config)\n * - Safari 3+ (only 4+ tested)\n * - Chrome 1+ (only 5+ tested)\n * - Konqueror 3.5+ (untested)\n *\n * Tries to catch all unhandled errors and report them to the\n * callback.\n *\n * Callbacks receive a StackTrace object as described in the\n * computeStackTrace docs.\n *\n * @memberof TraceKit\n * @namespace\n */\n\nexport function startUnhandledErrorCollection(callback) {\n var _instrumentOnError = instrumentOnError(callback)\n var _instrumentUnhandledRejection = instrumentUnhandledRejection(callback)\n return {\n stop: function () {\n _instrumentOnError.stop()\n _instrumentUnhandledRejection.stop()\n }\n }\n}\n\n/**\n * Install a global onerror handler\n */\nfunction instrumentOnError(callback) {\n return instrumentMethodAndCallOriginal(window, 'onerror', {\n before: function (messageObj, url, line, column, errorObj) {\n var stackTrace\n if (errorObj instanceof Error) {\n stackTrace = computeStackTrace(errorObj)\n } else {\n var location = {\n url: url,\n column: column,\n line: line\n }\n var parse = tryToParseMessage(messageObj)\n\n stackTrace = {\n name: parse.name,\n message: parse.message,\n stack: [location]\n }\n }\n callback(stackTrace, isNullUndefinedDefaultValue(errorObj, messageObj))\n }\n })\n}\nfunction tryToParseMessage(messageObj) {\n let name\n let message\n if ({}.toString.call(messageObj) === '[object String]') {\n var groups = ERROR_TYPES_RE.exec(messageObj)\n if (groups) {\n name = groups[1]\n message = groups[2]\n }\n }\n return { name: name, message: message }\n}\n/**\n * Install a global onunhandledrejection handler\n */\nfunction instrumentUnhandledRejection(callback) {\n return instrumentMethodAndCallOriginal(window, 'onunhandledrejection', {\n before: function (e) {\n var reason = e.reason || 'Empty reason'\n var stack = computeStackTrace(reason)\n callback(stack, reason)\n }\n })\n}\n"],"mappings":"AAAA,SAASA,+BAA+B,QAAQ,4BAA4B;AAC5E,SAASC,2BAA2B,QAAQ,iBAAiB;AAC7D,SAASC,iBAAiB,QAAQ,qBAAqB;;AAEvD;AACA,IAAIC,cAAc,GAChB,8GAA8G;AAChH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,SAASC,6BAA6BA,CAACC,QAAQ,EAAE;EACtD,IAAIC,kBAAkB,GAAGC,iBAAiB,CAACF,QAAQ,CAAC;EACpD,IAAIG,6BAA6B,GAAGC,4BAA4B,CAACJ,QAAQ,CAAC;EAC1E,OAAO;IACLK,IAAI,EAAE,SAAAA,KAAA,EAAY;MAChBJ,kBAAkB,CAACI,IAAI,CAAC,CAAC;MACzBF,6BAA6B,CAACE,IAAI,CAAC,CAAC;IACtC;EACF,CAAC;AACH;;AAEA;AACA;AACA;AACA,SAASH,iBAAiBA,CAACF,QAAQ,EAAE;EACnC,OAAOL,+BAA+B,CAACW,MAAM,EAAE,SAAS,EAAE;IACxDC,MAAM,EAAE,SAAAA,OAAUC,UAAU,EAAEC,GAAG,EAAEC,IAAI,EAAEC,MAAM,EAAEC,QAAQ,EAAE;MACzD,IAAIC,UAAU;MACd,IAAID,QAAQ,YAAYE,KAAK,EAAE;QAC7BD,UAAU,GAAGhB,iBAAiB,CAACe,QAAQ,CAAC;MAC1C,CAAC,MAAM;QACL,IAAIG,QAAQ,GAAG;UACbN,GAAG,EAAEA,GAAG;UACRE,MAAM,EAAEA,MAAM;UACdD,IAAI,EAAEA;QACR,CAAC;QACD,IAAIM,KAAK,GAAGC,iBAAiB,CAACT,UAAU,CAAC;QAEzCK,UAAU,GAAG;UACXK,IAAI,EAAEF,KAAK,CAACE,IAAI;UAChBC,OAAO,EAAEH,KAAK,CAACG,OAAO;UACtBC,KAAK,EAAE,CAACL,QAAQ;QAClB,CAAC;MACH;MACAf,QAAQ,CAACa,UAAU,EAAEjB,2BAA2B,CAACgB,QAAQ,EAAEJ,UAAU,CAAC,CAAC;IACzE;EACF,CAAC,CAAC;AACJ;AACA,SAASS,iBAAiBA,CAACT,UAAU,EAAE;EACrC,IAAIU,IAAI;EACR,IAAIC,OAAO;EACX,IAAI,CAAC,CAAC,CAACE,QAAQ,CAACC,IAAI,CAACd,UAAU,CAAC,KAAK,iBAAiB,EAAE;IACtD,IAAIe,MAAM,GAAGzB,cAAc,CAAC0B,IAAI,CAAChB,UAAU,CAAC;IAC5C,IAAIe,MAAM,EAAE;MACVL,IAAI,GAAGK,MAAM,CAAC,CAAC,CAAC;MAChBJ,OAAO,GAAGI,MAAM,CAAC,CAAC,CAAC;IACrB;EACF;EACA,OAAO;IAAEL,IAAI,EAAEA,IAAI;IAAEC,OAAO,EAAEA;EAAQ,CAAC;AACzC;AACA;AACA;AACA;AACA,SAASf,4BAA4BA,CAACJ,QAAQ,EAAE;EAC9C,OAAOL,+BAA+B,CAACW,MAAM,EAAE,sBAAsB,EAAE;IACrEC,MAAM,EAAE,SAAAA,OAAUkB,CAAC,EAAE;MACnB,IAAIC,MAAM,GAAGD,CAAC,CAACC,MAAM,IAAI,cAAc;MACvC,IAAIN,KAAK,GAAGvB,iBAAiB,CAAC6B,MAAM,CAAC;MACrC1B,QAAQ,CAACoB,KAAK,EAAEM,MAAM,CAAC;IACzB;EACF,CAAC,CAAC;AACJ"}
1
+ {"version":3,"file":"tracekit.js","names":["instrumentMethodAndCallOriginal","isNullUndefinedDefaultValue","computeStackTrace","ERROR_TYPES_RE","startUnhandledErrorCollection","callback","_instrumentOnError","instrumentOnError","_instrumentUnhandledRejection","instrumentUnhandledRejection","stop","window","before","messageObj","url","line","column","errorObj","stackTrace","Error","location","parse","tryToParseMessage","name","message","stack","toString","call","groups","exec","e","reason"],"sources":["../../src/tracekit/tracekit.js"],"sourcesContent":["import { instrumentMethodAndCallOriginal } from '../helper/instrumentMethod'\nimport { isNullUndefinedDefaultValue } from '../helper/tools'\nimport { computeStackTrace } from './computeStackTrace'\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error#Error_types\nvar ERROR_TYPES_RE =\n /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?([\\s\\S]*)$/\n/**\n * Cross-browser collection of unhandled errors\n *\n * Supports:\n * - Firefox: full stack trace with line numbers, plus column number\n * on top frame; column number is not guaranteed\n * - Opera: full stack trace with line and column numbers\n * - Chrome: full stack trace with line and column numbers\n * - Safari: line and column number for the top frame only; some frames\n * may be missing, and column number is not guaranteed\n * - IE: line and column number for the top frame only; some frames\n * may be missing, and column number is not guaranteed\n *\n * In theory, TraceKit should work on all of the following versions:\n * - IE5.5+ (only 8.0 tested)\n * - Firefox 0.9+ (only 3.5+ tested)\n * - Opera 7+ (only 10.50 tested; versions 9 and earlier may require\n * Exceptions Have Stacktrace to be enabled in opera:config)\n * - Safari 3+ (only 4+ tested)\n * - Chrome 1+ (only 5+ tested)\n * - Konqueror 3.5+ (untested)\n *\n * Tries to catch all unhandled errors and report them to the\n * callback.\n *\n * Callbacks receive a StackTrace object as described in the\n * computeStackTrace docs.\n *\n * @memberof TraceKit\n * @namespace\n */\n\nexport function startUnhandledErrorCollection(callback) {\n var _instrumentOnError = instrumentOnError(callback)\n var _instrumentUnhandledRejection = instrumentUnhandledRejection(callback)\n return {\n stop: function () {\n _instrumentOnError.stop()\n _instrumentUnhandledRejection.stop()\n }\n }\n}\n\n/**\n * Install a global onerror handler\n */\nfunction instrumentOnError(callback) {\n return instrumentMethodAndCallOriginal(window, 'onerror', {\n before: function (messageObj, url, line, column, errorObj) {\n var stackTrace\n if (errorObj instanceof Error) {\n stackTrace = computeStackTrace(errorObj)\n } else {\n var location = {\n url: url,\n column: column,\n line: line\n }\n var parse = tryToParseMessage(messageObj)\n\n stackTrace = {\n name: parse.name,\n message: parse.message,\n stack: [location]\n }\n }\n callback(stackTrace, isNullUndefinedDefaultValue(errorObj, messageObj))\n }\n })\n}\nfunction tryToParseMessage(messageObj) {\n let name\n let message\n if ({}.toString.call(messageObj) === '[object String]') {\n var groups = ERROR_TYPES_RE.exec(messageObj)\n if (groups) {\n name = groups[1]\n message = groups[2]\n }\n }\n return { name: name, message: message }\n}\n/**\n * Install a global onunhandledrejection handler\n */\nfunction instrumentUnhandledRejection(callback) {\n return instrumentMethodAndCallOriginal(window, 'onunhandledrejection', {\n before: function (e) {\n var reason = e.reason || 'Empty reason'\n var stack = computeStackTrace(reason)\n callback(stack, reason)\n }\n })\n}\n"],"mappings":"AAAA,SAASA,+BAA+B,QAAQ,4BAA4B;AAC5E,SAASC,2BAA2B,QAAQ,iBAAiB;AAC7D,SAASC,iBAAiB,QAAQ,qBAAqB;;AAEvD;AACA,IAAIC,cAAc,GAChB,8GAA8G;AAChH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,SAASC,6BAA6BA,CAACC,QAAQ,EAAE;EACtD,IAAIC,kBAAkB,GAAGC,iBAAiB,CAACF,QAAQ,CAAC;EACpD,IAAIG,6BAA6B,GAAGC,4BAA4B,CAACJ,QAAQ,CAAC;EAC1E,OAAO;IACLK,IAAI,EAAE,SAAAA,KAAA,EAAY;MAChBJ,kBAAkB,CAACI,IAAI,CAAC,CAAC;MACzBF,6BAA6B,CAACE,IAAI,CAAC,CAAC;IACtC;EACF,CAAC;AACH;;AAEA;AACA;AACA;AACA,SAASH,iBAAiBA,CAACF,QAAQ,EAAE;EACnC,OAAOL,+BAA+B,CAACW,MAAM,EAAE,SAAS,EAAE;IACxDC,MAAM,EAAE,SAAAA,OAAUC,UAAU,EAAEC,GAAG,EAAEC,IAAI,EAAEC,MAAM,EAAEC,QAAQ,EAAE;MACzD,IAAIC,UAAU;MACd,IAAID,QAAQ,YAAYE,KAAK,EAAE;QAC7BD,UAAU,GAAGhB,iBAAiB,CAACe,QAAQ,CAAC;MAC1C,CAAC,MAAM;QACL,IAAIG,QAAQ,GAAG;UACbN,GAAG,EAAEA,GAAG;UACRE,MAAM,EAAEA,MAAM;UACdD,IAAI,EAAEA;QACR,CAAC;QACD,IAAIM,KAAK,GAAGC,iBAAiB,CAACT,UAAU,CAAC;QAEzCK,UAAU,GAAG;UACXK,IAAI,EAAEF,KAAK,CAACE,IAAI;UAChBC,OAAO,EAAEH,KAAK,CAACG,OAAO;UACtBC,KAAK,EAAE,CAACL,QAAQ;QAClB,CAAC;MACH;MACAf,QAAQ,CAACa,UAAU,EAAEjB,2BAA2B,CAACgB,QAAQ,EAAEJ,UAAU,CAAC,CAAC;IACzE;EACF,CAAC,CAAC;AACJ;AACA,SAASS,iBAAiBA,CAACT,UAAU,EAAE;EACrC,IAAIU,IAAI;EACR,IAAIC,OAAO;EACX,IAAI,CAAC,CAAC,CAACE,QAAQ,CAACC,IAAI,CAACd,UAAU,CAAC,KAAK,iBAAiB,EAAE;IACtD,IAAIe,MAAM,GAAGzB,cAAc,CAAC0B,IAAI,CAAChB,UAAU,CAAC;IAC5C,IAAIe,MAAM,EAAE;MACVL,IAAI,GAAGK,MAAM,CAAC,CAAC,CAAC;MAChBJ,OAAO,GAAGI,MAAM,CAAC,CAAC,CAAC;IACrB;EACF;EACA,OAAO;IAAEL,IAAI,EAAEA,IAAI;IAAEC,OAAO,EAAEA;EAAQ,CAAC;AACzC;AACA;AACA;AACA;AACA,SAASf,4BAA4BA,CAACJ,QAAQ,EAAE;EAC9C,OAAOL,+BAA+B,CAACW,MAAM,EAAE,sBAAsB,EAAE;IACrEC,MAAM,EAAE,SAAAA,OAAUkB,CAAC,EAAE;MACnB,IAAIC,MAAM,GAAGD,CAAC,CAACC,MAAM,IAAI,cAAc;MACvC,IAAIN,KAAK,GAAGvB,iBAAiB,CAAC6B,MAAM,CAAC;MACrC1B,QAAQ,CAACoB,KAAK,EAAEM,MAAM,CAAC;IACzB;EACF,CAAC,CAAC;AACJ","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"batch.js","names":["display","values","findByPath","each","isNumber","isArray","extend","isString","isEmptyObject","isObject","escapeJsonValue","escapeRowField","escapeRowData","commonTags","dataMap","commonFields","RumEventType","computeBytesCount","isPageExitReason","jsonStringify","HAS_MULTI_BYTES_CHARACTERS","CUSTOM_KEYS","processedMessageByDataMap","message","type","rowStr","rowData","undefined","tags","fields","hasFileds","value","key","measurement","tagsStr","filterFileds","value_path","_key","_value","push","fieldsStr","length","_valueData","context","_tagKeys","indexOf","LOGGER","join","date","time","batch","request","flushController","messageBytesLimit","sendContentTypeByJson","pushOnlyBuffer","upsertBuffer","_this","flushObservable","subscribe","event","flush","prototype","add","addOrUpdate","upsert","messages","concat","payloadData","payload","data","bytesCount","flushReason","reason","sendOnExit","send","_process","process","processedMessage","messageBytesCount","warn","hasMessageFor","remove","separatorBytesCount","getMessagesCount","notifyBeforeAddMessage","notifyAfterAddMessage","removedMessage","notifyAfterRemoveMessage","Batch"],"sources":["../../src/transport/batch.js"],"sourcesContent":["import { display } from '../helper/display'\nimport {\n values,\n findByPath,\n each,\n isNumber,\n isArray,\n extend,\n isString,\n isEmptyObject,\n isObject\n} from '../helper/tools'\nimport {\n escapeJsonValue,\n escapeRowField,\n escapeRowData\n} from '../helper/serialisation/rowData'\nimport { commonTags, dataMap, commonFields } from '../dataMap'\nimport { RumEventType } from '../helper/enums'\nimport { computeBytesCount } from '../helper/byteUtils'\nimport { isPageExitReason } from '../browser/pageExitObservable'\nimport { jsonStringify } from '../helper/serialisation/jsonStringify'\n// https://en.wikipedia.org/wiki/UTF-8\n// eslint-disable-next-line no-control-regex\nvar HAS_MULTI_BYTES_CHARACTERS = /[^\\u0000-\\u007F]/\nvar CUSTOM_KEYS = 'custom_keys'\nexport var processedMessageByDataMap = function (message) {\n if (!message || !message.type)\n return {\n rowStr: '',\n rowData: undefined\n }\n\n var rowData = { tags: {}, fields: {} }\n var hasFileds = false\n var rowStr = ''\n each(dataMap, function (value, key) {\n if (value.type === message.type) {\n rowStr += key + ','\n rowData.measurement = key\n var tagsStr = []\n var tags = extend({}, commonTags, value.tags)\n var filterFileds = ['date', 'type', CUSTOM_KEYS] // 已经在datamap中定义过的fields和tags\n each(tags, function (value_path, _key) {\n var _value = findByPath(message, value_path)\n filterFileds.push(_key)\n if (_value || isNumber(_value)) {\n rowData.tags[_key] = escapeJsonValue(_value, true)\n tagsStr.push(escapeRowData(_key) + '=' + escapeRowData(_value))\n }\n })\n\n var fieldsStr = []\n var fields = extend({}, commonFields, value.fields)\n each(fields, function (_value, _key) {\n if (isArray(_value) && _value.length === 2) {\n var value_path = _value[1]\n var _valueData = findByPath(message, value_path)\n filterFileds.push(_key)\n if (_valueData !== undefined && _valueData !== null) {\n rowData.fields[_key] = escapeJsonValue(_valueData) // 这里不需要转译\n fieldsStr.push(\n escapeRowData(_key) + '=' + escapeRowField(_valueData)\n )\n }\n } else if (isString(_value)) {\n var _valueData = findByPath(message, _value)\n filterFileds.push(_key)\n if (_valueData !== undefined && _valueData !== null) {\n rowData.fields[_key] = escapeJsonValue(_valueData) // 这里不需要转译\n fieldsStr.push(\n escapeRowData(_key) + '=' + escapeRowField(_valueData)\n )\n }\n }\n })\n if (\n message.context &&\n isObject(message.context) &&\n !isEmptyObject(message.context)\n ) {\n // 自定义tag, 存储成field\n var _tagKeys = []\n each(message.context, function (_value, _key) {\n // 如果和之前tag重名,则舍弃\n if (filterFileds.indexOf(_key) > -1) return\n filterFileds.push(_key)\n if (_value !== undefined && _value !== null) {\n _tagKeys.push(_key)\n rowData.fields[_key] = escapeJsonValue(_value) // 这里不需要转译\n fieldsStr.push(escapeRowData(_key) + '=' + escapeRowField(_value))\n }\n })\n if (_tagKeys.length) {\n rowData.fields[CUSTOM_KEYS] = escapeJsonValue(_tagKeys)\n fieldsStr.push(\n escapeRowData(CUSTOM_KEYS) + '=' + escapeRowField(_tagKeys)\n )\n }\n }\n if (message.type === RumEventType.LOGGER) {\n // 这里处理日志类型数据自定义字段\n each(message, function (value, key) {\n if (\n filterFileds.indexOf(key) === -1 &&\n value !== undefined &&\n value !== null\n ) {\n rowData.fields[key] = escapeJsonValue(value) // 这里不需要转译\n fieldsStr.push(escapeRowData(key) + '=' + escapeRowField(value))\n }\n })\n }\n if (tagsStr.length) {\n rowStr += tagsStr.join(',')\n }\n if (fieldsStr.length) {\n rowStr += ' '\n rowStr += fieldsStr.join(',')\n hasFileds = true\n }\n rowStr = rowStr + ' ' + message.date\n rowData.time = message.date // 这里不需要转译\n }\n })\n return {\n rowStr: hasFileds ? rowStr : '',\n rowData: hasFileds ? rowData : undefined\n }\n}\nvar batch = function (\n request,\n flushController,\n messageBytesLimit,\n sendContentTypeByJson\n) {\n this.pushOnlyBuffer = []\n this.upsertBuffer = {}\n this.request = request\n this.flushController = flushController\n this.messageBytesLimit = messageBytesLimit\n this.sendContentTypeByJson = sendContentTypeByJson\n var _this = this\n this.flushController.flushObservable.subscribe(function (event) {\n _this.flush(event)\n })\n}\nbatch.prototype.add = function (message) {\n this.addOrUpdate(message)\n}\nbatch.prototype.upsert = function (message, key) {\n this.addOrUpdate(message, key)\n}\nbatch.prototype.flush = function (event) {\n var messages = this.pushOnlyBuffer.concat(values(this.upsertBuffer))\n this.pushOnlyBuffer = []\n this.upsertBuffer = {}\n if (messages.length > 0) {\n var payloadData = ''\n if (this.sendContentTypeByJson) {\n payloadData = '[' + messages.join(',') + ']'\n } else {\n payloadData = messages.join('\\n')\n }\n var payload = {\n data: payloadData,\n bytesCount: event.bytesCount,\n flushReason: event.reason\n }\n if (isPageExitReason(event.reason)) {\n this.request.sendOnExit(payload)\n } else {\n this.request.send(payload)\n }\n }\n}\n\nbatch.prototype.addOrUpdate = function (message, key) {\n var _process = this.process(message)\n var processedMessage = _process.processedMessage\n var messageBytesCount = _process.messageBytesCount\n if (messageBytesCount >= this.messageBytesLimit) {\n display.warn(\n 'Discarded a message whose size was bigger than the maximum allowed size ' +\n this.messageBytesLimit +\n 'KB.'\n )\n return\n }\n if (this.hasMessageFor(key)) {\n this.remove(key)\n }\n this.push(processedMessage, messageBytesCount, key)\n}\nbatch.prototype.process = function (message) {\n var processedMessage = ''\n if (this.sendContentTypeByJson) {\n processedMessage = jsonStringify(processedMessageByDataMap(message).rowData)\n } else {\n processedMessage = processedMessageByDataMap(message).rowStr\n }\n var messageBytesCount = computeBytesCount(processedMessage)\n return {\n processedMessage: processedMessage,\n messageBytesCount: messageBytesCount\n }\n}\n\nbatch.prototype.push = function (processedMessage, messageBytesCount, key) {\n var separatorBytesCount = this.flushController.getMessagesCount() > 0 ? 1 : 0\n this.flushController.notifyBeforeAddMessage(\n messageBytesCount + separatorBytesCount\n )\n if (key !== undefined) {\n this.upsertBuffer[key] = processedMessage\n } else {\n this.pushOnlyBuffer.push(processedMessage)\n }\n this.flushController.notifyAfterAddMessage()\n}\n\nbatch.prototype.remove = function (key) {\n var removedMessage = this.upsertBuffer[key]\n delete this.upsertBuffer[key]\n var messageBytesCount = computeBytesCount(removedMessage)\n // If there are other messages, a '\\n' will be added at serialization\n var separatorBytesCount = this.flushController.getMessagesCount() > 1 ? 1 : 0\n this.flushController.notifyAfterRemoveMessage(\n messageBytesCount + separatorBytesCount\n )\n}\n\nbatch.prototype.hasMessageFor = function (key) {\n return key !== undefined && this.upsertBuffer[key] !== undefined\n}\nexport var Batch = batch\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,mBAAmB;AAC3C,SACEC,MAAM,EACNC,UAAU,EACVC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,MAAM,EACNC,QAAQ,EACRC,aAAa,EACbC,QAAQ,QACH,iBAAiB;AACxB,SACEC,eAAe,EACfC,cAAc,EACdC,aAAa,QACR,iCAAiC;AACxC,SAASC,UAAU,EAAEC,OAAO,EAAEC,YAAY,QAAQ,YAAY;AAC9D,SAASC,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,iBAAiB,QAAQ,qBAAqB;AACvD,SAASC,gBAAgB,QAAQ,+BAA+B;AAChE,SAASC,aAAa,QAAQ,uCAAuC;AACrE;AACA;AACA,IAAIC,0BAA0B,GAAG,kBAAkB;AACnD,IAAIC,WAAW,GAAG,aAAa;AAC/B,OAAO,IAAIC,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAaC,OAAO,EAAE;EACxD,IAAI,CAACA,OAAO,IAAI,CAACA,OAAO,CAACC,IAAI,EAC3B,OAAO;IACLC,MAAM,EAAE,EAAE;IACVC,OAAO,EAAEC;EACX,CAAC;EAEH,IAAID,OAAO,GAAG;IAAEE,IAAI,EAAE,CAAC,CAAC;IAAEC,MAAM,EAAE,CAAC;EAAE,CAAC;EACtC,IAAIC,SAAS,GAAG,KAAK;EACrB,IAAIL,MAAM,GAAG,EAAE;EACftB,IAAI,CAACW,OAAO,EAAE,UAAUiB,KAAK,EAAEC,GAAG,EAAE;IAClC,IAAID,KAAK,CAACP,IAAI,KAAKD,OAAO,CAACC,IAAI,EAAE;MAC/BC,MAAM,IAAIO,GAAG,GAAG,GAAG;MACnBN,OAAO,CAACO,WAAW,GAAGD,GAAG;MACzB,IAAIE,OAAO,GAAG,EAAE;MAChB,IAAIN,IAAI,GAAGtB,MAAM,CAAC,CAAC,CAAC,EAAEO,UAAU,EAAEkB,KAAK,CAACH,IAAI,CAAC;MAC7C,IAAIO,YAAY,GAAG,CAAC,MAAM,EAAE,MAAM,EAAEd,WAAW,CAAC,EAAC;MACjDlB,IAAI,CAACyB,IAAI,EAAE,UAAUQ,UAAU,EAAEC,IAAI,EAAE;QACrC,IAAIC,MAAM,GAAGpC,UAAU,CAACqB,OAAO,EAAEa,UAAU,CAAC;QAC5CD,YAAY,CAACI,IAAI,CAACF,IAAI,CAAC;QACvB,IAAIC,MAAM,IAAIlC,QAAQ,CAACkC,MAAM,CAAC,EAAE;UAC9BZ,OAAO,CAACE,IAAI,CAACS,IAAI,CAAC,GAAG3B,eAAe,CAAC4B,MAAM,EAAE,IAAI,CAAC;UAClDJ,OAAO,CAACK,IAAI,CAAC3B,aAAa,CAACyB,IAAI,CAAC,GAAG,GAAG,GAAGzB,aAAa,CAAC0B,MAAM,CAAC,CAAC;QACjE;MACF,CAAC,CAAC;MAEF,IAAIE,SAAS,GAAG,EAAE;MAClB,IAAIX,MAAM,GAAGvB,MAAM,CAAC,CAAC,CAAC,EAAES,YAAY,EAAEgB,KAAK,CAACF,MAAM,CAAC;MACnD1B,IAAI,CAAC0B,MAAM,EAAE,UAAUS,MAAM,EAAED,IAAI,EAAE;QACnC,IAAIhC,OAAO,CAACiC,MAAM,CAAC,IAAIA,MAAM,CAACG,MAAM,KAAK,CAAC,EAAE;UAC1C,IAAIL,UAAU,GAAGE,MAAM,CAAC,CAAC,CAAC;UAC1B,IAAII,UAAU,GAAGxC,UAAU,CAACqB,OAAO,EAAEa,UAAU,CAAC;UAChDD,YAAY,CAACI,IAAI,CAACF,IAAI,CAAC;UACvB,IAAIK,UAAU,KAAKf,SAAS,IAAIe,UAAU,KAAK,IAAI,EAAE;YACnDhB,OAAO,CAACG,MAAM,CAACQ,IAAI,CAAC,GAAG3B,eAAe,CAACgC,UAAU,CAAC,EAAC;YACnDF,SAAS,CAACD,IAAI,CACZ3B,aAAa,CAACyB,IAAI,CAAC,GAAG,GAAG,GAAG1B,cAAc,CAAC+B,UAAU,CACvD,CAAC;UACH;QACF,CAAC,MAAM,IAAInC,QAAQ,CAAC+B,MAAM,CAAC,EAAE;UAC3B,IAAII,UAAU,GAAGxC,UAAU,CAACqB,OAAO,EAAEe,MAAM,CAAC;UAC5CH,YAAY,CAACI,IAAI,CAACF,IAAI,CAAC;UACvB,IAAIK,UAAU,KAAKf,SAAS,IAAIe,UAAU,KAAK,IAAI,EAAE;YACnDhB,OAAO,CAACG,MAAM,CAACQ,IAAI,CAAC,GAAG3B,eAAe,CAACgC,UAAU,CAAC,EAAC;YACnDF,SAAS,CAACD,IAAI,CACZ3B,aAAa,CAACyB,IAAI,CAAC,GAAG,GAAG,GAAG1B,cAAc,CAAC+B,UAAU,CACvD,CAAC;UACH;QACF;MACF,CAAC,CAAC;MACF,IACEnB,OAAO,CAACoB,OAAO,IACflC,QAAQ,CAACc,OAAO,CAACoB,OAAO,CAAC,IACzB,CAACnC,aAAa,CAACe,OAAO,CAACoB,OAAO,CAAC,EAC/B;QACA;QACA,IAAIC,QAAQ,GAAG,EAAE;QACjBzC,IAAI,CAACoB,OAAO,CAACoB,OAAO,EAAE,UAAUL,MAAM,EAAED,IAAI,EAAE;UAC5C;UACA,IAAIF,YAAY,CAACU,OAAO,CAACR,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;UACrCF,YAAY,CAACI,IAAI,CAACF,IAAI,CAAC;UACvB,IAAIC,MAAM,KAAKX,SAAS,IAAIW,MAAM,KAAK,IAAI,EAAE;YAC3CM,QAAQ,CAACL,IAAI,CAACF,IAAI,CAAC;YACnBX,OAAO,CAACG,MAAM,CAACQ,IAAI,CAAC,GAAG3B,eAAe,CAAC4B,MAAM,CAAC,EAAC;YAC/CE,SAAS,CAACD,IAAI,CAAC3B,aAAa,CAACyB,IAAI,CAAC,GAAG,GAAG,GAAG1B,cAAc,CAAC2B,MAAM,CAAC,CAAC;UACpE;QACF,CAAC,CAAC;QACF,IAAIM,QAAQ,CAACH,MAAM,EAAE;UACnBf,OAAO,CAACG,MAAM,CAACR,WAAW,CAAC,GAAGX,eAAe,CAACkC,QAAQ,CAAC;UACvDJ,SAAS,CAACD,IAAI,CACZ3B,aAAa,CAACS,WAAW,CAAC,GAAG,GAAG,GAAGV,cAAc,CAACiC,QAAQ,CAC5D,CAAC;QACH;MACF;MACA,IAAIrB,OAAO,CAACC,IAAI,KAAKR,YAAY,CAAC8B,MAAM,EAAE;QACxC;QACA3C,IAAI,CAACoB,OAAO,EAAE,UAAUQ,KAAK,EAAEC,GAAG,EAAE;UAClC,IACEG,YAAY,CAACU,OAAO,CAACb,GAAG,CAAC,KAAK,CAAC,CAAC,IAChCD,KAAK,KAAKJ,SAAS,IACnBI,KAAK,KAAK,IAAI,EACd;YACAL,OAAO,CAACG,MAAM,CAACG,GAAG,CAAC,GAAGtB,eAAe,CAACqB,KAAK,CAAC,EAAC;YAC7CS,SAAS,CAACD,IAAI,CAAC3B,aAAa,CAACoB,GAAG,CAAC,GAAG,GAAG,GAAGrB,cAAc,CAACoB,KAAK,CAAC,CAAC;UAClE;QACF,CAAC,CAAC;MACJ;MACA,IAAIG,OAAO,CAACO,MAAM,EAAE;QAClBhB,MAAM,IAAIS,OAAO,CAACa,IAAI,CAAC,GAAG,CAAC;MAC7B;MACA,IAAIP,SAAS,CAACC,MAAM,EAAE;QACpBhB,MAAM,IAAI,GAAG;QACbA,MAAM,IAAIe,SAAS,CAACO,IAAI,CAAC,GAAG,CAAC;QAC7BjB,SAAS,GAAG,IAAI;MAClB;MACAL,MAAM,GAAGA,MAAM,GAAG,GAAG,GAAGF,OAAO,CAACyB,IAAI;MACpCtB,OAAO,CAACuB,IAAI,GAAG1B,OAAO,CAACyB,IAAI,EAAC;IAC9B;EACF,CAAC,CAAC;;EACF,OAAO;IACLvB,MAAM,EAAEK,SAAS,GAAGL,MAAM,GAAG,EAAE;IAC/BC,OAAO,EAAEI,SAAS,GAAGJ,OAAO,GAAGC;EACjC,CAAC;AACH,CAAC;AACD,IAAIuB,KAAK,GAAG,SAARA,KAAKA,CACPC,OAAO,EACPC,eAAe,EACfC,iBAAiB,EACjBC,qBAAqB,EACrB;EACA,IAAI,CAACC,cAAc,GAAG,EAAE;EACxB,IAAI,CAACC,YAAY,GAAG,CAAC,CAAC;EACtB,IAAI,CAACL,OAAO,GAAGA,OAAO;EACtB,IAAI,CAACC,eAAe,GAAGA,eAAe;EACtC,IAAI,CAACC,iBAAiB,GAAGA,iBAAiB;EAC1C,IAAI,CAACC,qBAAqB,GAAGA,qBAAqB;EAClD,IAAIG,KAAK,GAAG,IAAI;EAChB,IAAI,CAACL,eAAe,CAACM,eAAe,CAACC,SAAS,CAAC,UAAUC,KAAK,EAAE;IAC9DH,KAAK,CAACI,KAAK,CAACD,KAAK,CAAC;EACpB,CAAC,CAAC;AACJ,CAAC;AACDV,KAAK,CAACY,SAAS,CAACC,GAAG,GAAG,UAAUxC,OAAO,EAAE;EACvC,IAAI,CAACyC,WAAW,CAACzC,OAAO,CAAC;AAC3B,CAAC;AACD2B,KAAK,CAACY,SAAS,CAACG,MAAM,GAAG,UAAU1C,OAAO,EAAES,GAAG,EAAE;EAC/C,IAAI,CAACgC,WAAW,CAACzC,OAAO,EAAES,GAAG,CAAC;AAChC,CAAC;AACDkB,KAAK,CAACY,SAAS,CAACD,KAAK,GAAG,UAAUD,KAAK,EAAE;EACvC,IAAIM,QAAQ,GAAG,IAAI,CAACX,cAAc,CAACY,MAAM,CAAClE,MAAM,CAAC,IAAI,CAACuD,YAAY,CAAC,CAAC;EACpE,IAAI,CAACD,cAAc,GAAG,EAAE;EACxB,IAAI,CAACC,YAAY,GAAG,CAAC,CAAC;EACtB,IAAIU,QAAQ,CAACzB,MAAM,GAAG,CAAC,EAAE;IACvB,IAAI2B,WAAW,GAAG,EAAE;IACpB,IAAI,IAAI,CAACd,qBAAqB,EAAE;MAC9Bc,WAAW,GAAG,GAAG,GAAGF,QAAQ,CAACnB,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG;IAC9C,CAAC,MAAM;MACLqB,WAAW,GAAGF,QAAQ,CAACnB,IAAI,CAAC,IAAI,CAAC;IACnC;IACA,IAAIsB,OAAO,GAAG;MACZC,IAAI,EAAEF,WAAW;MACjBG,UAAU,EAAEX,KAAK,CAACW,UAAU;MAC5BC,WAAW,EAAEZ,KAAK,CAACa;IACrB,CAAC;IACD,IAAIvD,gBAAgB,CAAC0C,KAAK,CAACa,MAAM,CAAC,EAAE;MAClC,IAAI,CAACtB,OAAO,CAACuB,UAAU,CAACL,OAAO,CAAC;IAClC,CAAC,MAAM;MACL,IAAI,CAAClB,OAAO,CAACwB,IAAI,CAACN,OAAO,CAAC;IAC5B;EACF;AACF,CAAC;AAEDnB,KAAK,CAACY,SAAS,CAACE,WAAW,GAAG,UAAUzC,OAAO,EAAES,GAAG,EAAE;EACpD,IAAI4C,QAAQ,GAAG,IAAI,CAACC,OAAO,CAACtD,OAAO,CAAC;EACpC,IAAIuD,gBAAgB,GAAGF,QAAQ,CAACE,gBAAgB;EAChD,IAAIC,iBAAiB,GAAGH,QAAQ,CAACG,iBAAiB;EAClD,IAAIA,iBAAiB,IAAI,IAAI,CAAC1B,iBAAiB,EAAE;IAC/CrD,OAAO,CAACgF,IAAI,CACV,0EAA0E,GACxE,IAAI,CAAC3B,iBAAiB,GACtB,KACJ,CAAC;IACD;EACF;EACA,IAAI,IAAI,CAAC4B,aAAa,CAACjD,GAAG,CAAC,EAAE;IAC3B,IAAI,CAACkD,MAAM,CAAClD,GAAG,CAAC;EAClB;EACA,IAAI,CAACO,IAAI,CAACuC,gBAAgB,EAAEC,iBAAiB,EAAE/C,GAAG,CAAC;AACrD,CAAC;AACDkB,KAAK,CAACY,SAAS,CAACe,OAAO,GAAG,UAAUtD,OAAO,EAAE;EAC3C,IAAIuD,gBAAgB,GAAG,EAAE;EACzB,IAAI,IAAI,CAACxB,qBAAqB,EAAE;IAC9BwB,gBAAgB,GAAG3D,aAAa,CAACG,yBAAyB,CAACC,OAAO,CAAC,CAACG,OAAO,CAAC;EAC9E,CAAC,MAAM;IACLoD,gBAAgB,GAAGxD,yBAAyB,CAACC,OAAO,CAAC,CAACE,MAAM;EAC9D;EACA,IAAIsD,iBAAiB,GAAG9D,iBAAiB,CAAC6D,gBAAgB,CAAC;EAC3D,OAAO;IACLA,gBAAgB,EAAEA,gBAAgB;IAClCC,iBAAiB,EAAEA;EACrB,CAAC;AACH,CAAC;AAED7B,KAAK,CAACY,SAAS,CAACvB,IAAI,GAAG,UAAUuC,gBAAgB,EAAEC,iBAAiB,EAAE/C,GAAG,EAAE;EACzE,IAAImD,mBAAmB,GAAG,IAAI,CAAC/B,eAAe,CAACgC,gBAAgB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;EAC7E,IAAI,CAAChC,eAAe,CAACiC,sBAAsB,CACzCN,iBAAiB,GAAGI,mBACtB,CAAC;EACD,IAAInD,GAAG,KAAKL,SAAS,EAAE;IACrB,IAAI,CAAC6B,YAAY,CAACxB,GAAG,CAAC,GAAG8C,gBAAgB;EAC3C,CAAC,MAAM;IACL,IAAI,CAACvB,cAAc,CAAChB,IAAI,CAACuC,gBAAgB,CAAC;EAC5C;EACA,IAAI,CAAC1B,eAAe,CAACkC,qBAAqB,CAAC,CAAC;AAC9C,CAAC;AAEDpC,KAAK,CAACY,SAAS,CAACoB,MAAM,GAAG,UAAUlD,GAAG,EAAE;EACtC,IAAIuD,cAAc,GAAG,IAAI,CAAC/B,YAAY,CAACxB,GAAG,CAAC;EAC3C,OAAO,IAAI,CAACwB,YAAY,CAACxB,GAAG,CAAC;EAC7B,IAAI+C,iBAAiB,GAAG9D,iBAAiB,CAACsE,cAAc,CAAC;EACzD;EACA,IAAIJ,mBAAmB,GAAG,IAAI,CAAC/B,eAAe,CAACgC,gBAAgB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;EAC7E,IAAI,CAAChC,eAAe,CAACoC,wBAAwB,CAC3CT,iBAAiB,GAAGI,mBACtB,CAAC;AACH,CAAC;AAEDjC,KAAK,CAACY,SAAS,CAACmB,aAAa,GAAG,UAAUjD,GAAG,EAAE;EAC7C,OAAOA,GAAG,KAAKL,SAAS,IAAI,IAAI,CAAC6B,YAAY,CAACxB,GAAG,CAAC,KAAKL,SAAS;AAClE,CAAC;AACD,OAAO,IAAI8D,KAAK,GAAGvC,KAAK"}
1
+ {"version":3,"file":"batch.js","names":["display","values","findByPath","each","isNumber","isArray","extend","isString","isEmptyObject","isObject","escapeJsonValue","escapeRowField","escapeRowData","commonTags","dataMap","commonFields","RumEventType","computeBytesCount","isPageExitReason","jsonStringify","HAS_MULTI_BYTES_CHARACTERS","CUSTOM_KEYS","processedMessageByDataMap","message","type","rowStr","rowData","undefined","tags","fields","hasFileds","value","key","measurement","tagsStr","filterFileds","value_path","_key","_value","push","fieldsStr","length","_valueData","context","_tagKeys","indexOf","LOGGER","join","date","time","batch","request","flushController","messageBytesLimit","sendContentTypeByJson","pushOnlyBuffer","upsertBuffer","_this","flushObservable","subscribe","event","flush","prototype","add","addOrUpdate","upsert","messages","concat","payloadData","payload","data","bytesCount","flushReason","reason","sendOnExit","send","_process","process","processedMessage","messageBytesCount","warn","hasMessageFor","remove","separatorBytesCount","getMessagesCount","notifyBeforeAddMessage","notifyAfterAddMessage","removedMessage","notifyAfterRemoveMessage","Batch"],"sources":["../../src/transport/batch.js"],"sourcesContent":["import { display } from '../helper/display'\nimport {\n values,\n findByPath,\n each,\n isNumber,\n isArray,\n extend,\n isString,\n isEmptyObject,\n isObject\n} from '../helper/tools'\nimport {\n escapeJsonValue,\n escapeRowField,\n escapeRowData\n} from '../helper/serialisation/rowData'\nimport { commonTags, dataMap, commonFields } from '../dataMap'\nimport { RumEventType } from '../helper/enums'\nimport { computeBytesCount } from '../helper/byteUtils'\nimport { isPageExitReason } from '../browser/pageExitObservable'\nimport { jsonStringify } from '../helper/serialisation/jsonStringify'\n// https://en.wikipedia.org/wiki/UTF-8\n// eslint-disable-next-line no-control-regex\nvar HAS_MULTI_BYTES_CHARACTERS = /[^\\u0000-\\u007F]/\nvar CUSTOM_KEYS = 'custom_keys'\nexport var processedMessageByDataMap = function (message) {\n if (!message || !message.type)\n return {\n rowStr: '',\n rowData: undefined\n }\n\n var rowData = { tags: {}, fields: {} }\n var hasFileds = false\n var rowStr = ''\n each(dataMap, function (value, key) {\n if (value.type === message.type) {\n rowStr += key + ','\n rowData.measurement = key\n var tagsStr = []\n var tags = extend({}, commonTags, value.tags)\n var filterFileds = ['date', 'type', CUSTOM_KEYS] // 已经在datamap中定义过的fields和tags\n each(tags, function (value_path, _key) {\n var _value = findByPath(message, value_path)\n filterFileds.push(_key)\n if (_value || isNumber(_value)) {\n rowData.tags[_key] = escapeJsonValue(_value, true)\n tagsStr.push(escapeRowData(_key) + '=' + escapeRowData(_value))\n }\n })\n\n var fieldsStr = []\n var fields = extend({}, commonFields, value.fields)\n each(fields, function (_value, _key) {\n if (isArray(_value) && _value.length === 2) {\n var value_path = _value[1]\n var _valueData = findByPath(message, value_path)\n filterFileds.push(_key)\n if (_valueData !== undefined && _valueData !== null) {\n rowData.fields[_key] = escapeJsonValue(_valueData) // 这里不需要转译\n fieldsStr.push(\n escapeRowData(_key) + '=' + escapeRowField(_valueData)\n )\n }\n } else if (isString(_value)) {\n var _valueData = findByPath(message, _value)\n filterFileds.push(_key)\n if (_valueData !== undefined && _valueData !== null) {\n rowData.fields[_key] = escapeJsonValue(_valueData) // 这里不需要转译\n fieldsStr.push(\n escapeRowData(_key) + '=' + escapeRowField(_valueData)\n )\n }\n }\n })\n if (\n message.context &&\n isObject(message.context) &&\n !isEmptyObject(message.context)\n ) {\n // 自定义tag, 存储成field\n var _tagKeys = []\n each(message.context, function (_value, _key) {\n // 如果和之前tag重名,则舍弃\n if (filterFileds.indexOf(_key) > -1) return\n filterFileds.push(_key)\n if (_value !== undefined && _value !== null) {\n _tagKeys.push(_key)\n rowData.fields[_key] = escapeJsonValue(_value) // 这里不需要转译\n fieldsStr.push(escapeRowData(_key) + '=' + escapeRowField(_value))\n }\n })\n if (_tagKeys.length) {\n rowData.fields[CUSTOM_KEYS] = escapeJsonValue(_tagKeys)\n fieldsStr.push(\n escapeRowData(CUSTOM_KEYS) + '=' + escapeRowField(_tagKeys)\n )\n }\n }\n if (message.type === RumEventType.LOGGER) {\n // 这里处理日志类型数据自定义字段\n each(message, function (value, key) {\n if (\n filterFileds.indexOf(key) === -1 &&\n value !== undefined &&\n value !== null\n ) {\n rowData.fields[key] = escapeJsonValue(value) // 这里不需要转译\n fieldsStr.push(escapeRowData(key) + '=' + escapeRowField(value))\n }\n })\n }\n if (tagsStr.length) {\n rowStr += tagsStr.join(',')\n }\n if (fieldsStr.length) {\n rowStr += ' '\n rowStr += fieldsStr.join(',')\n hasFileds = true\n }\n rowStr = rowStr + ' ' + message.date\n rowData.time = message.date // 这里不需要转译\n }\n })\n return {\n rowStr: hasFileds ? rowStr : '',\n rowData: hasFileds ? rowData : undefined\n }\n}\nvar batch = function (\n request,\n flushController,\n messageBytesLimit,\n sendContentTypeByJson\n) {\n this.pushOnlyBuffer = []\n this.upsertBuffer = {}\n this.request = request\n this.flushController = flushController\n this.messageBytesLimit = messageBytesLimit\n this.sendContentTypeByJson = sendContentTypeByJson\n var _this = this\n this.flushController.flushObservable.subscribe(function (event) {\n _this.flush(event)\n })\n}\nbatch.prototype.add = function (message) {\n this.addOrUpdate(message)\n}\nbatch.prototype.upsert = function (message, key) {\n this.addOrUpdate(message, key)\n}\nbatch.prototype.flush = function (event) {\n var messages = this.pushOnlyBuffer.concat(values(this.upsertBuffer))\n this.pushOnlyBuffer = []\n this.upsertBuffer = {}\n if (messages.length > 0) {\n var payloadData = ''\n if (this.sendContentTypeByJson) {\n payloadData = '[' + messages.join(',') + ']'\n } else {\n payloadData = messages.join('\\n')\n }\n var payload = {\n data: payloadData,\n bytesCount: event.bytesCount,\n flushReason: event.reason\n }\n if (isPageExitReason(event.reason)) {\n this.request.sendOnExit(payload)\n } else {\n this.request.send(payload)\n }\n }\n}\n\nbatch.prototype.addOrUpdate = function (message, key) {\n var _process = this.process(message)\n var processedMessage = _process.processedMessage\n var messageBytesCount = _process.messageBytesCount\n if (messageBytesCount >= this.messageBytesLimit) {\n display.warn(\n 'Discarded a message whose size was bigger than the maximum allowed size ' +\n this.messageBytesLimit +\n 'KB.'\n )\n return\n }\n if (this.hasMessageFor(key)) {\n this.remove(key)\n }\n this.push(processedMessage, messageBytesCount, key)\n}\nbatch.prototype.process = function (message) {\n var processedMessage = ''\n if (this.sendContentTypeByJson) {\n processedMessage = jsonStringify(processedMessageByDataMap(message).rowData)\n } else {\n processedMessage = processedMessageByDataMap(message).rowStr\n }\n var messageBytesCount = computeBytesCount(processedMessage)\n return {\n processedMessage: processedMessage,\n messageBytesCount: messageBytesCount\n }\n}\n\nbatch.prototype.push = function (processedMessage, messageBytesCount, key) {\n var separatorBytesCount = this.flushController.getMessagesCount() > 0 ? 1 : 0\n this.flushController.notifyBeforeAddMessage(\n messageBytesCount + separatorBytesCount\n )\n if (key !== undefined) {\n this.upsertBuffer[key] = processedMessage\n } else {\n this.pushOnlyBuffer.push(processedMessage)\n }\n this.flushController.notifyAfterAddMessage()\n}\n\nbatch.prototype.remove = function (key) {\n var removedMessage = this.upsertBuffer[key]\n delete this.upsertBuffer[key]\n var messageBytesCount = computeBytesCount(removedMessage)\n // If there are other messages, a '\\n' will be added at serialization\n var separatorBytesCount = this.flushController.getMessagesCount() > 1 ? 1 : 0\n this.flushController.notifyAfterRemoveMessage(\n messageBytesCount + separatorBytesCount\n )\n}\n\nbatch.prototype.hasMessageFor = function (key) {\n return key !== undefined && this.upsertBuffer[key] !== undefined\n}\nexport var Batch = batch\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"eventBridge.js","names":["getGlobalObject","getEventBridgeGlobal","FTWebViewJavascriptBridge","getEventBridge","eventBridgeGlobal","send","eventType","event","sendEvent","JSON","stringify","name","data","canUseEventBridge","bridge"],"sources":["../../src/transport/eventBridge.js"],"sourcesContent":["import { getGlobalObject } from '../init'\n\nfunction getEventBridgeGlobal() {\n return getGlobalObject().FTWebViewJavascriptBridge\n}\nexport function getEventBridge() {\n var eventBridgeGlobal = getEventBridgeGlobal()\n\n if (!eventBridgeGlobal) {\n return\n }\n\n return {\n send(eventType, event) {\n eventBridgeGlobal.sendEvent(\n JSON.stringify({ name: eventType, data: event })\n )\n }\n }\n}\nexport function canUseEventBridge() {\n var bridge = getEventBridge()\n return !!bridge\n}\n"],"mappings":"AAAA,SAASA,eAAe,QAAQ,SAAS;AAEzC,SAASC,oBAAoBA,CAAA,EAAG;EAC9B,OAAOD,eAAe,CAAC,CAAC,CAACE,yBAAyB;AACpD;AACA,OAAO,SAASC,cAAcA,CAAA,EAAG;EAC/B,IAAIC,iBAAiB,GAAGH,oBAAoB,CAAC,CAAC;EAE9C,IAAI,CAACG,iBAAiB,EAAE;IACtB;EACF;EAEA,OAAO;IACLC,IAAI,WAAAA,KAACC,SAAS,EAAEC,KAAK,EAAE;MACrBH,iBAAiB,CAACI,SAAS,CACzBC,IAAI,CAACC,SAAS,CAAC;QAAEC,IAAI,EAAEL,SAAS;QAAEM,IAAI,EAAEL;MAAM,CAAC,CACjD,CAAC;IACH;EACF,CAAC;AACH;AACA,OAAO,SAASM,iBAAiBA,CAAA,EAAG;EAClC,IAAIC,MAAM,GAAGX,cAAc,CAAC,CAAC;EAC7B,OAAO,CAAC,CAACW,MAAM;AACjB"}
1
+ {"version":3,"file":"eventBridge.js","names":["getGlobalObject","getEventBridgeGlobal","FTWebViewJavascriptBridge","getEventBridge","eventBridgeGlobal","send","eventType","event","sendEvent","JSON","stringify","name","data","canUseEventBridge","bridge"],"sources":["../../src/transport/eventBridge.js"],"sourcesContent":["import { getGlobalObject } from '../init'\n\nfunction getEventBridgeGlobal() {\n return getGlobalObject().FTWebViewJavascriptBridge\n}\nexport function getEventBridge() {\n var eventBridgeGlobal = getEventBridgeGlobal()\n\n if (!eventBridgeGlobal) {\n return\n }\n\n return {\n send(eventType, event) {\n eventBridgeGlobal.sendEvent(\n JSON.stringify({ name: eventType, data: event })\n )\n }\n }\n}\nexport function canUseEventBridge() {\n var bridge = getEventBridge()\n return !!bridge\n}\n"],"mappings":"AAAA,SAASA,eAAe,QAAQ,SAAS;AAEzC,SAASC,oBAAoBA,CAAA,EAAG;EAC9B,OAAOD,eAAe,CAAC,CAAC,CAACE,yBAAyB;AACpD;AACA,OAAO,SAASC,cAAcA,CAAA,EAAG;EAC/B,IAAIC,iBAAiB,GAAGH,oBAAoB,CAAC,CAAC;EAE9C,IAAI,CAACG,iBAAiB,EAAE;IACtB;EACF;EAEA,OAAO;IACLC,IAAI,WAAAA,KAACC,SAAS,EAAEC,KAAK,EAAE;MACrBH,iBAAiB,CAACI,SAAS,CACzBC,IAAI,CAACC,SAAS,CAAC;QAAEC,IAAI,EAAEL,SAAS;QAAEM,IAAI,EAAEL;MAAM,CAAC,CACjD,CAAC;IACH;EACF,CAAC;AACH;AACA,OAAO,SAASM,iBAAiBA,CAAA,EAAG;EAClC,IAAIC,MAAM,GAAGX,cAAc,CAAC,CAAC;EAC7B,OAAO,CAAC,CAACW,MAAM;AACjB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"flushController.js","names":["Observable","clearTimeout","setTimeout","createFlushController","_ref","messagesLimit","bytesLimit","durationLimit","pageExitObservable","sessionExpireObservable","flushObservable","subscribe","event","flush","reason","currentBytesCount","currentMessagesCount","flushReason","messagesCount","bytesCount","cancelDurationLimitTimeout","notify","durationLimitTimeoutId","scheduleDurationLimitTimeout","undefined","getMessagesCount","notifyBeforeAddMessage","messageBytesCount","notifyAfterAddMessage","notifyAfterRemoveMessage"],"sources":["../../src/transport/flushController.js"],"sourcesContent":["import { Observable } from '../helper/observable'\nimport { clearTimeout, setTimeout } from '../helper/timer'\n\n// type FlushReason = PageExitReason | 'duration_limit' | 'bytes_limit' | 'messages_limit' | 'session_expire'\n\n/**\n * Returns a \"flush controller\", responsible of notifying when flushing a pool of pending data needs\n * to happen. The implementation is designed to support both synchronous and asynchronous usages,\n * but relies on invariants described in each method documentation to keep a coherent state.\n */\nexport function createFlushController({\n messagesLimit,\n bytesLimit,\n durationLimit,\n pageExitObservable,\n sessionExpireObservable\n}) {\n var flushObservable = new Observable()\n\n pageExitObservable.subscribe(function (event) {\n return flush(event.reason)\n })\n sessionExpireObservable.subscribe(function () {\n return flush('session_expire')\n })\n\n var currentBytesCount = 0\n var currentMessagesCount = 0\n\n function flush(flushReason) {\n if (currentMessagesCount === 0) {\n return\n }\n\n var messagesCount = currentMessagesCount\n var bytesCount = currentBytesCount\n\n currentMessagesCount = 0\n currentBytesCount = 0\n cancelDurationLimitTimeout()\n\n flushObservable.notify({\n reason: flushReason,\n messagesCount: messagesCount,\n bytesCount: bytesCount\n })\n }\n\n var durationLimitTimeoutId\n function scheduleDurationLimitTimeout() {\n if (durationLimitTimeoutId === undefined) {\n durationLimitTimeoutId = setTimeout(function () {\n flush('duration_limit')\n }, durationLimit)\n }\n }\n\n function cancelDurationLimitTimeout() {\n clearTimeout(durationLimitTimeoutId)\n durationLimitTimeoutId = undefined\n }\n\n return {\n flushObservable: flushObservable,\n getMessagesCount: function () {\n return currentMessagesCount\n },\n\n /**\n * Notifies that a message will be added to a pool of pending messages waiting to be flushed.\n *\n * This function needs to be called synchronously, right before adding the message, so no flush\n * event can happen after `notifyBeforeAddMessage` and before adding the message.\n */\n notifyBeforeAddMessage: function (messageBytesCount) {\n if (currentBytesCount + messageBytesCount >= bytesLimit) {\n flush('bytes_limit')\n }\n // Consider the message to be added now rather than in `notifyAfterAddMessage`, because if no\n // message was added yet and `notifyAfterAddMessage` is called asynchronously, we still want\n // to notify when a flush is needed (for example on page exit).\n currentMessagesCount += 1\n currentBytesCount += messageBytesCount\n scheduleDurationLimitTimeout()\n },\n\n /**\n * Notifies that a message *was* added to a pool of pending messages waiting to be flushed.\n *\n * This function can be called asynchronously after the message was added, but in this case it\n * should not be called if a flush event occurred in between.\n */\n notifyAfterAddMessage: function () {\n if (currentMessagesCount >= messagesLimit) {\n flush('messages_limit')\n } else if (currentBytesCount >= bytesLimit) {\n flush('bytes_limit')\n }\n },\n\n /**\n * Notifies that a message was removed from a pool of pending messages waiting to be flushed.\n *\n * This function needs to be called synchronously, right after removing the message, so no flush\n * event can happen after removing the message and before `notifyAfterRemoveMessage`.\n */\n notifyAfterRemoveMessage: function (messageBytesCount) {\n currentBytesCount -= messageBytesCount\n currentMessagesCount -= 1\n if (currentMessagesCount === 0) {\n cancelDurationLimitTimeout()\n }\n }\n }\n}\n"],"mappings":"AAAA,SAASA,UAAU,QAAQ,sBAAsB;AACjD,SAASC,YAAY,EAAEC,UAAU,QAAQ,iBAAiB;;AAE1D;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,qBAAqBA,CAAAC,IAAA,EAMlC;EAAA,IALDC,aAAa,GAAAD,IAAA,CAAbC,aAAa;IACbC,UAAU,GAAAF,IAAA,CAAVE,UAAU;IACVC,aAAa,GAAAH,IAAA,CAAbG,aAAa;IACbC,kBAAkB,GAAAJ,IAAA,CAAlBI,kBAAkB;IAClBC,uBAAuB,GAAAL,IAAA,CAAvBK,uBAAuB;EAEvB,IAAIC,eAAe,GAAG,IAAIV,UAAU,CAAC,CAAC;EAEtCQ,kBAAkB,CAACG,SAAS,CAAC,UAAUC,KAAK,EAAE;IAC5C,OAAOC,KAAK,CAACD,KAAK,CAACE,MAAM,CAAC;EAC5B,CAAC,CAAC;EACFL,uBAAuB,CAACE,SAAS,CAAC,YAAY;IAC5C,OAAOE,KAAK,CAAC,gBAAgB,CAAC;EAChC,CAAC,CAAC;EAEF,IAAIE,iBAAiB,GAAG,CAAC;EACzB,IAAIC,oBAAoB,GAAG,CAAC;EAE5B,SAASH,KAAKA,CAACI,WAAW,EAAE;IAC1B,IAAID,oBAAoB,KAAK,CAAC,EAAE;MAC9B;IACF;IAEA,IAAIE,aAAa,GAAGF,oBAAoB;IACxC,IAAIG,UAAU,GAAGJ,iBAAiB;IAElCC,oBAAoB,GAAG,CAAC;IACxBD,iBAAiB,GAAG,CAAC;IACrBK,0BAA0B,CAAC,CAAC;IAE5BV,eAAe,CAACW,MAAM,CAAC;MACrBP,MAAM,EAAEG,WAAW;MACnBC,aAAa,EAAEA,aAAa;MAC5BC,UAAU,EAAEA;IACd,CAAC,CAAC;EACJ;EAEA,IAAIG,sBAAsB;EAC1B,SAASC,4BAA4BA,CAAA,EAAG;IACtC,IAAID,sBAAsB,KAAKE,SAAS,EAAE;MACxCF,sBAAsB,GAAGpB,UAAU,CAAC,YAAY;QAC9CW,KAAK,CAAC,gBAAgB,CAAC;MACzB,CAAC,EAAEN,aAAa,CAAC;IACnB;EACF;EAEA,SAASa,0BAA0BA,CAAA,EAAG;IACpCnB,YAAY,CAACqB,sBAAsB,CAAC;IACpCA,sBAAsB,GAAGE,SAAS;EACpC;EAEA,OAAO;IACLd,eAAe,EAAEA,eAAe;IAChCe,gBAAgB,EAAE,SAAAA,iBAAA,EAAY;MAC5B,OAAOT,oBAAoB;IAC7B,CAAC;IAED;AACJ;AACA;AACA;AACA;AACA;IACIU,sBAAsB,EAAE,SAAAA,uBAAUC,iBAAiB,EAAE;MACnD,IAAIZ,iBAAiB,GAAGY,iBAAiB,IAAIrB,UAAU,EAAE;QACvDO,KAAK,CAAC,aAAa,CAAC;MACtB;MACA;MACA;MACA;MACAG,oBAAoB,IAAI,CAAC;MACzBD,iBAAiB,IAAIY,iBAAiB;MACtCJ,4BAA4B,CAAC,CAAC;IAChC,CAAC;IAED;AACJ;AACA;AACA;AACA;AACA;IACIK,qBAAqB,EAAE,SAAAA,sBAAA,EAAY;MACjC,IAAIZ,oBAAoB,IAAIX,aAAa,EAAE;QACzCQ,KAAK,CAAC,gBAAgB,CAAC;MACzB,CAAC,MAAM,IAAIE,iBAAiB,IAAIT,UAAU,EAAE;QAC1CO,KAAK,CAAC,aAAa,CAAC;MACtB;IACF,CAAC;IAED;AACJ;AACA;AACA;AACA;AACA;IACIgB,wBAAwB,EAAE,SAAAA,yBAAUF,iBAAiB,EAAE;MACrDZ,iBAAiB,IAAIY,iBAAiB;MACtCX,oBAAoB,IAAI,CAAC;MACzB,IAAIA,oBAAoB,KAAK,CAAC,EAAE;QAC9BI,0BAA0B,CAAC,CAAC;MAC9B;IACF;EACF,CAAC;AACH"}
1
+ {"version":3,"file":"flushController.js","names":["Observable","clearTimeout","setTimeout","createFlushController","_ref","messagesLimit","bytesLimit","durationLimit","pageExitObservable","sessionExpireObservable","flushObservable","subscribe","event","flush","reason","currentBytesCount","currentMessagesCount","flushReason","messagesCount","bytesCount","cancelDurationLimitTimeout","notify","durationLimitTimeoutId","scheduleDurationLimitTimeout","undefined","getMessagesCount","notifyBeforeAddMessage","messageBytesCount","notifyAfterAddMessage","notifyAfterRemoveMessage"],"sources":["../../src/transport/flushController.js"],"sourcesContent":["import { Observable } from '../helper/observable'\nimport { clearTimeout, setTimeout } from '../helper/timer'\n\n// type FlushReason = PageExitReason | 'duration_limit' | 'bytes_limit' | 'messages_limit' | 'session_expire'\n\n/**\n * Returns a \"flush controller\", responsible of notifying when flushing a pool of pending data needs\n * to happen. The implementation is designed to support both synchronous and asynchronous usages,\n * but relies on invariants described in each method documentation to keep a coherent state.\n */\nexport function createFlushController({\n messagesLimit,\n bytesLimit,\n durationLimit,\n pageExitObservable,\n sessionExpireObservable\n}) {\n var flushObservable = new Observable()\n\n pageExitObservable.subscribe(function (event) {\n return flush(event.reason)\n })\n sessionExpireObservable.subscribe(function () {\n return flush('session_expire')\n })\n\n var currentBytesCount = 0\n var currentMessagesCount = 0\n\n function flush(flushReason) {\n if (currentMessagesCount === 0) {\n return\n }\n\n var messagesCount = currentMessagesCount\n var bytesCount = currentBytesCount\n\n currentMessagesCount = 0\n currentBytesCount = 0\n cancelDurationLimitTimeout()\n\n flushObservable.notify({\n reason: flushReason,\n messagesCount: messagesCount,\n bytesCount: bytesCount\n })\n }\n\n var durationLimitTimeoutId\n function scheduleDurationLimitTimeout() {\n if (durationLimitTimeoutId === undefined) {\n durationLimitTimeoutId = setTimeout(function () {\n flush('duration_limit')\n }, durationLimit)\n }\n }\n\n function cancelDurationLimitTimeout() {\n clearTimeout(durationLimitTimeoutId)\n durationLimitTimeoutId = undefined\n }\n\n return {\n flushObservable: flushObservable,\n getMessagesCount: function () {\n return currentMessagesCount\n },\n\n /**\n * Notifies that a message will be added to a pool of pending messages waiting to be flushed.\n *\n * This function needs to be called synchronously, right before adding the message, so no flush\n * event can happen after `notifyBeforeAddMessage` and before adding the message.\n */\n notifyBeforeAddMessage: function (messageBytesCount) {\n if (currentBytesCount + messageBytesCount >= bytesLimit) {\n flush('bytes_limit')\n }\n // Consider the message to be added now rather than in `notifyAfterAddMessage`, because if no\n // message was added yet and `notifyAfterAddMessage` is called asynchronously, we still want\n // to notify when a flush is needed (for example on page exit).\n currentMessagesCount += 1\n currentBytesCount += messageBytesCount\n scheduleDurationLimitTimeout()\n },\n\n /**\n * Notifies that a message *was* added to a pool of pending messages waiting to be flushed.\n *\n * This function can be called asynchronously after the message was added, but in this case it\n * should not be called if a flush event occurred in between.\n */\n notifyAfterAddMessage: function () {\n if (currentMessagesCount >= messagesLimit) {\n flush('messages_limit')\n } else if (currentBytesCount >= bytesLimit) {\n flush('bytes_limit')\n }\n },\n\n /**\n * Notifies that a message was removed from a pool of pending messages waiting to be flushed.\n *\n * This function needs to be called synchronously, right after removing the message, so no flush\n * event can happen after removing the message and before `notifyAfterRemoveMessage`.\n */\n notifyAfterRemoveMessage: function (messageBytesCount) {\n currentBytesCount -= messageBytesCount\n currentMessagesCount -= 1\n if (currentMessagesCount === 0) {\n cancelDurationLimitTimeout()\n }\n }\n }\n}\n"],"mappings":"AAAA,SAASA,UAAU,QAAQ,sBAAsB;AACjD,SAASC,YAAY,EAAEC,UAAU,QAAQ,iBAAiB;;AAE1D;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,qBAAqBA,CAAAC,IAAA,EAMlC;EAAA,IALDC,aAAa,GAAAD,IAAA,CAAbC,aAAa;IACbC,UAAU,GAAAF,IAAA,CAAVE,UAAU;IACVC,aAAa,GAAAH,IAAA,CAAbG,aAAa;IACbC,kBAAkB,GAAAJ,IAAA,CAAlBI,kBAAkB;IAClBC,uBAAuB,GAAAL,IAAA,CAAvBK,uBAAuB;EAEvB,IAAIC,eAAe,GAAG,IAAIV,UAAU,CAAC,CAAC;EAEtCQ,kBAAkB,CAACG,SAAS,CAAC,UAAUC,KAAK,EAAE;IAC5C,OAAOC,KAAK,CAACD,KAAK,CAACE,MAAM,CAAC;EAC5B,CAAC,CAAC;EACFL,uBAAuB,CAACE,SAAS,CAAC,YAAY;IAC5C,OAAOE,KAAK,CAAC,gBAAgB,CAAC;EAChC,CAAC,CAAC;EAEF,IAAIE,iBAAiB,GAAG,CAAC;EACzB,IAAIC,oBAAoB,GAAG,CAAC;EAE5B,SAASH,KAAKA,CAACI,WAAW,EAAE;IAC1B,IAAID,oBAAoB,KAAK,CAAC,EAAE;MAC9B;IACF;IAEA,IAAIE,aAAa,GAAGF,oBAAoB;IACxC,IAAIG,UAAU,GAAGJ,iBAAiB;IAElCC,oBAAoB,GAAG,CAAC;IACxBD,iBAAiB,GAAG,CAAC;IACrBK,0BAA0B,CAAC,CAAC;IAE5BV,eAAe,CAACW,MAAM,CAAC;MACrBP,MAAM,EAAEG,WAAW;MACnBC,aAAa,EAAEA,aAAa;MAC5BC,UAAU,EAAEA;IACd,CAAC,CAAC;EACJ;EAEA,IAAIG,sBAAsB;EAC1B,SAASC,4BAA4BA,CAAA,EAAG;IACtC,IAAID,sBAAsB,KAAKE,SAAS,EAAE;MACxCF,sBAAsB,GAAGpB,UAAU,CAAC,YAAY;QAC9CW,KAAK,CAAC,gBAAgB,CAAC;MACzB,CAAC,EAAEN,aAAa,CAAC;IACnB;EACF;EAEA,SAASa,0BAA0BA,CAAA,EAAG;IACpCnB,YAAY,CAACqB,sBAAsB,CAAC;IACpCA,sBAAsB,GAAGE,SAAS;EACpC;EAEA,OAAO;IACLd,eAAe,EAAEA,eAAe;IAChCe,gBAAgB,EAAE,SAAAA,iBAAA,EAAY;MAC5B,OAAOT,oBAAoB;IAC7B,CAAC;IAED;AACJ;AACA;AACA;AACA;AACA;IACIU,sBAAsB,EAAE,SAAAA,uBAAUC,iBAAiB,EAAE;MACnD,IAAIZ,iBAAiB,GAAGY,iBAAiB,IAAIrB,UAAU,EAAE;QACvDO,KAAK,CAAC,aAAa,CAAC;MACtB;MACA;MACA;MACA;MACAG,oBAAoB,IAAI,CAAC;MACzBD,iBAAiB,IAAIY,iBAAiB;MACtCJ,4BAA4B,CAAC,CAAC;IAChC,CAAC;IAED;AACJ;AACA;AACA;AACA;AACA;IACIK,qBAAqB,EAAE,SAAAA,sBAAA,EAAY;MACjC,IAAIZ,oBAAoB,IAAIX,aAAa,EAAE;QACzCQ,KAAK,CAAC,gBAAgB,CAAC;MACzB,CAAC,MAAM,IAAIE,iBAAiB,IAAIT,UAAU,EAAE;QAC1CO,KAAK,CAAC,aAAa,CAAC;MACtB;IACF,CAAC;IAED;AACJ;AACA;AACA;AACA;AACA;IACIgB,wBAAwB,EAAE,SAAAA,yBAAUF,iBAAiB,EAAE;MACrDZ,iBAAiB,IAAIY,iBAAiB;MACtCX,oBAAoB,IAAI,CAAC;MACzB,IAAIA,oBAAoB,KAAK,CAAC,EAAE;QAC9BI,0BAA0B,CAAC,CAAC;MAC9B;IACF;EACF,CAAC;AACH","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"httpRequest.js","names":["newRetryState","sendWithRetryStrategy","addEventListener","monitor","addBatchPrecision","url","indexOf","createHttpRequest","endpointUrl","bytesLimit","sendContentTypeByJson","reportError","contentType","undefined","retryState","sendStrategyForRetry","payload","onResponse","fetchKeepAliveStrategy","send","sendOnExit","sendBeaconStrategy","data","bytesCount","canUseBeacon","navigator","sendBeacon","beaconData","Blob","type","isQueued","e","sendXHR","canUseKeepAlive","isKeepAliveSupported","fetchOption","method","body","keepalive","mode","headers","fetch","then","response","status","window","Request","_unused","request","XMLHttpRequest","open","setRequestHeader","once"],"sources":["../../src/transport/httpRequest.js"],"sourcesContent":["import { newRetryState, sendWithRetryStrategy } from './sendWithRetryStrategy'\nimport { addEventListener } from '../browser/addEventListener'\nimport { monitor } from '../helper/monitor'\n/**\n * Use POST request without content type to:\n * - avoid CORS preflight requests\n * - allow usage of sendBeacon\n *\n * multiple elements are sent separated by \\n in order\n * to be parsed correctly without content type header\n */\nfunction addBatchPrecision(url) {\n if (!url) return url\n return url + (url.indexOf('?') === -1 ? '?' : '&') + 'precision=ms'\n}\nexport function createHttpRequest(\n endpointUrl,\n bytesLimit,\n sendContentTypeByJson,\n reportError\n) {\n var contentType = sendContentTypeByJson\n ? 'application/json; charset=UTF-8'\n : undefined\n var retryState = newRetryState()\n var sendStrategyForRetry = function (payload, onResponse) {\n return fetchKeepAliveStrategy(\n endpointUrl,\n bytesLimit,\n contentType,\n payload,\n onResponse\n )\n }\n\n return {\n send: function (payload) {\n sendWithRetryStrategy(\n payload,\n retryState,\n sendStrategyForRetry,\n endpointUrl,\n reportError\n )\n },\n /**\n * Since fetch keepalive behaves like regular fetch on Firefox,\n * keep using sendBeaconStrategy on exit\n */\n sendOnExit: function (payload) {\n sendBeaconStrategy(endpointUrl, bytesLimit, contentType, payload)\n }\n }\n}\n\nfunction sendBeaconStrategy(endpointUrl, bytesLimit, contentType, payload) {\n var data = payload.data\n var bytesCount = payload.bytesCount\n var url = addBatchPrecision(endpointUrl)\n var canUseBeacon = !!navigator.sendBeacon && bytesCount < bytesLimit\n if (canUseBeacon) {\n try {\n var beaconData\n if (contentType) {\n beaconData = new Blob([data], {\n type: contentType\n })\n } else {\n beaconData = data\n }\n\n var isQueued = navigator.sendBeacon(url, beaconData)\n\n if (isQueued) {\n return\n }\n } catch (e) {\n // reportBeaconError(e)\n }\n }\n sendXHR(url, contentType, data)\n}\n\nexport function fetchKeepAliveStrategy(\n endpointUrl,\n bytesLimit,\n contentType,\n payload,\n onResponse\n) {\n var data = payload.data\n var bytesCount = payload.bytesCount\n var url = addBatchPrecision(endpointUrl)\n var canUseKeepAlive = isKeepAliveSupported() && bytesCount < bytesLimit\n if (canUseKeepAlive) {\n var fetchOption = {\n method: 'POST',\n body: data,\n keepalive: true,\n mode: 'cors'\n }\n if (contentType) {\n fetchOption.headers = {\n 'Content-Type': contentType\n }\n }\n fetch(url, fetchOption).then(\n monitor(function (response) {\n if (typeof onResponse === 'function') {\n onResponse({ status: response.status, type: response.type })\n }\n }),\n monitor(function () {\n // failed to queue the request\n sendXHR(url, contentType, data, onResponse)\n })\n )\n } else {\n sendXHR(url, contentType, data, onResponse)\n }\n}\n\nfunction isKeepAliveSupported() {\n // Request can throw, cf https://developer.mozilla.org/en-US/docs/Web/API/Request/Request#errors\n try {\n return window.Request && 'keepalive' in new Request('http://a')\n } catch {\n return false\n }\n}\n\nfunction sendXHR(url, contentType, data, onResponse) {\n const request = new XMLHttpRequest()\n request.open('POST', url, true)\n if (contentType) {\n //application/json; charset=UTF-8\n request.setRequestHeader('Content-Type', contentType)\n }\n\n addEventListener(\n request,\n 'loadend',\n function () {\n if (typeof onResponse === 'function') {\n onResponse({ status: request.status })\n }\n },\n {\n once: true\n }\n )\n request.send(data)\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"httpRequest.js","names":["newRetryState","sendWithRetryStrategy","addEventListener","monitor","addBatchPrecision","url","indexOf","createHttpRequest","endpointUrl","bytesLimit","sendContentTypeByJson","reportError","contentType","undefined","retryState","sendStrategyForRetry","payload","onResponse","fetchKeepAliveStrategy","send","sendOnExit","sendBeaconStrategy","data","bytesCount","canUseBeacon","navigator","sendBeacon","beaconData","Blob","type","isQueued","e","sendXHR","canUseKeepAlive","isKeepAliveSupported","fetchOption","method","body","keepalive","mode","headers","fetch","then","response","status","window","Request","_unused","request","XMLHttpRequest","open","setRequestHeader","once"],"sources":["../../src/transport/httpRequest.js"],"sourcesContent":["import { newRetryState, sendWithRetryStrategy } from './sendWithRetryStrategy'\nimport { addEventListener } from '../browser/addEventListener'\nimport { monitor } from '../helper/monitor'\n/**\n * Use POST request without content type to:\n * - avoid CORS preflight requests\n * - allow usage of sendBeacon\n *\n * multiple elements are sent separated by \\n in order\n * to be parsed correctly without content type header\n */\nfunction addBatchPrecision(url) {\n if (!url) return url\n return url + (url.indexOf('?') === -1 ? '?' : '&') + 'precision=ms'\n}\nexport function createHttpRequest(\n endpointUrl,\n bytesLimit,\n sendContentTypeByJson,\n reportError\n) {\n var contentType = sendContentTypeByJson\n ? 'application/json; charset=UTF-8'\n : undefined\n var retryState = newRetryState()\n var sendStrategyForRetry = function (payload, onResponse) {\n return fetchKeepAliveStrategy(\n endpointUrl,\n bytesLimit,\n contentType,\n payload,\n onResponse\n )\n }\n\n return {\n send: function (payload) {\n sendWithRetryStrategy(\n payload,\n retryState,\n sendStrategyForRetry,\n endpointUrl,\n reportError\n )\n },\n /**\n * Since fetch keepalive behaves like regular fetch on Firefox,\n * keep using sendBeaconStrategy on exit\n */\n sendOnExit: function (payload) {\n sendBeaconStrategy(endpointUrl, bytesLimit, contentType, payload)\n }\n }\n}\n\nfunction sendBeaconStrategy(endpointUrl, bytesLimit, contentType, payload) {\n var data = payload.data\n var bytesCount = payload.bytesCount\n var url = addBatchPrecision(endpointUrl)\n var canUseBeacon = !!navigator.sendBeacon && bytesCount < bytesLimit\n if (canUseBeacon) {\n try {\n var beaconData\n if (contentType) {\n beaconData = new Blob([data], {\n type: contentType\n })\n } else {\n beaconData = data\n }\n\n var isQueued = navigator.sendBeacon(url, beaconData)\n\n if (isQueued) {\n return\n }\n } catch (e) {\n // reportBeaconError(e)\n }\n }\n sendXHR(url, contentType, data)\n}\n\nexport function fetchKeepAliveStrategy(\n endpointUrl,\n bytesLimit,\n contentType,\n payload,\n onResponse\n) {\n var data = payload.data\n var bytesCount = payload.bytesCount\n var url = addBatchPrecision(endpointUrl)\n var canUseKeepAlive = isKeepAliveSupported() && bytesCount < bytesLimit\n if (canUseKeepAlive) {\n var fetchOption = {\n method: 'POST',\n body: data,\n keepalive: true,\n mode: 'cors'\n }\n if (contentType) {\n fetchOption.headers = {\n 'Content-Type': contentType\n }\n }\n fetch(url, fetchOption).then(\n monitor(function (response) {\n if (typeof onResponse === 'function') {\n onResponse({ status: response.status, type: response.type })\n }\n }),\n monitor(function () {\n // failed to queue the request\n sendXHR(url, contentType, data, onResponse)\n })\n )\n } else {\n sendXHR(url, contentType, data, onResponse)\n }\n}\n\nfunction isKeepAliveSupported() {\n // Request can throw, cf https://developer.mozilla.org/en-US/docs/Web/API/Request/Request#errors\n try {\n return window.Request && 'keepalive' in new Request('http://a')\n } catch {\n return false\n }\n}\n\nfunction sendXHR(url, contentType, data, onResponse) {\n const request = new XMLHttpRequest()\n request.open('POST', url, true)\n if (contentType) {\n //application/json; charset=UTF-8\n request.setRequestHeader('Content-Type', contentType)\n }\n\n addEventListener(\n request,\n 'loadend',\n function () {\n if (typeof onResponse === 'function') {\n onResponse({ status: request.status })\n }\n },\n {\n once: true\n }\n )\n request.send(data)\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["createHttpRequest","Batch","processedMessageByDataMap","startBatchWithReplica","createFlushController","getEventBridge","canUseEventBridge"],"sources":["../../src/transport/index.js"],"sourcesContent":["export { createHttpRequest } from './httpRequest'\nexport { Batch, processedMessageByDataMap } from './batch'\nexport { startBatchWithReplica } from './startBatchWithReplica'\nexport { createFlushController } from './flushController'\nexport { getEventBridge, canUseEventBridge } from './eventBridge'\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,eAAe;AACjD,SAASC,KAAK,EAAEC,yBAAyB,QAAQ,SAAS;AAC1D,SAASC,qBAAqB,QAAQ,yBAAyB;AAC/D,SAASC,qBAAqB,QAAQ,mBAAmB;AACzD,SAASC,cAAc,EAAEC,iBAAiB,QAAQ,eAAe"}
1
+ {"version":3,"file":"index.js","names":["createHttpRequest","Batch","processedMessageByDataMap","startBatchWithReplica","createFlushController","getEventBridge","canUseEventBridge"],"sources":["../../src/transport/index.js"],"sourcesContent":["export { createHttpRequest } from './httpRequest'\nexport { Batch, processedMessageByDataMap } from './batch'\nexport { startBatchWithReplica } from './startBatchWithReplica'\nexport { createFlushController } from './flushController'\nexport { getEventBridge, canUseEventBridge } from './eventBridge'\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,eAAe;AACjD,SAASC,KAAK,EAAEC,yBAAyB,QAAQ,SAAS;AAC1D,SAASC,qBAAqB,QAAQ,yBAAyB;AAC/D,SAASC,qBAAqB,QAAQ,mBAAmB;AACzD,SAASC,cAAc,EAAEC,iBAAiB,QAAQ,eAAe","ignoreList":[]}