@cloudcare/browser-core 3.2.4 → 3.2.7

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 (67) hide show
  1. package/cjs/browser/cookie.js +14 -9
  2. package/cjs/browser/cookie.js.map +1 -1
  3. package/cjs/configuration/configuration.js +3 -24
  4. package/cjs/configuration/configuration.js.map +1 -1
  5. package/cjs/index.js +90 -41
  6. package/cjs/index.js.map +1 -1
  7. package/cjs/init.js +0 -19
  8. package/cjs/init.js.map +1 -1
  9. package/cjs/session/sessionConstants.js +3 -1
  10. package/cjs/session/sessionConstants.js.map +1 -1
  11. package/cjs/session/sessionInCookie.js +59 -0
  12. package/cjs/session/sessionInCookie.js.map +1 -0
  13. package/cjs/session/sessionInLocalStorage.js +44 -0
  14. package/cjs/session/sessionInLocalStorage.js.map +1 -0
  15. package/cjs/session/sessionManagement.js +38 -31
  16. package/cjs/session/sessionManagement.js.map +1 -1
  17. package/cjs/session/sessionState.js +73 -0
  18. package/cjs/session/sessionState.js.map +1 -0
  19. package/cjs/session/sessionStore.js +113 -90
  20. package/cjs/session/sessionStore.js.map +1 -1
  21. package/cjs/session/sessionStoreOperations.js +117 -0
  22. package/cjs/session/sessionStoreOperations.js.map +1 -0
  23. package/esm/browser/cookie.js +15 -8
  24. package/esm/browser/cookie.js.map +1 -1
  25. package/esm/configuration/configuration.js +3 -23
  26. package/esm/configuration/configuration.js.map +1 -1
  27. package/esm/index.js +3 -4
  28. package/esm/index.js.map +1 -1
  29. package/esm/init.js +0 -19
  30. package/esm/init.js.map +1 -1
  31. package/esm/session/sessionConstants.js +1 -0
  32. package/esm/session/sessionConstants.js.map +1 -1
  33. package/esm/session/sessionInCookie.js +51 -0
  34. package/esm/session/sessionInCookie.js.map +1 -0
  35. package/esm/session/sessionInLocalStorage.js +37 -0
  36. package/esm/session/sessionInLocalStorage.js.map +1 -0
  37. package/esm/session/sessionManagement.js +35 -28
  38. package/esm/session/sessionManagement.js.map +1 -1
  39. package/esm/session/sessionState.js +59 -0
  40. package/esm/session/sessionState.js.map +1 -0
  41. package/esm/session/sessionStore.js +113 -90
  42. package/esm/session/sessionStore.js.map +1 -1
  43. package/esm/session/sessionStoreOperations.js +108 -0
  44. package/esm/session/sessionStoreOperations.js.map +1 -0
  45. package/package.json +2 -2
  46. package/src/browser/cookie.js +23 -11
  47. package/src/configuration/configuration.js +8 -32
  48. package/src/index.js +9 -4
  49. package/src/init.js +0 -19
  50. package/src/session/sessionConstants.js +1 -0
  51. package/src/session/sessionInCookie.js +87 -0
  52. package/src/session/sessionInLocalStorage.js +45 -0
  53. package/src/session/sessionManagement.js +48 -36
  54. package/src/session/sessionState.js +72 -0
  55. package/src/session/sessionStore.js +163 -108
  56. package/src/session/sessionStoreOperations.js +134 -0
  57. package/types/index.d.ts +4 -0
  58. package/cjs/session/sessionCookieStore.js +0 -156
  59. package/cjs/session/sessionCookieStore.js.map +0 -1
  60. package/cjs/synthetics/usr.js +0 -26
  61. package/cjs/synthetics/usr.js.map +0 -1
  62. package/esm/session/sessionCookieStore.js +0 -142
  63. package/esm/session/sessionCookieStore.js.map +0 -1
  64. package/esm/synthetics/usr.js +0 -17
  65. package/esm/synthetics/usr.js.map +0 -1
  66. package/src/session/sessionCookieStore.js +0 -169
  67. package/src/synthetics/usr.js +0 -18
