@amplitude/analytics-browser 2.0.0-beta.1 → 2.0.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/lib/cjs/config.d.ts +3 -4
- package/lib/cjs/config.d.ts.map +1 -1
- package/lib/cjs/config.js +5 -7
- package/lib/cjs/config.js.map +1 -1
- package/lib/cjs/plugins/context.d.ts +2 -2
- package/lib/cjs/plugins/context.d.ts.map +1 -1
- package/lib/cjs/plugins/context.js +2 -3
- package/lib/cjs/plugins/context.js.map +1 -1
- package/lib/cjs/plugins/file-download-tracking.d.ts.map +1 -1
- package/lib/cjs/plugins/file-download-tracking.js +1 -2
- package/lib/cjs/plugins/file-download-tracking.js.map +1 -1
- package/lib/cjs/plugins/form-interaction-tracking.d.ts.map +1 -1
- package/lib/cjs/plugins/form-interaction-tracking.js +1 -2
- package/lib/cjs/plugins/form-interaction-tracking.js.map +1 -1
- package/lib/cjs/plugins/session-handler.d.ts.map +1 -1
- package/lib/cjs/plugins/session-handler.js +1 -2
- package/lib/cjs/plugins/session-handler.js.map +1 -1
- package/lib/cjs/version.d.ts +1 -1
- package/lib/cjs/version.js +1 -1
- package/lib/cjs/version.js.map +1 -1
- package/lib/esm/config.d.ts +3 -4
- package/lib/esm/config.d.ts.map +1 -1
- package/lib/esm/config.js +6 -8
- package/lib/esm/config.js.map +1 -1
- package/lib/esm/plugins/context.d.ts +2 -2
- package/lib/esm/plugins/context.d.ts.map +1 -1
- package/lib/esm/plugins/context.js +2 -3
- package/lib/esm/plugins/context.js.map +1 -1
- package/lib/esm/plugins/file-download-tracking.d.ts.map +1 -1
- package/lib/esm/plugins/file-download-tracking.js +1 -2
- package/lib/esm/plugins/file-download-tracking.js.map +1 -1
- package/lib/esm/plugins/form-interaction-tracking.d.ts.map +1 -1
- package/lib/esm/plugins/form-interaction-tracking.js +1 -2
- package/lib/esm/plugins/form-interaction-tracking.js.map +1 -1
- package/lib/esm/plugins/session-handler.d.ts.map +1 -1
- package/lib/esm/plugins/session-handler.js +1 -2
- package/lib/esm/plugins/session-handler.js.map +1 -1
- package/lib/esm/version.d.ts +1 -1
- package/lib/esm/version.js +1 -1
- package/lib/esm/version.js.map +1 -1
- package/lib/scripts/amplitude-min.js +1 -1
- package/lib/scripts/amplitude-min.js.gz +0 -0
- package/lib/scripts/amplitude-min.umd.js +1 -1
- package/lib/scripts/amplitude-min.umd.js.gz +0 -0
- package/lib/scripts/amplitude-snippet-instructions.html +1 -1
- package/lib/scripts/amplitude-snippet-min.js +1 -1
- package/lib/scripts/config.d.ts +3 -4
- package/lib/scripts/config.d.ts.map +1 -1
- package/lib/scripts/plugins/context.d.ts +2 -2
- package/lib/scripts/plugins/context.d.ts.map +1 -1
- package/lib/scripts/plugins/file-download-tracking.d.ts.map +1 -1
- package/lib/scripts/plugins/form-interaction-tracking.d.ts.map +1 -1
- package/lib/scripts/plugins/session-handler.d.ts.map +1 -1
- package/lib/scripts/version.d.ts +1 -1
- package/package.json +7 -7
package/lib/esm/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Event,\n BrowserOptions,\n BrowserConfig as IBrowserConfig,\n DefaultTrackingOptions,\n Storage,\n TrackingOptions,\n TransportType,\n UserSession,\n Transport,\n Logger as ILogger,\n LogLevel,\n Plan,\n IngestionMetadata,\n IdentityStorageType,\n ServerZoneType,\n} from '@amplitude/analytics-types';\nimport { Config, Logger, MemoryStorage, UUID } from '@amplitude/analytics-core';\nimport { CookieStorage, getCookieName, FetchTransport, getQueryParams } from '@amplitude/analytics-client-common';\n\nimport { LocalStorage } from './storage/local-storage';\nimport { XHRTransport } from './transports/xhr';\nimport { SendBeaconTransport } from './transports/send-beacon';\nimport { parseLegacyCookies } from './cookie-migration';\nimport { CookieOptions } from '@amplitude/analytics-types/lib/esm/config/browser';\nimport { DEFAULT_IDENTITY_STORAGE, DEFAULT_SERVER_ZONE } from './constants';\nimport { AmplitudeBrowser } from './browser-client';\n\nexport class BrowserConfig extends Config implements IBrowserConfig {\n protected _cookieStorage: Storage<UserSession>;\n protected _deviceId?: string;\n protected _lastEventId?: number;\n protected _lastEventTime?: number;\n protected _optOut = false;\n protected _sessionId?: number;\n protected _userId?: string;\n\n constructor(\n public apiKey: string,\n public appVersion?: string,\n cookieStorage: Storage<UserSession> = new MemoryStorage(),\n public cookieOptions: CookieOptions = {\n domain: '',\n expiration: 365,\n sameSite: 'Lax' as const,\n secure: false,\n upgrade: true,\n },\n public defaultTracking: boolean | DefaultTrackingOptions = true,\n deviceId?: string,\n public flushIntervalMillis: number = 1000,\n public flushMaxRetries: number = 5,\n public flushQueueSize: number = 30,\n public identityStorage: IdentityStorageType = DEFAULT_IDENTITY_STORAGE,\n public ingestionMetadata?: IngestionMetadata,\n lastEventId?: number,\n lastEventTime?: number,\n public loggerProvider: ILogger = new Logger(),\n public logLevel: LogLevel = LogLevel.Warn,\n public minIdLength?: number,\n optOut = false,\n public partnerId?: string,\n public plan?: Plan,\n public serverUrl: string = '',\n public serverZone: ServerZoneType = DEFAULT_SERVER_ZONE,\n sessionId?: number,\n public sessionTimeout: number = 30 * 60 * 1000,\n public storageProvider: Storage<Event[]> = new LocalStorage(),\n public trackingOptions: Required<TrackingOptions> = {\n ipAddress: true,\n language: true,\n platform: true,\n },\n public transport: 'fetch' | 'xhr' | 'beacon' = 'fetch',\n public transportProvider: Transport = new FetchTransport(),\n public useBatch: boolean = false,\n userId?: string,\n ) {\n super({ apiKey, storageProvider, transportProvider });\n this._cookieStorage = cookieStorage;\n this.deviceId = deviceId;\n this.lastEventId = lastEventId;\n this.lastEventTime = lastEventTime;\n this.optOut = optOut;\n this.sessionId = sessionId;\n this.userId = userId;\n this.loggerProvider.enable(this.logLevel);\n }\n\n get cookieStorage() {\n return this._cookieStorage;\n }\n\n set cookieStorage(cookieStorage: Storage<UserSession>) {\n if (this._cookieStorage !== cookieStorage) {\n this._cookieStorage = cookieStorage;\n this.updateStorage();\n }\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 get lastEventId() {\n return this._lastEventId;\n }\n\n set lastEventId(lastEventId: number | undefined) {\n if (this._lastEventId !== lastEventId) {\n this._lastEventId = lastEventId;\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 lastEventId: this._lastEventId,\n };\n void this.cookieStorage.set(getCookieName(this.apiKey), cache);\n }\n}\n\nexport const useBrowserConfig = async (\n apiKey: string,\n options: BrowserOptions = {},\n amplitudeInstance: AmplitudeBrowser,\n): Promise<IBrowserConfig> => {\n // Step 1: Create identity storage instance\n const identityStorage = options.identityStorage || DEFAULT_IDENTITY_STORAGE;\n const cookieOptions = {\n ...options.cookieOptions,\n domain:\n identityStorage !== DEFAULT_IDENTITY_STORAGE ? '' : options.cookieOptions?.domain ?? (await getTopLevelDomain()),\n expiration: 365,\n sameSite: 'Lax' as const,\n secure: false,\n upgrade: true,\n };\n const cookieStorage = createCookieStorage<UserSession>(options.identityStorage, cookieOptions);\n\n // Step 1: Parse cookies using identity storage instance\n const legacyCookies = await parseLegacyCookies(apiKey, cookieStorage, options.cookieOptions?.upgrade ?? true);\n const previousCookies = await cookieStorage.get(getCookieName(apiKey));\n const queryParams = getQueryParams();\n\n // Step 3: Reconcile user identity\n const deviceId =\n options.deviceId ?? queryParams.deviceId ?? previousCookies?.deviceId ?? legacyCookies.deviceId ?? UUID();\n const lastEventId = previousCookies?.lastEventId;\n const lastEventTime = previousCookies?.lastEventTime ?? legacyCookies.lastEventTime;\n const optOut = options.optOut ?? previousCookies?.optOut ?? legacyCookies.optOut;\n const sessionId = options.sessionId ?? previousCookies?.sessionId ?? legacyCookies.sessionId;\n const userId = options.userId ?? previousCookies?.userId ?? legacyCookies.userId;\n amplitudeInstance.previousSessionDeviceId = previousCookies?.deviceId ?? legacyCookies.deviceId;\n amplitudeInstance.previousSessionUserId = previousCookies?.userId ?? legacyCookies.userId;\n\n const trackingOptions = {\n ...options.trackingOptions,\n ipAddress: true,\n language: true,\n platform: true,\n };\n\n return new BrowserConfig(\n apiKey,\n options.appVersion,\n cookieStorage,\n cookieOptions,\n options.defaultTracking,\n deviceId,\n options.flushIntervalMillis,\n options.flushMaxRetries,\n options.flushQueueSize,\n identityStorage,\n options.ingestionMetadata,\n lastEventId,\n lastEventTime,\n options.loggerProvider,\n options.logLevel,\n options.minIdLength,\n optOut,\n options.partnerId,\n options.plan,\n options.serverUrl,\n options.serverZone,\n sessionId,\n options.sessionTimeout,\n options.storageProvider,\n trackingOptions,\n options.transport,\n options.transportProvider,\n options.useBatch,\n userId,\n );\n};\n\nexport const createCookieStorage = <T>(\n identityStorage: IdentityStorageType = DEFAULT_IDENTITY_STORAGE,\n cookieOptions: CookieOptions = {},\n) => {\n switch (identityStorage) {\n case 'localStorage':\n return new LocalStorage<T>();\n case 'none':\n return new MemoryStorage<T>();\n case 'cookie':\n default:\n return new CookieStorage<T>(cookieOptions);\n }\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 new FetchTransport();\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 Event,\n BrowserOptions,\n BrowserConfig as IBrowserConfig,\n DefaultTrackingOptions,\n Storage,\n TrackingOptions,\n TransportType,\n UserSession,\n Logger as ILogger,\n LogLevel,\n Plan,\n IngestionMetadata,\n IdentityStorageType,\n ServerZoneType,\n} from '@amplitude/analytics-types';\nimport { Config, Logger, MemoryStorage, UUID } from '@amplitude/analytics-core';\nimport { CookieStorage, getCookieName, FetchTransport, getQueryParams } from '@amplitude/analytics-client-common';\n\nimport { LocalStorage } from './storage/local-storage';\nimport { XHRTransport } from './transports/xhr';\nimport { SendBeaconTransport } from './transports/send-beacon';\nimport { parseLegacyCookies } from './cookie-migration';\nimport { CookieOptions } from '@amplitude/analytics-types/lib/esm/config/browser';\nimport { DEFAULT_IDENTITY_STORAGE, DEFAULT_SERVER_ZONE } from './constants';\nimport { AmplitudeBrowser } from './browser-client';\n\nexport class BrowserConfig extends Config implements IBrowserConfig {\n protected _cookieStorage: Storage<UserSession>;\n protected _deviceId?: string;\n protected _lastEventId?: number;\n protected _lastEventTime?: number;\n protected _optOut = false;\n protected _sessionId?: number;\n protected _userId?: string;\n\n constructor(\n public apiKey: string,\n public appVersion?: string,\n cookieStorage: Storage<UserSession> = new MemoryStorage(),\n public cookieOptions: CookieOptions = {\n domain: '',\n expiration: 365,\n sameSite: 'Lax' as const,\n secure: false,\n upgrade: true,\n },\n public defaultTracking: boolean | DefaultTrackingOptions = true,\n deviceId?: string,\n public flushIntervalMillis: number = 1000,\n public flushMaxRetries: number = 5,\n public flushQueueSize: number = 30,\n public identityStorage: IdentityStorageType = DEFAULT_IDENTITY_STORAGE,\n public ingestionMetadata?: IngestionMetadata,\n lastEventId?: number,\n lastEventTime?: number,\n public loggerProvider: ILogger = new Logger(),\n public logLevel: LogLevel = LogLevel.Warn,\n public minIdLength?: number,\n optOut = false,\n public partnerId?: string,\n public plan?: Plan,\n public serverUrl: string = '',\n public serverZone: ServerZoneType = DEFAULT_SERVER_ZONE,\n sessionId?: number,\n public sessionTimeout: number = 30 * 60 * 1000,\n public storageProvider: Storage<Event[]> = new LocalStorage(),\n public trackingOptions: Required<TrackingOptions> = {\n ipAddress: true,\n language: true,\n platform: true,\n },\n public transport: 'fetch' | 'xhr' | 'beacon' = 'fetch',\n public useBatch: boolean = false,\n userId?: string,\n ) {\n super({ apiKey, storageProvider, transportProvider: createTransport(transport) });\n this._cookieStorage = cookieStorage;\n this.deviceId = deviceId;\n this.lastEventId = lastEventId;\n this.lastEventTime = lastEventTime;\n this.optOut = optOut;\n this.sessionId = sessionId;\n this.userId = userId;\n this.loggerProvider.enable(this.logLevel);\n }\n\n get cookieStorage() {\n return this._cookieStorage;\n }\n\n set cookieStorage(cookieStorage: Storage<UserSession>) {\n if (this._cookieStorage !== cookieStorage) {\n this._cookieStorage = cookieStorage;\n this.updateStorage();\n }\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 get lastEventId() {\n return this._lastEventId;\n }\n\n set lastEventId(lastEventId: number | undefined) {\n if (this._lastEventId !== lastEventId) {\n this._lastEventId = lastEventId;\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 lastEventId: this._lastEventId,\n };\n void this.cookieStorage.set(getCookieName(this.apiKey), cache);\n }\n}\n\nexport const useBrowserConfig = async (\n apiKey: string,\n options: BrowserOptions = {},\n amplitudeInstance: AmplitudeBrowser,\n): Promise<IBrowserConfig> => {\n // Step 1: Create identity storage instance\n const identityStorage = options.identityStorage || DEFAULT_IDENTITY_STORAGE;\n const cookieOptions = {\n ...options.cookieOptions,\n domain:\n identityStorage !== DEFAULT_IDENTITY_STORAGE ? '' : options.cookieOptions?.domain ?? (await getTopLevelDomain()),\n expiration: 365,\n sameSite: 'Lax' as const,\n secure: false,\n upgrade: true,\n };\n const cookieStorage = createCookieStorage<UserSession>(options.identityStorage, cookieOptions);\n\n // Step 1: Parse cookies using identity storage instance\n const legacyCookies = await parseLegacyCookies(apiKey, cookieStorage, options.cookieOptions?.upgrade ?? true);\n const previousCookies = await cookieStorage.get(getCookieName(apiKey));\n const queryParams = getQueryParams();\n\n // Step 3: Reconcile user identity\n const deviceId =\n options.deviceId ?? queryParams.deviceId ?? previousCookies?.deviceId ?? legacyCookies.deviceId ?? UUID();\n const lastEventId = previousCookies?.lastEventId;\n const lastEventTime = previousCookies?.lastEventTime ?? legacyCookies.lastEventTime;\n const optOut = options.optOut ?? previousCookies?.optOut ?? legacyCookies.optOut;\n const sessionId = options.sessionId ?? previousCookies?.sessionId ?? legacyCookies.sessionId;\n const userId = options.userId ?? previousCookies?.userId ?? legacyCookies.userId;\n amplitudeInstance.previousSessionDeviceId = previousCookies?.deviceId ?? legacyCookies.deviceId;\n amplitudeInstance.previousSessionUserId = previousCookies?.userId ?? legacyCookies.userId;\n\n const trackingOptions = {\n ...options.trackingOptions,\n ipAddress: true,\n language: true,\n platform: true,\n };\n\n return new BrowserConfig(\n apiKey,\n options.appVersion,\n cookieStorage,\n cookieOptions,\n options.defaultTracking,\n deviceId,\n options.flushIntervalMillis,\n options.flushMaxRetries,\n options.flushQueueSize,\n identityStorage,\n options.ingestionMetadata,\n lastEventId,\n lastEventTime,\n options.loggerProvider,\n options.logLevel,\n options.minIdLength,\n optOut,\n options.partnerId,\n options.plan,\n options.serverUrl,\n options.serverZone,\n sessionId,\n options.sessionTimeout,\n options.storageProvider,\n trackingOptions,\n options.transport,\n options.useBatch,\n userId,\n );\n};\n\nexport const createCookieStorage = <T>(\n identityStorage: IdentityStorageType = DEFAULT_IDENTITY_STORAGE,\n cookieOptions: CookieOptions = {},\n) => {\n switch (identityStorage) {\n case 'localStorage':\n return new LocalStorage<T>();\n case 'none':\n return new MemoryStorage<T>();\n case 'cookie':\n default:\n return new CookieStorage<T>(cookieOptions);\n }\n};\n\nexport const createTransport = (transport?: TransportType) => {\n if (transport === 'xhr') {\n return new XHRTransport();\n }\n if (transport === 'beacon') {\n return new SendBeaconTransport();\n }\n return new FetchTransport();\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,7 +1,7 @@
|
|
|
1
|
-
import { BeforePlugin, BrowserConfig, Event
|
|
1
|
+
import { BeforePlugin, BrowserConfig, Event } from '@amplitude/analytics-types';
|
|
2
2
|
export declare class Context implements BeforePlugin {
|
|
3
3
|
name: string;
|
|
4
|
-
type:
|
|
4
|
+
type: "before";
|
|
5
5
|
config: BrowserConfig;
|
|
6
6
|
eventId: number;
|
|
7
7
|
userAgent: string | undefined;
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/plugins/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAOhF,qBAAa,OAAQ,YAAW,YAAY;IAC1C,IAAI,SAAuC;IAC3C,IAAI,WAAqB;IAKzB,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,SAAK;IACZ,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,OAAO,SAA6B;;IASpC,KAAK,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC;IAO1C,OAAO,CAAC,OAAO,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;CA6B9C"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { __assign, __awaiter, __generator } from "tslib";
|
|
2
|
-
import { PluginType } from '@amplitude/analytics-types';
|
|
3
2
|
import { UUID } from '@amplitude/analytics-core';
|
|
4
3
|
import { getLanguage } from '@amplitude/analytics-client-common';
|
|
5
4
|
import { VERSION } from '../version';
|
|
@@ -7,8 +6,8 @@ var BROWSER_PLATFORM = 'Web';
|
|
|
7
6
|
var IP_ADDRESS = '$remote';
|
|
8
7
|
var Context = /** @class */ (function () {
|
|
9
8
|
function Context() {
|
|
10
|
-
this.name = 'context';
|
|
11
|
-
this.type =
|
|
9
|
+
this.name = '@amplitude/plugin-context-browser';
|
|
10
|
+
this.type = 'before';
|
|
12
11
|
this.eventId = 0;
|
|
13
12
|
this.library = "amplitude-ts/".concat(VERSION);
|
|
14
13
|
/* istanbul ignore else */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/plugins/context.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/plugins/context.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,IAAM,gBAAgB,GAAG,KAAK,CAAC;AAC/B,IAAM,UAAU,GAAG,SAAS,CAAC;AAC7B;IAYE;QAXA,SAAI,GAAG,mCAAmC,CAAC;QAC3C,SAAI,GAAG,QAAiB,CAAC;QAMzB,YAAO,GAAG,CAAC,CAAC;QAEZ,YAAO,GAAG,uBAAgB,OAAO,CAAE,CAAC;QAGlC,0BAA0B;QAC1B,IAAI,OAAO,SAAS,KAAK,WAAW,EAAE;YACpC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;SACtC;IACH,CAAC;IAED,uBAAK,GAAL,UAAM,MAAqB;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEzE,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAEK,yBAAO,GAAb,UAAc,OAAc;;;;gBACpB,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;gBAClC,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;gBAEjC,KAAK,6EACT,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAC3B,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAC/B,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EACjC,IAAI,MAAA,IACD,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,GACnE,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC,GACxE,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,CAAC,GACrE,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,SAAS,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,KAChE,SAAS,EAAE,IAAI,EAAE,EACjB,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EACjC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,KACnB,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI;oBACnC,kBAAkB,EAAE;wBAClB,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,UAAU;wBACrD,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,aAAa;qBAC5D;iBACF,CAAC,GACC,OAAO,KACV,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,EACxB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,UAAU,EAAE,IAAI,CAAC,SAAS,GAC3B,CAAC;gBACF,sBAAO,KAAK,EAAC;;;KACd;IACH,cAAC;AAAD,CAAC,AAvDD,IAuDC","sourcesContent":["import { BeforePlugin, BrowserConfig, Event } from '@amplitude/analytics-types';\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 = '@amplitude/plugin-context-browser';\n type = '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 userAgent: string | undefined;\n library = `amplitude-ts/${VERSION}`;\n\n constructor() {\n /* istanbul ignore else */\n if (typeof navigator !== 'undefined') {\n this.userAgent = navigator.userAgent;\n }\n }\n\n setup(config: BrowserConfig): Promise<undefined> {\n this.config = config;\n this.eventId = this.config.lastEventId ? this.config.lastEventId + 1 : 0;\n\n return Promise.resolve(undefined);\n }\n\n async execute(context: Event): Promise<Event> {\n const time = new Date().getTime();\n this.config.lastEventId = this.eventId;\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.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 user_agent: this.userAgent,\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,
|
|
1
|
+
{"version":3,"file":"file-download-tracking.d.ts","sourceRoot":"","sources":["../../../src/plugins/file-download-tracking.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAIpF,eAAO,MAAM,oBAAoB,QAAO,gBA6EvC,CAAC"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { __awaiter, __generator } from "tslib";
|
|
2
|
-
import { PluginType } from '@amplitude/analytics-types';
|
|
3
2
|
import { DEFAULT_FILE_DOWNLOAD_EVENT, FILE_EXTENSION, FILE_NAME, LINK_ID, LINK_TEXT, LINK_URL } from '../constants';
|
|
4
3
|
export var fileDownloadTracking = function () {
|
|
5
4
|
var name = '@amplitude/plugin-file-download-tracking-browser';
|
|
6
|
-
var type =
|
|
5
|
+
var type = 'enrichment';
|
|
7
6
|
var setup = function (config, amplitude) { return __awaiter(void 0, void 0, void 0, function () {
|
|
8
7
|
var addFileDownloadListener, ext, links, observer;
|
|
9
8
|
return __generator(this, function (_a) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-download-tracking.js","sourceRoot":"","sources":["../../../src/plugins/file-download-tracking.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"file-download-tracking.js","sourceRoot":"","sources":["../../../src/plugins/file-download-tracking.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,2BAA2B,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAGpH,MAAM,CAAC,IAAM,oBAAoB,GAAG;IAClC,IAAM,IAAI,GAAG,kDAAkD,CAAC;IAChE,IAAM,IAAI,GAAG,YAAY,CAAC;IAC1B,IAAM,KAAK,GAAG,UAAO,MAAqB,EAAE,SAAwB;;;YAClE,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,GAAQ,CAAC;gBACb,IAAI;oBACF,iDAAiD;oBACjD,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;iBAC7C;gBAAC,WAAM;oBACN,0BAA0B;oBAC1B,OAAO;iBACR;gBACD,IAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAClC,IAAM,aAAa,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,CAAC,CAAC,CAAC;gBAElC,IAAI,aAAa,EAAE;oBACjB,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE;;wBAC1B,IAAI,aAAa,EAAE;4BACjB,SAAS,CAAC,KAAK,CAAC,2BAA2B;gCACzC,GAAC,cAAc,IAAG,aAAa;gCAC/B,GAAC,SAAS,IAAG,GAAG,CAAC,QAAQ;gCACzB,GAAC,OAAO,IAAG,CAAC,CAAC,EAAE;gCACf,GAAC,SAAS,IAAG,CAAC,CAAC,IAAI;gCACnB,GAAC,QAAQ,IAAG,CAAC,CAAC,IAAI;oCAClB,CAAC;yBACJ;oBACH,CAAC,CAAC,CAAC;iBACJ;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;4BACD,IAAI,kBAAkB,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,UAAU,EAAE;gCAC7E,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAwB,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;6BAC5F;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","sourcesContent":["import { BrowserClient, Event, EnrichmentPlugin } from '@amplitude/analytics-types';\nimport { DEFAULT_FILE_DOWNLOAD_EVENT, FILE_EXTENSION, FILE_NAME, LINK_ID, LINK_TEXT, LINK_URL } from '../constants';\nimport { BrowserConfig } from '../config';\n\nexport const fileDownloadTracking = (): EnrichmentPlugin => {\n const name = '@amplitude/plugin-file-download-tracking-browser';\n const type = '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 let url: URL;\n try {\n // eslint-disable-next-line no-restricted-globals\n url = new URL(a.href, window.location.href);\n } catch {\n /* istanbul ignore next */\n return;\n }\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 };\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 if ('querySelectorAll' in node && typeof node.querySelectorAll === 'function') {\n Array.from(node.querySelectorAll('a') as HTMLAnchorElement[]).map(addFileDownloadListener);\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,
|
|
1
|
+
{"version":3,"file":"form-interaction-tracking.d.ts","sourceRoot":"","sources":["../../../src/plugins/form-interaction-tracking.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAUpF,eAAO,MAAM,uBAAuB,QAAO,gBAmF1C,CAAC"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { __awaiter, __generator } from "tslib";
|
|
2
|
-
import { PluginType } from '@amplitude/analytics-types';
|
|
3
2
|
import { DEFAULT_FORM_START_EVENT, DEFAULT_FORM_SUBMIT_EVENT, FORM_ID, FORM_NAME, FORM_DESTINATION, } from '../constants';
|
|
4
3
|
export var formInteractionTracking = function () {
|
|
5
4
|
var name = '@amplitude/plugin-form-interaction-tracking-browser';
|
|
6
|
-
var type =
|
|
5
|
+
var type = 'enrichment';
|
|
7
6
|
var setup = function (config, amplitude) { return __awaiter(void 0, void 0, void 0, function () {
|
|
8
7
|
var addFormInteractionListener, forms, observer;
|
|
9
8
|
return __generator(this, function (_a) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-interaction-tracking.js","sourceRoot":"","sources":["../../../src/plugins/form-interaction-tracking.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"form-interaction-tracking.js","sourceRoot":"","sources":["../../../src/plugins/form-interaction-tracking.ts"],"names":[],"mappings":"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","sourcesContent":["import { BrowserClient, Event, EnrichmentPlugin } from '@amplitude/analytics-types';\nimport {\n DEFAULT_FORM_START_EVENT,\n DEFAULT_FORM_SUBMIT_EVENT,\n FORM_ID,\n FORM_NAME,\n FORM_DESTINATION,\n} from '../constants';\nimport { BrowserConfig } from '../config';\n\nexport const formInteractionTracking = (): EnrichmentPlugin => {\n const name = '@amplitude/plugin-form-interaction-tracking-browser';\n const type = '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 if ('querySelectorAll' in node && typeof node.querySelectorAll === 'function') {\n Array.from(node.querySelectorAll('form') as HTMLFormElement[]).map(addFormInteractionListener);\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":"session-handler.d.ts","sourceRoot":"","sources":["../../../src/plugins/session-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"session-handler.d.ts","sourceRoot":"","sources":["../../../src/plugins/session-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAuC,MAAM,4BAA4B,CAAC;AAG/F,eAAO,MAAM,oBAAoB,QAAO,YAiDvC,CAAC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { __awaiter, __generator } from "tslib";
|
|
2
|
-
import { PluginType } from '@amplitude/analytics-types';
|
|
3
2
|
import { DEFAULT_SESSION_END_EVENT, DEFAULT_SESSION_START_EVENT } from '../constants';
|
|
4
3
|
export var sessionHandlerPlugin = function () {
|
|
5
4
|
// browserConfig is defined in setup() which will always be called first
|
|
@@ -11,7 +10,7 @@ export var sessionHandlerPlugin = function () {
|
|
|
11
10
|
// @ts-ignore
|
|
12
11
|
var amplitude;
|
|
13
12
|
var name = '@amplitude/plugin-session-handler';
|
|
14
|
-
var type =
|
|
13
|
+
var type = 'before';
|
|
15
14
|
var setup = function (config, client) { return __awaiter(void 0, void 0, void 0, function () {
|
|
16
15
|
return __generator(this, function (_a) {
|
|
17
16
|
browserConfig = config;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-handler.js","sourceRoot":"","sources":["../../../src/plugins/session-handler.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"session-handler.js","sourceRoot":"","sources":["../../../src/plugins/session-handler.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,yBAAyB,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAEtF,MAAM,CAAC,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,QAAQ,CAAC;IAEtB,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,2BAA2B,IAAI,KAAK,CAAC,UAAU,KAAK,yBAAyB,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","sourcesContent":["import { BeforePlugin, BrowserClient, BrowserConfig, Event } 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 = '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"]}
|
package/lib/esm/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "2.0.0-beta.
|
|
1
|
+
export declare const VERSION = "2.0.0-beta.3";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/lib/esm/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export var VERSION = '2.0.0-beta.
|
|
1
|
+
export var VERSION = '2.0.0-beta.3';
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
package/lib/esm/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,OAAO,GAAG,cAAc,CAAC","sourcesContent":["export const VERSION = '2.0.0-beta.
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,OAAO,GAAG,cAAc,CAAC","sourcesContent":["export const VERSION = '2.0.0-beta.3';\n"]}
|