@amplitude/analytics-browser 1.8.0 → 1.9.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/lib/cjs/browser-client-factory.js +10 -10
  2. package/lib/cjs/browser-client-factory.js.map +1 -1
  3. package/lib/cjs/browser-client.d.ts +11 -7
  4. package/lib/cjs/browser-client.d.ts.map +1 -1
  5. package/lib/cjs/browser-client.js +88 -44
  6. package/lib/cjs/browser-client.js.map +1 -1
  7. package/lib/cjs/config.d.ts +4 -4
  8. package/lib/cjs/config.d.ts.map +1 -1
  9. package/lib/cjs/config.js +37 -29
  10. package/lib/cjs/config.js.map +1 -1
  11. package/lib/cjs/constants.d.ts +7 -0
  12. package/lib/cjs/constants.d.ts.map +1 -0
  13. package/lib/cjs/constants.js +9 -0
  14. package/lib/cjs/constants.js.map +1 -0
  15. package/lib/cjs/cookie-migration/index.d.ts.map +1 -1
  16. package/lib/cjs/cookie-migration/index.js +32 -25
  17. package/lib/cjs/cookie-migration/index.js.map +1 -1
  18. package/lib/cjs/plugins/context.d.ts +0 -1
  19. package/lib/cjs/plugins/context.d.ts.map +1 -1
  20. package/lib/cjs/plugins/context.js +0 -14
  21. package/lib/cjs/plugins/context.js.map +1 -1
  22. package/lib/cjs/plugins/file-download-tracking.d.ts.map +1 -1
  23. package/lib/cjs/plugins/file-download-tracking.js +3 -3
  24. package/lib/cjs/plugins/file-download-tracking.js.map +1 -1
  25. package/lib/cjs/plugins/form-interaction-tracking.d.ts.map +1 -1
  26. package/lib/cjs/plugins/form-interaction-tracking.js +5 -6
  27. package/lib/cjs/plugins/form-interaction-tracking.js.map +1 -1
  28. package/lib/cjs/plugins/session-handler.d.ts +3 -0
  29. package/lib/cjs/plugins/session-handler.d.ts.map +1 -0
  30. package/lib/cjs/plugins/session-handler.js +54 -0
  31. package/lib/cjs/plugins/session-handler.js.map +1 -0
  32. package/lib/cjs/version.d.ts +1 -1
  33. package/lib/cjs/version.d.ts.map +1 -1
  34. package/lib/cjs/version.js +1 -1
  35. package/lib/cjs/version.js.map +1 -1
  36. package/lib/esm/browser-client-factory.js +11 -11
  37. package/lib/esm/browser-client-factory.js.map +1 -1
  38. package/lib/esm/browser-client.d.ts +11 -7
  39. package/lib/esm/browser-client.d.ts.map +1 -1
  40. package/lib/esm/browser-client.js +91 -47
  41. package/lib/esm/browser-client.js.map +1 -1
  42. package/lib/esm/config.d.ts +4 -4
  43. package/lib/esm/config.d.ts.map +1 -1
  44. package/lib/esm/config.js +36 -27
  45. package/lib/esm/config.js.map +1 -1
  46. package/lib/esm/constants.d.ts +7 -0
  47. package/lib/esm/constants.d.ts.map +1 -0
  48. package/lib/esm/constants.js +7 -0
  49. package/lib/esm/constants.js.map +1 -0
  50. package/lib/esm/cookie-migration/index.d.ts.map +1 -1
  51. package/lib/esm/cookie-migration/index.js +35 -28
  52. package/lib/esm/cookie-migration/index.js.map +1 -1
  53. package/lib/esm/plugins/context.d.ts +0 -1
  54. package/lib/esm/plugins/context.d.ts.map +1 -1
  55. package/lib/esm/plugins/context.js +0 -14
  56. package/lib/esm/plugins/context.js.map +1 -1
  57. package/lib/esm/plugins/file-download-tracking.d.ts.map +1 -1
  58. package/lib/esm/plugins/file-download-tracking.js +3 -3
  59. package/lib/esm/plugins/file-download-tracking.js.map +1 -1
  60. package/lib/esm/plugins/form-interaction-tracking.d.ts.map +1 -1
  61. package/lib/esm/plugins/form-interaction-tracking.js +5 -6
  62. package/lib/esm/plugins/form-interaction-tracking.js.map +1 -1
  63. package/lib/esm/plugins/session-handler.d.ts +3 -0
  64. package/lib/esm/plugins/session-handler.d.ts.map +1 -0
  65. package/lib/esm/plugins/session-handler.js +50 -0
  66. package/lib/esm/plugins/session-handler.js.map +1 -0
  67. package/lib/esm/version.d.ts +1 -1
  68. package/lib/esm/version.d.ts.map +1 -1
  69. package/lib/esm/version.js +1 -1
  70. package/lib/esm/version.js.map +1 -1
  71. package/lib/scripts/amplitude-min.js +1 -1
  72. package/lib/scripts/amplitude-min.js.gz +0 -0
  73. package/lib/scripts/amplitude-min.umd.js +1 -1
  74. package/lib/scripts/amplitude-min.umd.js.gz +0 -0
  75. package/lib/scripts/browser-client.d.ts +11 -7
  76. package/lib/scripts/browser-client.d.ts.map +1 -1
  77. package/lib/scripts/config.d.ts +4 -4
  78. package/lib/scripts/config.d.ts.map +1 -1
  79. package/lib/scripts/constants.d.ts +7 -0
  80. package/lib/scripts/constants.d.ts.map +1 -0
  81. package/lib/scripts/cookie-migration/index.d.ts.map +1 -1
  82. package/lib/scripts/plugins/context.d.ts +0 -1
  83. package/lib/scripts/plugins/context.d.ts.map +1 -1
  84. package/lib/scripts/plugins/file-download-tracking.d.ts.map +1 -1
  85. package/lib/scripts/plugins/form-interaction-tracking.d.ts.map +1 -1
  86. package/lib/scripts/plugins/session-handler.d.ts +3 -0
  87. package/lib/scripts/plugins/session-handler.d.ts.map +1 -0
  88. package/lib/scripts/version.d.ts +1 -1
  89. package/lib/scripts/version.d.ts.map +1 -1
  90. package/package.json +7 -5
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n AttributionOptions,\n Event,\n BrowserOptions,\n BrowserConfig as IBrowserConfig,\n Storage,\n TrackingOptions,\n TransportType,\n UserSession,\n} from '@amplitude/analytics-types';\nimport { Config, MemoryStorage, UUID } from '@amplitude/analytics-core';\nimport { CookieStorage, getCookieName, getQueryParams, FetchTransport } from '@amplitude/analytics-client-common';\n\nimport { LocalStorage } from './storage/local-storage';\nimport { XHRTransport } from './transports/xhr';\nimport { SendBeaconTransport } from './transports/send-beacon';\n\nexport const getDefaultConfig = () => {\n const cookieStorage = new MemoryStorage<UserSession>();\n const trackingOptions: Required<TrackingOptions> = {\n deviceManufacturer: true,\n deviceModel: true,\n ipAddress: true,\n language: true,\n osName: true,\n osVersion: true,\n platform: true,\n };\n return {\n cookieExpiration: 365,\n cookieSameSite: 'Lax',\n cookieSecure: false,\n cookieStorage,\n cookieUpgrade: true,\n disableCookies: false,\n domain: '',\n sessionTimeout: 30 * 60 * 1000,\n trackingOptions,\n transportProvider: new FetchTransport(),\n };\n};\n\nexport class BrowserConfig extends Config implements IBrowserConfig {\n appVersion?: string;\n attribution?: AttributionOptions;\n cookieExpiration: number;\n cookieSameSite: string;\n cookieSecure: boolean;\n cookieUpgrade: boolean;\n cookieStorage: Storage<UserSession>;\n disableCookies: boolean;\n domain: string;\n partnerId?: string;\n sessionTimeout: number;\n trackingOptions: TrackingOptions;\n\n // NOTE: These protected properties are used to cache values from async storage\n protected _deviceId?: string;\n protected _lastEventTime?: number;\n protected _optOut = false;\n protected _sessionId?: number;\n protected _userId?: string;\n\n constructor(apiKey: string, options?: BrowserOptions) {\n const defaultConfig = getDefaultConfig();\n super({\n flushIntervalMillis: 1000,\n flushMaxRetries: 5,\n flushQueueSize: 30,\n transportProvider: defaultConfig.transportProvider,\n ...options,\n apiKey,\n });\n\n // NOTE: Define `cookieStorage` first to persist user session\n // user session properties expect `cookieStorage` to be defined\n this.cookieStorage = options?.cookieStorage ?? defaultConfig.cookieStorage;\n this.deviceId = options?.deviceId;\n this.lastEventTime = options?.lastEventTime;\n this.optOut = Boolean(options?.optOut);\n this.sessionId = options?.sessionId;\n this.userId = options?.userId;\n\n this.appVersion = options?.appVersion;\n this.attribution = options?.attribution;\n this.cookieExpiration = options?.cookieExpiration ?? defaultConfig.cookieExpiration;\n this.cookieSameSite = options?.cookieSameSite ?? defaultConfig.cookieSameSite;\n this.cookieSecure = options?.cookieSecure ?? defaultConfig.cookieSecure;\n this.cookieUpgrade = options?.cookieUpgrade ?? defaultConfig.cookieUpgrade;\n this.disableCookies = options?.disableCookies ?? defaultConfig.disableCookies;\n this.domain = options?.domain ?? defaultConfig.domain;\n this.partnerId = options?.partnerId;\n this.sessionTimeout = options?.sessionTimeout ?? defaultConfig.sessionTimeout;\n this.trackingOptions = options?.trackingOptions ?? defaultConfig.trackingOptions;\n }\n\n get deviceId() {\n return this._deviceId;\n }\n\n set deviceId(deviceId: string | undefined) {\n if (this._deviceId !== deviceId) {\n this._deviceId = deviceId;\n this.updateStorage();\n }\n }\n\n get userId() {\n return this._userId;\n }\n\n set userId(userId: string | undefined) {\n if (this._userId !== userId) {\n this._userId = userId;\n this.updateStorage();\n }\n }\n\n get sessionId() {\n return this._sessionId;\n }\n\n set sessionId(sessionId: number | undefined) {\n if (this._sessionId !== sessionId) {\n this._sessionId = sessionId;\n this.updateStorage();\n }\n }\n\n get optOut() {\n return this._optOut;\n }\n\n set optOut(optOut: boolean) {\n if (this._optOut !== optOut) {\n this._optOut = optOut;\n this.updateStorage();\n }\n }\n\n get lastEventTime() {\n return this._lastEventTime;\n }\n\n set lastEventTime(lastEventTime: number | undefined) {\n if (this._lastEventTime !== lastEventTime) {\n this._lastEventTime = lastEventTime;\n this.updateStorage();\n }\n }\n\n private updateStorage() {\n const cache = {\n deviceId: this._deviceId,\n userId: this._userId,\n sessionId: this._sessionId,\n optOut: this._optOut,\n lastEventTime: this._lastEventTime,\n };\n void this.cookieStorage?.set(getCookieName(this.apiKey), cache);\n }\n}\n\nexport const useBrowserConfig = async (apiKey: string, options?: BrowserOptions): Promise<IBrowserConfig> => {\n const defaultConfig = getDefaultConfig();\n\n // create cookie storage\n const domain = options?.domain ?? (await getTopLevelDomain());\n const cookieStorage = await createCookieStorage({ ...options, domain });\n const previousCookies = await cookieStorage.get(getCookieName(apiKey));\n const queryParams = getQueryParams();\n\n // reconcile user session\n const deviceId = options?.deviceId ?? queryParams.deviceId ?? previousCookies?.deviceId ?? UUID();\n const lastEventTime = options?.lastEventTime ?? previousCookies?.lastEventTime;\n const optOut = options?.optOut ?? Boolean(previousCookies?.optOut);\n const sessionId = options?.sessionId ?? previousCookies?.sessionId;\n const userId = options?.userId ?? previousCookies?.userId;\n\n return new BrowserConfig(apiKey, {\n ...options,\n cookieStorage,\n deviceId,\n domain,\n lastEventTime,\n optOut,\n sessionId,\n storageProvider: await createEventsStorage(options),\n trackingOptions: {\n ...defaultConfig.trackingOptions,\n ...options?.trackingOptions,\n },\n transportProvider: options?.transportProvider ?? createTransport(options?.transport),\n userId,\n });\n};\n\nexport const createCookieStorage = async (\n overrides?: BrowserOptions,\n baseConfig = getDefaultConfig(),\n): Promise<Storage<UserSession>> => {\n const options = { ...baseConfig, ...overrides };\n const cookieStorage = overrides?.cookieStorage;\n if (!cookieStorage || !(await cookieStorage.isEnabled())) {\n return createFlexibleStorage<UserSession>(options);\n }\n return cookieStorage;\n};\n\nexport const createFlexibleStorage = async <T>(options: BrowserOptions): Promise<Storage<T>> => {\n let storage: Storage<T> = new CookieStorage({\n domain: options.domain,\n expirationDays: options.cookieExpiration,\n sameSite: options.cookieSameSite,\n secure: options.cookieSecure,\n });\n if (options.disableCookies || !(await storage.isEnabled())) {\n storage = new LocalStorage();\n if (!(await storage.isEnabled())) {\n storage = new MemoryStorage();\n }\n }\n return storage;\n};\n\nexport const createEventsStorage = async (overrides?: BrowserOptions): Promise<Storage<Event[]> | undefined> => {\n const hasStorageProviderProperty = overrides && Object.prototype.hasOwnProperty.call(overrides, 'storageProvider');\n // If storageProperty is explicitly undefined `{ storageProperty: undefined }`\n // then storageProvider is undefined\n // If storageProvider is implicitly undefined `{ }`\n // then storageProvider is LocalStorage\n // Otherwise storageProvider is overriden\n if (!hasStorageProviderProperty || overrides.storageProvider) {\n for (const storage of [overrides?.storageProvider, new LocalStorage<Event[]>()]) {\n if (storage && (await storage.isEnabled())) {\n return storage;\n }\n }\n }\n return undefined;\n};\n\nexport const createTransport = (transport?: TransportType | keyof typeof TransportType) => {\n if (transport === TransportType.XHR) {\n return new XHRTransport();\n }\n if (transport === TransportType.SendBeacon) {\n return new SendBeaconTransport();\n }\n return getDefaultConfig().transportProvider;\n};\n\nexport const getTopLevelDomain = async (url?: string) => {\n if (!(await new CookieStorage<number>().isEnabled()) || (!url && typeof location === 'undefined')) {\n return '';\n }\n\n const host = url ?? location.hostname;\n const parts = host.split('.');\n const levels = [];\n const storageKey = 'AMP_TLDTEST';\n\n for (let i = parts.length - 2; i >= 0; --i) {\n levels.push(parts.slice(i).join('.'));\n }\n for (let i = 0; i < levels.length; i++) {\n const domain = levels[i];\n const options = { domain: '.' + domain };\n const storage = new CookieStorage<number>(options);\n await storage.set(storageKey, 1);\n const value = await storage.get(storageKey);\n if (value) {\n await storage.remove(storageKey);\n return '.' + domain;\n }\n }\n\n return '';\n};\n"]}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n AttributionOptions,\n Event,\n BrowserOptions,\n BrowserConfig as IBrowserConfig,\n DefaultTrackingOptions,\n Storage,\n TrackingOptions,\n TransportType,\n UserSession,\n} from '@amplitude/analytics-types';\nimport { Config, MemoryStorage, UUID } from '@amplitude/analytics-core';\nimport { CookieStorage, getCookieName, getQueryParams, FetchTransport } from '@amplitude/analytics-client-common';\n\nimport { LocalStorage } from './storage/local-storage';\nimport { XHRTransport } from './transports/xhr';\nimport { SendBeaconTransport } from './transports/send-beacon';\n\nexport const getDefaultConfig = () => {\n const cookieStorage = new MemoryStorage<UserSession>();\n const trackingOptions: Required<TrackingOptions> = {\n deviceManufacturer: true,\n deviceModel: true,\n ipAddress: true,\n language: true,\n osName: true,\n osVersion: true,\n platform: true,\n };\n return {\n cookieExpiration: 365,\n cookieSameSite: 'Lax',\n cookieSecure: false,\n cookieStorage,\n cookieUpgrade: true,\n disableCookies: false,\n domain: '',\n sessionTimeout: 30 * 60 * 1000,\n trackingOptions,\n transportProvider: new FetchTransport(),\n };\n};\n\nexport class BrowserConfig extends Config implements IBrowserConfig {\n appVersion?: string;\n attribution?: AttributionOptions;\n cookieExpiration: number;\n cookieSameSite: string;\n cookieSecure: boolean;\n cookieUpgrade: boolean;\n cookieStorage: Storage<UserSession>;\n defaultTracking?: DefaultTrackingOptions | boolean;\n disableCookies: boolean;\n domain: string;\n partnerId?: string;\n sessionTimeout: number;\n trackingOptions: TrackingOptions;\n\n // NOTE: These protected properties are used to cache values from async storage\n protected _deviceId?: string;\n protected _lastEventTime?: number;\n protected _optOut = false;\n protected _sessionId?: number;\n protected _userId?: string;\n\n constructor(apiKey: string, options?: BrowserOptions) {\n const defaultConfig = getDefaultConfig();\n super({\n flushIntervalMillis: 1000,\n flushMaxRetries: 5,\n flushQueueSize: 30,\n transportProvider: defaultConfig.transportProvider,\n ...options,\n apiKey,\n });\n\n // NOTE: Define `cookieStorage` first to persist user session\n // user session properties expect `cookieStorage` to be defined\n this.cookieStorage = options?.cookieStorage ?? defaultConfig.cookieStorage;\n this.deviceId = options?.deviceId;\n this.lastEventTime = options?.lastEventTime;\n this.optOut = Boolean(options?.optOut);\n this.sessionId = options?.sessionId;\n this.userId = options?.userId;\n\n this.appVersion = options?.appVersion;\n this.attribution = options?.attribution;\n this.cookieExpiration = options?.cookieExpiration ?? defaultConfig.cookieExpiration;\n this.cookieSameSite = options?.cookieSameSite ?? defaultConfig.cookieSameSite;\n this.cookieSecure = options?.cookieSecure ?? defaultConfig.cookieSecure;\n this.cookieUpgrade = options?.cookieUpgrade ?? defaultConfig.cookieUpgrade;\n this.defaultTracking = options?.defaultTracking;\n this.disableCookies = options?.disableCookies ?? defaultConfig.disableCookies;\n this.defaultTracking = options?.defaultTracking;\n this.domain = options?.domain ?? defaultConfig.domain;\n this.partnerId = options?.partnerId;\n this.sessionTimeout = options?.sessionTimeout ?? defaultConfig.sessionTimeout;\n this.trackingOptions = options?.trackingOptions ?? defaultConfig.trackingOptions;\n }\n\n get deviceId() {\n return this._deviceId;\n }\n\n set deviceId(deviceId: string | undefined) {\n if (this._deviceId !== deviceId) {\n this._deviceId = deviceId;\n this.updateStorage();\n }\n }\n\n get userId() {\n return this._userId;\n }\n\n set userId(userId: string | undefined) {\n if (this._userId !== userId) {\n this._userId = userId;\n this.updateStorage();\n }\n }\n\n get sessionId() {\n return this._sessionId;\n }\n\n set sessionId(sessionId: number | undefined) {\n if (this._sessionId !== sessionId) {\n this._sessionId = sessionId;\n this.updateStorage();\n }\n }\n\n get optOut() {\n return this._optOut;\n }\n\n set optOut(optOut: boolean) {\n if (this._optOut !== optOut) {\n this._optOut = optOut;\n this.updateStorage();\n }\n }\n\n get lastEventTime() {\n return this._lastEventTime;\n }\n\n set lastEventTime(lastEventTime: number | undefined) {\n if (this._lastEventTime !== lastEventTime) {\n this._lastEventTime = lastEventTime;\n this.updateStorage();\n }\n }\n\n private updateStorage() {\n const cache = {\n deviceId: this._deviceId,\n userId: this._userId,\n sessionId: this._sessionId,\n optOut: this._optOut,\n lastEventTime: this._lastEventTime,\n };\n void this.cookieStorage?.set(getCookieName(this.apiKey), cache);\n }\n}\n\nexport const useBrowserConfig = async (apiKey: string, options?: BrowserOptions): Promise<IBrowserConfig> => {\n const defaultConfig = getDefaultConfig();\n\n // create cookie storage\n const domain = options?.disableCookies ? '' : options?.domain ?? (await getTopLevelDomain());\n const cookieStorage = await createCookieStorage<UserSession>({ ...options, domain });\n const previousCookies = await cookieStorage.get(getCookieName(apiKey));\n const queryParams = getQueryParams();\n\n // reconcile user session\n const deviceId = options?.deviceId ?? queryParams.deviceId ?? previousCookies?.deviceId ?? UUID();\n const lastEventTime = options?.lastEventTime ?? previousCookies?.lastEventTime;\n const optOut = options?.optOut ?? Boolean(previousCookies?.optOut);\n const sessionId = options?.sessionId ?? previousCookies?.sessionId;\n const userId = options?.userId ?? previousCookies?.userId;\n\n return new BrowserConfig(apiKey, {\n ...options,\n cookieStorage,\n deviceId,\n domain,\n lastEventTime,\n optOut,\n sessionId,\n storageProvider: await createEventsStorage(options),\n trackingOptions: {\n ...defaultConfig.trackingOptions,\n ...options?.trackingOptions,\n },\n transportProvider: options?.transportProvider ?? createTransport(options?.transport),\n userId,\n });\n};\n\nexport const createCookieStorage = async <T>(\n overrides?: BrowserOptions,\n baseConfig = getDefaultConfig(),\n): Promise<Storage<T>> => {\n const options = { ...baseConfig, ...overrides };\n const cookieStorage = overrides?.cookieStorage as Storage<T>;\n if (!cookieStorage || !(await cookieStorage.isEnabled())) {\n return createFlexibleStorage<T>(options);\n }\n return cookieStorage;\n};\n\nconst createFlexibleStorage = async <T>(options: BrowserOptions): Promise<Storage<T>> => {\n let storage: Storage<T> = new CookieStorage({\n domain: options.domain,\n expirationDays: options.cookieExpiration,\n sameSite: options.cookieSameSite,\n secure: options.cookieSecure,\n });\n if (options.disableCookies || !(await storage.isEnabled())) {\n storage = new LocalStorage();\n if (!(await storage.isEnabled())) {\n storage = new MemoryStorage();\n }\n }\n return storage;\n};\n\nexport const createEventsStorage = async (overrides?: BrowserOptions): Promise<Storage<Event[]> | undefined> => {\n const hasStorageProviderProperty = overrides && Object.prototype.hasOwnProperty.call(overrides, 'storageProvider');\n // If storageProperty is explicitly undefined `{ storageProperty: undefined }`\n // then storageProvider is undefined\n // If storageProvider is implicitly undefined `{ }`\n // then storageProvider is LocalStorage\n // Otherwise storageProvider is overriden\n if (!hasStorageProviderProperty || overrides.storageProvider) {\n for (const storage of [overrides?.storageProvider, new LocalStorage<Event[]>()]) {\n if (storage && (await storage.isEnabled())) {\n return storage;\n }\n }\n }\n return undefined;\n};\n\nexport const createTransport = (transport?: TransportType | keyof typeof TransportType) => {\n if (transport === TransportType.XHR) {\n return new XHRTransport();\n }\n if (transport === TransportType.SendBeacon) {\n return new SendBeaconTransport();\n }\n return getDefaultConfig().transportProvider;\n};\n\nexport const getTopLevelDomain = async (url?: string) => {\n if (!(await new CookieStorage<number>().isEnabled()) || (!url && typeof location === 'undefined')) {\n return '';\n }\n\n const host = url ?? location.hostname;\n const parts = host.split('.');\n const levels = [];\n const storageKey = 'AMP_TLDTEST';\n\n for (let i = parts.length - 2; i >= 0; --i) {\n levels.push(parts.slice(i).join('.'));\n }\n for (let i = 0; i < levels.length; i++) {\n const domain = levels[i];\n const options = { domain: '.' + domain };\n const storage = new CookieStorage<number>(options);\n await storage.set(storageKey, 1);\n const value = await storage.get(storageKey);\n if (value) {\n await storage.remove(storageKey);\n return '.' + domain;\n }\n }\n\n return '';\n};\n"]}
@@ -0,0 +1,7 @@
1
+ export declare const DEFAULT_PAGE_VIEW_EVENT = "[Amplitude] Page View";
2
+ export declare const DEFAULT_SESSION_START_EVENT = "session_start";
3
+ export declare const DEFAULT_SESSION_END_EVENT = "session_end";
4
+ export declare const DEFAULT_FORM_START_EVENT = "[Amplitude] Form Start";
5
+ export declare const DEFAULT_FORM_SUBMIT_EVENT = "[Amplitude] Form Submit";
6
+ export declare const DEFAULT_FILE_DOWNLOAD_EVENT = "[Amplitude] File Download";
7
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB,0BAA0B,CAAC;AAC/D,eAAO,MAAM,2BAA2B,kBAAkB,CAAC;AAC3D,eAAO,MAAM,yBAAyB,gBAAgB,CAAC;AACvD,eAAO,MAAM,wBAAwB,2BAA2B,CAAC;AACjE,eAAO,MAAM,yBAAyB,4BAA4B,CAAC;AACnE,eAAO,MAAM,2BAA2B,8BAA8B,CAAC"}
@@ -0,0 +1,9 @@
1
+ Object.defineProperty(exports, "__esModule", { value: true });
2
+ exports.DEFAULT_FILE_DOWNLOAD_EVENT = exports.DEFAULT_FORM_SUBMIT_EVENT = exports.DEFAULT_FORM_START_EVENT = exports.DEFAULT_SESSION_END_EVENT = exports.DEFAULT_SESSION_START_EVENT = exports.DEFAULT_PAGE_VIEW_EVENT = void 0;
3
+ exports.DEFAULT_PAGE_VIEW_EVENT = '[Amplitude] Page View';
4
+ exports.DEFAULT_SESSION_START_EVENT = 'session_start';
5
+ exports.DEFAULT_SESSION_END_EVENT = 'session_end';
6
+ exports.DEFAULT_FORM_START_EVENT = '[Amplitude] Form Start';
7
+ exports.DEFAULT_FORM_SUBMIT_EVENT = '[Amplitude] Form Submit';
8
+ exports.DEFAULT_FILE_DOWNLOAD_EVENT = '[Amplitude] File Download';
9
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":";;AAAa,QAAA,uBAAuB,GAAG,uBAAuB,CAAC;AAClD,QAAA,2BAA2B,GAAG,eAAe,CAAC;AAC9C,QAAA,yBAAyB,GAAG,aAAa,CAAC;AAC1C,QAAA,wBAAwB,GAAG,wBAAwB,CAAC;AACpD,QAAA,yBAAyB,GAAG,yBAAyB,CAAC;AACtD,QAAA,2BAA2B,GAAG,2BAA2B,CAAC","sourcesContent":["export const DEFAULT_PAGE_VIEW_EVENT = '[Amplitude] Page View';\nexport const DEFAULT_SESSION_START_EVENT = 'session_start';\nexport const DEFAULT_SESSION_END_EVENT = 'session_end';\nexport const DEFAULT_FORM_START_EVENT = '[Amplitude] Form Start';\nexport const DEFAULT_FORM_SUBMIT_EVENT = '[Amplitude] Form Submit';\nexport const DEFAULT_FILE_DOWNLOAD_EVENT = '[Amplitude] File Download';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cookie-migration/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAW,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAKlF,eAAO,MAAM,eAAe,WAAkB,MAAM,YAAY,cAAc,KAAG,QAAQ,WAAW,CA+BnG,CAAC;AAEF,eAAO,MAAM,SAAS,QAAS,MAAM,uBAMpC,CAAC;AAEF,eAAO,MAAM,MAAM,WAAY,MAAM,KAAG,MAAM,GAAG,SAShD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cookie-migration/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAIzE,eAAO,MAAM,eAAe,WAAkB,MAAM,YAAY,cAAc,KAAG,QAAQ,WAAW,CAyBnG,CAAC;AAEF,eAAO,MAAM,SAAS,QAAS,MAAM,uBAMpC,CAAC;AAEF,eAAO,MAAM,MAAM,WAAY,MAAM,KAAG,MAAM,GAAG,SAShD,CAAC"}
@@ -4,42 +4,49 @@ exports.decode = exports.parseTime = exports.parseOldCookies = void 0;
4
4
  var tslib_1 = require("tslib");
5
5
  var analytics_client_common_1 = require("@amplitude/analytics-client-common");
6
6
  var config_1 = require("../config");
7
- var local_storage_1 = require("../storage/local-storage");
8
7
  var parseOldCookies = function (apiKey, options) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
9
- var storage, oldCookieName, cookies, _a, deviceId, userId, optOut, sessionId, lastEventTime;
10
- var _b;
11
- return tslib_1.__generator(this, function (_c) {
12
- switch (_c.label) {
8
+ var storage, _a, _b, _c, _d, oldCookieName, cookies, _e, deviceId, userId, optOut, sessionId, lastEventTime;
9
+ var _f;
10
+ var _g, _h;
11
+ return tslib_1.__generator(this, function (_j) {
12
+ switch (_j.label) {
13
13
  case 0:
14
- storage = new analytics_client_common_1.CookieStorage();
15
- return [4 /*yield*/, storage.isEnabled()];
14
+ _a = config_1.createCookieStorage;
15
+ _b = [tslib_1.__assign({}, options)];
16
+ _f = {};
17
+ if (!(options === null || options === void 0 ? void 0 : options.disableCookies)) return [3 /*break*/, 1];
18
+ _c = '';
19
+ return [3 /*break*/, 5];
16
20
  case 1:
17
- if (!(_c.sent()) || (options === null || options === void 0 ? void 0 : options.disableCookies)) {
18
- storage = new local_storage_1.LocalStorage();
19
- }
20
- return [4 /*yield*/, storage.isEnabled()];
21
- case 2:
22
- if (!(_c.sent())) {
23
- return [2 /*return*/, {
24
- optOut: false,
25
- }];
26
- }
21
+ if (!((_g = options === null || options === void 0 ? void 0 : options.domain) !== null && _g !== void 0)) return [3 /*break*/, 2];
22
+ _d = _g;
23
+ return [3 /*break*/, 4];
24
+ case 2: return [4 /*yield*/, (0, config_1.getTopLevelDomain)()];
25
+ case 3:
26
+ _d = (_j.sent());
27
+ _j.label = 4;
28
+ case 4:
29
+ _c = _d;
30
+ _j.label = 5;
31
+ case 5: return [4 /*yield*/, _a.apply(void 0, [tslib_1.__assign.apply(void 0, _b.concat([(_f.domain = _c, _f)]))])];
32
+ case 6:
33
+ storage = _j.sent();
27
34
  oldCookieName = (0, analytics_client_common_1.getOldCookieName)(apiKey);
28
35
  return [4 /*yield*/, storage.getRaw(oldCookieName)];
29
- case 3:
30
- cookies = _c.sent();
36
+ case 7:
37
+ cookies = _j.sent();
31
38
  if (!cookies) {
32
39
  return [2 /*return*/, {
33
40
  optOut: false,
34
41
  }];
35
42
  }
36
- if (!((_b = options === null || options === void 0 ? void 0 : options.cookieUpgrade) !== null && _b !== void 0 ? _b : (0, config_1.getDefaultConfig)().cookieUpgrade)) return [3 /*break*/, 5];
43
+ if (!((_h = options === null || options === void 0 ? void 0 : options.cookieUpgrade) !== null && _h !== void 0 ? _h : (0, config_1.getDefaultConfig)().cookieUpgrade)) return [3 /*break*/, 9];
37
44
  return [4 /*yield*/, storage.remove(oldCookieName)];
38
- case 4:
39
- _c.sent();
40
- _c.label = 5;
41
- case 5:
42
- _a = tslib_1.__read(cookies.split('.'), 5), deviceId = _a[0], userId = _a[1], optOut = _a[2], sessionId = _a[3], lastEventTime = _a[4];
45
+ case 8:
46
+ _j.sent();
47
+ _j.label = 9;
48
+ case 9:
49
+ _e = tslib_1.__read(cookies.split('.'), 5), deviceId = _e[0], userId = _e[1], optOut = _e[2], sessionId = _e[3], lastEventTime = _e[4];
43
50
  return [2 /*return*/, {
44
51
  deviceId: deviceId,
45
52
  userId: (0, exports.decode)(userId),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cookie-migration/index.ts"],"names":[],"mappings":"AAAA,iBAwDA;;;;AAvDA,8EAAqF;AACrF,oCAA6C;AAC7C,0DAAwD;AAEjD,IAAM,eAAe,GAAG,UAAO,MAAc,EAAE,OAAwB;;;;;;gBACxE,OAAO,GAAoB,IAAI,uCAAa,EAAU,CAAC;gBACrD,qBAAM,OAAO,CAAC,SAAS,EAAE,EAAA;;gBAA/B,IAAI,CAAC,CAAC,SAAyB,CAAC,KAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,CAAA,EAAE;oBAC3D,OAAO,GAAG,IAAI,4BAAY,EAAU,CAAC;iBACtC;gBACK,qBAAM,OAAO,CAAC,SAAS,EAAE,EAAA;;gBAA/B,IAAI,CAAC,CAAC,SAAyB,CAAC,EAAE;oBAChC,sBAAO;4BACL,MAAM,EAAE,KAAK;yBACd,EAAC;iBACH;gBAEK,aAAa,GAAG,IAAA,0CAAgB,EAAC,MAAM,CAAC,CAAC;gBAC/B,qBAAM,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,EAAA;;gBAA7C,OAAO,GAAG,SAAmC;gBAEnD,IAAI,CAAC,OAAO,EAAE;oBACZ,sBAAO;4BACL,MAAM,EAAE,KAAK;yBACd,EAAC;iBACH;qBAEG,CAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,mCAAI,IAAA,yBAAgB,GAAE,CAAC,aAAa,CAAA,EAA1D,wBAA0D;gBAC5D,qBAAM,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,EAAA;;gBAAnC,SAAmC,CAAC;;;gBAEhC,KAAA,eAAuD,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAA,EAAxE,QAAQ,QAAA,EAAE,MAAM,QAAA,EAAE,MAAM,QAAA,EAAE,SAAS,QAAA,EAAE,aAAa,QAAA,CAAuB;gBAChF,sBAAO;wBACL,QAAQ,UAAA;wBACR,MAAM,EAAE,IAAA,cAAM,EAAC,MAAM,CAAC;wBACtB,SAAS,EAAE,IAAA,iBAAS,EAAC,SAAS,CAAC;wBAC/B,aAAa,EAAE,IAAA,iBAAS,EAAC,aAAa,CAAC;wBACvC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC;qBACxB,EAAC;;;KACH,CAAC;AA/BW,QAAA,eAAe,mBA+B1B;AAEK,IAAM,SAAS,GAAG,UAAC,GAAW;IACnC,IAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAClC,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE;QAClB,OAAO,SAAS,CAAC;KAClB;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AANW,QAAA,SAAS,aAMpB;AAEK,IAAM,MAAM,GAAG,UAAC,KAAc;IACnC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE;QAC9B,OAAO,SAAS,CAAC;KAClB;IACD,IAAI;QACF,OAAO,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KAChD;IAAC,WAAM;QACN,OAAO,SAAS,CAAC;KAClB;AACH,CAAC,CAAC;AATW,QAAA,MAAM,UASjB","sourcesContent":["import { BrowserOptions, Storage, UserSession } from '@amplitude/analytics-types';\nimport { getOldCookieName, CookieStorage } from '@amplitude/analytics-client-common';\nimport { getDefaultConfig } from '../config';\nimport { LocalStorage } from '../storage/local-storage';\n\nexport const parseOldCookies = async (apiKey: string, options?: BrowserOptions): Promise<UserSession> => {\n let storage: Storage<string> = new CookieStorage<string>();\n if (!(await storage.isEnabled()) || options?.disableCookies) {\n storage = new LocalStorage<string>();\n }\n if (!(await storage.isEnabled())) {\n return {\n optOut: false,\n };\n }\n\n const oldCookieName = getOldCookieName(apiKey);\n const cookies = await storage.getRaw(oldCookieName);\n\n if (!cookies) {\n return {\n optOut: false,\n };\n }\n\n if (options?.cookieUpgrade ?? getDefaultConfig().cookieUpgrade) {\n await storage.remove(oldCookieName);\n }\n const [deviceId, userId, optOut, sessionId, lastEventTime] = cookies.split('.');\n return {\n deviceId,\n userId: decode(userId),\n sessionId: parseTime(sessionId),\n lastEventTime: parseTime(lastEventTime),\n optOut: Boolean(optOut),\n };\n};\n\nexport const parseTime = (num: string) => {\n const integer = parseInt(num, 32);\n if (isNaN(integer)) {\n return undefined;\n }\n return integer;\n};\n\nexport const decode = (value?: string): string | undefined => {\n if (!atob || !escape || !value) {\n return undefined;\n }\n try {\n return decodeURIComponent(escape(atob(value)));\n } catch {\n return undefined;\n }\n};\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cookie-migration/index.ts"],"names":[],"mappings":"AAAA,iBAiDA;;;;AAhDA,8EAAsE;AACtE,oCAAqF;AAE9E,IAAM,eAAe,GAAG,UAAO,MAAc,EAAE,OAAwB;;;;;;;gBACtD,KAAA,4BAAmB,CAAA;2CACpC,OAAO;;sBACF,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc;gBAAG,KAAA,EAAE,CAAA;;;4BAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM;;;oBAAK,qBAAM,IAAA,0BAAiB,GAAE,EAAA;;gBAA1B,KAAA,CAAC,SAAyB,CAAC,CAAA;;;gBAA9C,QAA8C;;oBAFvE,qBAAM,6DAEpB,SAAM,eACN,EAAA;;gBAHI,OAAO,GAAG,SAGd;gBACI,aAAa,GAAG,IAAA,0CAAgB,EAAC,MAAM,CAAC,CAAC;gBAC/B,qBAAM,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,EAAA;;gBAA7C,OAAO,GAAG,SAAmC;gBAEnD,IAAI,CAAC,OAAO,EAAE;oBACZ,sBAAO;4BACL,MAAM,EAAE,KAAK;yBACd,EAAC;iBACH;qBAEG,CAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,mCAAI,IAAA,yBAAgB,GAAE,CAAC,aAAa,CAAA,EAA1D,wBAA0D;gBAC5D,qBAAM,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,EAAA;;gBAAnC,SAAmC,CAAC;;;gBAEhC,KAAA,eAAuD,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAA,EAAxE,QAAQ,QAAA,EAAE,MAAM,QAAA,EAAE,MAAM,QAAA,EAAE,SAAS,QAAA,EAAE,aAAa,QAAA,CAAuB;gBAChF,sBAAO;wBACL,QAAQ,UAAA;wBACR,MAAM,EAAE,IAAA,cAAM,EAAC,MAAM,CAAC;wBACtB,SAAS,EAAE,IAAA,iBAAS,EAAC,SAAS,CAAC;wBAC/B,aAAa,EAAE,IAAA,iBAAS,EAAC,aAAa,CAAC;wBACvC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC;qBACxB,EAAC;;;KACH,CAAC;AAzBW,QAAA,eAAe,mBAyB1B;AAEK,IAAM,SAAS,GAAG,UAAC,GAAW;IACnC,IAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAClC,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE;QAClB,OAAO,SAAS,CAAC;KAClB;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AANW,QAAA,SAAS,aAMpB;AAEK,IAAM,MAAM,GAAG,UAAC,KAAc;IACnC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE;QAC9B,OAAO,SAAS,CAAC;KAClB;IACD,IAAI;QACF,OAAO,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KAChD;IAAC,WAAM;QACN,OAAO,SAAS,CAAC;KAClB;AACH,CAAC,CAAC;AATW,QAAA,MAAM,UASjB","sourcesContent":["import { BrowserOptions, UserSession } from '@amplitude/analytics-types';\nimport { getOldCookieName } from '@amplitude/analytics-client-common';\nimport { createCookieStorage, getDefaultConfig, getTopLevelDomain } from '../config';\n\nexport const parseOldCookies = async (apiKey: string, options?: BrowserOptions): Promise<UserSession> => {\n const storage = await createCookieStorage<string>({\n ...options,\n domain: options?.disableCookies ? '' : options?.domain ?? (await getTopLevelDomain()),\n });\n const oldCookieName = getOldCookieName(apiKey);\n const cookies = await storage.getRaw(oldCookieName);\n\n if (!cookies) {\n return {\n optOut: false,\n };\n }\n\n if (options?.cookieUpgrade ?? getDefaultConfig().cookieUpgrade) {\n await storage.remove(oldCookieName);\n }\n const [deviceId, userId, optOut, sessionId, lastEventTime] = cookies.split('.');\n return {\n deviceId,\n userId: decode(userId),\n sessionId: parseTime(sessionId),\n lastEventTime: parseTime(lastEventTime),\n optOut: Boolean(optOut),\n };\n};\n\nexport const parseTime = (num: string) => {\n const integer = parseInt(num, 32);\n if (isNaN(integer)) {\n return undefined;\n }\n return integer;\n};\n\nexport const decode = (value?: string): string | undefined => {\n if (!atob || !escape || !value) {\n return undefined;\n }\n try {\n return decodeURIComponent(escape(atob(value)));\n } catch {\n return undefined;\n }\n};\n"]}
@@ -10,6 +10,5 @@ export declare class Context implements BeforePlugin {
10
10
  constructor();
11
11
  setup(config: BrowserConfig): Promise<undefined>;
12
12
  execute(context: Event): Promise<Event>;
13
- isSessionValid(): boolean;
14
13
  }
15
14
  //# sourceMappingURL=context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/plugins/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC5F,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAO/C,qBAAa,OAAQ,YAAW,YAAY;IAC1C,IAAI,SAAa;IACjB,IAAI,oBAA8B;IAKlC,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,SAAK;IACZ,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC;IAC3B,OAAO,SAA6B;;IAWpC,KAAK,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC;IAM1C,OAAO,CAAC,OAAO,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IA6C7C,cAAc;CAKf"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/plugins/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC5F,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAO/C,qBAAa,OAAQ,YAAW,YAAY;IAC1C,IAAI,SAAa;IACjB,IAAI,oBAA8B;IAKlC,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,SAAK;IACZ,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC;IAC3B,OAAO,SAA6B;;IAWpC,KAAK,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC;IAM1C,OAAO,CAAC,OAAO,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;CAmC9C"}
@@ -29,15 +29,6 @@ var Context = /** @class */ (function () {
29
29
  return tslib_1.__awaiter(this, void 0, void 0, function () {
30
30
  var time, osName, osVersion, deviceModel, deviceVendor, event;
31
31
  return tslib_1.__generator(this, function (_a) {
32
- /**
33
- * Manages user session triggered by new events
34
- */
35
- if (!this.isSessionValid()) {
36
- // Creates new session
37
- this.config.sessionId = Date.now();
38
- } // else use previously creates session
39
- // Updates last event time to extend time-based session
40
- this.config.lastEventTime = Date.now();
41
32
  time = new Date().getTime();
42
33
  osName = this.uaResult.browser.name;
43
34
  osVersion = this.uaResult.browser.version;
@@ -53,11 +44,6 @@ var Context = /** @class */ (function () {
53
44
  });
54
45
  });
55
46
  };
56
- Context.prototype.isSessionValid = function () {
57
- var lastEventTime = this.config.lastEventTime || Date.now();
58
- var timeSinceLastEvent = Date.now() - lastEventTime;
59
- return timeSinceLastEvent < this.config.sessionTimeout;
60
- };
61
47
  return Context;
62
48
  }());
63
49
  exports.Context = Context;
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/plugins/context.ts"],"names":[],"mappings":"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","sourcesContent":["import { BeforePlugin, BrowserConfig, Event, PluginType } from '@amplitude/analytics-types';\nimport UAParser from '@amplitude/ua-parser-js';\nimport { UUID } from '@amplitude/analytics-core';\nimport { getLanguage } from '@amplitude/analytics-client-common';\nimport { VERSION } from '../version';\n\nconst BROWSER_PLATFORM = 'Web';\nconst IP_ADDRESS = '$remote';\nexport class Context implements BeforePlugin {\n name = 'context';\n type = PluginType.BEFORE as const;\n\n // this.config is defined in setup() which will always be called first\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n config: BrowserConfig;\n eventId = 0;\n uaResult: UAParser.IResult;\n library = `amplitude-ts/${VERSION}`;\n\n constructor() {\n let agent: string | undefined;\n /* istanbul ignore else */\n if (typeof navigator !== 'undefined') {\n agent = navigator.userAgent;\n }\n this.uaResult = new UAParser(agent).getResult();\n }\n\n setup(config: BrowserConfig): Promise<undefined> {\n this.config = config;\n\n return Promise.resolve(undefined);\n }\n\n async execute(context: Event): Promise<Event> {\n /**\n * Manages user session triggered by new events\n */\n if (!this.isSessionValid()) {\n // Creates new session\n this.config.sessionId = Date.now();\n } // else use previously creates session\n // Updates last event time to extend time-based session\n this.config.lastEventTime = Date.now();\n const time = new Date().getTime();\n const osName = this.uaResult.browser.name;\n const osVersion = this.uaResult.browser.version;\n const deviceModel = this.uaResult.device.model || this.uaResult.os.name;\n const deviceVendor = this.uaResult.device.vendor;\n\n const event: Event = {\n user_id: this.config.userId,\n device_id: this.config.deviceId,\n session_id: this.config.sessionId,\n time,\n ...(this.config.appVersion && { app_version: this.config.appVersion }),\n ...(this.config.trackingOptions.platform && { platform: BROWSER_PLATFORM }),\n ...(this.config.trackingOptions.osName && { os_name: osName }),\n ...(this.config.trackingOptions.osVersion && { os_version: osVersion }),\n ...(this.config.trackingOptions.deviceManufacturer && { device_manufacturer: deviceVendor }),\n ...(this.config.trackingOptions.deviceModel && { device_model: deviceModel }),\n ...(this.config.trackingOptions.language && { language: getLanguage() }),\n ...(this.config.trackingOptions.ipAddress && { ip: IP_ADDRESS }),\n insert_id: UUID(),\n partner_id: this.config.partnerId,\n plan: this.config.plan,\n ...(this.config.ingestionMetadata && {\n ingestion_metadata: {\n source_name: this.config.ingestionMetadata.sourceName,\n source_version: this.config.ingestionMetadata.sourceVersion,\n },\n }),\n ...context,\n event_id: this.eventId++,\n library: this.library,\n };\n return event;\n }\n\n isSessionValid() {\n const lastEventTime = this.config.lastEventTime || Date.now();\n const timeSinceLastEvent = Date.now() - lastEventTime;\n return timeSinceLastEvent < this.config.sessionTimeout;\n }\n}\n"]}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/plugins/context.ts"],"names":[],"mappings":"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","sourcesContent":["import { BeforePlugin, BrowserConfig, Event, PluginType } from '@amplitude/analytics-types';\nimport UAParser from '@amplitude/ua-parser-js';\nimport { UUID } from '@amplitude/analytics-core';\nimport { getLanguage } from '@amplitude/analytics-client-common';\nimport { VERSION } from '../version';\n\nconst BROWSER_PLATFORM = 'Web';\nconst IP_ADDRESS = '$remote';\nexport class Context implements BeforePlugin {\n name = 'context';\n type = PluginType.BEFORE as const;\n\n // this.config is defined in setup() which will always be called first\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n config: BrowserConfig;\n eventId = 0;\n uaResult: UAParser.IResult;\n library = `amplitude-ts/${VERSION}`;\n\n constructor() {\n let agent: string | undefined;\n /* istanbul ignore else */\n if (typeof navigator !== 'undefined') {\n agent = navigator.userAgent;\n }\n this.uaResult = new UAParser(agent).getResult();\n }\n\n setup(config: BrowserConfig): Promise<undefined> {\n this.config = config;\n\n return Promise.resolve(undefined);\n }\n\n async execute(context: Event): Promise<Event> {\n const time = new Date().getTime();\n const osName = this.uaResult.browser.name;\n const osVersion = this.uaResult.browser.version;\n const deviceModel = this.uaResult.device.model || this.uaResult.os.name;\n const deviceVendor = this.uaResult.device.vendor;\n\n const event: Event = {\n user_id: this.config.userId,\n device_id: this.config.deviceId,\n session_id: this.config.sessionId,\n time,\n ...(this.config.appVersion && { app_version: this.config.appVersion }),\n ...(this.config.trackingOptions.platform && { platform: BROWSER_PLATFORM }),\n ...(this.config.trackingOptions.osName && { os_name: osName }),\n ...(this.config.trackingOptions.osVersion && { os_version: osVersion }),\n ...(this.config.trackingOptions.deviceManufacturer && { device_manufacturer: deviceVendor }),\n ...(this.config.trackingOptions.deviceModel && { device_model: deviceModel }),\n ...(this.config.trackingOptions.language && { language: getLanguage() }),\n ...(this.config.trackingOptions.ipAddress && { ip: IP_ADDRESS }),\n insert_id: UUID(),\n partner_id: this.config.partnerId,\n plan: this.config.plan,\n ...(this.config.ingestionMetadata && {\n ingestion_metadata: {\n source_name: this.config.ingestionMetadata.sourceName,\n source_version: this.config.ingestionMetadata.sourceVersion,\n },\n }),\n ...context,\n event_id: this.eventId++,\n library: this.library,\n };\n return event;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"file-download-tracking.d.ts","sourceRoot":"","sources":["../../../src/plugins/file-download-tracking.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAKhG,eAAO,MAAM,oBAAoB,QAAO,gBAuEvC,CAAC"}
1
+ {"version":3,"file":"file-download-tracking.d.ts","sourceRoot":"","sources":["../../../src/plugins/file-download-tracking.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAIhG,eAAO,MAAM,oBAAoB,QAAO,gBAuEvC,CAAC"}
@@ -3,9 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.fileDownloadTracking = void 0;
4
4
  var tslib_1 = require("tslib");
5
5
  var analytics_types_1 = require("@amplitude/analytics-types");
6
- var FILE_DOWNLOAD_EVENT = 'file_download';
6
+ var constants_1 = require("../constants");
7
7
  var fileDownloadTracking = function () {
8
- var name = 'fileDownloadTracking';
8
+ var name = '@amplitude/plugin-file-download-tracking-browser';
9
9
  var type = analytics_types_1.PluginType.ENRICHMENT;
10
10
  var setup = function (config, amplitude) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
11
11
  var addFileDownloadListener, ext, links, observer;
@@ -24,7 +24,7 @@ var fileDownloadTracking = function () {
24
24
  if (fileExtension_1) {
25
25
  a.addEventListener('click', function () {
26
26
  if (fileExtension_1) {
27
- amplitude.track(FILE_DOWNLOAD_EVENT, {
27
+ amplitude.track(constants_1.DEFAULT_FILE_DOWNLOAD_EVENT, {
28
28
  file_extension: fileExtension_1,
29
29
  file_name: url_1.pathname,
30
30
  link_id: a.id,
@@ -1 +1 @@
1
- {"version":3,"file":"file-download-tracking.js","sourceRoot":"","sources":["../../../src/plugins/file-download-tracking.ts"],"names":[],"mappings":"AAAA,iBA6EA;;;;AA7EA,8DAAgG;AAGhG,IAAM,mBAAmB,GAAG,eAAe,CAAC;AAErC,IAAM,oBAAoB,GAAG;IAClC,IAAM,IAAI,GAAG,sBAAsB,CAAC;IACpC,IAAM,IAAI,GAAG,4BAAU,CAAC,UAAU,CAAC;IACnC,IAAM,KAAK,GAAG,UAAO,MAAqB,EAAE,SAAyB;;;YACnE,wBAAwB;YACxB,IAAI,CAAC,SAAS,EAAE;gBACd,qEAAqE;gBACrE,MAAM,CAAC,cAAc,CAAC,IAAI,CACxB,wHAAwH,CACzH,CAAC;gBACF,sBAAO;aACR;YAEK,uBAAuB,GAAG,UAAC,CAAoB;gBACnD,IAAI;oBACF,IAAM,KAAG,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBAC5B,IAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,KAAG,CAAC,IAAI,CAAC,CAAC;oBAClC,IAAM,eAAa,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,CAAC,CAAC,CAAC;oBAElC,IAAI,eAAa,EAAE;wBACjB,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE;4BAC1B,IAAI,eAAa,EAAE;gCACjB,SAAS,CAAC,KAAK,CAAC,mBAAmB,EAAE;oCACnC,cAAc,EAAE,eAAa;oCAC7B,SAAS,EAAE,KAAG,CAAC,QAAQ;oCACvB,OAAO,EAAE,CAAC,CAAC,EAAE;oCACb,SAAS,EAAE,CAAC,CAAC,IAAI;oCACjB,QAAQ,EAAE,CAAC,CAAC,IAAI;iCACjB,CAAC,CAAC;6BACJ;wBACH,CAAC,CAAC,CAAC;qBACJ;iBACF;gBAAC,WAAM;oBACN,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,yEAAyE,CAAC,CAAC;iBACxG;YACH,CAAC,CAAC;YAEI,GAAG,GACP,+GAA+G,CAAC;YAG5G,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7D,KAAK,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;YAEvC,wDAAwD;YACxD,0BAA0B;YAC1B,IAAI,OAAO,gBAAgB,KAAK,WAAW,EAAE;gBACrC,QAAQ,GAAG,IAAI,gBAAgB,CAAC,UAAC,SAAS;oBAC9C,SAAS,CAAC,OAAO,CAAC,UAAC,QAAQ;wBACzB,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,UAAC,IAAI;4BAC/B,IAAI,IAAI,CAAC,QAAQ,KAAK,GAAG,EAAE;gCACzB,uBAAuB,CAAC,IAAyB,CAAC,CAAC;6BACpD;wBACH,CAAC,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE;oBAC9B,OAAO,EAAE,IAAI;oBACb,SAAS,EAAE,IAAI;iBAChB,CAAC,CAAC;aACJ;;;SACF,CAAC;IACF,IAAM,OAAO,GAAG,UAAO,KAAY;QAAK,sBAAA,KAAK,EAAA;aAAA,CAAC;IAE9C,OAAO;QACL,IAAI,MAAA;QACJ,IAAI,MAAA;QACJ,KAAK,OAAA;QACL,OAAO,SAAA;KACR,CAAC;AACJ,CAAC,CAAC;AAvEW,QAAA,oBAAoB,wBAuE/B","sourcesContent":["import { BrowserClient, PluginType, Event, EnrichmentPlugin } from '@amplitude/analytics-types';\nimport { BrowserConfig } from '../config';\n\nconst FILE_DOWNLOAD_EVENT = 'file_download';\n\nexport const fileDownloadTracking = (): EnrichmentPlugin => {\n const name = 'fileDownloadTracking';\n const type = PluginType.ENRICHMENT;\n const setup = async (config: BrowserConfig, amplitude?: BrowserClient) => {\n /* istanbul ignore if */\n if (!amplitude) {\n // TODO: Add required minimum version of @amplitude/analytics-browser\n config.loggerProvider.warn(\n 'File download tracking requires a later version of @amplitude/analytics-browser. File download events are not tracked.',\n );\n return;\n }\n\n const addFileDownloadListener = (a: HTMLAnchorElement) => {\n try {\n const url = new URL(a.href);\n const result = ext.exec(url.href);\n const fileExtension = result?.[1];\n\n if (fileExtension) {\n a.addEventListener('click', () => {\n if (fileExtension) {\n amplitude.track(FILE_DOWNLOAD_EVENT, {\n file_extension: fileExtension,\n file_name: url.pathname,\n link_id: a.id,\n link_text: a.text,\n link_url: a.href,\n });\n }\n });\n }\n } catch {\n config.loggerProvider.error(`Something went wrong. File download events are not tracked for a#{a.id}`);\n }\n };\n\n const ext =\n /\\.(pdf|xlsx?|docx?|txt|rtf|csv|exe|key|pp(s|t|tx)|7z|pkg|rar|gz|zip|avi|mov|mp4|mpe?g|wmv|midi?|mp3|wav|wma)$/;\n\n // Adds listener to existing anchor tags\n const links = Array.from(document.getElementsByTagName('a'));\n links.forEach(addFileDownloadListener);\n\n // Adds listener to anchor tags added after initial load\n /* istanbul ignore else */\n if (typeof MutationObserver !== 'undefined') {\n const observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n mutation.addedNodes.forEach((node) => {\n if (node.nodeName === 'A') {\n addFileDownloadListener(node as HTMLAnchorElement);\n }\n });\n });\n });\n\n observer.observe(document.body, {\n subtree: true,\n childList: true,\n });\n }\n };\n const execute = async (event: Event) => event;\n\n return {\n name,\n type,\n setup,\n execute,\n };\n};\n"]}
1
+ {"version":3,"file":"file-download-tracking.js","sourceRoot":"","sources":["../../../src/plugins/file-download-tracking.ts"],"names":[],"mappings":"AAAA,iBA4EA;;;;AA5EA,8DAAgG;AAChG,0CAA2D;AAGpD,IAAM,oBAAoB,GAAG;IAClC,IAAM,IAAI,GAAG,kDAAkD,CAAC;IAChE,IAAM,IAAI,GAAG,4BAAU,CAAC,UAAU,CAAC;IACnC,IAAM,KAAK,GAAG,UAAO,MAAqB,EAAE,SAAyB;;;YACnE,wBAAwB;YACxB,IAAI,CAAC,SAAS,EAAE;gBACd,qEAAqE;gBACrE,MAAM,CAAC,cAAc,CAAC,IAAI,CACxB,wHAAwH,CACzH,CAAC;gBACF,sBAAO;aACR;YAEK,uBAAuB,GAAG,UAAC,CAAoB;gBACnD,IAAI;oBACF,IAAM,KAAG,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBAC5B,IAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,KAAG,CAAC,IAAI,CAAC,CAAC;oBAClC,IAAM,eAAa,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,CAAC,CAAC,CAAC;oBAElC,IAAI,eAAa,EAAE;wBACjB,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE;4BAC1B,IAAI,eAAa,EAAE;gCACjB,SAAS,CAAC,KAAK,CAAC,uCAA2B,EAAE;oCAC3C,cAAc,EAAE,eAAa;oCAC7B,SAAS,EAAE,KAAG,CAAC,QAAQ;oCACvB,OAAO,EAAE,CAAC,CAAC,EAAE;oCACb,SAAS,EAAE,CAAC,CAAC,IAAI;oCACjB,QAAQ,EAAE,CAAC,CAAC,IAAI;iCACjB,CAAC,CAAC;6BACJ;wBACH,CAAC,CAAC,CAAC;qBACJ;iBACF;gBAAC,WAAM;oBACN,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,yEAAyE,CAAC,CAAC;iBACxG;YACH,CAAC,CAAC;YAEI,GAAG,GACP,+GAA+G,CAAC;YAG5G,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7D,KAAK,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;YAEvC,wDAAwD;YACxD,0BAA0B;YAC1B,IAAI,OAAO,gBAAgB,KAAK,WAAW,EAAE;gBACrC,QAAQ,GAAG,IAAI,gBAAgB,CAAC,UAAC,SAAS;oBAC9C,SAAS,CAAC,OAAO,CAAC,UAAC,QAAQ;wBACzB,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,UAAC,IAAI;4BAC/B,IAAI,IAAI,CAAC,QAAQ,KAAK,GAAG,EAAE;gCACzB,uBAAuB,CAAC,IAAyB,CAAC,CAAC;6BACpD;wBACH,CAAC,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE;oBAC9B,OAAO,EAAE,IAAI;oBACb,SAAS,EAAE,IAAI;iBAChB,CAAC,CAAC;aACJ;;;SACF,CAAC;IACF,IAAM,OAAO,GAAG,UAAO,KAAY;QAAK,sBAAA,KAAK,EAAA;aAAA,CAAC;IAE9C,OAAO;QACL,IAAI,MAAA;QACJ,IAAI,MAAA;QACJ,KAAK,OAAA;QACL,OAAO,SAAA;KACR,CAAC;AACJ,CAAC,CAAC;AAvEW,QAAA,oBAAoB,wBAuE/B","sourcesContent":["import { BrowserClient, PluginType, Event, EnrichmentPlugin } from '@amplitude/analytics-types';\nimport { DEFAULT_FILE_DOWNLOAD_EVENT } from '../constants';\nimport { BrowserConfig } from '../config';\n\nexport const fileDownloadTracking = (): EnrichmentPlugin => {\n const name = '@amplitude/plugin-file-download-tracking-browser';\n const type = PluginType.ENRICHMENT;\n const setup = async (config: BrowserConfig, amplitude?: BrowserClient) => {\n /* istanbul ignore if */\n if (!amplitude) {\n // TODO: Add required minimum version of @amplitude/analytics-browser\n config.loggerProvider.warn(\n 'File download tracking requires a later version of @amplitude/analytics-browser. File download events are not tracked.',\n );\n return;\n }\n\n const addFileDownloadListener = (a: HTMLAnchorElement) => {\n try {\n const url = new URL(a.href);\n const result = ext.exec(url.href);\n const fileExtension = result?.[1];\n\n if (fileExtension) {\n a.addEventListener('click', () => {\n if (fileExtension) {\n amplitude.track(DEFAULT_FILE_DOWNLOAD_EVENT, {\n file_extension: fileExtension,\n file_name: url.pathname,\n link_id: a.id,\n link_text: a.text,\n link_url: a.href,\n });\n }\n });\n }\n } catch {\n config.loggerProvider.error(`Something went wrong. File download events are not tracked for a#{a.id}`);\n }\n };\n\n const ext =\n /\\.(pdf|xlsx?|docx?|txt|rtf|csv|exe|key|pp(s|t|tx)|7z|pkg|rar|gz|zip|avi|mov|mp4|mpe?g|wmv|midi?|mp3|wav|wma)$/;\n\n // Adds listener to existing anchor tags\n const links = Array.from(document.getElementsByTagName('a'));\n links.forEach(addFileDownloadListener);\n\n // Adds listener to anchor tags added after initial load\n /* istanbul ignore else */\n if (typeof MutationObserver !== 'undefined') {\n const observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n mutation.addedNodes.forEach((node) => {\n if (node.nodeName === 'A') {\n addFileDownloadListener(node as HTMLAnchorElement);\n }\n });\n });\n });\n\n observer.observe(document.body, {\n subtree: true,\n childList: true,\n });\n }\n };\n const execute = async (event: Event) => event;\n\n return {\n name,\n type,\n setup,\n execute,\n };\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"form-interaction-tracking.d.ts","sourceRoot":"","sources":["../../../src/plugins/form-interaction-tracking.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAMhG,eAAO,MAAM,uBAAuB,QAAO,gBAgF1C,CAAC"}
1
+ {"version":3,"file":"form-interaction-tracking.d.ts","sourceRoot":"","sources":["../../../src/plugins/form-interaction-tracking.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAIhG,eAAO,MAAM,uBAAuB,QAAO,gBAgF1C,CAAC"}
@@ -3,10 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.formInteractionTracking = void 0;
4
4
  var tslib_1 = require("tslib");
5
5
  var analytics_types_1 = require("@amplitude/analytics-types");
6
- var FORM_START_EVENT = 'form_start';
7
- var FORM_SUBMIT_EVENT = 'form_submit';
6
+ var constants_1 = require("../constants");
8
7
  var formInteractionTracking = function () {
9
- var name = 'formInteractionTracking';
8
+ var name = '@amplitude/plugin-form-interaction-tracking-browser';
10
9
  var type = analytics_types_1.PluginType.ENRICHMENT;
11
10
  var setup = function (config, amplitude) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
12
11
  var addFormInteractionListener, forms, observer;
@@ -21,7 +20,7 @@ var formInteractionTracking = function () {
21
20
  var hasFormChanged = false;
22
21
  form.addEventListener('change', function () {
23
22
  if (!hasFormChanged) {
24
- amplitude.track(FORM_START_EVENT, {
23
+ amplitude.track(constants_1.DEFAULT_FORM_START_EVENT, {
25
24
  form_id: form.id,
26
25
  form_name: form.name,
27
26
  form_destination: form.action,
@@ -31,13 +30,13 @@ var formInteractionTracking = function () {
31
30
  }, {});
32
31
  form.addEventListener('submit', function () {
33
32
  if (!hasFormChanged) {
34
- amplitude.track(FORM_START_EVENT, {
33
+ amplitude.track(constants_1.DEFAULT_FORM_START_EVENT, {
35
34
  form_id: form.id,
36
35
  form_name: form.name,
37
36
  form_destination: form.action,
38
37
  });
39
38
  }
40
- amplitude.track(FORM_SUBMIT_EVENT, {
39
+ amplitude.track(constants_1.DEFAULT_FORM_SUBMIT_EVENT, {
41
40
  form_id: form.id,
42
41
  form_name: form.name,
43
42
  form_destination: form.action,
@@ -1 +1 @@
1
- {"version":3,"file":"form-interaction-tracking.js","sourceRoot":"","sources":["../../../src/plugins/form-interaction-tracking.ts"],"names":[],"mappings":"AAAA,iBAuFA;;;;AAvFA,8DAAgG;AAGhG,IAAM,gBAAgB,GAAG,YAAY,CAAC;AACtC,IAAM,iBAAiB,GAAG,aAAa,CAAC;AAEjC,IAAM,uBAAuB,GAAG;IACrC,IAAM,IAAI,GAAG,yBAAyB,CAAC;IACvC,IAAM,IAAI,GAAG,4BAAU,CAAC,UAAU,CAAC;IACnC,IAAM,KAAK,GAAG,UAAO,MAAqB,EAAE,SAAyB;;;YACnE,wBAAwB;YACxB,IAAI,CAAC,SAAS,EAAE;gBACd,qEAAqE;gBACrE,MAAM,CAAC,cAAc,CAAC,IAAI,CACxB,8HAA8H,CAC/H,CAAC;gBACF,sBAAO;aACR;YAEK,0BAA0B,GAAG,UAAC,IAAqB;gBACvD,IAAI,cAAc,GAAG,KAAK,CAAC;gBAE3B,IAAI,CAAC,gBAAgB,CACnB,QAAQ,EACR;oBACE,IAAI,CAAC,cAAc,EAAE;wBACnB,SAAS,CAAC,KAAK,CAAC,gBAAgB,EAAE;4BAChC,OAAO,EAAE,IAAI,CAAC,EAAE;4BAChB,SAAS,EAAE,IAAI,CAAC,IAAI;4BACpB,gBAAgB,EAAE,IAAI,CAAC,MAAM;yBAC9B,CAAC,CAAC;qBACJ;oBACD,cAAc,GAAG,IAAI,CAAC;gBACxB,CAAC,EACD,EAAE,CACH,CAAC;gBAEF,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE;oBAC9B,IAAI,CAAC,cAAc,EAAE;wBACnB,SAAS,CAAC,KAAK,CAAC,gBAAgB,EAAE;4BAChC,OAAO,EAAE,IAAI,CAAC,EAAE;4BAChB,SAAS,EAAE,IAAI,CAAC,IAAI;4BACpB,gBAAgB,EAAE,IAAI,CAAC,MAAM;yBAC9B,CAAC,CAAC;qBACJ;oBAED,SAAS,CAAC,KAAK,CAAC,iBAAiB,EAAE;wBACjC,OAAO,EAAE,IAAI,CAAC,EAAE;wBAChB,SAAS,EAAE,IAAI,CAAC,IAAI;wBACpB,gBAAgB,EAAE,IAAI,CAAC,MAAM;qBAC9B,CAAC,CAAC;oBACH,cAAc,GAAG,KAAK,CAAC;gBACzB,CAAC,CAAC,CAAC;YACL,CAAC,CAAC;YAGI,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;YAChE,KAAK,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;YAE1C,wDAAwD;YACxD,0BAA0B;YAC1B,IAAI,OAAO,gBAAgB,KAAK,WAAW,EAAE;gBACrC,QAAQ,GAAG,IAAI,gBAAgB,CAAC,UAAC,SAAS;oBAC9C,SAAS,CAAC,OAAO,CAAC,UAAC,QAAQ;wBACzB,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,UAAC,IAAI;4BAC/B,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM,EAAE;gCAC5B,0BAA0B,CAAC,IAAuB,CAAC,CAAC;6BACrD;wBACH,CAAC,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE;oBAC9B,OAAO,EAAE,IAAI;oBACb,SAAS,EAAE,IAAI;iBAChB,CAAC,CAAC;aACJ;;;SACF,CAAC;IACF,IAAM,OAAO,GAAG,UAAO,KAAY;QAAK,sBAAA,KAAK,EAAA;aAAA,CAAC;IAE9C,OAAO;QACL,IAAI,MAAA;QACJ,IAAI,MAAA;QACJ,KAAK,OAAA;QACL,OAAO,SAAA;KACR,CAAC;AACJ,CAAC,CAAC;AAhFW,QAAA,uBAAuB,2BAgFlC","sourcesContent":["import { BrowserClient, PluginType, Event, EnrichmentPlugin } from '@amplitude/analytics-types';\nimport { BrowserConfig } from '../config';\n\nconst FORM_START_EVENT = 'form_start';\nconst FORM_SUBMIT_EVENT = 'form_submit';\n\nexport const formInteractionTracking = (): EnrichmentPlugin => {\n const name = 'formInteractionTracking';\n const type = PluginType.ENRICHMENT;\n const setup = async (config: BrowserConfig, amplitude?: BrowserClient) => {\n /* istanbul ignore if */\n if (!amplitude) {\n // TODO: Add required minimum version of @amplitude/analytics-browser\n config.loggerProvider.warn(\n 'Form interaction tracking requires a later version of @amplitude/analytics-browser. Form interaction events are not tracked.',\n );\n return;\n }\n\n const addFormInteractionListener = (form: HTMLFormElement) => {\n let hasFormChanged = false;\n\n form.addEventListener(\n 'change',\n () => {\n if (!hasFormChanged) {\n amplitude.track(FORM_START_EVENT, {\n form_id: form.id,\n form_name: form.name,\n form_destination: form.action,\n });\n }\n hasFormChanged = true;\n },\n {},\n );\n\n form.addEventListener('submit', () => {\n if (!hasFormChanged) {\n amplitude.track(FORM_START_EVENT, {\n form_id: form.id,\n form_name: form.name,\n form_destination: form.action,\n });\n }\n\n amplitude.track(FORM_SUBMIT_EVENT, {\n form_id: form.id,\n form_name: form.name,\n form_destination: form.action,\n });\n hasFormChanged = false;\n });\n };\n\n // Adds listener to existing anchor tags\n const forms = Array.from(document.getElementsByTagName('form'));\n forms.forEach(addFormInteractionListener);\n\n // Adds listener to anchor tags added after initial load\n /* istanbul ignore else */\n if (typeof MutationObserver !== 'undefined') {\n const observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n mutation.addedNodes.forEach((node) => {\n if (node.nodeName === 'FORM') {\n addFormInteractionListener(node as HTMLFormElement);\n }\n });\n });\n });\n\n observer.observe(document.body, {\n subtree: true,\n childList: true,\n });\n }\n };\n const execute = async (event: Event) => event;\n\n return {\n name,\n type,\n setup,\n execute,\n };\n};\n"]}
1
+ {"version":3,"file":"form-interaction-tracking.js","sourceRoot":"","sources":["../../../src/plugins/form-interaction-tracking.ts"],"names":[],"mappings":"AAAA,iBAqFA;;;;AArFA,8DAAgG;AAChG,0CAAmF;AAG5E,IAAM,uBAAuB,GAAG;IACrC,IAAM,IAAI,GAAG,qDAAqD,CAAC;IACnE,IAAM,IAAI,GAAG,4BAAU,CAAC,UAAU,CAAC;IACnC,IAAM,KAAK,GAAG,UAAO,MAAqB,EAAE,SAAyB;;;YACnE,wBAAwB;YACxB,IAAI,CAAC,SAAS,EAAE;gBACd,qEAAqE;gBACrE,MAAM,CAAC,cAAc,CAAC,IAAI,CACxB,8HAA8H,CAC/H,CAAC;gBACF,sBAAO;aACR;YAEK,0BAA0B,GAAG,UAAC,IAAqB;gBACvD,IAAI,cAAc,GAAG,KAAK,CAAC;gBAE3B,IAAI,CAAC,gBAAgB,CACnB,QAAQ,EACR;oBACE,IAAI,CAAC,cAAc,EAAE;wBACnB,SAAS,CAAC,KAAK,CAAC,oCAAwB,EAAE;4BACxC,OAAO,EAAE,IAAI,CAAC,EAAE;4BAChB,SAAS,EAAE,IAAI,CAAC,IAAI;4BACpB,gBAAgB,EAAE,IAAI,CAAC,MAAM;yBAC9B,CAAC,CAAC;qBACJ;oBACD,cAAc,GAAG,IAAI,CAAC;gBACxB,CAAC,EACD,EAAE,CACH,CAAC;gBAEF,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE;oBAC9B,IAAI,CAAC,cAAc,EAAE;wBACnB,SAAS,CAAC,KAAK,CAAC,oCAAwB,EAAE;4BACxC,OAAO,EAAE,IAAI,CAAC,EAAE;4BAChB,SAAS,EAAE,IAAI,CAAC,IAAI;4BACpB,gBAAgB,EAAE,IAAI,CAAC,MAAM;yBAC9B,CAAC,CAAC;qBACJ;oBAED,SAAS,CAAC,KAAK,CAAC,qCAAyB,EAAE;wBACzC,OAAO,EAAE,IAAI,CAAC,EAAE;wBAChB,SAAS,EAAE,IAAI,CAAC,IAAI;wBACpB,gBAAgB,EAAE,IAAI,CAAC,MAAM;qBAC9B,CAAC,CAAC;oBACH,cAAc,GAAG,KAAK,CAAC;gBACzB,CAAC,CAAC,CAAC;YACL,CAAC,CAAC;YAGI,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;YAChE,KAAK,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;YAE1C,wDAAwD;YACxD,0BAA0B;YAC1B,IAAI,OAAO,gBAAgB,KAAK,WAAW,EAAE;gBACrC,QAAQ,GAAG,IAAI,gBAAgB,CAAC,UAAC,SAAS;oBAC9C,SAAS,CAAC,OAAO,CAAC,UAAC,QAAQ;wBACzB,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,UAAC,IAAI;4BAC/B,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM,EAAE;gCAC5B,0BAA0B,CAAC,IAAuB,CAAC,CAAC;6BACrD;wBACH,CAAC,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE;oBAC9B,OAAO,EAAE,IAAI;oBACb,SAAS,EAAE,IAAI;iBAChB,CAAC,CAAC;aACJ;;;SACF,CAAC;IACF,IAAM,OAAO,GAAG,UAAO,KAAY;QAAK,sBAAA,KAAK,EAAA;aAAA,CAAC;IAE9C,OAAO;QACL,IAAI,MAAA;QACJ,IAAI,MAAA;QACJ,KAAK,OAAA;QACL,OAAO,SAAA;KACR,CAAC;AACJ,CAAC,CAAC;AAhFW,QAAA,uBAAuB,2BAgFlC","sourcesContent":["import { BrowserClient, PluginType, Event, EnrichmentPlugin } from '@amplitude/analytics-types';\nimport { DEFAULT_FORM_START_EVENT, DEFAULT_FORM_SUBMIT_EVENT } from '../constants';\nimport { BrowserConfig } from '../config';\n\nexport const formInteractionTracking = (): EnrichmentPlugin => {\n const name = '@amplitude/plugin-form-interaction-tracking-browser';\n const type = PluginType.ENRICHMENT;\n const setup = async (config: BrowserConfig, amplitude?: BrowserClient) => {\n /* istanbul ignore if */\n if (!amplitude) {\n // TODO: Add required minimum version of @amplitude/analytics-browser\n config.loggerProvider.warn(\n 'Form interaction tracking requires a later version of @amplitude/analytics-browser. Form interaction events are not tracked.',\n );\n return;\n }\n\n const addFormInteractionListener = (form: HTMLFormElement) => {\n let hasFormChanged = false;\n\n form.addEventListener(\n 'change',\n () => {\n if (!hasFormChanged) {\n amplitude.track(DEFAULT_FORM_START_EVENT, {\n form_id: form.id,\n form_name: form.name,\n form_destination: form.action,\n });\n }\n hasFormChanged = true;\n },\n {},\n );\n\n form.addEventListener('submit', () => {\n if (!hasFormChanged) {\n amplitude.track(DEFAULT_FORM_START_EVENT, {\n form_id: form.id,\n form_name: form.name,\n form_destination: form.action,\n });\n }\n\n amplitude.track(DEFAULT_FORM_SUBMIT_EVENT, {\n form_id: form.id,\n form_name: form.name,\n form_destination: form.action,\n });\n hasFormChanged = false;\n });\n };\n\n // Adds listener to existing anchor tags\n const forms = Array.from(document.getElementsByTagName('form'));\n forms.forEach(addFormInteractionListener);\n\n // Adds listener to anchor tags added after initial load\n /* istanbul ignore else */\n if (typeof MutationObserver !== 'undefined') {\n const observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n mutation.addedNodes.forEach((node) => {\n if (node.nodeName === 'FORM') {\n addFormInteractionListener(node as HTMLFormElement);\n }\n });\n });\n });\n\n observer.observe(document.body, {\n subtree: true,\n childList: true,\n });\n }\n };\n const execute = async (event: Event) => event;\n\n return {\n name,\n type,\n setup,\n execute,\n };\n};\n"]}
@@ -0,0 +1,3 @@
1
+ import { BeforePlugin } from '@amplitude/analytics-types';
2
+ export declare const sessionHandlerPlugin: () => BeforePlugin;
3
+ //# sourceMappingURL=session-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-handler.d.ts","sourceRoot":"","sources":["../../../src/plugins/session-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAmD,MAAM,4BAA4B,CAAC;AAG3G,eAAO,MAAM,oBAAoB,QAAO,YAiDvC,CAAC"}
@@ -0,0 +1,54 @@
1
+ var _this = this;
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sessionHandlerPlugin = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var analytics_types_1 = require("@amplitude/analytics-types");
6
+ var constants_1 = require("../constants");
7
+ var sessionHandlerPlugin = function () {
8
+ // browserConfig is defined in setup() which will always be called first
9
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
10
+ // @ts-ignore
11
+ var browserConfig;
12
+ // amplitude is defined in setup() which will always be called first
13
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
14
+ // @ts-ignore
15
+ var amplitude;
16
+ var name = '@amplitude/plugin-session-handler';
17
+ var type = analytics_types_1.PluginType.BEFORE;
18
+ var setup = function (config, client) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
19
+ return tslib_1.__generator(this, function (_a) {
20
+ browserConfig = config;
21
+ amplitude = client;
22
+ return [2 /*return*/];
23
+ });
24
+ }); };
25
+ var execute = function (event) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
26
+ var now, lastEventTime, timeSinceLastEvent;
27
+ return tslib_1.__generator(this, function (_a) {
28
+ now = Date.now();
29
+ if (event.event_type === constants_1.DEFAULT_SESSION_START_EVENT || event.event_type === constants_1.DEFAULT_SESSION_END_EVENT) {
30
+ browserConfig.lastEventTime = now;
31
+ return [2 /*return*/, event];
32
+ }
33
+ lastEventTime = browserConfig.lastEventTime || now;
34
+ timeSinceLastEvent = now - lastEventTime;
35
+ if (timeSinceLastEvent > browserConfig.sessionTimeout) {
36
+ // assigns new session
37
+ amplitude.setSessionId(now);
38
+ event.session_id = amplitude.getSessionId();
39
+ event.time = now;
40
+ } // else use existing session
41
+ // updates last event time to extend time-based session
42
+ browserConfig.lastEventTime = now;
43
+ return [2 /*return*/, event];
44
+ });
45
+ }); };
46
+ return {
47
+ name: name,
48
+ type: type,
49
+ setup: setup,
50
+ execute: execute,
51
+ };
52
+ };
53
+ exports.sessionHandlerPlugin = sessionHandlerPlugin;
54
+ //# sourceMappingURL=session-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-handler.js","sourceRoot":"","sources":["../../../src/plugins/session-handler.ts"],"names":[],"mappings":"AAAA,iBAqDA;;;;AArDA,8DAA2G;AAC3G,0CAAsF;AAE/E,IAAM,oBAAoB,GAAG;IAClC,wEAAwE;IACxE,6DAA6D;IAC7D,aAAa;IACb,IAAI,aAA4B,CAAC;IACjC,oEAAoE;IACpE,6DAA6D;IAC7D,aAAa;IACb,IAAI,SAAwB,CAAC;IAE7B,IAAM,IAAI,GAAG,mCAAmC,CAAC;IAEjD,IAAM,IAAI,GAAG,4BAAU,CAAC,MAAM,CAAC;IAE/B,IAAM,KAAK,GAAG,UAAO,MAAqB,EAAE,MAAqB;;YAC/D,aAAa,GAAG,MAAM,CAAC;YACvB,SAAS,GAAG,MAAM,CAAC;;;SACpB,CAAC;IAEF,IAAM,OAAO,GAAG,UAAO,KAAY;;;YAC3B,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAEvB,IAAI,KAAK,CAAC,UAAU,KAAK,uCAA2B,IAAI,KAAK,CAAC,UAAU,KAAK,qCAAyB,EAAE;gBACtG,aAAa,CAAC,aAAa,GAAG,GAAG,CAAC;gBAClC,sBAAO,KAAK,EAAC;aACd;YAEK,aAAa,GAAG,aAAa,CAAC,aAAa,IAAI,GAAG,CAAC;YACnD,kBAAkB,GAAG,GAAG,GAAG,aAAa,CAAC;YAE/C,IAAI,kBAAkB,GAAG,aAAa,CAAC,cAAc,EAAE;gBACrD,sBAAsB;gBACtB,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;gBAC5B,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC,YAAY,EAAE,CAAC;gBAC5C,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC;aAClB,CAAC,4BAA4B;YAE9B,uDAAuD;YACvD,aAAa,CAAC,aAAa,GAAG,GAAG,CAAC;YAElC,sBAAO,KAAK,EAAC;;SACd,CAAC;IAEF,OAAO;QACL,IAAI,MAAA;QACJ,IAAI,MAAA;QACJ,KAAK,OAAA;QACL,OAAO,SAAA;KACR,CAAC;AACJ,CAAC,CAAC;AAjDW,QAAA,oBAAoB,wBAiD/B","sourcesContent":["import { BeforePlugin, BrowserClient, BrowserConfig, Event, PluginType } from '@amplitude/analytics-types';\nimport { DEFAULT_SESSION_END_EVENT, DEFAULT_SESSION_START_EVENT } from '../constants';\n\nexport const sessionHandlerPlugin = (): BeforePlugin => {\n // browserConfig is defined in setup() which will always be called first\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n let browserConfig: BrowserConfig;\n // amplitude is defined in setup() which will always be called first\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n let amplitude: BrowserClient;\n\n const name = '@amplitude/plugin-session-handler';\n\n const type = PluginType.BEFORE;\n\n const setup = async (config: BrowserConfig, client: BrowserClient) => {\n browserConfig = config;\n amplitude = client;\n };\n\n const execute = async (event: Event) => {\n const now = Date.now();\n\n if (event.event_type === DEFAULT_SESSION_START_EVENT || event.event_type === DEFAULT_SESSION_END_EVENT) {\n browserConfig.lastEventTime = now;\n return event;\n }\n\n const lastEventTime = browserConfig.lastEventTime || now;\n const timeSinceLastEvent = now - lastEventTime;\n\n if (timeSinceLastEvent > browserConfig.sessionTimeout) {\n // assigns new session\n amplitude.setSessionId(now);\n event.session_id = amplitude.getSessionId();\n event.time = now;\n } // else use existing session\n\n // updates last event time to extend time-based session\n browserConfig.lastEventTime = now;\n\n return event;\n };\n\n return {\n name,\n type,\n setup,\n execute,\n };\n};\n"]}
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "1.8.0";
1
+ export declare const VERSION = "1.9.0-beta.1";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,UAAU,CAAC"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,iBAAiB,CAAC"}
@@ -1,4 +1,4 @@
1
1
  Object.defineProperty(exports, "__esModule", { value: true });
2
2
  exports.VERSION = void 0;
3
- exports.VERSION = '1.8.0';
3
+ exports.VERSION = '1.9.0-beta.1';
4
4
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";;AAAa,QAAA,OAAO,GAAG,OAAO,CAAC","sourcesContent":["export const VERSION = '1.8.0';\n"]}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";;AAAa,QAAA,OAAO,GAAG,cAAc,CAAC","sourcesContent":["export const VERSION = '1.9.0-beta.1';\n"]}
@@ -1,18 +1,18 @@
1
- import { debugWrapper, getClientLogConfig, getClientStates, returnWrapper } from '@amplitude/analytics-core';
1
+ import { debugWrapper, getClientLogConfig, getClientStates } from '@amplitude/analytics-core';
2
2
  import { AmplitudeBrowser } from './browser-client';
3
3
  export var createInstance = function () {
4
4
  var client = new AmplitudeBrowser();
5
5
  return {
6
- init: debugWrapper(returnWrapper(client.init.bind(client)), 'init', getClientLogConfig(client), getClientStates(client, ['config'])),
7
- add: debugWrapper(returnWrapper(client.add.bind(client)), 'add', getClientLogConfig(client), getClientStates(client, ['config.apiKey', 'timeline.plugins'])),
8
- remove: debugWrapper(returnWrapper(client.remove.bind(client)), 'remove', getClientLogConfig(client), getClientStates(client, ['config.apiKey', 'timeline.plugins'])),
9
- track: debugWrapper(returnWrapper(client.track.bind(client)), 'track', getClientLogConfig(client), getClientStates(client, ['config.apiKey', 'timeline.queue.length'])),
10
- logEvent: debugWrapper(returnWrapper(client.logEvent.bind(client)), 'logEvent', getClientLogConfig(client), getClientStates(client, ['config.apiKey', 'timeline.queue.length'])),
11
- identify: debugWrapper(returnWrapper(client.identify.bind(client)), 'identify', getClientLogConfig(client), getClientStates(client, ['config.apiKey', 'timeline.queue.length'])),
12
- groupIdentify: debugWrapper(returnWrapper(client.groupIdentify.bind(client)), 'groupIdentify', getClientLogConfig(client), getClientStates(client, ['config.apiKey', 'timeline.queue.length'])),
13
- setGroup: debugWrapper(returnWrapper(client.setGroup.bind(client)), 'setGroup', getClientLogConfig(client), getClientStates(client, ['config.apiKey', 'timeline.queue.length'])),
14
- revenue: debugWrapper(returnWrapper(client.revenue.bind(client)), 'revenue', getClientLogConfig(client), getClientStates(client, ['config.apiKey', 'timeline.queue.length'])),
15
- flush: debugWrapper(returnWrapper(client.flush.bind(client)), 'flush', getClientLogConfig(client), getClientStates(client, ['config.apiKey', 'timeline.queue.length'])),
6
+ init: debugWrapper(client.init.bind(client), 'init', getClientLogConfig(client), getClientStates(client, ['config'])),
7
+ add: debugWrapper(client.add.bind(client), 'add', getClientLogConfig(client), getClientStates(client, ['config.apiKey', 'timeline.plugins'])),
8
+ remove: debugWrapper(client.remove.bind(client), 'remove', getClientLogConfig(client), getClientStates(client, ['config.apiKey', 'timeline.plugins'])),
9
+ track: debugWrapper(client.track.bind(client), 'track', getClientLogConfig(client), getClientStates(client, ['config.apiKey', 'timeline.queue.length'])),
10
+ logEvent: debugWrapper(client.logEvent.bind(client), 'logEvent', getClientLogConfig(client), getClientStates(client, ['config.apiKey', 'timeline.queue.length'])),
11
+ identify: debugWrapper(client.identify.bind(client), 'identify', getClientLogConfig(client), getClientStates(client, ['config.apiKey', 'timeline.queue.length'])),
12
+ groupIdentify: debugWrapper(client.groupIdentify.bind(client), 'groupIdentify', getClientLogConfig(client), getClientStates(client, ['config.apiKey', 'timeline.queue.length'])),
13
+ setGroup: debugWrapper(client.setGroup.bind(client), 'setGroup', getClientLogConfig(client), getClientStates(client, ['config.apiKey', 'timeline.queue.length'])),
14
+ revenue: debugWrapper(client.revenue.bind(client), 'revenue', getClientLogConfig(client), getClientStates(client, ['config.apiKey', 'timeline.queue.length'])),
15
+ flush: debugWrapper(client.flush.bind(client), 'flush', getClientLogConfig(client), getClientStates(client, ['config.apiKey', 'timeline.queue.length'])),
16
16
  getUserId: debugWrapper(client.getUserId.bind(client), 'getUserId', getClientLogConfig(client), getClientStates(client, ['config', 'config.userId'])),
17
17
  setUserId: debugWrapper(client.setUserId.bind(client), 'setUserId', getClientLogConfig(client), getClientStates(client, ['config', 'config.userId'])),
18
18
  getDeviceId: debugWrapper(client.getDeviceId.bind(client), 'getDeviceId', getClientLogConfig(client), getClientStates(client, ['config', 'config.deviceId'])),
@@ -1 +1 @@
1
- {"version":3,"file":"browser-client-factory.js","sourceRoot":"","sources":["../../src/browser-client-factory.ts"],"names":[],"mappings":"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","sourcesContent":["import { debugWrapper, getClientLogConfig, getClientStates, returnWrapper } from '@amplitude/analytics-core';\nimport { BrowserClient } from '@amplitude/analytics-types';\nimport { AmplitudeBrowser } from './browser-client';\n\nexport const createInstance = (): BrowserClient => {\n const client = new AmplitudeBrowser();\n return {\n init: debugWrapper(\n returnWrapper(client.init.bind(client)),\n 'init',\n getClientLogConfig(client),\n getClientStates(client, ['config']),\n ),\n add: debugWrapper(\n returnWrapper(client.add.bind(client)),\n 'add',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.plugins']),\n ),\n remove: debugWrapper(\n returnWrapper(client.remove.bind(client)),\n 'remove',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.plugins']),\n ),\n track: debugWrapper(\n returnWrapper(client.track.bind(client)),\n 'track',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n logEvent: debugWrapper(\n returnWrapper(client.logEvent.bind(client)),\n 'logEvent',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n identify: debugWrapper(\n returnWrapper(client.identify.bind(client)),\n 'identify',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n groupIdentify: debugWrapper(\n returnWrapper(client.groupIdentify.bind(client)),\n 'groupIdentify',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n setGroup: debugWrapper(\n returnWrapper(client.setGroup.bind(client)),\n 'setGroup',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n revenue: debugWrapper(\n returnWrapper(client.revenue.bind(client)),\n 'revenue',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n flush: debugWrapper(\n returnWrapper(client.flush.bind(client)),\n 'flush',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n getUserId: debugWrapper(\n client.getUserId.bind(client),\n 'getUserId',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.userId']),\n ),\n setUserId: debugWrapper(\n client.setUserId.bind(client),\n 'setUserId',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.userId']),\n ),\n getDeviceId: debugWrapper(\n client.getDeviceId.bind(client),\n 'getDeviceId',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.deviceId']),\n ),\n setDeviceId: debugWrapper(\n client.setDeviceId.bind(client),\n 'setDeviceId',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.deviceId']),\n ),\n reset: debugWrapper(\n client.reset.bind(client),\n 'reset',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.userId', 'config.deviceId']),\n ),\n getSessionId: debugWrapper(\n client.getSessionId.bind(client),\n 'getSessionId',\n getClientLogConfig(client),\n getClientStates(client, ['config']),\n ),\n setSessionId: debugWrapper(\n client.setSessionId.bind(client),\n 'setSessionId',\n getClientLogConfig(client),\n getClientStates(client, ['config']),\n ),\n setOptOut: debugWrapper(\n client.setOptOut.bind(client),\n 'setOptOut',\n getClientLogConfig(client),\n getClientStates(client, ['config']),\n ),\n setTransport: debugWrapper(\n client.setTransport.bind(client),\n 'setTransport',\n getClientLogConfig(client),\n getClientStates(client, ['config']),\n ),\n };\n};\n\nexport default createInstance();\n"]}
1
+ {"version":3,"file":"browser-client-factory.js","sourceRoot":"","sources":["../../src/browser-client-factory.ts"],"names":[],"mappings":"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","sourcesContent":["import { debugWrapper, getClientLogConfig, getClientStates } from '@amplitude/analytics-core';\nimport { BrowserClient } from '@amplitude/analytics-types';\nimport { AmplitudeBrowser } from './browser-client';\n\nexport const createInstance = (): BrowserClient => {\n const client = new AmplitudeBrowser();\n return {\n init: debugWrapper(\n client.init.bind(client),\n 'init',\n getClientLogConfig(client),\n getClientStates(client, ['config']),\n ),\n add: debugWrapper(\n client.add.bind(client),\n 'add',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.plugins']),\n ),\n remove: debugWrapper(\n client.remove.bind(client),\n 'remove',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.plugins']),\n ),\n track: debugWrapper(\n client.track.bind(client),\n 'track',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n logEvent: debugWrapper(\n client.logEvent.bind(client),\n 'logEvent',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n identify: debugWrapper(\n client.identify.bind(client),\n 'identify',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n groupIdentify: debugWrapper(\n client.groupIdentify.bind(client),\n 'groupIdentify',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n setGroup: debugWrapper(\n client.setGroup.bind(client),\n 'setGroup',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n revenue: debugWrapper(\n client.revenue.bind(client),\n 'revenue',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n flush: debugWrapper(\n client.flush.bind(client),\n 'flush',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n getUserId: debugWrapper(\n client.getUserId.bind(client),\n 'getUserId',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.userId']),\n ),\n setUserId: debugWrapper(\n client.setUserId.bind(client),\n 'setUserId',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.userId']),\n ),\n getDeviceId: debugWrapper(\n client.getDeviceId.bind(client),\n 'getDeviceId',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.deviceId']),\n ),\n setDeviceId: debugWrapper(\n client.setDeviceId.bind(client),\n 'setDeviceId',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.deviceId']),\n ),\n reset: debugWrapper(\n client.reset.bind(client),\n 'reset',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.userId', 'config.deviceId']),\n ),\n getSessionId: debugWrapper(\n client.getSessionId.bind(client),\n 'getSessionId',\n getClientLogConfig(client),\n getClientStates(client, ['config']),\n ),\n setSessionId: debugWrapper(\n client.setSessionId.bind(client),\n 'setSessionId',\n getClientLogConfig(client),\n getClientStates(client, ['config']),\n ),\n setOptOut: debugWrapper(\n client.setOptOut.bind(client),\n 'setOptOut',\n getClientLogConfig(client),\n getClientStates(client, ['config']),\n ),\n setTransport: debugWrapper(\n client.setTransport.bind(client),\n 'setTransport',\n getClientLogConfig(client),\n getClientStates(client, ['config']),\n ),\n };\n};\n\nexport default createInstance();\n"]}