@@ -1 +1 @@
1
- {"version":3,"file":"configuration.js","names":["getCurrentSite","catchUserErrors","display","assign","isPercentage","ONE_SECOND","isNullUndefinedDefaultValue","ONE_KIBI_BYTE","computeTransportConfiguration","DefaultPrivacyLevel","ALLOW","MASK","MASK_USER_INPUT","validateAndBuildConfiguration","initConfiguration","sampleRate","undefined","error","sessionSampleRate","telemetrySampleRate","beforeSend","cookieOptions","buildCookieOptions","service","version","env","telemetryEnabled","silentMultipleInit","batchBytesLimit","eventRateLimiterThreshold","maxTelemetryEventsPerPage","flushTimeout","batchMessagesLimit","messageBytesLimit","resourceUrlLimit","storeContextsToLocal","storeContextsKey","sendContentTypeByJson","validatePostRequestRequireParamsConfiguration","site","datakitOrigin","datakitUrl","clientToken","secure","useSecureSessionCookie","usePartitionedCrossSiteSessionCookie","useCrossSiteSessionCookie","crossSite","partitioned","trackSessionAcrossSubdomains","domain"],"sources":["../../src/configuration/configuration.js"],"sourcesContent":["import { getCurrentSite } from '../browser/cookie'\nimport { catchUserErrors } from '../helper/catchUserErrors'\nimport { display } from '../helper/display'\nimport {\n assign,\n isPercentage,\n ONE_SECOND,\n isNullUndefinedDefaultValue\n} from '../helper/tools'\nimport { ONE_KIBI_BYTE } from '../helper/byteUtils'\nimport { computeTransportConfiguration } from './transportConfiguration'\n\nexport var DefaultPrivacyLevel = {\n ALLOW: 'allow',\n MASK: 'mask',\n MASK_USER_INPUT: 'mask-user-input'\n}\nexport function validateAndBuildConfiguration(initConfiguration) {\n if (\n initConfiguration.sampleRate !== undefined &&\n !isPercentage(initConfiguration.sampleRate)\n ) {\n display.error('Sample Rate should be a number between 0 and 100')\n return\n }\n if (\n initConfiguration.sessionSampleRate !== undefined &&\n !isPercentage(initConfiguration.sessionSampleRate)\n ) {\n display.error('Sample Rate should be a number between 0 and 100')\n return\n }\n if (\n initConfiguration.telemetrySampleRate !== undefined &&\n !isPercentage(initConfiguration.telemetrySampleRate)\n ) {\n display.error('Telemetry Sample Rate should be a number between 0 and 100')\n return\n }\n var sessionSampleRate =\n initConfiguration.sessionSampleRate || initConfiguration.sampleRate\n return assign(\n {\n beforeSend:\n initConfiguration.beforeSend &&\n catchUserErrors(\n initConfiguration.beforeSend,\n 'beforeSend threw an error:'\n ),\n cookieOptions: buildCookieOptions(initConfiguration),\n sessionSampleRate: isNullUndefinedDefaultValue(sessionSampleRate, 100),\n service: initConfiguration.service,\n version: initConfiguration.version,\n env: initConfiguration.env,\n telemetrySampleRate: isNullUndefinedDefaultValue(\n initConfiguration.telemetrySampleRate,\n 100\n ),\n telemetryEnabled: isNullUndefinedDefaultValue(\n initConfiguration.telemetryEnabled,\n false\n ),\n silentMultipleInit: !!initConfiguration.silentMultipleInit,\n\n /**\n * beacon payload max queue size implementation is 64kb\n * ensure that we leave room for logs, rum and potential other users\n */\n batchBytesLimit: 16 * ONE_KIBI_BYTE,\n\n eventRateLimiterThreshold: 3000,\n maxTelemetryEventsPerPage: 15,\n\n /**\n * flush automatically, aim to be lower than ALB connection timeout\n * to maximize connection reuse.\n */\n flushTimeout: 30 * ONE_SECOND,\n\n /**\n * Logs intake limit\n */\n batchMessagesLimit: 50,\n messageBytesLimit: 256 * ONE_KIBI_BYTE,\n resourceUrlLimit: 5 * ONE_KIBI_BYTE,\n storeContextsToLocal: !!initConfiguration.storeContextsToLocal,\n // 存储到localstorage key ,默认不填,自动生成\n storeContextsKey: initConfiguration.storeContextsKey,\n sendContentTypeByJson: !!initConfiguration.sendContentTypeByJson\n },\n computeTransportConfiguration(initConfiguration)\n )\n}\nexport function validatePostRequestRequireParamsConfiguration(\n initConfiguration\n) {\n if (\n !initConfiguration.site &&\n !initConfiguration.datakitOrigin &&\n !initConfiguration.datakitUrl\n ) {\n display.error(\n 'datakitOrigin or site is not configured, no RUM data will be collected.'\n )\n return false\n }\n // if (!initConfiguration.datakitUrl && !initConfiguration.datakitOrigin) {\n // display.error(\n // 'datakitOrigin is not configured, no RUM data will be collected.'\n // )\n // return false\n // }\n if (initConfiguration.site && !initConfiguration.clientToken) {\n display.error(\n 'clientToken is not configured, no RUM data will be collected.'\n )\n return false\n }\n return true\n}\nexport function buildCookieOptions(initConfiguration) {\n var cookieOptions = {}\n\n // cookieOptions.secure = mustUseSecureCookie(initConfiguration)\n // cookieOptions.crossSite = !!initConfiguration.useCrossSiteSessionCookie\n cookieOptions.secure =\n !!initConfiguration.useSecureSessionCookie ||\n !!initConfiguration.usePartitionedCrossSiteSessionCookie ||\n !!initConfiguration.useCrossSiteSessionCookie\n cookieOptions.crossSite =\n !!initConfiguration.usePartitionedCrossSiteSessionCookie ||\n !!initConfiguration.useCrossSiteSessionCookie\n cookieOptions.partitioned =\n !!initConfiguration.usePartitionedCrossSiteSessionCookie\n if (initConfiguration.trackSessionAcrossSubdomains) {\n cookieOptions.domain = getCurrentSite()\n }\n\n return cookieOptions\n}\n\n// function mustUseSecureCookie(initConfiguration) {\n// return (\n// !!initConfiguration.useSecureSessionCookie ||\n// !!initConfiguration.useCrossSiteSessionCookie\n// )\n// }\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"configuration.js","names":["catchUserErrors","display","assign","isPercentage","ONE_SECOND","isNullUndefinedDefaultValue","ONE_KIBI_BYTE","computeTransportConfiguration","selectSessionStoreStrategyType","DefaultPrivacyLevel","ALLOW","MASK","MASK_USER_INPUT","validateAndBuildConfiguration","initConfiguration","sampleRate","undefined","error","sessionSampleRate","telemetrySampleRate","beforeSend","sessionStoreStrategyType","service","version","env","telemetryEnabled","silentMultipleInit","batchBytesLimit","eventRateLimiterThreshold","maxTelemetryEventsPerPage","flushTimeout","batchMessagesLimit","messageBytesLimit","resourceUrlLimit","storeContextsToLocal","storeContextsKey","sendContentTypeByJson","validatePostRequestRequireParamsConfiguration","site","datakitOrigin","datakitUrl","clientToken"],"sources":["../../src/configuration/configuration.js"],"sourcesContent":["import { catchUserErrors } from '../helper/catchUserErrors'\nimport { display } from '../helper/display'\nimport {\n assign,\n isPercentage,\n ONE_SECOND,\n isNullUndefinedDefaultValue\n} from '../helper/tools'\nimport { ONE_KIBI_BYTE } from '../helper/byteUtils'\nimport { computeTransportConfiguration } from './transportConfiguration'\nimport { selectSessionStoreStrategyType } from '../session/sessionStore'\nexport var DefaultPrivacyLevel = {\n ALLOW: 'allow',\n MASK: 'mask',\n MASK_USER_INPUT: 'mask-user-input'\n}\nexport function validateAndBuildConfiguration(initConfiguration) {\n if (\n initConfiguration.sampleRate !== undefined &&\n !isPercentage(initConfiguration.sampleRate)\n ) {\n display.error('Sample Rate should be a number between 0 and 100')\n return\n }\n if (\n initConfiguration.sessionSampleRate !== undefined &&\n !isPercentage(initConfiguration.sessionSampleRate)\n ) {\n display.error('Sample Rate should be a number between 0 and 100')\n return\n }\n if (\n initConfiguration.telemetrySampleRate !== undefined &&\n !isPercentage(initConfiguration.telemetrySampleRate)\n ) {\n display.error('Telemetry Sample Rate should be a number between 0 and 100')\n return\n }\n\n var sessionSampleRate = isNullUndefinedDefaultValue(\n initConfiguration.sessionSampleRate,\n initConfiguration.sampleRate\n )\n return assign(\n {\n beforeSend:\n initConfiguration.beforeSend &&\n catchUserErrors(\n initConfiguration.beforeSend,\n 'beforeSend threw an error:'\n ),\n sessionStoreStrategyType:\n selectSessionStoreStrategyType(initConfiguration),\n sessionSampleRate: isNullUndefinedDefaultValue(sessionSampleRate, 100),\n service: initConfiguration.service,\n version: initConfiguration.version,\n env: initConfiguration.env,\n telemetrySampleRate: isNullUndefinedDefaultValue(\n initConfiguration.telemetrySampleRate,\n 100\n ),\n telemetryEnabled: isNullUndefinedDefaultValue(\n initConfiguration.telemetryEnabled,\n false\n ),\n silentMultipleInit: !!initConfiguration.silentMultipleInit,\n\n /**\n * beacon payload max queue size implementation is 64kb\n * ensure that we leave room for logs, rum and potential other users\n */\n batchBytesLimit: 16 * ONE_KIBI_BYTE,\n\n eventRateLimiterThreshold: 3000,\n maxTelemetryEventsPerPage: 15,\n\n /**\n * flush automatically, aim to be lower than ALB connection timeout\n * to maximize connection reuse.\n */\n flushTimeout: 30 * ONE_SECOND,\n\n /**\n * Logs intake limit\n */\n batchMessagesLimit: 50,\n messageBytesLimit: 256 * ONE_KIBI_BYTE,\n resourceUrlLimit: 5 * ONE_KIBI_BYTE,\n storeContextsToLocal: !!initConfiguration.storeContextsToLocal,\n // 存储到localstorage key ,默认不填,自动生成\n storeContextsKey: initConfiguration.storeContextsKey,\n sendContentTypeByJson: !!initConfiguration.sendContentTypeByJson\n },\n computeTransportConfiguration(initConfiguration)\n )\n}\nexport function validatePostRequestRequireParamsConfiguration(\n initConfiguration\n) {\n if (\n !initConfiguration.site &&\n !initConfiguration.datakitOrigin &&\n !initConfiguration.datakitUrl\n ) {\n display.error(\n 'datakitOrigin or site is not configured, no RUM data will be collected.'\n )\n return false\n }\n // if (!initConfiguration.datakitUrl && !initConfiguration.datakitOrigin) {\n // display.error(\n // 'datakitOrigin is not configured, no RUM data will be collected.'\n // )\n // return false\n // }\n if (initConfiguration.site && !initConfiguration.clientToken) {\n display.error(\n 'clientToken is not configured, no RUM data will be collected.'\n )\n return false\n }\n return true\n}\n"],"mappings":"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","ignoreList":[]}
package/esm/index.js CHANGED
@@ -37,10 +37,9 @@ export * from './browser/runOnReadyState';
37
37
  export * from './browser/scroll';
38
38
  export * from './dataMap';
39
39
  export * from './init';
40
- export * from './session/sessionManagement';
41
- export * from './session/sessionConstants';
42
- export * from './session/sessionCookieStore';
43
- export * from './session/sessionStore';
40
+ export { startSessionManager, stopSessionManager } from './session/sessionManagement';
41
+ export { SESSION_TIME_OUT_DELAY, SESSION_STORE_KEY } from './session/sessionConstants';
42
+ export { STORAGE_POLL_DELAY } from './session/sessionStore';
44
43
  export * from './transport';
45
44
  export * from './synthetics/syntheticsWorkerValues';
46
45
  export * from './helper/serialisation/contextManager';
package/esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../src/index.js"],"sourcesContent":["export * from './helper/boundedBuffer'\nexport * from './helper/valueHistory'\nexport * from './helper/deviceInfo'\nexport * from './helper/enums'\nexport * from './helper/instrumentMethod'\nexport * from './helper/errorTools'\nexport * from './helper/byteUtils'\nexport * from './error/trackRuntimeError'\nexport * from './console/consoleObservable'\nexport * from './report/reportObservable'\nexport * from './helper/display'\nexport * from './helper/monitor'\nexport * from './helper/sanitize'\nexport * from './helper/eventEmitter'\nexport * from './helper/lifeCycle'\nexport * from './helper/limitModification'\nexport * from './helper/createEventRateLimiter'\nexport * from './helper/observable'\nexport * from './helper/tools'\nexport * from './helper/urlPolyfill'\nexport * from './helper/mobileUtil'\nexport * from './helper/getZoneJsOriginalValue'\nexport * from './helper/timer'\nexport * from './helper/readBytesFromStream'\nexport * from './helper/requestIdleCallback'\nexport * from './helper/taskQueue'\nexport * from './tracekit'\nexport * from './configuration/configuration'\nexport * from './configuration/transportConfiguration'\nexport * from './browser/cookie'\nexport * from './browser/fetchObservable'\nexport * from './browser/xhrObservable'\nexport * from './browser/pageExitObservable'\nexport * from './browser/htmlDomUtils'\nexport * from './browser/addEventListener'\nexport * from './browser/runOnReadyState'\nexport * from './browser/scroll'\n\nexport * from './dataMap'\nexport * from './init'\nexport * from './session/sessionManagement'\nexport * from './session/sessionConstants'\nexport * from './session/sessionCookieStore'\nexport * from './session/sessionStore'\nexport * from './transport'\nexport * from './synthetics/syntheticsWorkerValues'\n\nexport * from './helper/serialisation/contextManager'\nexport * from './helper/serialisation/heavyCustomerDataWarning'\nexport * from './helper/serialisation/jsonStringify'\nexport * from './helper/serialisation/rowData'\nexport * from './helper/serialisation/storedContextManager'\nexport * from './helper/encoder'\nexport * from './user'\nexport * from './helper/polyfills'\nexport * from './telemetry/telemetry'\nexport * from './helper/catchUserErrors'\nexport * from './helper/connectivity'\nexport * from './helper/displayAlreadyInitializedError'\n"],"mappings":"AAAA,cAAc,wBAAwB;AACtC,cAAc,uBAAuB;AACrC,cAAc,qBAAqB;AACnC,cAAc,gBAAgB;AAC9B,cAAc,2BAA2B;AACzC,cAAc,qBAAqB;AACnC,cAAc,oBAAoB;AAClC,cAAc,2BAA2B;AACzC,cAAc,6BAA6B;AAC3C,cAAc,2BAA2B;AACzC,cAAc,kBAAkB;AAChC,cAAc,kBAAkB;AAChC,cAAc,mBAAmB;AACjC,cAAc,uBAAuB;AACrC,cAAc,oBAAoB;AAClC,cAAc,4BAA4B;AAC1C,cAAc,iCAAiC;AAC/C,cAAc,qBAAqB;AACnC,cAAc,gBAAgB;AAC9B,cAAc,sBAAsB;AACpC,cAAc,qBAAqB;AACnC,cAAc,iCAAiC;AAC/C,cAAc,gBAAgB;AAC9B,cAAc,8BAA8B;AAC5C,cAAc,8BAA8B;AAC5C,cAAc,oBAAoB;AAClC,cAAc,YAAY;AAC1B,cAAc,+BAA+B;AAC7C,cAAc,wCAAwC;AACtD,cAAc,kBAAkB;AAChC,cAAc,2BAA2B;AACzC,cAAc,yBAAyB;AACvC,cAAc,8BAA8B;AAC5C,cAAc,wBAAwB;AACtC,cAAc,4BAA4B;AAC1C,cAAc,2BAA2B;AACzC,cAAc,kBAAkB;AAEhC,cAAc,WAAW;AACzB,cAAc,QAAQ;AACtB,cAAc,6BAA6B;AAC3C,cAAc,4BAA4B;AAC1C,cAAc,8BAA8B;AAC5C,cAAc,wBAAwB;AACtC,cAAc,aAAa;AAC3B,cAAc,qCAAqC;AAEnD,cAAc,uCAAuC;AACrD,cAAc,iDAAiD;AAC/D,cAAc,sCAAsC;AACpD,cAAc,gCAAgC;AAC9C,cAAc,6CAA6C;AAC3D,cAAc,kBAAkB;AAChC,cAAc,QAAQ;AACtB,cAAc,oBAAoB;AAClC,cAAc,uBAAuB;AACrC,cAAc,0BAA0B;AACxC,cAAc,uBAAuB;AACrC,cAAc,yCAAyC","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["startSessionManager","stopSessionManager","SESSION_TIME_OUT_DELAY","SESSION_STORE_KEY","STORAGE_POLL_DELAY"],"sources":["../src/index.js"],"sourcesContent":["export * from './helper/boundedBuffer'\nexport * from './helper/valueHistory'\nexport * from './helper/deviceInfo'\nexport * from './helper/enums'\nexport * from './helper/instrumentMethod'\nexport * from './helper/errorTools'\nexport * from './helper/byteUtils'\nexport * from './error/trackRuntimeError'\nexport * from './console/consoleObservable'\nexport * from './report/reportObservable'\nexport * from './helper/display'\nexport * from './helper/monitor'\nexport * from './helper/sanitize'\nexport * from './helper/eventEmitter'\nexport * from './helper/lifeCycle'\nexport * from './helper/limitModification'\nexport * from './helper/createEventRateLimiter'\nexport * from './helper/observable'\nexport * from './helper/tools'\nexport * from './helper/urlPolyfill'\nexport * from './helper/mobileUtil'\nexport * from './helper/getZoneJsOriginalValue'\nexport * from './helper/timer'\nexport * from './helper/readBytesFromStream'\nexport * from './helper/requestIdleCallback'\nexport * from './helper/taskQueue'\nexport * from './tracekit'\nexport * from './configuration/configuration'\nexport * from './configuration/transportConfiguration'\nexport * from './browser/cookie'\nexport * from './browser/fetchObservable'\nexport * from './browser/xhrObservable'\nexport * from './browser/pageExitObservable'\nexport * from './browser/htmlDomUtils'\nexport * from './browser/addEventListener'\nexport * from './browser/runOnReadyState'\nexport * from './browser/scroll'\n\nexport * from './dataMap'\nexport * from './init'\nexport {\n startSessionManager,\n stopSessionManager\n} from './session/sessionManagement'\nexport {\n SESSION_TIME_OUT_DELAY,\n SESSION_STORE_KEY\n} from './session/sessionConstants'\nexport { STORAGE_POLL_DELAY } from './session/sessionStore'\nexport * from './transport'\nexport * from './synthetics/syntheticsWorkerValues'\n\nexport * from './helper/serialisation/contextManager'\nexport * from './helper/serialisation/heavyCustomerDataWarning'\nexport * from './helper/serialisation/jsonStringify'\nexport * from './helper/serialisation/rowData'\nexport * from './helper/serialisation/storedContextManager'\nexport * from './helper/encoder'\nexport * from './user'\nexport * from './helper/polyfills'\nexport * from './telemetry/telemetry'\nexport * from './helper/catchUserErrors'\nexport * from './helper/connectivity'\nexport * from './helper/displayAlreadyInitializedError'\n"],"mappings":"AAAA,cAAc,wBAAwB;AACtC,cAAc,uBAAuB;AACrC,cAAc,qBAAqB;AACnC,cAAc,gBAAgB;AAC9B,cAAc,2BAA2B;AACzC,cAAc,qBAAqB;AACnC,cAAc,oBAAoB;AAClC,cAAc,2BAA2B;AACzC,cAAc,6BAA6B;AAC3C,cAAc,2BAA2B;AACzC,cAAc,kBAAkB;AAChC,cAAc,kBAAkB;AAChC,cAAc,mBAAmB;AACjC,cAAc,uBAAuB;AACrC,cAAc,oBAAoB;AAClC,cAAc,4BAA4B;AAC1C,cAAc,iCAAiC;AAC/C,cAAc,qBAAqB;AACnC,cAAc,gBAAgB;AAC9B,cAAc,sBAAsB;AACpC,cAAc,qBAAqB;AACnC,cAAc,iCAAiC;AAC/C,cAAc,gBAAgB;AAC9B,cAAc,8BAA8B;AAC5C,cAAc,8BAA8B;AAC5C,cAAc,oBAAoB;AAClC,cAAc,YAAY;AAC1B,cAAc,+BAA+B;AAC7C,cAAc,wCAAwC;AACtD,cAAc,kBAAkB;AAChC,cAAc,2BAA2B;AACzC,cAAc,yBAAyB;AACvC,cAAc,8BAA8B;AAC5C,cAAc,wBAAwB;AACtC,cAAc,4BAA4B;AAC1C,cAAc,2BAA2B;AACzC,cAAc,kBAAkB;AAEhC,cAAc,WAAW;AACzB,cAAc,QAAQ;AACtB,SACEA,mBAAmB,EACnBC,kBAAkB,QACb,6BAA6B;AACpC,SACEC,sBAAsB,EACtBC,iBAAiB,QACZ,4BAA4B;AACnC,SAASC,kBAAkB,QAAQ,wBAAwB;AAC3D,cAAc,aAAa;AAC3B,cAAc,qCAAqC;AAEnD,cAAc,uCAAuC;AACrD,cAAc,iDAAiD;AAC/D,cAAc,sCAAsC;AACpD,cAAc,gCAAgC;AAC9C,cAAc,6CAA6C;AAC3D,cAAc,kBAAkB;AAChC,cAAc,QAAQ;AACtB,cAAc,oBAAoB;AAClC,cAAc,uBAAuB;AACrC,cAAc,0BAA0B;AACxC,cAAc,uBAAuB;AACrC,cAAc,yCAAyC","ignoreList":[]}
package/esm/init.js CHANGED
@@ -55,23 +55,4 @@ export function getGlobalObject() {
55
55
  }
56
56
  return globalObject;
57
57
  }
58
- // export function checkCookiesAuthorized(options) {
59
- // if (!areCookiesAuthorized(options)) {
60
- // console.warn('Cookies are not authorized, we will not send any data.')
61
- // return false
62
- // }
63
- // return true
64
- // }
65
-
66
- // export function checkIsNotLocalFile() {
67
- // if (isLocalFile()) {
68
- // console.error('Execution is not allowed in the current context.')
69
- // return false
70
- // }
71
- // return true
72
- // }
73
-
74
- // function isLocalFile() {
75
- // return window.location.protocol === 'file:'
76
- // }
77
58
  //# sourceMappingURL=init.js.map
package/esm/init.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","names":["each","assign","setDebugMode","catchUserErrors","makePublicApi","stub","publicApi","onReady","callback","Object","defineProperty","get","enumerable","defineGlobal","global","name","api","existingGlobalVariable","q","fn","getGlobalObject","globalThis","_typeof","prototype","configurable","globalObject","_gc_temp_","self","window"],"sources":["../src/init.js"],"sourcesContent":["import { each, assign } from './helper/tools'\nimport { setDebugMode } from './helper/monitor'\nimport { catchUserErrors } from './helper/catchUserErrors'\n\nexport function makePublicApi(stub) {\n var publicApi = assign(\n {\n onReady: function (callback) {\n callback()\n }\n },\n stub\n )\n\n // Add an \"hidden\" property to set debug mode. We define it that way to hide it\n // as much as possible but of course it's not a real protection.\n Object.defineProperty(publicApi, '_setDebug', {\n get: function () {\n return setDebugMode\n },\n enumerable: false\n })\n\n return publicApi\n}\nexport function defineGlobal(global, name, api) {\n var existingGlobalVariable = global[name]\n global[name] = api\n if (existingGlobalVariable && existingGlobalVariable.q) {\n each(existingGlobalVariable.q, function (fn) {\n catchUserErrors(fn, 'onReady callback threw an error:')()\n })\n }\n}\n\nexport function getGlobalObject() {\n if (typeof globalThis === 'object') {\n return globalThis\n }\n Object.defineProperty(Object.prototype, '_gc_temp_', {\n get: function () {\n return this\n },\n configurable: true\n })\n // @ts-ignore\n var globalObject = _gc_temp_\n // @ts-ignore\n delete Object.prototype._gc_temp_\n if (typeof globalObject !== 'object') {\n // on safari _gc_temp_ is available on window but not globally\n // fallback on other browser globals check\n if (typeof self === 'object') {\n globalObject = self\n } else if (typeof window === 'object') {\n globalObject = window\n } else {\n globalObject = {}\n }\n }\n return globalObject\n}\n// export function checkCookiesAuthorized(options) {\n// if (!areCookiesAuthorized(options)) {\n// console.warn('Cookies are not authorized, we will not send any data.')\n// return false\n// }\n// return true\n// }\n\n// export function checkIsNotLocalFile() {\n// if (isLocalFile()) {\n// console.error('Execution is not allowed in the current context.')\n// return false\n// }\n// return true\n// }\n\n// function isLocalFile() {\n// return window.location.protocol === 'file:'\n// }\n"],"mappings":";AAAA,SAASA,IAAI,EAAEC,MAAM,QAAQ,gBAAgB;AAC7C,SAASC,YAAY,QAAQ,kBAAkB;AAC/C,SAASC,eAAe,QAAQ,0BAA0B;AAE1D,OAAO,SAASC,aAAaA,CAACC,IAAI,EAAE;EAClC,IAAIC,SAAS,GAAGL,MAAM,CACpB;IACEM,OAAO,EAAE,SAAAA,QAAUC,QAAQ,EAAE;MAC3BA,QAAQ,CAAC,CAAC;IACZ;EACF,CAAC,EACDH,IACF,CAAC;;EAED;EACA;EACAI,MAAM,CAACC,cAAc,CAACJ,SAAS,EAAE,WAAW,EAAE;IAC5CK,GAAG,EAAE,SAAAA,IAAA,EAAY;MACf,OAAOT,YAAY;IACrB,CAAC;IACDU,UAAU,EAAE;EACd,CAAC,CAAC;EAEF,OAAON,SAAS;AAClB;AACA,OAAO,SAASO,YAAYA,CAACC,MAAM,EAAEC,IAAI,EAAEC,GAAG,EAAE;EAC9C,IAAIC,sBAAsB,GAAGH,MAAM,CAACC,IAAI,CAAC;EACzCD,MAAM,CAACC,IAAI,CAAC,GAAGC,GAAG;EAClB,IAAIC,sBAAsB,IAAIA,sBAAsB,CAACC,CAAC,EAAE;IACtDlB,IAAI,CAACiB,sBAAsB,CAACC,CAAC,EAAE,UAAUC,EAAE,EAAE;MAC3ChB,eAAe,CAACgB,EAAE,EAAE,kCAAkC,CAAC,CAAC,CAAC;IAC3D,CAAC,CAAC;EACJ;AACF;AAEA,OAAO,SAASC,eAAeA,CAAA,EAAG;EAChC,IAAI,QAAOC,UAAU,iCAAAC,OAAA,CAAVD,UAAU,OAAK,QAAQ,EAAE;IAClC,OAAOA,UAAU;EACnB;EACAZ,MAAM,CAACC,cAAc,CAACD,MAAM,CAACc,SAAS,EAAE,WAAW,EAAE;IACnDZ,GAAG,EAAE,SAAAA,IAAA,EAAY;MACf,OAAO,IAAI;IACb,CAAC;IACDa,YAAY,EAAE;EAChB,CAAC,CAAC;EACF;EACA,IAAIC,YAAY,GAAGC,SAAS;EAC5B;EACA,OAAOjB,MAAM,CAACc,SAAS,CAACG,SAAS;EACjC,IAAIJ,OAAA,CAAOG,YAAY,MAAK,QAAQ,EAAE;IACpC;IACA;IACA,IAAI,QAAOE,IAAI,iCAAAL,OAAA,CAAJK,IAAI,OAAK,QAAQ,EAAE;MAC5BF,YAAY,GAAGE,IAAI;IACrB,CAAC,MAAM,IAAI,QAAOC,MAAM,iCAAAN,OAAA,CAANM,MAAM,OAAK,QAAQ,EAAE;MACrCH,YAAY,GAAGG,MAAM;IACvB,CAAC,MAAM;MACLH,YAAY,GAAG,CAAC,CAAC;IACnB;EACF;EACA,OAAOA,YAAY;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA","ignoreList":[]}
1
+ {"version":3,"file":"init.js","names":["each","assign","setDebugMode","catchUserErrors","makePublicApi","stub","publicApi","onReady","callback","Object","defineProperty","get","enumerable","defineGlobal","global","name","api","existingGlobalVariable","q","fn","getGlobalObject","globalThis","_typeof","prototype","configurable","globalObject","_gc_temp_","self","window"],"sources":["../src/init.js"],"sourcesContent":["import { each, assign } from './helper/tools'\nimport { setDebugMode } from './helper/monitor'\nimport { catchUserErrors } from './helper/catchUserErrors'\n\nexport function makePublicApi(stub) {\n var publicApi = assign(\n {\n onReady: function (callback) {\n callback()\n }\n },\n stub\n )\n\n // Add an \"hidden\" property to set debug mode. We define it that way to hide it\n // as much as possible but of course it's not a real protection.\n Object.defineProperty(publicApi, '_setDebug', {\n get: function () {\n return setDebugMode\n },\n enumerable: false\n })\n\n return publicApi\n}\nexport function defineGlobal(global, name, api) {\n var existingGlobalVariable = global[name]\n global[name] = api\n if (existingGlobalVariable && existingGlobalVariable.q) {\n each(existingGlobalVariable.q, function (fn) {\n catchUserErrors(fn, 'onReady callback threw an error:')()\n })\n }\n}\n\nexport function getGlobalObject() {\n if (typeof globalThis === 'object') {\n return globalThis\n }\n Object.defineProperty(Object.prototype, '_gc_temp_', {\n get: function () {\n return this\n },\n configurable: true\n })\n // @ts-ignore\n var globalObject = _gc_temp_\n // @ts-ignore\n delete Object.prototype._gc_temp_\n if (typeof globalObject !== 'object') {\n // on safari _gc_temp_ is available on window but not globally\n // fallback on other browser globals check\n if (typeof self === 'object') {\n globalObject = self\n } else if (typeof window === 'object') {\n globalObject = window\n } else {\n globalObject = {}\n }\n }\n return globalObject\n}\n"],"mappings":";AAAA,SAASA,IAAI,EAAEC,MAAM,QAAQ,gBAAgB;AAC7C,SAASC,YAAY,QAAQ,kBAAkB;AAC/C,SAASC,eAAe,QAAQ,0BAA0B;AAE1D,OAAO,SAASC,aAAaA,CAACC,IAAI,EAAE;EAClC,IAAIC,SAAS,GAAGL,MAAM,CACpB;IACEM,OAAO,EAAE,SAAAA,QAAUC,QAAQ,EAAE;MAC3BA,QAAQ,CAAC,CAAC;IACZ;EACF,CAAC,EACDH,IACF,CAAC;;EAED;EACA;EACAI,MAAM,CAACC,cAAc,CAACJ,SAAS,EAAE,WAAW,EAAE;IAC5CK,GAAG,EAAE,SAAAA,IAAA,EAAY;MACf,OAAOT,YAAY;IACrB,CAAC;IACDU,UAAU,EAAE;EACd,CAAC,CAAC;EAEF,OAAON,SAAS;AAClB;AACA,OAAO,SAASO,YAAYA,CAACC,MAAM,EAAEC,IAAI,EAAEC,GAAG,EAAE;EAC9C,IAAIC,sBAAsB,GAAGH,MAAM,CAACC,IAAI,CAAC;EACzCD,MAAM,CAACC,IAAI,CAAC,GAAGC,GAAG;EAClB,IAAIC,sBAAsB,IAAIA,sBAAsB,CAACC,CAAC,EAAE;IACtDlB,IAAI,CAACiB,sBAAsB,CAACC,CAAC,EAAE,UAAUC,EAAE,EAAE;MAC3ChB,eAAe,CAACgB,EAAE,EAAE,kCAAkC,CAAC,CAAC,CAAC;IAC3D,CAAC,CAAC;EACJ;AACF;AAEA,OAAO,SAASC,eAAeA,CAAA,EAAG;EAChC,IAAI,QAAOC,UAAU,iCAAAC,OAAA,CAAVD,UAAU,OAAK,QAAQ,EAAE;IAClC,OAAOA,UAAU;EACnB;EACAZ,MAAM,CAACC,cAAc,CAACD,MAAM,CAACc,SAAS,EAAE,WAAW,EAAE;IACnDZ,GAAG,EAAE,SAAAA,IAAA,EAAY;MACf,OAAO,IAAI;IACb,CAAC;IACDa,YAAY,EAAE;EAChB,CAAC,CAAC;EACF;EACA,IAAIC,YAAY,GAAGC,SAAS;EAC5B;EACA,OAAOjB,MAAM,CAACc,SAAS,CAACG,SAAS;EACjC,IAAIJ,OAAA,CAAOG,YAAY,MAAK,QAAQ,EAAE;IACpC;IACA;IACA,IAAI,QAAOE,IAAI,iCAAAL,OAAA,CAAJK,IAAI,OAAK,QAAQ,EAAE;MAC5BF,YAAY,GAAGE,IAAI;IACrB,CAAC,MAAM,IAAI,QAAOC,MAAM,iCAAAN,OAAA,CAANM,MAAM,OAAK,QAAQ,EAAE;MACrCH,YAAY,GAAGG,MAAM;IACvB,CAAC,MAAM;MACLH,YAAY,GAAG,CAAC,CAAC;IACnB;EACF;EACA,OAAOA,YAAY;AACrB","ignoreList":[]}
@@ -1,4 +1,5 @@
1
1
  import { ONE_HOUR, ONE_MINUTE } from '../helper/tools';
2
2
  export var SESSION_TIME_OUT_DELAY = 4 * ONE_HOUR;
3
3
  export var SESSION_EXPIRATION_DELAY = 15 * ONE_MINUTE;
4
+ export var SESSION_STORE_KEY = '_gc_s';
4
5
  //# sourceMappingURL=sessionConstants.js.map
@@ -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","ignoreList":[]}
1
+ {"version":3,"file":"sessionConstants.js","names":["ONE_HOUR","ONE_MINUTE","SESSION_TIME_OUT_DELAY","SESSION_EXPIRATION_DELAY","SESSION_STORE_KEY"],"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\nexport var SESSION_STORE_KEY = '_gc_s'\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;AACrD,OAAO,IAAIG,iBAAiB,GAAG,OAAO","ignoreList":[]}
@@ -0,0 +1,51 @@
1
+ import { isChromium } from '../helper/tools';
2
+ import { getCurrentSite, areCookiesAuthorized, getCookie, setCookie } from '../browser/cookie';
3
+ import { SESSION_EXPIRATION_DELAY, SESSION_TIME_OUT_DELAY, SESSION_STORE_KEY } from './sessionConstants';
4
+ import { toSessionString, toSessionState, getExpiredSessionState } from './sessionState';
5
+ export function selectCookieStrategy(initConfiguration) {
6
+ var cookieOptions = buildCookieOptions(initConfiguration);
7
+ return areCookiesAuthorized(cookieOptions) ? {
8
+ type: 'Cookie',
9
+ cookieOptions: cookieOptions
10
+ } : undefined;
11
+ }
12
+ export function initCookieStrategy(cookieOptions) {
13
+ var cookieStore = {
14
+ /**
15
+ * Lock strategy allows mitigating issues due to concurrent access to cookie.
16
+ * This issue concerns only chromium browsers and enabling this on firefox increases cookie write failures.
17
+ */
18
+ isLockEnabled: isChromium(),
19
+ persistSession: persistSessionCookie(cookieOptions),
20
+ retrieveSession: retrieveSessionCookie(cookieOptions),
21
+ expireSession: function expireSession() {
22
+ return expireSessionCookie(cookieOptions);
23
+ }
24
+ };
25
+ return cookieStore;
26
+ }
27
+ function persistSessionCookie(options) {
28
+ return function (session) {
29
+ setCookie(SESSION_STORE_KEY, toSessionString(session), SESSION_EXPIRATION_DELAY, options);
30
+ };
31
+ }
32
+ function expireSessionCookie(options) {
33
+ setCookie(SESSION_STORE_KEY, toSessionString(getExpiredSessionState()), SESSION_TIME_OUT_DELAY, options);
34
+ }
35
+ function retrieveSessionCookie(options) {
36
+ return function () {
37
+ var sessionString = getCookie(SESSION_STORE_KEY, options);
38
+ return toSessionState(sessionString);
39
+ };
40
+ }
41
+ export function buildCookieOptions(initConfiguration) {
42
+ var cookieOptions = {};
43
+ cookieOptions.secure = !!initConfiguration.useSecureSessionCookie || !!initConfiguration.usePartitionedCrossSiteSessionCookie || !!initConfiguration.useCrossSiteSessionCookie;
44
+ cookieOptions.crossSite = !!initConfiguration.usePartitionedCrossSiteSessionCookie || !!initConfiguration.useCrossSiteSessionCookie;
45
+ cookieOptions.partitioned = !!initConfiguration.usePartitionedCrossSiteSessionCookie;
46
+ if (initConfiguration.trackSessionAcrossSubdomains) {
47
+ cookieOptions.domain = getCurrentSite();
48
+ }
49
+ return cookieOptions;
50
+ }
51
+ //# sourceMappingURL=sessionInCookie.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionInCookie.js","names":["isChromium","getCurrentSite","areCookiesAuthorized","getCookie","setCookie","SESSION_EXPIRATION_DELAY","SESSION_TIME_OUT_DELAY","SESSION_STORE_KEY","toSessionString","toSessionState","getExpiredSessionState","selectCookieStrategy","initConfiguration","cookieOptions","buildCookieOptions","type","undefined","initCookieStrategy","cookieStore","isLockEnabled","persistSession","persistSessionCookie","retrieveSession","retrieveSessionCookie","expireSession","expireSessionCookie","options","session","sessionString","secure","useSecureSessionCookie","usePartitionedCrossSiteSessionCookie","useCrossSiteSessionCookie","crossSite","partitioned","trackSessionAcrossSubdomains","domain"],"sources":["../../src/session/sessionInCookie.js"],"sourcesContent":["import { isChromium } from '../helper/tools'\nimport {\n getCurrentSite,\n areCookiesAuthorized,\n getCookie,\n setCookie\n} from '../browser/cookie'\nimport {\n SESSION_EXPIRATION_DELAY,\n SESSION_TIME_OUT_DELAY,\n SESSION_STORE_KEY\n} from './sessionConstants'\nimport {\n toSessionString,\n toSessionState,\n getExpiredSessionState\n} from './sessionState'\n\nexport function selectCookieStrategy(initConfiguration) {\n const cookieOptions = buildCookieOptions(initConfiguration)\n return areCookiesAuthorized(cookieOptions)\n ? { type: 'Cookie', cookieOptions }\n : undefined\n}\n\nexport function initCookieStrategy(cookieOptions) {\n const cookieStore = {\n /**\n * Lock strategy allows mitigating issues due to concurrent access to cookie.\n * This issue concerns only chromium browsers and enabling this on firefox increases cookie write failures.\n */\n isLockEnabled: isChromium(),\n persistSession: persistSessionCookie(cookieOptions),\n retrieveSession: retrieveSessionCookie(cookieOptions),\n expireSession: function () {\n return expireSessionCookie(cookieOptions)\n }\n }\n return cookieStore\n}\n\nfunction persistSessionCookie(options) {\n return function (session) {\n setCookie(\n SESSION_STORE_KEY,\n toSessionString(session),\n SESSION_EXPIRATION_DELAY,\n options\n )\n }\n}\n\nfunction expireSessionCookie(options) {\n setCookie(\n SESSION_STORE_KEY,\n toSessionString(getExpiredSessionState()),\n SESSION_TIME_OUT_DELAY,\n options\n )\n}\n\nfunction retrieveSessionCookie(options) {\n return function () {\n var sessionString = getCookie(SESSION_STORE_KEY, options)\n return toSessionState(sessionString)\n }\n}\n\nexport function buildCookieOptions(initConfiguration) {\n const cookieOptions = {}\n\n cookieOptions.secure =\n !!initConfiguration.useSecureSessionCookie ||\n !!initConfiguration.usePartitionedCrossSiteSessionCookie ||\n !!initConfiguration.useCrossSiteSessionCookie\n cookieOptions.crossSite =\n !!initConfiguration.usePartitionedCrossSiteSessionCookie ||\n !!initConfiguration.useCrossSiteSessionCookie\n cookieOptions.partitioned =\n !!initConfiguration.usePartitionedCrossSiteSessionCookie\n\n if (initConfiguration.trackSessionAcrossSubdomains) {\n cookieOptions.domain = getCurrentSite()\n }\n\n return cookieOptions\n}\n"],"mappings":"AAAA,SAASA,UAAU,QAAQ,iBAAiB;AAC5C,SACEC,cAAc,EACdC,oBAAoB,EACpBC,SAAS,EACTC,SAAS,QACJ,mBAAmB;AAC1B,SACEC,wBAAwB,EACxBC,sBAAsB,EACtBC,iBAAiB,QACZ,oBAAoB;AAC3B,SACEC,eAAe,EACfC,cAAc,EACdC,sBAAsB,QACjB,gBAAgB;AAEvB,OAAO,SAASC,oBAAoBA,CAACC,iBAAiB,EAAE;EACtD,IAAMC,aAAa,GAAGC,kBAAkB,CAACF,iBAAiB,CAAC;EAC3D,OAAOV,oBAAoB,CAACW,aAAa,CAAC,GACtC;IAAEE,IAAI,EAAE,QAAQ;IAAEF,aAAa,EAAbA;EAAc,CAAC,GACjCG,SAAS;AACf;AAEA,OAAO,SAASC,kBAAkBA,CAACJ,aAAa,EAAE;EAChD,IAAMK,WAAW,GAAG;IAClB;AACJ;AACA;AACA;IACIC,aAAa,EAAEnB,UAAU,CAAC,CAAC;IAC3BoB,cAAc,EAAEC,oBAAoB,CAACR,aAAa,CAAC;IACnDS,eAAe,EAAEC,qBAAqB,CAACV,aAAa,CAAC;IACrDW,aAAa,EAAE,SAAAA,cAAA,EAAY;MACzB,OAAOC,mBAAmB,CAACZ,aAAa,CAAC;IAC3C;EACF,CAAC;EACD,OAAOK,WAAW;AACpB;AAEA,SAASG,oBAAoBA,CAACK,OAAO,EAAE;EACrC,OAAO,UAAUC,OAAO,EAAE;IACxBvB,SAAS,CACPG,iBAAiB,EACjBC,eAAe,CAACmB,OAAO,CAAC,EACxBtB,wBAAwB,EACxBqB,OACF,CAAC;EACH,CAAC;AACH;AAEA,SAASD,mBAAmBA,CAACC,OAAO,EAAE;EACpCtB,SAAS,CACPG,iBAAiB,EACjBC,eAAe,CAACE,sBAAsB,CAAC,CAAC,CAAC,EACzCJ,sBAAsB,EACtBoB,OACF,CAAC;AACH;AAEA,SAASH,qBAAqBA,CAACG,OAAO,EAAE;EACtC,OAAO,YAAY;IACjB,IAAIE,aAAa,GAAGzB,SAAS,CAACI,iBAAiB,EAAEmB,OAAO,CAAC;IACzD,OAAOjB,cAAc,CAACmB,aAAa,CAAC;EACtC,CAAC;AACH;AAEA,OAAO,SAASd,kBAAkBA,CAACF,iBAAiB,EAAE;EACpD,IAAMC,aAAa,GAAG,CAAC,CAAC;EAExBA,aAAa,CAACgB,MAAM,GAClB,CAAC,CAACjB,iBAAiB,CAACkB,sBAAsB,IAC1C,CAAC,CAAClB,iBAAiB,CAACmB,oCAAoC,IACxD,CAAC,CAACnB,iBAAiB,CAACoB,yBAAyB;EAC/CnB,aAAa,CAACoB,SAAS,GACrB,CAAC,CAACrB,iBAAiB,CAACmB,oCAAoC,IACxD,CAAC,CAACnB,iBAAiB,CAACoB,yBAAyB;EAC/CnB,aAAa,CAACqB,WAAW,GACvB,CAAC,CAACtB,iBAAiB,CAACmB,oCAAoC;EAE1D,IAAInB,iBAAiB,CAACuB,4BAA4B,EAAE;IAClDtB,aAAa,CAACuB,MAAM,GAAGnC,cAAc,CAAC,CAAC;EACzC;EAEA,OAAOY,aAAa;AACtB","ignoreList":[]}
@@ -0,0 +1,37 @@
1
+ import { UUID } from '../helper/tools';
2
+ import { toSessionString, toSessionState, getExpiredSessionState } from './sessionState';
3
+ import { SESSION_STORE_KEY } from './sessionConstants';
4
+ var LOCAL_STORAGE_TEST_KEY = '_gc_test_';
5
+ export function selectLocalStorageStrategy() {
6
+ try {
7
+ var id = UUID();
8
+ var testKey = "".concat(LOCAL_STORAGE_TEST_KEY).concat(id);
9
+ localStorage.setItem(testKey, id);
10
+ var retrievedId = localStorage.getItem(testKey);
11
+ localStorage.removeItem(testKey);
12
+ return id === retrievedId ? {
13
+ type: 'LocalStorage'
14
+ } : undefined;
15
+ } catch (e) {
16
+ return undefined;
17
+ }
18
+ }
19
+ export function initLocalStorageStrategy() {
20
+ return {
21
+ isLockEnabled: false,
22
+ persistSession: persistInLocalStorage,
23
+ retrieveSession: retrieveSessionFromLocalStorage,
24
+ expireSession: expireSessionFromLocalStorage
25
+ };
26
+ }
27
+ function persistInLocalStorage(sessionState) {
28
+ localStorage.setItem(SESSION_STORE_KEY, toSessionString(sessionState));
29
+ }
30
+ function retrieveSessionFromLocalStorage() {
31
+ var sessionString = localStorage.getItem(SESSION_STORE_KEY);
32
+ return toSessionState(sessionString);
33
+ }
34
+ function expireSessionFromLocalStorage() {
35
+ persistInLocalStorage(getExpiredSessionState());
36
+ }
37
+ //# sourceMappingURL=sessionInLocalStorage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionInLocalStorage.js","names":["UUID","toSessionString","toSessionState","getExpiredSessionState","SESSION_STORE_KEY","LOCAL_STORAGE_TEST_KEY","selectLocalStorageStrategy","id","testKey","concat","localStorage","setItem","retrievedId","getItem","removeItem","type","undefined","e","initLocalStorageStrategy","isLockEnabled","persistSession","persistInLocalStorage","retrieveSession","retrieveSessionFromLocalStorage","expireSession","expireSessionFromLocalStorage","sessionState","sessionString"],"sources":["../../src/session/sessionInLocalStorage.js"],"sourcesContent":["import { UUID } from '../helper/tools'\nimport {\n toSessionString,\n toSessionState,\n getExpiredSessionState\n} from './sessionState'\n\nimport { SESSION_STORE_KEY } from './sessionConstants'\n\nconst LOCAL_STORAGE_TEST_KEY = '_gc_test_'\n\nexport function selectLocalStorageStrategy() {\n try {\n const id = UUID()\n const testKey = `${LOCAL_STORAGE_TEST_KEY}${id}`\n localStorage.setItem(testKey, id)\n const retrievedId = localStorage.getItem(testKey)\n localStorage.removeItem(testKey)\n return id === retrievedId ? { type: 'LocalStorage' } : undefined\n } catch (e) {\n return undefined\n }\n}\n\nexport function initLocalStorageStrategy() {\n return {\n isLockEnabled: false,\n persistSession: persistInLocalStorage,\n retrieveSession: retrieveSessionFromLocalStorage,\n expireSession: expireSessionFromLocalStorage\n }\n}\n\nfunction persistInLocalStorage(sessionState) {\n localStorage.setItem(SESSION_STORE_KEY, toSessionString(sessionState))\n}\n\nfunction retrieveSessionFromLocalStorage() {\n const sessionString = localStorage.getItem(SESSION_STORE_KEY)\n return toSessionState(sessionString)\n}\n\nfunction expireSessionFromLocalStorage() {\n persistInLocalStorage(getExpiredSessionState())\n}\n"],"mappings":"AAAA,SAASA,IAAI,QAAQ,iBAAiB;AACtC,SACEC,eAAe,EACfC,cAAc,EACdC,sBAAsB,QACjB,gBAAgB;AAEvB,SAASC,iBAAiB,QAAQ,oBAAoB;AAEtD,IAAMC,sBAAsB,GAAG,WAAW;AAE1C,OAAO,SAASC,0BAA0BA,CAAA,EAAG;EAC3C,IAAI;IACF,IAAMC,EAAE,GAAGP,IAAI,CAAC,CAAC;IACjB,IAAMQ,OAAO,MAAAC,MAAA,CAAMJ,sBAAsB,EAAAI,MAAA,CAAGF,EAAE,CAAE;IAChDG,YAAY,CAACC,OAAO,CAACH,OAAO,EAAED,EAAE,CAAC;IACjC,IAAMK,WAAW,GAAGF,YAAY,CAACG,OAAO,CAACL,OAAO,CAAC;IACjDE,YAAY,CAACI,UAAU,CAACN,OAAO,CAAC;IAChC,OAAOD,EAAE,KAAKK,WAAW,GAAG;MAAEG,IAAI,EAAE;IAAe,CAAC,GAAGC,SAAS;EAClE,CAAC,CAAC,OAAOC,CAAC,EAAE;IACV,OAAOD,SAAS;EAClB;AACF;AAEA,OAAO,SAASE,wBAAwBA,CAAA,EAAG;EACzC,OAAO;IACLC,aAAa,EAAE,KAAK;IACpBC,cAAc,EAAEC,qBAAqB;IACrCC,eAAe,EAAEC,+BAA+B;IAChDC,aAAa,EAAEC;EACjB,CAAC;AACH;AAEA,SAASJ,qBAAqBA,CAACK,YAAY,EAAE;EAC3ChB,YAAY,CAACC,OAAO,CAACP,iBAAiB,EAAEH,eAAe,CAACyB,YAAY,CAAC,CAAC;AACxE;AAEA,SAASH,+BAA+BA,CAAA,EAAG;EACzC,IAAMI,aAAa,GAAGjB,YAAY,CAACG,OAAO,CAACT,iBAAiB,CAAC;EAC7D,OAAOF,cAAc,CAACyB,aAAa,CAAC;AACtC;AAEA,SAASF,6BAA6BA,CAAA,EAAG;EACvCJ,qBAAqB,CAAClB,sBAAsB,CAAC,CAAC,CAAC;AACjD","ignoreList":[]}
@@ -1,18 +1,18 @@
1
- import { relativeNow, clocksOrigin, ONE_MINUTE, each } from '../helper/tools';
2
- import { addEventListeners, addEventListener } from '../browser/addEventListener';
1
+ import { Observable } from '../helper/observable';
3
2
  import { createValueHistory } from '../helper/valueHistory';
4
- import { startSessionStore } from './sessionStore';
5
- import { SESSION_TIME_OUT_DELAY } from './sessionConstants';
3
+ import { relativeNow, clocksOrigin, ONE_MINUTE } from '../helper/tools';
6
4
  import { DOM_EVENT } from '../helper/enums';
5
+ import { addEventListener, addEventListeners } from '../browser/addEventListener';
7
6
  import { clearInterval, setInterval } from '../helper/timer';
8
- import { Observable } from '../helper/observable';
7
+ import { SESSION_TIME_OUT_DELAY } from './sessionConstants';
8
+ import { startSessionStore } from './sessionStore';
9
9
  export var VISIBILITY_CHECK_DELAY = ONE_MINUTE;
10
10
  var SESSION_CONTEXT_TIMEOUT_DELAY = SESSION_TIME_OUT_DELAY;
11
11
  var stopCallbacks = [];
12
- export var startSessionManager = function startSessionManager(options, productKey, computeSessionState) {
12
+ export function startSessionManager(configuration, productKey, computeSessionState) {
13
13
  var renewObservable = new Observable();
14
14
  var expireObservable = new Observable();
15
- var sessionStore = startSessionStore(options, productKey, computeSessionState);
15
+ var sessionStore = startSessionStore(configuration.sessionStoreStrategyType, productKey, computeSessionState);
16
16
  stopCallbacks.push(function () {
17
17
  return sessionStore.stop();
18
18
  });
@@ -30,18 +30,20 @@ export var startSessionManager = function startSessionManager(options, productKe
30
30
  expireObservable.notify();
31
31
  sessionContextHistory.closeActive(relativeNow());
32
32
  });
33
+
34
+ // We expand/renew session unconditionally as tracking consent is always granted when the session
35
+ // manager is started.
33
36
  sessionStore.expandOrRenewSession();
34
37
  sessionContextHistory.add(buildSessionContext(), clocksOrigin().relative);
35
38
  trackActivity(function () {
36
- return sessionStore.expandOrRenewSession();
39
+ sessionStore.expandOrRenewSession();
37
40
  });
38
41
  trackVisibility(function () {
39
42
  return sessionStore.expandSession();
40
43
  });
41
- // trackResume(function () {
42
- // return sessionStore.expandSession()
43
- // })
44
-
44
+ trackResume(function () {
45
+ sessionStore.restartSession();
46
+ });
45
47
  function buildSessionContext() {
46
48
  return {
47
49
  id: sessionStore.getSession().id,
@@ -49,26 +51,29 @@ export var startSessionManager = function startSessionManager(options, productKe
49
51
  };
50
52
  }
51
53
  return {
52
- findActiveSession: function findActiveSession(startTime) {
53
- return sessionContextHistory.find(startTime);
54
+ findSession: function findSession(startTime, options) {
55
+ return sessionContextHistory.find(startTime, options);
54
56
  },
55
57
  renewObservable: renewObservable,
56
58
  expireObservable: expireObservable,
57
- expire: sessionStore.expire
59
+ sessionStateUpdateObservable: sessionStore.sessionStateUpdateObservable,
60
+ expire: sessionStore.expire,
61
+ updateSessionState: sessionStore.updateSessionState
58
62
  };
59
- };
63
+ }
60
64
  export function stopSessionManager() {
61
- each(stopCallbacks, function (e) {
62
- return e();
65
+ stopCallbacks.forEach(function (e) {
66
+ e();
63
67
  });
64
68
  stopCallbacks = [];
65
69
  }
66
70
  function trackActivity(expandOrRenewSession) {
67
71
  var _addEventListeners = addEventListeners(window, [DOM_EVENT.CLICK, DOM_EVENT.TOUCH_START, DOM_EVENT.KEY_DOWN, DOM_EVENT.SCROLL], expandOrRenewSession, {
68
- capture: true,
69
- passive: true
70
- });
71
- stopCallbacks.push(_addEventListeners.stop);
72
+ capture: true,
73
+ passive: true
74
+ }),
75
+ stop = _addEventListeners.stop;
76
+ stopCallbacks.push(stop);
72
77
  }
73
78
  function trackVisibility(expandSession) {
74
79
  var expandSessionWhenVisible = function expandSessionWhenVisible() {
@@ -76,17 +81,19 @@ function trackVisibility(expandSession) {
76
81
  expandSession();
77
82
  }
78
83
  };
79
- var _addEventListener = addEventListener(document, DOM_EVENT.VISIBILITY_CHANGE, expandSessionWhenVisible);
80
- stopCallbacks.push(_addEventListener.stop);
84
+ var _addEventListener = addEventListener(document, DOM_EVENT.VISIBILITY_CHANGE, expandSessionWhenVisible),
85
+ stop = _addEventListener.stop;
86
+ stopCallbacks.push(stop);
81
87
  var visibilityCheckInterval = setInterval(expandSessionWhenVisible, VISIBILITY_CHECK_DELAY);
82
88
  stopCallbacks.push(function () {
83
89
  clearInterval(visibilityCheckInterval);
84
90
  });
85
91
  }
86
92
  function trackResume(cb) {
87
- var _addEventListener = addEventListener(window, DOM_EVENT.RESUME, cb, {
88
- capture: true
89
- });
90
- stopCallbacks.push(_addEventListener.stop);
93
+ var _addEventListener2 = addEventListener(window, DOM_EVENT.RESUME, cb, {
94
+ capture: true
95
+ }),
96
+ stop = _addEventListener2.stop;
97
+ stopCallbacks.push(stop);
91
98
  }
92
99
  //# sourceMappingURL=sessionManagement.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sessionManagement.js","names":["relativeNow","clocksOrigin","ONE_MINUTE","each","addEventListeners","addEventListener","createValueHistory","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","expireDelay","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","trackResume","cb","RESUME"],"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 { createValueHistory } from '../helper/valueHistory'\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 = createValueHistory({\n expireDelay: SESSION_CONTEXT_TIMEOUT_DELAY\n })\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 // trackResume(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}\nfunction trackResume(cb) {\n var _addEventListener = addEventListener(window, DOM_EVENT.RESUME, cb, {\n capture: true\n })\n stopCallbacks.push(_addEventListener.stop)\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"sessionManagement.js","names":["Observable","createValueHistory","relativeNow","clocksOrigin","ONE_MINUTE","DOM_EVENT","addEventListener","addEventListeners","clearInterval","setInterval","SESSION_TIME_OUT_DELAY","startSessionStore","VISIBILITY_CHECK_DELAY","SESSION_CONTEXT_TIMEOUT_DELAY","stopCallbacks","startSessionManager","configuration","productKey","computeSessionState","renewObservable","expireObservable","sessionStore","sessionStoreStrategyType","push","stop","sessionContextHistory","expireDelay","subscribe","add","buildSessionContext","notify","closeActive","expandOrRenewSession","relative","trackActivity","trackVisibility","expandSession","trackResume","restartSession","id","getSession","trackingType","findSession","startTime","options","find","sessionStateUpdateObservable","expire","updateSessionState","stopSessionManager","forEach","e","_addEventListeners","window","CLICK","TOUCH_START","KEY_DOWN","SCROLL","capture","passive","expandSessionWhenVisible","document","visibilityState","_addEventListener","VISIBILITY_CHANGE","visibilityCheckInterval","cb","_addEventListener2","RESUME"],"sources":["../../src/session/sessionManagement.js"],"sourcesContent":["import { Observable } from '../helper/observable'\nimport { createValueHistory } from '../helper/valueHistory'\nimport { relativeNow, clocksOrigin, ONE_MINUTE } from '../helper/tools'\nimport { DOM_EVENT } from '../helper/enums'\nimport {\n addEventListener,\n addEventListeners\n} from '../browser/addEventListener'\nimport { clearInterval, setInterval } from '../helper/timer'\nimport { SESSION_TIME_OUT_DELAY } from './sessionConstants'\nimport { startSessionStore } from './sessionStore'\n\nexport const VISIBILITY_CHECK_DELAY = ONE_MINUTE\nconst SESSION_CONTEXT_TIMEOUT_DELAY = SESSION_TIME_OUT_DELAY\nlet stopCallbacks = []\n\nexport function startSessionManager(\n configuration,\n productKey,\n computeSessionState\n) {\n const renewObservable = new Observable()\n const expireObservable = new Observable()\n\n const sessionStore = startSessionStore(\n configuration.sessionStoreStrategyType,\n productKey,\n computeSessionState\n )\n stopCallbacks.push(function () {\n return sessionStore.stop()\n })\n\n const sessionContextHistory = createValueHistory({\n expireDelay: SESSION_CONTEXT_TIMEOUT_DELAY\n })\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 // We expand/renew session unconditionally as tracking consent is always granted when the session\n // manager is started.\n sessionStore.expandOrRenewSession()\n sessionContextHistory.add(buildSessionContext(), clocksOrigin().relative)\n\n trackActivity(function () {\n sessionStore.expandOrRenewSession()\n })\n trackVisibility(function () {\n return sessionStore.expandSession()\n })\n trackResume(function () {\n sessionStore.restartSession()\n })\n\n function buildSessionContext() {\n return {\n id: sessionStore.getSession().id,\n trackingType: sessionStore.getSession()[productKey]\n }\n }\n\n return {\n findSession: function (startTime, options) {\n return sessionContextHistory.find(startTime, options)\n },\n renewObservable,\n expireObservable,\n sessionStateUpdateObservable: sessionStore.sessionStateUpdateObservable,\n expire: sessionStore.expire,\n updateSessionState: sessionStore.updateSessionState\n }\n}\n\nexport function stopSessionManager() {\n stopCallbacks.forEach(function (e) {\n e()\n })\n stopCallbacks = []\n}\n\nfunction trackActivity(expandOrRenewSession) {\n const { stop } = 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(stop)\n}\n\nfunction trackVisibility(expandSession) {\n const expandSessionWhenVisible = function () {\n if (document.visibilityState === 'visible') {\n expandSession()\n }\n }\n\n const { stop } = addEventListener(\n document,\n DOM_EVENT.VISIBILITY_CHANGE,\n expandSessionWhenVisible\n )\n stopCallbacks.push(stop)\n\n const visibilityCheckInterval = setInterval(\n expandSessionWhenVisible,\n VISIBILITY_CHECK_DELAY\n )\n stopCallbacks.push(function () {\n clearInterval(visibilityCheckInterval)\n })\n}\n\nfunction trackResume(cb) {\n const { stop } = addEventListener(window, DOM_EVENT.RESUME, cb, {\n capture: true\n })\n stopCallbacks.push(stop)\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,59 @@
1
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
4
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
5
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
6
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7
+ import { isEmptyObject, objectEntries, dateNow, map } from '../helper/tools';
8
+ import { SESSION_EXPIRATION_DELAY, SESSION_TIME_OUT_DELAY } from './sessionConstants';
9
+ var SESSION_ENTRY_REGEXP = /^([a-zA-Z]+)=([a-z0-9-]+)$/;
10
+ var SESSION_ENTRY_SEPARATOR = '&';
11
+ export var EXPIRED = '1';
12
+ export function getExpiredSessionState() {
13
+ return {
14
+ isExpired: EXPIRED
15
+ };
16
+ }
17
+ export function isSessionInNotStartedState(session) {
18
+ return isEmptyObject(session);
19
+ }
20
+ export function isSessionStarted(session) {
21
+ return !isSessionInNotStartedState(session);
22
+ }
23
+ export function isSessionInExpiredState(session) {
24
+ return session.isExpired !== undefined || !isActiveSession(session);
25
+ }
26
+
27
+ // An active session is a session in either `Tracked` or `NotTracked` state
28
+ function isActiveSession(sessionState) {
29
+ // created and expire can be undefined for versions which was not storing them
30
+ // these checks could be removed when older versions will not be available/live anymore
31
+ return (sessionState.created === undefined || dateNow() - Number(sessionState.created) < SESSION_TIME_OUT_DELAY) && (sessionState.expire === undefined || dateNow() < Number(sessionState.expire));
32
+ }
33
+ export function expandSessionState(session) {
34
+ session.expire = String(dateNow() + SESSION_EXPIRATION_DELAY);
35
+ }
36
+ export function toSessionString(session) {
37
+ return map(objectEntries(session), function (item) {
38
+ return item[0] + '=' + item[1];
39
+ }).join(SESSION_ENTRY_SEPARATOR);
40
+ }
41
+ export function toSessionState(sessionString) {
42
+ var session = {};
43
+ if (isValidSessionString(sessionString)) {
44
+ sessionString.split(SESSION_ENTRY_SEPARATOR).forEach(function (entry) {
45
+ var matches = SESSION_ENTRY_REGEXP.exec(entry);
46
+ if (matches !== null) {
47
+ var _matches = _slicedToArray(matches, 3),
48
+ key = _matches[1],
49
+ value = _matches[2];
50
+ session[key] = value;
51
+ }
52
+ });
53
+ }
54
+ return session;
55
+ }
56
+ function isValidSessionString(sessionString) {
57
+ return !!sessionString && (sessionString.indexOf(SESSION_ENTRY_SEPARATOR) !== -1 || SESSION_ENTRY_REGEXP.test(sessionString));
58
+ }
59
+ //# sourceMappingURL=sessionState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionState.js","names":["isEmptyObject","objectEntries","dateNow","map","SESSION_EXPIRATION_DELAY","SESSION_TIME_OUT_DELAY","SESSION_ENTRY_REGEXP","SESSION_ENTRY_SEPARATOR","EXPIRED","getExpiredSessionState","isExpired","isSessionInNotStartedState","session","isSessionStarted","isSessionInExpiredState","undefined","isActiveSession","sessionState","created","Number","expire","expandSessionState","String","toSessionString","item","join","toSessionState","sessionString","isValidSessionString","split","forEach","entry","matches","exec","_matches","_slicedToArray","key","value","indexOf","test"],"sources":["../../src/session/sessionState.js"],"sourcesContent":["import { isEmptyObject, objectEntries, dateNow, map } from '../helper/tools'\nimport {\n SESSION_EXPIRATION_DELAY,\n SESSION_TIME_OUT_DELAY\n} from './sessionConstants'\n\nconst SESSION_ENTRY_REGEXP = /^([a-zA-Z]+)=([a-z0-9-]+)$/\nconst SESSION_ENTRY_SEPARATOR = '&'\n\nexport const EXPIRED = '1'\n\nexport function getExpiredSessionState() {\n return {\n isExpired: EXPIRED\n }\n}\n\nexport function isSessionInNotStartedState(session) {\n return isEmptyObject(session)\n}\n\nexport function isSessionStarted(session) {\n return !isSessionInNotStartedState(session)\n}\n\nexport function isSessionInExpiredState(session) {\n return session.isExpired !== undefined || !isActiveSession(session)\n}\n\n// An active session is a session in either `Tracked` or `NotTracked` state\nfunction isActiveSession(sessionState) {\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 (sessionState.created === undefined ||\n dateNow() - Number(sessionState.created) < SESSION_TIME_OUT_DELAY) &&\n (sessionState.expire === undefined ||\n dateNow() < Number(sessionState.expire))\n )\n}\n\nexport function expandSessionState(session) {\n session.expire = String(dateNow() + SESSION_EXPIRATION_DELAY)\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 toSessionState(sessionString) {\n const session = {}\n if (isValidSessionString(sessionString)) {\n sessionString.split(SESSION_ENTRY_SEPARATOR).forEach(function (entry) {\n const matches = SESSION_ENTRY_REGEXP.exec(entry)\n if (matches !== null) {\n const [, key, value] = matches\n session[key] = value\n }\n })\n }\n return session\n}\n\nfunction isValidSessionString(sessionString) {\n return (\n !!sessionString &&\n (sessionString.indexOf(SESSION_ENTRY_SEPARATOR) !== -1 ||\n SESSION_ENTRY_REGEXP.test(sessionString))\n )\n}\n"],"mappings":";;;;;;AAAA,SAASA,aAAa,EAAEC,aAAa,EAAEC,OAAO,EAAEC,GAAG,QAAQ,iBAAiB;AAC5E,SACEC,wBAAwB,EACxBC,sBAAsB,QACjB,oBAAoB;AAE3B,IAAMC,oBAAoB,GAAG,4BAA4B;AACzD,IAAMC,uBAAuB,GAAG,GAAG;AAEnC,OAAO,IAAMC,OAAO,GAAG,GAAG;AAE1B,OAAO,SAASC,sBAAsBA,CAAA,EAAG;EACvC,OAAO;IACLC,SAAS,EAAEF;EACb,CAAC;AACH;AAEA,OAAO,SAASG,0BAA0BA,CAACC,OAAO,EAAE;EAClD,OAAOZ,aAAa,CAACY,OAAO,CAAC;AAC/B;AAEA,OAAO,SAASC,gBAAgBA,CAACD,OAAO,EAAE;EACxC,OAAO,CAACD,0BAA0B,CAACC,OAAO,CAAC;AAC7C;AAEA,OAAO,SAASE,uBAAuBA,CAACF,OAAO,EAAE;EAC/C,OAAOA,OAAO,CAACF,SAAS,KAAKK,SAAS,IAAI,CAACC,eAAe,CAACJ,OAAO,CAAC;AACrE;;AAEA;AACA,SAASI,eAAeA,CAACC,YAAY,EAAE;EACrC;EACA;EACA,OACE,CAACA,YAAY,CAACC,OAAO,KAAKH,SAAS,IACjCb,OAAO,CAAC,CAAC,GAAGiB,MAAM,CAACF,YAAY,CAACC,OAAO,CAAC,GAAGb,sBAAsB,MAClEY,YAAY,CAACG,MAAM,KAAKL,SAAS,IAChCb,OAAO,CAAC,CAAC,GAAGiB,MAAM,CAACF,YAAY,CAACG,MAAM,CAAC,CAAC;AAE9C;AAEA,OAAO,SAASC,kBAAkBA,CAACT,OAAO,EAAE;EAC1CA,OAAO,CAACQ,MAAM,GAAGE,MAAM,CAACpB,OAAO,CAAC,CAAC,GAAGE,wBAAwB,CAAC;AAC/D;AAEA,OAAO,SAASmB,eAAeA,CAACX,OAAO,EAAE;EACvC,OAAOT,GAAG,CAACF,aAAa,CAACW,OAAO,CAAC,EAAE,UAAUY,IAAI,EAAE;IACjD,OAAOA,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,GAAGA,IAAI,CAAC,CAAC,CAAC;EAChC,CAAC,CAAC,CAACC,IAAI,CAAClB,uBAAuB,CAAC;AAClC;AAEA,OAAO,SAASmB,cAAcA,CAACC,aAAa,EAAE;EAC5C,IAAMf,OAAO,GAAG,CAAC,CAAC;EAClB,IAAIgB,oBAAoB,CAACD,aAAa,CAAC,EAAE;IACvCA,aAAa,CAACE,KAAK,CAACtB,uBAAuB,CAAC,CAACuB,OAAO,CAAC,UAAUC,KAAK,EAAE;MACpE,IAAMC,OAAO,GAAG1B,oBAAoB,CAAC2B,IAAI,CAACF,KAAK,CAAC;MAChD,IAAIC,OAAO,KAAK,IAAI,EAAE;QACpB,IAAAE,QAAA,GAAAC,cAAA,CAAuBH,OAAO;UAArBI,GAAG,GAAAF,QAAA;UAAEG,KAAK,GAAAH,QAAA;QACnBtB,OAAO,CAACwB,GAAG,CAAC,GAAGC,KAAK;MACtB;IACF,CAAC,CAAC;EACJ;EACA,OAAOzB,OAAO;AAChB;AAEA,SAASgB,oBAAoBA,CAACD,aAAa,EAAE;EAC3C,OACE,CAAC,CAACA,aAAa,KACdA,aAAa,CAACW,OAAO,CAAC/B,uBAAuB,CAAC,KAAK,CAAC,CAAC,IACpDD,oBAAoB,CAACiC,IAAI,CAACZ,aAAa,CAAC,CAAC;AAE/C","ignoreList":[]}