@amplitude/analytics-client-common 2.0.8-featadddiagnostics.0 → 2.0.9-beta.0
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/lib/cjs/attribution/campaign-helper.d.ts +3 -0
- package/lib/cjs/attribution/campaign-helper.d.ts.map +1 -0
- package/lib/cjs/attribution/campaign-helper.js +17 -0
- package/lib/cjs/attribution/campaign-helper.js.map +1 -0
- package/lib/cjs/attribution/campaign-tracker.d.ts +2 -2
- package/lib/cjs/attribution/campaign-tracker.js +2 -2
- package/lib/cjs/attribution/campaign-tracker.js.map +1 -1
- package/lib/cjs/index.d.ts +2 -1
- package/lib/cjs/index.d.ts.map +1 -1
- package/lib/cjs/index.js +4 -1
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/session.d.ts +4 -0
- package/lib/cjs/session.d.ts.map +1 -1
- package/lib/cjs/session.js +10 -2
- package/lib/cjs/session.js.map +1 -1
- package/lib/esm/attribution/campaign-helper.d.ts +3 -0
- package/lib/esm/attribution/campaign-helper.d.ts.map +1 -0
- package/lib/esm/attribution/campaign-helper.js +14 -0
- package/lib/esm/attribution/campaign-helper.js.map +1 -0
- package/lib/esm/attribution/campaign-tracker.d.ts +2 -2
- package/lib/esm/attribution/campaign-tracker.js +2 -2
- package/lib/esm/attribution/campaign-tracker.js.map +1 -1
- package/lib/esm/index.d.ts +2 -1
- package/lib/esm/index.d.ts.map +1 -1
- package/lib/esm/index.js +2 -1
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/session.d.ts +4 -0
- package/lib/esm/session.d.ts.map +1 -1
- package/lib/esm/session.js +7 -0
- package/lib/esm/session.js.map +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"campaign-helper.d.ts","sourceRoot":"","sources":["../../../src/attribution/campaign-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAA6C,MAAM,4BAA4B,CAAC;AAG9F,eAAO,MAAM,eAAe,UAAW,KAAK,YAS3C,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
|
+
exports.isCampaignEvent = void 0;
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
4
|
+
var analytics_types_1 = require("@amplitude/analytics-types");
|
|
5
|
+
var constants_1 = require("./constants");
|
|
6
|
+
var isCampaignEvent = function (event) {
|
|
7
|
+
if (event.user_properties) {
|
|
8
|
+
var properties = event.user_properties;
|
|
9
|
+
var $set = properties[analytics_types_1.IdentifyOperation.SET] || {};
|
|
10
|
+
var $unset = properties[analytics_types_1.IdentifyOperation.UNSET] || {};
|
|
11
|
+
var userProperties_1 = tslib_1.__spreadArray(tslib_1.__spreadArray([], tslib_1.__read(Object.keys($set)), false), tslib_1.__read(Object.keys($unset)), false);
|
|
12
|
+
return Object.keys(constants_1.BASE_CAMPAIGN).every(function (value) { return userProperties_1.includes(value); });
|
|
13
|
+
}
|
|
14
|
+
return false;
|
|
15
|
+
};
|
|
16
|
+
exports.isCampaignEvent = isCampaignEvent;
|
|
17
|
+
//# sourceMappingURL=campaign-helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"campaign-helper.js","sourceRoot":"","sources":["../../../src/attribution/campaign-helper.ts"],"names":[],"mappings":";;;AAAA,8DAA8F;AAC9F,yCAA4C;AAErC,IAAM,eAAe,GAAG,UAAC,KAAY;IAC1C,IAAI,KAAK,CAAC,eAAe,EAAE;QACzB,IAAM,UAAU,GAAG,KAAK,CAAC,eAAyC,CAAC;QACnE,IAAM,IAAI,GAAG,UAAU,CAAC,mCAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACrD,IAAM,MAAM,GAAG,UAAU,CAAC,mCAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACzD,IAAM,gBAAc,kEAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,0BAAK,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAC,CAAC;QACtE,OAAO,MAAM,CAAC,IAAI,CAAC,yBAAa,CAAC,CAAC,KAAK,CAAC,UAAC,KAAK,IAAK,OAAA,gBAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,EAA9B,CAA8B,CAAC,CAAC;KACpF;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AATW,QAAA,eAAe,mBAS1B","sourcesContent":["import { Event, IdentifyOperation, IdentifyUserProperties } from '@amplitude/analytics-types';\nimport { BASE_CAMPAIGN } from './constants';\n\nexport const isCampaignEvent = (event: Event) => {\n if (event.user_properties) {\n const properties = event.user_properties as IdentifyUserProperties;\n const $set = properties[IdentifyOperation.SET] || {};\n const $unset = properties[IdentifyOperation.UNSET] || {};\n const userProperties = [...Object.keys($set), ...Object.keys($unset)];\n return Object.keys(BASE_CAMPAIGN).every((value) => userProperties.includes(value));\n }\n return false;\n};\n"]}
|
|
@@ -2,8 +2,8 @@ import { Storage, Campaign, CampaignParser as ICampaignParser, CampaignTracker a
|
|
|
2
2
|
/**
|
|
3
3
|
* @deprecated
|
|
4
4
|
* Campaign tracker has mixed logic from built-in and plugin web attribution
|
|
5
|
-
* features. Do not add more features here. The plan moving foward is to consolidate
|
|
6
|
-
* in @amplitude/plugin-web-attribution-browser with backward compatibility.
|
|
5
|
+
* features. Do not add more features here. The plan moving foward is to consolidate
|
|
6
|
+
* logic in @amplitude/plugin-web-attribution-browser with backward compatibility.
|
|
7
7
|
*/
|
|
8
8
|
export declare class CampaignTracker implements ICampaignTracker {
|
|
9
9
|
storage: Storage<Campaign>;
|
|
@@ -8,8 +8,8 @@ var constants_1 = require("./constants");
|
|
|
8
8
|
/**
|
|
9
9
|
* @deprecated
|
|
10
10
|
* Campaign tracker has mixed logic from built-in and plugin web attribution
|
|
11
|
-
* features. Do not add more features here. The plan moving foward is to consolidate
|
|
12
|
-
* in @amplitude/plugin-web-attribution-browser with backward compatibility.
|
|
11
|
+
* features. Do not add more features here. The plan moving foward is to consolidate
|
|
12
|
+
* logic in @amplitude/plugin-web-attribution-browser with backward compatibility.
|
|
13
13
|
*/
|
|
14
14
|
var CampaignTracker = /** @class */ (function () {
|
|
15
15
|
function CampaignTracker(apiKey, options) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"campaign-tracker.js","sourceRoot":"","sources":["../../../src/attribution/campaign-tracker.ts"],"names":[],"mappings":"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","sourcesContent":["import { createIdentifyEvent, Identify } from '@amplitude/analytics-core';\nimport {\n Storage,\n Campaign,\n CampaignParser as ICampaignParser,\n CampaignTracker as ICampaignTracker,\n CampaignTrackFunction,\n CampaignTrackerOptions,\n BaseEvent,\n} from '@amplitude/analytics-types';\nimport { getCookieName as getStorageKey } from '../cookie-name';\nimport { CampaignParser } from './campaign-parser';\nimport { BASE_CAMPAIGN, EMPTY_VALUE, MKTG } from './constants';\n\n/**\n * @deprecated\n * Campaign tracker has mixed logic from built-in and plugin web attribution\n * features. Do not add more features here. The plan moving foward is to consolidate
|
|
1
|
+
{"version":3,"file":"campaign-tracker.js","sourceRoot":"","sources":["../../../src/attribution/campaign-tracker.ts"],"names":[],"mappings":"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","sourcesContent":["import { createIdentifyEvent, Identify } from '@amplitude/analytics-core';\nimport {\n Storage,\n Campaign,\n CampaignParser as ICampaignParser,\n CampaignTracker as ICampaignTracker,\n CampaignTrackFunction,\n CampaignTrackerOptions,\n BaseEvent,\n} from '@amplitude/analytics-types';\nimport { getCookieName as getStorageKey } from '../cookie-name';\nimport { CampaignParser } from './campaign-parser';\nimport { BASE_CAMPAIGN, EMPTY_VALUE, MKTG } from './constants';\n\n/**\n * @deprecated\n * Campaign tracker has mixed logic from built-in and plugin web attribution\n * features. Do not add more features here. The plan moving foward is to consolidate\n * logic in @amplitude/plugin-web-attribution-browser with backward compatibility.\n */\nexport class CampaignTracker implements ICampaignTracker {\n storage: Storage<Campaign>;\n storageKey: string;\n parser: ICampaignParser;\n track: CampaignTrackFunction;\n onNewCampaign: (campaign: Campaign) => unknown;\n\n disabled: boolean;\n trackNewCampaigns: boolean;\n trackPageViews: boolean;\n excludeReferrers: string[];\n initialEmptyValue: string;\n\n constructor(apiKey: string, options: CampaignTrackerOptions) {\n this.storage = options.storage;\n this.storageKey = getStorageKey(apiKey, MKTG);\n this.parser = new CampaignParser();\n this.track = options.track;\n this.onNewCampaign = options.onNewCampaign;\n\n this.disabled = Boolean(options.disabled);\n this.trackNewCampaigns = Boolean(options.trackNewCampaigns);\n this.trackPageViews = Boolean(options.trackPageViews);\n this.excludeReferrers = options.excludeReferrers ?? [];\n if (typeof location !== 'undefined') {\n this.excludeReferrers.unshift(location.hostname);\n }\n this.initialEmptyValue = options.initialEmptyValue ?? EMPTY_VALUE;\n }\n\n isNewCampaign(current: Campaign, previous: Campaign | undefined, ignoreSubdomainInReferrer = false) {\n const { referrer, referring_domain, ...currentCampaign } = current;\n const { referrer: _previous_referrer, referring_domain: prevReferringDomain, ...previousCampaign } = previous || {};\n\n if (current.referring_domain && this.excludeReferrers.includes(current.referring_domain)) {\n return false;\n }\n\n const hasNewCampaign = JSON.stringify(currentCampaign) !== JSON.stringify(previousCampaign);\n const hasNewDomain = ignoreSubdomainInReferrer\n ? domainWithoutSubdomain(referring_domain || '') !== domainWithoutSubdomain(prevReferringDomain || '')\n : referring_domain !== prevReferringDomain;\n\n return !previous || hasNewCampaign || hasNewDomain;\n }\n\n async saveCampaignToStorage(campaign: Campaign): Promise<void> {\n await this.storage.set(this.storageKey, campaign);\n }\n\n async getCampaignFromStorage(): Promise<Campaign | undefined> {\n return await this.storage.get(this.storageKey);\n }\n\n createCampaignEvent(campaign: Campaign) {\n const campaignParameters: Campaign = {\n // This object definition allows undefined keys to be iterated on\n // in .reduce() to build indentify object\n ...BASE_CAMPAIGN,\n ...campaign,\n };\n const identifyEvent = Object.entries(campaignParameters).reduce((identify, [key, value]) => {\n identify.setOnce(`initial_${key}`, value || this.initialEmptyValue);\n if (value) {\n return identify.set(key, value);\n }\n return identify.unset(key);\n }, new Identify());\n\n const pageViewEvent: BaseEvent = {\n event_type: 'Page View',\n event_properties: {\n page_title: /* istanbul ignore next */ (typeof document !== 'undefined' && document.title) || '',\n page_location: /* istanbul ignore next */ (typeof location !== 'undefined' && location.href) || '',\n page_path: /* istanbul ignore next */ (typeof location !== 'undefined' && location.pathname) || '',\n },\n };\n return {\n ...createIdentifyEvent(identifyEvent),\n ...(this.trackPageViews && pageViewEvent),\n };\n }\n\n async send(isNewSession: boolean) {\n if (this.disabled) {\n return;\n }\n const currentCampaign = await this.parser.parse();\n const previousCampaign = await this.getCampaignFromStorage();\n if (!isNewSession) {\n if (!this.trackNewCampaigns || !this.isNewCampaign(currentCampaign, previousCampaign)) {\n return;\n }\n this.onNewCampaign(currentCampaign);\n }\n await this.track(this.createCampaignEvent(currentCampaign));\n await this.saveCampaignToStorage(currentCampaign);\n }\n}\n\nconst domainWithoutSubdomain = (domain: string) => {\n const parts = domain.split('.');\n\n if (parts.length <= 2) {\n return domain;\n }\n\n return parts.slice(parts.length - 2, parts.length).join('.');\n};\n"]}
|
package/lib/cjs/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { CampaignParser } from './attribution/campaign-parser';
|
|
2
2
|
export { CampaignTracker } from './attribution/campaign-tracker';
|
|
3
3
|
export { getQueryParams } from './query-params';
|
|
4
|
-
export { isNewSession } from './session';
|
|
4
|
+
export { isNewSession, isSessionExpired } from './session';
|
|
5
5
|
export { getCookieName, getOldCookieName } from './cookie-name';
|
|
6
6
|
export { CookieStorage } from './storage/cookie';
|
|
7
7
|
export { FetchTransport } from './transports/fetch';
|
|
@@ -11,4 +11,5 @@ export { getLanguage } from './language';
|
|
|
11
11
|
export { BASE_CAMPAIGN } from './attribution/constants';
|
|
12
12
|
export { getGlobalScope } from './global-scope';
|
|
13
13
|
export { getPageViewTrackingConfig, getAttributionTrackingConfig, isAttributionTrackingEnabled, isFileDownloadTrackingEnabled, isFormInteractionTrackingEnabled, isPageViewTrackingEnabled, isSessionTrackingEnabled, } from './default-tracking';
|
|
14
|
+
export { isCampaignEvent } from './attribution/campaign-helper';
|
|
14
15
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/cjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AACxG,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EACL,yBAAyB,EACzB,4BAA4B,EAC5B,4BAA4B,EAC5B,6BAA6B,EAC7B,gCAAgC,EAChC,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC"}
|
package/lib/cjs/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
|
-
exports.isSessionTrackingEnabled = exports.isPageViewTrackingEnabled = exports.isFormInteractionTrackingEnabled = exports.isFileDownloadTrackingEnabled = exports.isAttributionTrackingEnabled = exports.getAttributionTrackingConfig = exports.getPageViewTrackingConfig = exports.getGlobalScope = exports.BASE_CAMPAIGN = exports.getLanguage = exports.IdentityEventSender = exports.setConnectorUserId = exports.setConnectorDeviceId = exports.getAnalyticsConnector = exports.FetchTransport = exports.CookieStorage = exports.getOldCookieName = exports.getCookieName = exports.isNewSession = exports.getQueryParams = exports.CampaignTracker = exports.CampaignParser = void 0;
|
|
2
|
+
exports.isCampaignEvent = exports.isSessionTrackingEnabled = exports.isPageViewTrackingEnabled = exports.isFormInteractionTrackingEnabled = exports.isFileDownloadTrackingEnabled = exports.isAttributionTrackingEnabled = exports.getAttributionTrackingConfig = exports.getPageViewTrackingConfig = exports.getGlobalScope = exports.BASE_CAMPAIGN = exports.getLanguage = exports.IdentityEventSender = exports.setConnectorUserId = exports.setConnectorDeviceId = exports.getAnalyticsConnector = exports.FetchTransport = exports.CookieStorage = exports.getOldCookieName = exports.getCookieName = exports.isSessionExpired = exports.isNewSession = exports.getQueryParams = exports.CampaignTracker = exports.CampaignParser = void 0;
|
|
3
3
|
var campaign_parser_1 = require("./attribution/campaign-parser");
|
|
4
4
|
Object.defineProperty(exports, "CampaignParser", { enumerable: true, get: function () { return campaign_parser_1.CampaignParser; } });
|
|
5
5
|
var campaign_tracker_1 = require("./attribution/campaign-tracker");
|
|
@@ -8,6 +8,7 @@ var query_params_1 = require("./query-params");
|
|
|
8
8
|
Object.defineProperty(exports, "getQueryParams", { enumerable: true, get: function () { return query_params_1.getQueryParams; } });
|
|
9
9
|
var session_1 = require("./session");
|
|
10
10
|
Object.defineProperty(exports, "isNewSession", { enumerable: true, get: function () { return session_1.isNewSession; } });
|
|
11
|
+
Object.defineProperty(exports, "isSessionExpired", { enumerable: true, get: function () { return session_1.isSessionExpired; } });
|
|
11
12
|
var cookie_name_1 = require("./cookie-name");
|
|
12
13
|
Object.defineProperty(exports, "getCookieName", { enumerable: true, get: function () { return cookie_name_1.getCookieName; } });
|
|
13
14
|
Object.defineProperty(exports, "getOldCookieName", { enumerable: true, get: function () { return cookie_name_1.getOldCookieName; } });
|
|
@@ -35,4 +36,6 @@ Object.defineProperty(exports, "isFileDownloadTrackingEnabled", { enumerable: tr
|
|
|
35
36
|
Object.defineProperty(exports, "isFormInteractionTrackingEnabled", { enumerable: true, get: function () { return default_tracking_1.isFormInteractionTrackingEnabled; } });
|
|
36
37
|
Object.defineProperty(exports, "isPageViewTrackingEnabled", { enumerable: true, get: function () { return default_tracking_1.isPageViewTrackingEnabled; } });
|
|
37
38
|
Object.defineProperty(exports, "isSessionTrackingEnabled", { enumerable: true, get: function () { return default_tracking_1.isSessionTrackingEnabled; } });
|
|
39
|
+
var campaign_helper_1 = require("./attribution/campaign-helper");
|
|
40
|
+
Object.defineProperty(exports, "isCampaignEvent", { enumerable: true, get: function () { return campaign_helper_1.isCampaignEvent; } });
|
|
38
41
|
//# sourceMappingURL=index.js.map
|
package/lib/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;AAAA,iEAA+D;AAAtD,iHAAA,cAAc,OAAA;AACvB,mEAAiE;AAAxD,mHAAA,eAAe,OAAA;AACxB,+CAAgD;AAAvC,8GAAA,cAAc,OAAA;AACvB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;AAAA,iEAA+D;AAAtD,iHAAA,cAAc,OAAA;AACvB,mEAAiE;AAAxD,mHAAA,eAAe,OAAA;AACxB,+CAAgD;AAAvC,8GAAA,cAAc,OAAA;AACvB,qCAA2D;AAAlD,uGAAA,YAAY,OAAA;AAAE,2GAAA,gBAAgB,OAAA;AACvC,6CAAgE;AAAvD,4GAAA,aAAa,OAAA;AAAE,+GAAA,gBAAgB,OAAA;AACxC,2CAAiD;AAAxC,uGAAA,aAAa,OAAA;AACtB,4CAAoD;AAA3C,uGAAA,cAAc,OAAA;AACvB,6DAAwG;AAA/F,4HAAA,qBAAqB,OAAA;AAAE,2HAAA,oBAAoB,OAAA;AAAE,yHAAA,kBAAkB,OAAA;AACxE,+CAAyD;AAAhD,+GAAA,mBAAmB,OAAA;AAC5B,uCAAyC;AAAhC,uGAAA,WAAW,OAAA;AACpB,qDAAwD;AAA/C,0GAAA,aAAa,OAAA;AACtB,+CAAgD;AAAvC,8GAAA,cAAc,OAAA;AACvB,uDAQ4B;AAP1B,6HAAA,yBAAyB,OAAA;AACzB,gIAAA,4BAA4B,OAAA;AAC5B,gIAAA,4BAA4B,OAAA;AAC5B,iIAAA,6BAA6B,OAAA;AAC7B,oIAAA,gCAAgC,OAAA;AAChC,6HAAA,yBAAyB,OAAA;AACzB,4HAAA,wBAAwB,OAAA;AAE1B,iEAAgE;AAAvD,kHAAA,eAAe,OAAA","sourcesContent":["export { CampaignParser } from './attribution/campaign-parser';\nexport { CampaignTracker } from './attribution/campaign-tracker';\nexport { getQueryParams } from './query-params';\nexport { isNewSession, isSessionExpired } from './session';\nexport { getCookieName, getOldCookieName } from './cookie-name';\nexport { CookieStorage } from './storage/cookie';\nexport { FetchTransport } from './transports/fetch';\nexport { getAnalyticsConnector, setConnectorDeviceId, setConnectorUserId } from './analytics-connector';\nexport { IdentityEventSender } from './plugins/identity';\nexport { getLanguage } from './language';\nexport { BASE_CAMPAIGN } from './attribution/constants';\nexport { getGlobalScope } from './global-scope';\nexport {\n getPageViewTrackingConfig,\n getAttributionTrackingConfig,\n isAttributionTrackingEnabled,\n isFileDownloadTrackingEnabled,\n isFormInteractionTrackingEnabled,\n isPageViewTrackingEnabled,\n isSessionTrackingEnabled,\n} from './default-tracking';\nexport { isCampaignEvent } from './attribution/campaign-helper';\n"]}
|
package/lib/cjs/session.d.ts
CHANGED
|
@@ -1,2 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @deprecated Function name is misleading. Use `isSessionExpired`.
|
|
3
|
+
*/
|
|
1
4
|
export declare const isNewSession: (sessionTimeout: number, lastEventTime?: number) => boolean;
|
|
5
|
+
export declare const isSessionExpired: (sessionTimeout: number, lastEventTime?: number) => boolean;
|
|
2
6
|
//# sourceMappingURL=session.d.ts.map
|
package/lib/cjs/session.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,mBAAoB,MAAM,kBAAiB,MAAM,KAAgB,
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,YAAY,mBAAoB,MAAM,kBAAiB,MAAM,KAAgB,OACzC,CAAC;AAElD,eAAO,MAAM,gBAAgB,mBAAoB,MAAM,kBAAiB,MAAM,KAAgB,OAK7F,CAAC"}
|
package/lib/cjs/session.js
CHANGED
|
@@ -1,10 +1,18 @@
|
|
|
1
1
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
|
-
exports.isNewSession = void 0;
|
|
2
|
+
exports.isSessionExpired = exports.isNewSession = void 0;
|
|
3
|
+
/**
|
|
4
|
+
* @deprecated Function name is misleading. Use `isSessionExpired`.
|
|
5
|
+
*/
|
|
3
6
|
var isNewSession = function (sessionTimeout, lastEventTime) {
|
|
7
|
+
if (lastEventTime === void 0) { lastEventTime = Date.now(); }
|
|
8
|
+
return (0, exports.isSessionExpired)(sessionTimeout, lastEventTime);
|
|
9
|
+
};
|
|
10
|
+
exports.isNewSession = isNewSession;
|
|
11
|
+
var isSessionExpired = function (sessionTimeout, lastEventTime) {
|
|
4
12
|
if (lastEventTime === void 0) { lastEventTime = Date.now(); }
|
|
5
13
|
var currentTime = Date.now();
|
|
6
14
|
var timeSinceLastEvent = currentTime - lastEventTime;
|
|
7
15
|
return timeSinceLastEvent > sessionTimeout;
|
|
8
16
|
};
|
|
9
|
-
exports.
|
|
17
|
+
exports.isSessionExpired = isSessionExpired;
|
|
10
18
|
//# sourceMappingURL=session.js.map
|
package/lib/cjs/session.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":";;AAAA;;GAEG;AACI,IAAM,YAAY,GAAG,UAAC,cAAsB,EAAE,aAAkC;IAAlC,8BAAA,EAAA,gBAAwB,IAAI,CAAC,GAAG,EAAE;IACrF,OAAA,IAAA,wBAAgB,EAAC,cAAc,EAAE,aAAa,CAAC;AAA/C,CAA+C,CAAC;AADrC,QAAA,YAAY,gBACyB;AAE3C,IAAM,gBAAgB,GAAG,UAAC,cAAsB,EAAE,aAAkC;IAAlC,8BAAA,EAAA,gBAAwB,IAAI,CAAC,GAAG,EAAE;IACzF,IAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC/B,IAAM,kBAAkB,GAAG,WAAW,GAAG,aAAa,CAAC;IAEvD,OAAO,kBAAkB,GAAG,cAAc,CAAC;AAC7C,CAAC,CAAC;AALW,QAAA,gBAAgB,oBAK3B","sourcesContent":["/**\n * @deprecated Function name is misleading. Use `isSessionExpired`.\n */\nexport const isNewSession = (sessionTimeout: number, lastEventTime: number = Date.now()): boolean =>\n isSessionExpired(sessionTimeout, lastEventTime);\n\nexport const isSessionExpired = (sessionTimeout: number, lastEventTime: number = Date.now()): boolean => {\n const currentTime = Date.now();\n const timeSinceLastEvent = currentTime - lastEventTime;\n\n return timeSinceLastEvent > sessionTimeout;\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"campaign-helper.d.ts","sourceRoot":"","sources":["../../../src/attribution/campaign-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAA6C,MAAM,4BAA4B,CAAC;AAG9F,eAAO,MAAM,eAAe,UAAW,KAAK,YAS3C,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { __read, __spreadArray } from "tslib";
|
|
2
|
+
import { IdentifyOperation } from '@amplitude/analytics-types';
|
|
3
|
+
import { BASE_CAMPAIGN } from './constants';
|
|
4
|
+
export var isCampaignEvent = function (event) {
|
|
5
|
+
if (event.user_properties) {
|
|
6
|
+
var properties = event.user_properties;
|
|
7
|
+
var $set = properties[IdentifyOperation.SET] || {};
|
|
8
|
+
var $unset = properties[IdentifyOperation.UNSET] || {};
|
|
9
|
+
var userProperties_1 = __spreadArray(__spreadArray([], __read(Object.keys($set)), false), __read(Object.keys($unset)), false);
|
|
10
|
+
return Object.keys(BASE_CAMPAIGN).every(function (value) { return userProperties_1.includes(value); });
|
|
11
|
+
}
|
|
12
|
+
return false;
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=campaign-helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"campaign-helper.js","sourceRoot":"","sources":["../../../src/attribution/campaign-helper.ts"],"names":[],"mappings":";AAAA,OAAO,EAAS,iBAAiB,EAA0B,MAAM,4BAA4B,CAAC;AAC9F,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,CAAC,IAAM,eAAe,GAAG,UAAC,KAAY;IAC1C,IAAI,KAAK,CAAC,eAAe,EAAE;QACzB,IAAM,UAAU,GAAG,KAAK,CAAC,eAAyC,CAAC;QACnE,IAAM,IAAI,GAAG,UAAU,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACrD,IAAM,MAAM,GAAG,UAAU,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACzD,IAAM,gBAAc,0CAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAK,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAC,CAAC;QACtE,OAAO,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,UAAC,KAAK,IAAK,OAAA,gBAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,EAA9B,CAA8B,CAAC,CAAC;KACpF;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC","sourcesContent":["import { Event, IdentifyOperation, IdentifyUserProperties } from '@amplitude/analytics-types';\nimport { BASE_CAMPAIGN } from './constants';\n\nexport const isCampaignEvent = (event: Event) => {\n if (event.user_properties) {\n const properties = event.user_properties as IdentifyUserProperties;\n const $set = properties[IdentifyOperation.SET] || {};\n const $unset = properties[IdentifyOperation.UNSET] || {};\n const userProperties = [...Object.keys($set), ...Object.keys($unset)];\n return Object.keys(BASE_CAMPAIGN).every((value) => userProperties.includes(value));\n }\n return false;\n};\n"]}
|
|
@@ -2,8 +2,8 @@ import { Storage, Campaign, CampaignParser as ICampaignParser, CampaignTracker a
|
|
|
2
2
|
/**
|
|
3
3
|
* @deprecated
|
|
4
4
|
* Campaign tracker has mixed logic from built-in and plugin web attribution
|
|
5
|
-
* features. Do not add more features here. The plan moving foward is to consolidate
|
|
6
|
-
* in @amplitude/plugin-web-attribution-browser with backward compatibility.
|
|
5
|
+
* features. Do not add more features here. The plan moving foward is to consolidate
|
|
6
|
+
* logic in @amplitude/plugin-web-attribution-browser with backward compatibility.
|
|
7
7
|
*/
|
|
8
8
|
export declare class CampaignTracker implements ICampaignTracker {
|
|
9
9
|
storage: Storage<Campaign>;
|
|
@@ -6,8 +6,8 @@ import { BASE_CAMPAIGN, EMPTY_VALUE, MKTG } from './constants';
|
|
|
6
6
|
/**
|
|
7
7
|
* @deprecated
|
|
8
8
|
* Campaign tracker has mixed logic from built-in and plugin web attribution
|
|
9
|
-
* features. Do not add more features here. The plan moving foward is to consolidate
|
|
10
|
-
* in @amplitude/plugin-web-attribution-browser with backward compatibility.
|
|
9
|
+
* features. Do not add more features here. The plan moving foward is to consolidate
|
|
10
|
+
* logic in @amplitude/plugin-web-attribution-browser with backward compatibility.
|
|
11
11
|
*/
|
|
12
12
|
var CampaignTracker = /** @class */ (function () {
|
|
13
13
|
function CampaignTracker(apiKey, options) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"campaign-tracker.js","sourceRoot":"","sources":["../../../src/attribution/campaign-tracker.ts"],"names":[],"mappings":"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","sourcesContent":["import { createIdentifyEvent, Identify } from '@amplitude/analytics-core';\nimport {\n Storage,\n Campaign,\n CampaignParser as ICampaignParser,\n CampaignTracker as ICampaignTracker,\n CampaignTrackFunction,\n CampaignTrackerOptions,\n BaseEvent,\n} from '@amplitude/analytics-types';\nimport { getCookieName as getStorageKey } from '../cookie-name';\nimport { CampaignParser } from './campaign-parser';\nimport { BASE_CAMPAIGN, EMPTY_VALUE, MKTG } from './constants';\n\n/**\n * @deprecated\n * Campaign tracker has mixed logic from built-in and plugin web attribution\n * features. Do not add more features here. The plan moving foward is to consolidate
|
|
1
|
+
{"version":3,"file":"campaign-tracker.js","sourceRoot":"","sources":["../../../src/attribution/campaign-tracker.ts"],"names":[],"mappings":"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","sourcesContent":["import { createIdentifyEvent, Identify } from '@amplitude/analytics-core';\nimport {\n Storage,\n Campaign,\n CampaignParser as ICampaignParser,\n CampaignTracker as ICampaignTracker,\n CampaignTrackFunction,\n CampaignTrackerOptions,\n BaseEvent,\n} from '@amplitude/analytics-types';\nimport { getCookieName as getStorageKey } from '../cookie-name';\nimport { CampaignParser } from './campaign-parser';\nimport { BASE_CAMPAIGN, EMPTY_VALUE, MKTG } from './constants';\n\n/**\n * @deprecated\n * Campaign tracker has mixed logic from built-in and plugin web attribution\n * features. Do not add more features here. The plan moving foward is to consolidate\n * logic in @amplitude/plugin-web-attribution-browser with backward compatibility.\n */\nexport class CampaignTracker implements ICampaignTracker {\n storage: Storage<Campaign>;\n storageKey: string;\n parser: ICampaignParser;\n track: CampaignTrackFunction;\n onNewCampaign: (campaign: Campaign) => unknown;\n\n disabled: boolean;\n trackNewCampaigns: boolean;\n trackPageViews: boolean;\n excludeReferrers: string[];\n initialEmptyValue: string;\n\n constructor(apiKey: string, options: CampaignTrackerOptions) {\n this.storage = options.storage;\n this.storageKey = getStorageKey(apiKey, MKTG);\n this.parser = new CampaignParser();\n this.track = options.track;\n this.onNewCampaign = options.onNewCampaign;\n\n this.disabled = Boolean(options.disabled);\n this.trackNewCampaigns = Boolean(options.trackNewCampaigns);\n this.trackPageViews = Boolean(options.trackPageViews);\n this.excludeReferrers = options.excludeReferrers ?? [];\n if (typeof location !== 'undefined') {\n this.excludeReferrers.unshift(location.hostname);\n }\n this.initialEmptyValue = options.initialEmptyValue ?? EMPTY_VALUE;\n }\n\n isNewCampaign(current: Campaign, previous: Campaign | undefined, ignoreSubdomainInReferrer = false) {\n const { referrer, referring_domain, ...currentCampaign } = current;\n const { referrer: _previous_referrer, referring_domain: prevReferringDomain, ...previousCampaign } = previous || {};\n\n if (current.referring_domain && this.excludeReferrers.includes(current.referring_domain)) {\n return false;\n }\n\n const hasNewCampaign = JSON.stringify(currentCampaign) !== JSON.stringify(previousCampaign);\n const hasNewDomain = ignoreSubdomainInReferrer\n ? domainWithoutSubdomain(referring_domain || '') !== domainWithoutSubdomain(prevReferringDomain || '')\n : referring_domain !== prevReferringDomain;\n\n return !previous || hasNewCampaign || hasNewDomain;\n }\n\n async saveCampaignToStorage(campaign: Campaign): Promise<void> {\n await this.storage.set(this.storageKey, campaign);\n }\n\n async getCampaignFromStorage(): Promise<Campaign | undefined> {\n return await this.storage.get(this.storageKey);\n }\n\n createCampaignEvent(campaign: Campaign) {\n const campaignParameters: Campaign = {\n // This object definition allows undefined keys to be iterated on\n // in .reduce() to build indentify object\n ...BASE_CAMPAIGN,\n ...campaign,\n };\n const identifyEvent = Object.entries(campaignParameters).reduce((identify, [key, value]) => {\n identify.setOnce(`initial_${key}`, value || this.initialEmptyValue);\n if (value) {\n return identify.set(key, value);\n }\n return identify.unset(key);\n }, new Identify());\n\n const pageViewEvent: BaseEvent = {\n event_type: 'Page View',\n event_properties: {\n page_title: /* istanbul ignore next */ (typeof document !== 'undefined' && document.title) || '',\n page_location: /* istanbul ignore next */ (typeof location !== 'undefined' && location.href) || '',\n page_path: /* istanbul ignore next */ (typeof location !== 'undefined' && location.pathname) || '',\n },\n };\n return {\n ...createIdentifyEvent(identifyEvent),\n ...(this.trackPageViews && pageViewEvent),\n };\n }\n\n async send(isNewSession: boolean) {\n if (this.disabled) {\n return;\n }\n const currentCampaign = await this.parser.parse();\n const previousCampaign = await this.getCampaignFromStorage();\n if (!isNewSession) {\n if (!this.trackNewCampaigns || !this.isNewCampaign(currentCampaign, previousCampaign)) {\n return;\n }\n this.onNewCampaign(currentCampaign);\n }\n await this.track(this.createCampaignEvent(currentCampaign));\n await this.saveCampaignToStorage(currentCampaign);\n }\n}\n\nconst domainWithoutSubdomain = (domain: string) => {\n const parts = domain.split('.');\n\n if (parts.length <= 2) {\n return domain;\n }\n\n return parts.slice(parts.length - 2, parts.length).join('.');\n};\n"]}
|
package/lib/esm/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { CampaignParser } from './attribution/campaign-parser';
|
|
2
2
|
export { CampaignTracker } from './attribution/campaign-tracker';
|
|
3
3
|
export { getQueryParams } from './query-params';
|
|
4
|
-
export { isNewSession } from './session';
|
|
4
|
+
export { isNewSession, isSessionExpired } from './session';
|
|
5
5
|
export { getCookieName, getOldCookieName } from './cookie-name';
|
|
6
6
|
export { CookieStorage } from './storage/cookie';
|
|
7
7
|
export { FetchTransport } from './transports/fetch';
|
|
@@ -11,4 +11,5 @@ export { getLanguage } from './language';
|
|
|
11
11
|
export { BASE_CAMPAIGN } from './attribution/constants';
|
|
12
12
|
export { getGlobalScope } from './global-scope';
|
|
13
13
|
export { getPageViewTrackingConfig, getAttributionTrackingConfig, isAttributionTrackingEnabled, isFileDownloadTrackingEnabled, isFormInteractionTrackingEnabled, isPageViewTrackingEnabled, isSessionTrackingEnabled, } from './default-tracking';
|
|
14
|
+
export { isCampaignEvent } from './attribution/campaign-helper';
|
|
14
15
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AACxG,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EACL,yBAAyB,EACzB,4BAA4B,EAC5B,4BAA4B,EAC5B,6BAA6B,EAC7B,gCAAgC,EAChC,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC"}
|
package/lib/esm/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { CampaignParser } from './attribution/campaign-parser';
|
|
2
2
|
export { CampaignTracker } from './attribution/campaign-tracker';
|
|
3
3
|
export { getQueryParams } from './query-params';
|
|
4
|
-
export { isNewSession } from './session';
|
|
4
|
+
export { isNewSession, isSessionExpired } from './session';
|
|
5
5
|
export { getCookieName, getOldCookieName } from './cookie-name';
|
|
6
6
|
export { CookieStorage } from './storage/cookie';
|
|
7
7
|
export { FetchTransport } from './transports/fetch';
|
|
@@ -11,4 +11,5 @@ export { getLanguage } from './language';
|
|
|
11
11
|
export { BASE_CAMPAIGN } from './attribution/constants';
|
|
12
12
|
export { getGlobalScope } from './global-scope';
|
|
13
13
|
export { getPageViewTrackingConfig, getAttributionTrackingConfig, isAttributionTrackingEnabled, isFileDownloadTrackingEnabled, isFormInteractionTrackingEnabled, isPageViewTrackingEnabled, isSessionTrackingEnabled, } from './default-tracking';
|
|
14
|
+
export { isCampaignEvent } from './attribution/campaign-helper';
|
|
14
15
|
//# sourceMappingURL=index.js.map
|
package/lib/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AACxG,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EACL,yBAAyB,EACzB,4BAA4B,EAC5B,4BAA4B,EAC5B,6BAA6B,EAC7B,gCAAgC,EAChC,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC","sourcesContent":["export { CampaignParser } from './attribution/campaign-parser';\nexport { CampaignTracker } from './attribution/campaign-tracker';\nexport { getQueryParams } from './query-params';\nexport { isNewSession, isSessionExpired } from './session';\nexport { getCookieName, getOldCookieName } from './cookie-name';\nexport { CookieStorage } from './storage/cookie';\nexport { FetchTransport } from './transports/fetch';\nexport { getAnalyticsConnector, setConnectorDeviceId, setConnectorUserId } from './analytics-connector';\nexport { IdentityEventSender } from './plugins/identity';\nexport { getLanguage } from './language';\nexport { BASE_CAMPAIGN } from './attribution/constants';\nexport { getGlobalScope } from './global-scope';\nexport {\n getPageViewTrackingConfig,\n getAttributionTrackingConfig,\n isAttributionTrackingEnabled,\n isFileDownloadTrackingEnabled,\n isFormInteractionTrackingEnabled,\n isPageViewTrackingEnabled,\n isSessionTrackingEnabled,\n} from './default-tracking';\nexport { isCampaignEvent } from './attribution/campaign-helper';\n"]}
|
package/lib/esm/session.d.ts
CHANGED
|
@@ -1,2 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @deprecated Function name is misleading. Use `isSessionExpired`.
|
|
3
|
+
*/
|
|
1
4
|
export declare const isNewSession: (sessionTimeout: number, lastEventTime?: number) => boolean;
|
|
5
|
+
export declare const isSessionExpired: (sessionTimeout: number, lastEventTime?: number) => boolean;
|
|
2
6
|
//# sourceMappingURL=session.d.ts.map
|
package/lib/esm/session.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,mBAAoB,MAAM,kBAAiB,MAAM,KAAgB,
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,YAAY,mBAAoB,MAAM,kBAAiB,MAAM,KAAgB,OACzC,CAAC;AAElD,eAAO,MAAM,gBAAgB,mBAAoB,MAAM,kBAAiB,MAAM,KAAgB,OAK7F,CAAC"}
|
package/lib/esm/session.js
CHANGED
|
@@ -1,4 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @deprecated Function name is misleading. Use `isSessionExpired`.
|
|
3
|
+
*/
|
|
1
4
|
export var isNewSession = function (sessionTimeout, lastEventTime) {
|
|
5
|
+
if (lastEventTime === void 0) { lastEventTime = Date.now(); }
|
|
6
|
+
return isSessionExpired(sessionTimeout, lastEventTime);
|
|
7
|
+
};
|
|
8
|
+
export var isSessionExpired = function (sessionTimeout, lastEventTime) {
|
|
2
9
|
if (lastEventTime === void 0) { lastEventTime = Date.now(); }
|
|
3
10
|
var currentTime = Date.now();
|
|
4
11
|
var timeSinceLastEvent = currentTime - lastEventTime;
|
package/lib/esm/session.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,YAAY,GAAG,UAAC,cAAsB,EAAE,aAAkC;IAAlC,8BAAA,EAAA,gBAAwB,IAAI,CAAC,GAAG,EAAE;IACrF,IAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC/B,IAAM,kBAAkB,GAAG,WAAW,GAAG,aAAa,CAAC;IAEvD,OAAO,kBAAkB,GAAG,cAAc,CAAC;AAC7C,CAAC,CAAC","sourcesContent":["
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,IAAM,YAAY,GAAG,UAAC,cAAsB,EAAE,aAAkC;IAAlC,8BAAA,EAAA,gBAAwB,IAAI,CAAC,GAAG,EAAE;IACrF,OAAA,gBAAgB,CAAC,cAAc,EAAE,aAAa,CAAC;AAA/C,CAA+C,CAAC;AAElD,MAAM,CAAC,IAAM,gBAAgB,GAAG,UAAC,cAAsB,EAAE,aAAkC;IAAlC,8BAAA,EAAA,gBAAwB,IAAI,CAAC,GAAG,EAAE;IACzF,IAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC/B,IAAM,kBAAkB,GAAG,WAAW,GAAG,aAAa,CAAC;IAEvD,OAAO,kBAAkB,GAAG,cAAc,CAAC;AAC7C,CAAC,CAAC","sourcesContent":["/**\n * @deprecated Function name is misleading. Use `isSessionExpired`.\n */\nexport const isNewSession = (sessionTimeout: number, lastEventTime: number = Date.now()): boolean =>\n isSessionExpired(sessionTimeout, lastEventTime);\n\nexport const isSessionExpired = (sessionTimeout: number, lastEventTime: number = Date.now()): boolean => {\n const currentTime = Date.now();\n const timeSinceLastEvent = currentTime - lastEventTime;\n\n return timeSinceLastEvent > sessionTimeout;\n};\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@amplitude/analytics-client-common",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.9-beta.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": "Amplitude Inc",
|
|
6
6
|
"homepage": "https://github.com/amplitude/Amplitude-TypeScript",
|
|
@@ -36,12 +36,12 @@
|
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"@amplitude/analytics-connector": "^1.4.8",
|
|
39
|
-
"@amplitude/analytics-core": "^2.2
|
|
40
|
-
"@amplitude/analytics-types": "^2.
|
|
39
|
+
"@amplitude/analytics-core": "^2.1.2-beta.0",
|
|
40
|
+
"@amplitude/analytics-types": "^2.3.1",
|
|
41
41
|
"tslib": "^2.4.1"
|
|
42
42
|
},
|
|
43
43
|
"files": [
|
|
44
44
|
"lib"
|
|
45
45
|
],
|
|
46
|
-
"gitHead": "
|
|
46
|
+
"gitHead": "4a4ac14f57e002b109aa090b48e20a8a4c302128"
|
|
47
47
|
}
|