@amplitude/analytics-client-common 0.3.0 → 0.3.2
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/global-scope.d.ts +2 -0
- package/lib/cjs/global-scope.d.ts.map +1 -0
- package/lib/cjs/global-scope.js +21 -0
- package/lib/cjs/global-scope.js.map +1 -0
- package/lib/cjs/index.d.ts +1 -0
- package/lib/cjs/index.d.ts.map +1 -1
- package/lib/cjs/index.js +3 -1
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/query-params.d.ts.map +1 -1
- package/lib/cjs/query-params.js +4 -2
- package/lib/cjs/query-params.js.map +1 -1
- package/lib/cjs/storage/cookie.d.ts.map +1 -1
- package/lib/cjs/storage/cookie.js +12 -6
- package/lib/cjs/storage/cookie.js.map +1 -1
- package/lib/esm/global-scope.d.ts +2 -0
- package/lib/esm/global-scope.d.ts.map +1 -0
- package/lib/esm/global-scope.js +18 -0
- package/lib/esm/global-scope.js.map +1 -0
- package/lib/esm/index.d.ts +1 -0
- package/lib/esm/index.d.ts.map +1 -1
- package/lib/esm/index.js +1 -0
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/query-params.d.ts.map +1 -1
- package/lib/esm/query-params.js +4 -2
- package/lib/esm/query-params.js.map +1 -1
- package/lib/esm/storage/cookie.d.ts.map +1 -1
- package/lib/esm/storage/cookie.js +12 -6
- package/lib/esm/storage/cookie.js.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"global-scope.d.ts","sourceRoot":"","sources":["../../src/global-scope.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,cAAc,QAAO,iBAAiB,GAAG,SAcrD,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/* eslint-disable no-restricted-globals */
|
|
2
|
+
/* Only file allowed to access to globalThis, window, self */
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.getGlobalScope = void 0;
|
|
5
|
+
var getGlobalScope = function () {
|
|
6
|
+
if (typeof globalThis !== 'undefined') {
|
|
7
|
+
return globalThis;
|
|
8
|
+
}
|
|
9
|
+
if (typeof window !== 'undefined') {
|
|
10
|
+
return window;
|
|
11
|
+
}
|
|
12
|
+
if (typeof self !== 'undefined') {
|
|
13
|
+
return self;
|
|
14
|
+
}
|
|
15
|
+
if (typeof global !== 'undefined') {
|
|
16
|
+
return global;
|
|
17
|
+
}
|
|
18
|
+
return undefined;
|
|
19
|
+
};
|
|
20
|
+
exports.getGlobalScope = getGlobalScope;
|
|
21
|
+
//# sourceMappingURL=global-scope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"global-scope.js","sourceRoot":"","sources":["../../src/global-scope.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,6DAA6D;;;AAEtD,IAAM,cAAc,GAAG;IAC5B,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE;QACrC,OAAO,UAAU,CAAC;KACnB;IACD,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;QACjC,OAAO,MAAM,CAAC;KACf;IACD,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE;QAC/B,OAAO,IAAI,CAAC;KACb;IACD,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;QACjC,OAAO,MAAM,CAAC;KACf;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAdW,QAAA,cAAc,kBAczB","sourcesContent":["/* eslint-disable no-restricted-globals */\n/* Only file allowed to access to globalThis, window, self */\n\nexport const getGlobalScope = (): typeof globalThis | undefined => {\n if (typeof globalThis !== 'undefined') {\n return globalThis;\n }\n if (typeof window !== 'undefined') {\n return window;\n }\n if (typeof self !== 'undefined') {\n return self;\n }\n if (typeof global !== 'undefined') {\n return global;\n }\n return undefined;\n};\n"]}
|
package/lib/cjs/index.d.ts
CHANGED
|
@@ -9,4 +9,5 @@ export { getAnalyticsConnector } from './analytics-connector';
|
|
|
9
9
|
export { IdentityEventSender } from './plugins/identity';
|
|
10
10
|
export { getLanguage } from './language';
|
|
11
11
|
export { BASE_CAMPAIGN } from './attribution/constants';
|
|
12
|
+
export { getGlobalScope } from './global-scope';
|
|
12
13
|
//# 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,aAAa,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,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,aAAa,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,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"}
|
package/lib/cjs/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
|
-
exports.BASE_CAMPAIGN = exports.getLanguage = exports.IdentityEventSender = exports.getAnalyticsConnector = exports.FetchTransport = exports.SessionManager = exports.CookieStorage = exports.getOldCookieName = exports.getCookieName = exports.getQueryParams = exports.CampaignTracker = exports.CampaignParser = void 0;
|
|
2
|
+
exports.getGlobalScope = exports.BASE_CAMPAIGN = exports.getLanguage = exports.IdentityEventSender = exports.getAnalyticsConnector = exports.FetchTransport = exports.SessionManager = exports.CookieStorage = exports.getOldCookieName = exports.getCookieName = 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");
|
|
@@ -23,4 +23,6 @@ var language_1 = require("./language");
|
|
|
23
23
|
Object.defineProperty(exports, "getLanguage", { enumerable: true, get: function () { return language_1.getLanguage; } });
|
|
24
24
|
var constants_1 = require("./attribution/constants");
|
|
25
25
|
Object.defineProperty(exports, "BASE_CAMPAIGN", { enumerable: true, get: function () { return constants_1.BASE_CAMPAIGN; } });
|
|
26
|
+
var global_scope_1 = require("./global-scope");
|
|
27
|
+
Object.defineProperty(exports, "getGlobalScope", { enumerable: true, get: function () { return global_scope_1.getGlobalScope; } });
|
|
26
28
|
//# 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,6CAAgE;AAAvD,4GAAA,aAAa,OAAA;AAAE,+GAAA,gBAAgB,OAAA;AACxC,2CAAiD;AAAxC,uGAAA,aAAa,OAAA;AACtB,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AACvB,4CAAoD;AAA3C,uGAAA,cAAc,OAAA;AACvB,6DAA8D;AAArD,4HAAA,qBAAqB,OAAA;AAC9B,+CAAyD;AAAhD,+GAAA,mBAAmB,OAAA;AAC5B,uCAAyC;AAAhC,uGAAA,WAAW,OAAA;AACpB,qDAAwD;AAA/C,0GAAA,aAAa,OAAA","sourcesContent":["export { CampaignParser } from './attribution/campaign-parser';\nexport { CampaignTracker } from './attribution/campaign-tracker';\nexport { getQueryParams } from './query-params';\nexport { getCookieName, getOldCookieName } from './cookie-name';\nexport { CookieStorage } from './storage/cookie';\nexport { SessionManager } from './session-manager';\nexport { FetchTransport } from './transports/fetch';\nexport { getAnalyticsConnector } from './analytics-connector';\nexport { IdentityEventSender } from './plugins/identity';\nexport { getLanguage } from './language';\nexport { BASE_CAMPAIGN } from './attribution/constants';\n"]}
|
|
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,6CAAgE;AAAvD,4GAAA,aAAa,OAAA;AAAE,+GAAA,gBAAgB,OAAA;AACxC,2CAAiD;AAAxC,uGAAA,aAAa,OAAA;AACtB,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AACvB,4CAAoD;AAA3C,uGAAA,cAAc,OAAA;AACvB,6DAA8D;AAArD,4HAAA,qBAAqB,OAAA;AAC9B,+CAAyD;AAAhD,+GAAA,mBAAmB,OAAA;AAC5B,uCAAyC;AAAhC,uGAAA,WAAW,OAAA;AACpB,qDAAwD;AAA/C,0GAAA,aAAa,OAAA;AACtB,+CAAgD;AAAvC,8GAAA,cAAc,OAAA","sourcesContent":["export { CampaignParser } from './attribution/campaign-parser';\nexport { CampaignTracker } from './attribution/campaign-tracker';\nexport { getQueryParams } from './query-params';\nexport { getCookieName, getOldCookieName } from './cookie-name';\nexport { CookieStorage } from './storage/cookie';\nexport { SessionManager } from './session-manager';\nexport { FetchTransport } from './transports/fetch';\nexport { getAnalyticsConnector } from './analytics-connector';\nexport { IdentityEventSender } from './plugins/identity';\nexport { getLanguage } from './language';\nexport { BASE_CAMPAIGN } from './attribution/constants';\nexport { getGlobalScope } from './global-scope';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-params.d.ts","sourceRoot":"","sources":["../../src/query-params.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"query-params.d.ts","sourceRoot":"","sources":["../../src/query-params.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc,QAAO,OAAO,MAAM,EAAE,MAAM,GAAG,SAAS,CAkBlE,CAAC;AAEF,eAAO,MAAM,qBAAqB,4BAMjC,CAAC"}
|
package/lib/cjs/query-params.js
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
2
|
exports.tryDecodeURIComponent = exports.getQueryParams = void 0;
|
|
3
|
+
var global_scope_1 = require("./global-scope");
|
|
3
4
|
var getQueryParams = function () {
|
|
5
|
+
var globalScope = (0, global_scope_1.getGlobalScope)();
|
|
4
6
|
/* istanbul ignore if */
|
|
5
|
-
if (
|
|
7
|
+
if (!(globalScope === null || globalScope === void 0 ? void 0 : globalScope.location.search)) {
|
|
6
8
|
return {};
|
|
7
9
|
}
|
|
8
|
-
var pairs =
|
|
10
|
+
var pairs = globalScope.location.search.substring(1).split('&').filter(Boolean);
|
|
9
11
|
var params = pairs.reduce(function (acc, curr) {
|
|
10
12
|
var query = curr.split('=', 2);
|
|
11
13
|
var key = (0, exports.tryDecodeURIComponent)(query[0]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-params.js","sourceRoot":"","sources":["../../src/query-params.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"query-params.js","sourceRoot":"","sources":["../../src/query-params.ts"],"names":[],"mappings":";;AAAA,+CAAgD;AAEzC,IAAM,cAAc,GAAG;IAC5B,IAAM,WAAW,GAAG,IAAA,6BAAc,GAAE,CAAC;IACrC,wBAAwB;IACxB,IAAI,CAAC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,QAAQ,CAAC,MAAM,CAAA,EAAE;QACjC,OAAO,EAAE,CAAC;KACX;IACD,IAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClF,IAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAqC,UAAC,GAAG,EAAE,IAAI;QACxE,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACjC,IAAM,GAAG,GAAG,IAAA,6BAAqB,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAM,KAAK,GAAG,IAAA,6BAAqB,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,GAAG,CAAC;SACZ;QACD,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACjB,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAlBW,QAAA,cAAc,kBAkBzB;AAEK,IAAM,qBAAqB,GAAG,UAAC,KAAU;IAAV,sBAAA,EAAA,UAAU;IAC9C,IAAI;QACF,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;KAClC;IAAC,WAAM;QACN,OAAO,EAAE,CAAC;KACX;AACH,CAAC,CAAC;AANW,QAAA,qBAAqB,yBAMhC","sourcesContent":["import { getGlobalScope } from './global-scope';\n\nexport const getQueryParams = (): Record<string, string | undefined> => {\n const globalScope = getGlobalScope();\n /* istanbul ignore if */\n if (!globalScope?.location.search) {\n return {};\n }\n const pairs = globalScope.location.search.substring(1).split('&').filter(Boolean);\n const params = pairs.reduce<Record<string, string | undefined>>((acc, curr) => {\n const query = curr.split('=', 2);\n const key = tryDecodeURIComponent(query[0]);\n const value = tryDecodeURIComponent(query[1]);\n if (!value) {\n return acc;\n }\n acc[key] = value;\n return acc;\n }, {});\n return params;\n};\n\nexport const tryDecodeURIComponent = (value = '') => {\n try {\n return decodeURIComponent(value);\n } catch {\n return '';\n }\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cookie.d.ts","sourceRoot":"","sources":["../../../src/storage/cookie.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"cookie.d.ts","sourceRoot":"","sources":["../../../src/storage/cookie.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAG3E,qBAAa,aAAa,CAAC,CAAC,CAAE,YAAW,OAAO,CAAC,CAAC,CAAC;IACjD,OAAO,EAAE,oBAAoB,CAAC;gBAElB,OAAO,CAAC,EAAE,oBAAoB;IAIpC,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAqB7B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAmBxC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAUhD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAiChD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
2
|
exports.CookieStorage = void 0;
|
|
3
3
|
var tslib_1 = require("tslib");
|
|
4
|
+
var global_scope_1 = require("../global-scope");
|
|
4
5
|
var CookieStorage = /** @class */ (function () {
|
|
5
6
|
function CookieStorage(options) {
|
|
6
7
|
this.options = (0, tslib_1.__assign)({}, options);
|
|
@@ -12,7 +13,7 @@ var CookieStorage = /** @class */ (function () {
|
|
|
12
13
|
switch (_b.label) {
|
|
13
14
|
case 0:
|
|
14
15
|
/* istanbul ignore if */
|
|
15
|
-
if (
|
|
16
|
+
if (!(0, global_scope_1.getGlobalScope)()) {
|
|
16
17
|
return [2 /*return*/, false];
|
|
17
18
|
}
|
|
18
19
|
random = String(Date.now());
|
|
@@ -72,10 +73,12 @@ var CookieStorage = /** @class */ (function () {
|
|
|
72
73
|
});
|
|
73
74
|
};
|
|
74
75
|
CookieStorage.prototype.getRaw = function (key) {
|
|
76
|
+
var _a;
|
|
75
77
|
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
|
76
|
-
var cookie, match;
|
|
77
|
-
return (0, tslib_1.__generator)(this, function (
|
|
78
|
-
|
|
78
|
+
var globalScope, cookie, match;
|
|
79
|
+
return (0, tslib_1.__generator)(this, function (_b) {
|
|
80
|
+
globalScope = (0, global_scope_1.getGlobalScope)();
|
|
81
|
+
cookie = (_a = globalScope === null || globalScope === void 0 ? void 0 : globalScope.document.cookie.split('; ')) !== null && _a !== void 0 ? _a : [];
|
|
79
82
|
match = cookie.find(function (c) { return c.indexOf(key + '=') === 0; });
|
|
80
83
|
if (!match) {
|
|
81
84
|
return [2 /*return*/, undefined];
|
|
@@ -87,7 +90,7 @@ var CookieStorage = /** @class */ (function () {
|
|
|
87
90
|
CookieStorage.prototype.set = function (key, value) {
|
|
88
91
|
var _a;
|
|
89
92
|
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
|
90
|
-
var expirationDays, expires, expireDate, date, str;
|
|
93
|
+
var expirationDays, expires, expireDate, date, str, globalScope;
|
|
91
94
|
return (0, tslib_1.__generator)(this, function (_b) {
|
|
92
95
|
try {
|
|
93
96
|
expirationDays = (_a = this.options.expirationDays) !== null && _a !== void 0 ? _a : 0;
|
|
@@ -112,7 +115,10 @@ var CookieStorage = /** @class */ (function () {
|
|
|
112
115
|
if (this.options.sameSite) {
|
|
113
116
|
str += "; SameSite=".concat(this.options.sameSite);
|
|
114
117
|
}
|
|
115
|
-
|
|
118
|
+
globalScope = (0, global_scope_1.getGlobalScope)();
|
|
119
|
+
if (globalScope) {
|
|
120
|
+
globalScope.document.cookie = str;
|
|
121
|
+
}
|
|
116
122
|
}
|
|
117
123
|
catch (_c) {
|
|
118
124
|
//
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cookie.js","sourceRoot":"","sources":["../../../src/storage/cookie.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"cookie.js","sourceRoot":"","sources":["../../../src/storage/cookie.ts"],"names":[],"mappings":"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","sourcesContent":["import { Storage, CookieStorageOptions } from '@amplitude/analytics-types';\nimport { getGlobalScope } from '../global-scope';\n\nexport class CookieStorage<T> implements Storage<T> {\n options: CookieStorageOptions;\n\n constructor(options?: CookieStorageOptions) {\n this.options = { ...options };\n }\n\n async isEnabled(): Promise<boolean> {\n /* istanbul ignore if */\n if (!getGlobalScope()) {\n return false;\n }\n\n const random = String(Date.now());\n const testStrorage = new CookieStorage<string>(this.options);\n const testKey = 'AMP_TEST';\n try {\n await testStrorage.set(testKey, random);\n const value = await testStrorage.get(testKey);\n return value === random;\n } catch {\n /* istanbul ignore next */\n return false;\n } finally {\n await testStrorage.remove(testKey);\n }\n }\n\n async get(key: string): Promise<T | undefined> {\n let value = await this.getRaw(key);\n if (!value) {\n return undefined;\n }\n try {\n try {\n value = decodeURIComponent(atob(value));\n } catch {\n // value not encoded\n }\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return JSON.parse(value);\n } catch {\n /* istanbul ignore next */\n return undefined;\n }\n }\n\n async getRaw(key: string): Promise<string | undefined> {\n const globalScope = getGlobalScope();\n const cookie = globalScope?.document.cookie.split('; ') ?? [];\n const match = cookie.find((c) => c.indexOf(key + '=') === 0);\n if (!match) {\n return undefined;\n }\n return match.substring(key.length + 1);\n }\n\n async set(key: string, value: T | null): Promise<void> {\n try {\n const expirationDays = this.options.expirationDays ?? 0;\n const expires = value !== null ? expirationDays : -1;\n let expireDate: Date | undefined = undefined;\n if (expires) {\n const date = new Date();\n date.setTime(date.getTime() + expires * 24 * 60 * 60 * 1000);\n expireDate = date;\n }\n let str = `${key}=${btoa(encodeURIComponent(JSON.stringify(value)))}`;\n if (expireDate) {\n str += `; expires=${expireDate.toUTCString()}`;\n }\n str += '; path=/';\n if (this.options.domain) {\n str += `; domain=${this.options.domain}`;\n }\n if (this.options.secure) {\n str += '; Secure';\n }\n if (this.options.sameSite) {\n str += `; SameSite=${this.options.sameSite}`;\n }\n const globalScope = getGlobalScope();\n if (globalScope) {\n globalScope.document.cookie = str;\n }\n } catch {\n //\n }\n }\n\n async remove(key: string): Promise<void> {\n await this.set(key, null);\n }\n\n async reset(): Promise<void> {\n return;\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"global-scope.d.ts","sourceRoot":"","sources":["../../src/global-scope.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,cAAc,QAAO,iBAAiB,GAAG,SAcrD,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/* eslint-disable no-restricted-globals */
|
|
2
|
+
/* Only file allowed to access to globalThis, window, self */
|
|
3
|
+
export var getGlobalScope = function () {
|
|
4
|
+
if (typeof globalThis !== 'undefined') {
|
|
5
|
+
return globalThis;
|
|
6
|
+
}
|
|
7
|
+
if (typeof window !== 'undefined') {
|
|
8
|
+
return window;
|
|
9
|
+
}
|
|
10
|
+
if (typeof self !== 'undefined') {
|
|
11
|
+
return self;
|
|
12
|
+
}
|
|
13
|
+
if (typeof global !== 'undefined') {
|
|
14
|
+
return global;
|
|
15
|
+
}
|
|
16
|
+
return undefined;
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=global-scope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"global-scope.js","sourceRoot":"","sources":["../../src/global-scope.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,6DAA6D;AAE7D,MAAM,CAAC,IAAM,cAAc,GAAG;IAC5B,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE;QACrC,OAAO,UAAU,CAAC;KACnB;IACD,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;QACjC,OAAO,MAAM,CAAC;KACf;IACD,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE;QAC/B,OAAO,IAAI,CAAC;KACb;IACD,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;QACjC,OAAO,MAAM,CAAC;KACf;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC","sourcesContent":["/* eslint-disable no-restricted-globals */\n/* Only file allowed to access to globalThis, window, self */\n\nexport const getGlobalScope = (): typeof globalThis | undefined => {\n if (typeof globalThis !== 'undefined') {\n return globalThis;\n }\n if (typeof window !== 'undefined') {\n return window;\n }\n if (typeof self !== 'undefined') {\n return self;\n }\n if (typeof global !== 'undefined') {\n return global;\n }\n return undefined;\n};\n"]}
|
package/lib/esm/index.d.ts
CHANGED
|
@@ -9,4 +9,5 @@ export { getAnalyticsConnector } from './analytics-connector';
|
|
|
9
9
|
export { IdentityEventSender } from './plugins/identity';
|
|
10
10
|
export { getLanguage } from './language';
|
|
11
11
|
export { BASE_CAMPAIGN } from './attribution/constants';
|
|
12
|
+
export { getGlobalScope } from './global-scope';
|
|
12
13
|
//# 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,aAAa,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,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,aAAa,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,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"}
|
package/lib/esm/index.js
CHANGED
|
@@ -9,4 +9,5 @@ export { getAnalyticsConnector } from './analytics-connector';
|
|
|
9
9
|
export { IdentityEventSender } from './plugins/identity';
|
|
10
10
|
export { getLanguage } from './language';
|
|
11
11
|
export { BASE_CAMPAIGN } from './attribution/constants';
|
|
12
|
+
export { getGlobalScope } from './global-scope';
|
|
12
13
|
//# 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,aAAa,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC","sourcesContent":["export { CampaignParser } from './attribution/campaign-parser';\nexport { CampaignTracker } from './attribution/campaign-tracker';\nexport { getQueryParams } from './query-params';\nexport { getCookieName, getOldCookieName } from './cookie-name';\nexport { CookieStorage } from './storage/cookie';\nexport { SessionManager } from './session-manager';\nexport { FetchTransport } from './transports/fetch';\nexport { getAnalyticsConnector } from './analytics-connector';\nexport { IdentityEventSender } from './plugins/identity';\nexport { getLanguage } from './language';\nexport { BASE_CAMPAIGN } from './attribution/constants';\n"]}
|
|
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,aAAa,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,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","sourcesContent":["export { CampaignParser } from './attribution/campaign-parser';\nexport { CampaignTracker } from './attribution/campaign-tracker';\nexport { getQueryParams } from './query-params';\nexport { getCookieName, getOldCookieName } from './cookie-name';\nexport { CookieStorage } from './storage/cookie';\nexport { SessionManager } from './session-manager';\nexport { FetchTransport } from './transports/fetch';\nexport { getAnalyticsConnector } from './analytics-connector';\nexport { IdentityEventSender } from './plugins/identity';\nexport { getLanguage } from './language';\nexport { BASE_CAMPAIGN } from './attribution/constants';\nexport { getGlobalScope } from './global-scope';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-params.d.ts","sourceRoot":"","sources":["../../src/query-params.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"query-params.d.ts","sourceRoot":"","sources":["../../src/query-params.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc,QAAO,OAAO,MAAM,EAAE,MAAM,GAAG,SAAS,CAkBlE,CAAC;AAEF,eAAO,MAAM,qBAAqB,4BAMjC,CAAC"}
|
package/lib/esm/query-params.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
import { getGlobalScope } from './global-scope';
|
|
1
2
|
export var getQueryParams = function () {
|
|
3
|
+
var globalScope = getGlobalScope();
|
|
2
4
|
/* istanbul ignore if */
|
|
3
|
-
if (
|
|
5
|
+
if (!(globalScope === null || globalScope === void 0 ? void 0 : globalScope.location.search)) {
|
|
4
6
|
return {};
|
|
5
7
|
}
|
|
6
|
-
var pairs =
|
|
8
|
+
var pairs = globalScope.location.search.substring(1).split('&').filter(Boolean);
|
|
7
9
|
var params = pairs.reduce(function (acc, curr) {
|
|
8
10
|
var query = curr.split('=', 2);
|
|
9
11
|
var key = tryDecodeURIComponent(query[0]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-params.js","sourceRoot":"","sources":["../../src/query-params.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,cAAc,GAAG;IAC5B,
|
|
1
|
+
{"version":3,"file":"query-params.js","sourceRoot":"","sources":["../../src/query-params.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,CAAC,IAAM,cAAc,GAAG;IAC5B,IAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,wBAAwB;IACxB,IAAI,CAAC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,QAAQ,CAAC,MAAM,CAAA,EAAE;QACjC,OAAO,EAAE,CAAC;KACX;IACD,IAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClF,IAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAqC,UAAC,GAAG,EAAE,IAAI;QACxE,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACjC,IAAM,GAAG,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAM,KAAK,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,GAAG,CAAC;SACZ;QACD,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACjB,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,qBAAqB,GAAG,UAAC,KAAU;IAAV,sBAAA,EAAA,UAAU;IAC9C,IAAI;QACF,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;KAClC;IAAC,WAAM;QACN,OAAO,EAAE,CAAC;KACX;AACH,CAAC,CAAC","sourcesContent":["import { getGlobalScope } from './global-scope';\n\nexport const getQueryParams = (): Record<string, string | undefined> => {\n const globalScope = getGlobalScope();\n /* istanbul ignore if */\n if (!globalScope?.location.search) {\n return {};\n }\n const pairs = globalScope.location.search.substring(1).split('&').filter(Boolean);\n const params = pairs.reduce<Record<string, string | undefined>>((acc, curr) => {\n const query = curr.split('=', 2);\n const key = tryDecodeURIComponent(query[0]);\n const value = tryDecodeURIComponent(query[1]);\n if (!value) {\n return acc;\n }\n acc[key] = value;\n return acc;\n }, {});\n return params;\n};\n\nexport const tryDecodeURIComponent = (value = '') => {\n try {\n return decodeURIComponent(value);\n } catch {\n return '';\n }\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cookie.d.ts","sourceRoot":"","sources":["../../../src/storage/cookie.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"cookie.d.ts","sourceRoot":"","sources":["../../../src/storage/cookie.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAG3E,qBAAa,aAAa,CAAC,CAAC,CAAE,YAAW,OAAO,CAAC,CAAC,CAAC;IACjD,OAAO,EAAE,oBAAoB,CAAC;gBAElB,OAAO,CAAC,EAAE,oBAAoB;IAIpC,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAqB7B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAmBxC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAUhD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAiChD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { __assign, __awaiter, __generator } from "tslib";
|
|
2
|
+
import { getGlobalScope } from '../global-scope';
|
|
2
3
|
var CookieStorage = /** @class */ (function () {
|
|
3
4
|
function CookieStorage(options) {
|
|
4
5
|
this.options = __assign({}, options);
|
|
@@ -10,7 +11,7 @@ var CookieStorage = /** @class */ (function () {
|
|
|
10
11
|
switch (_b.label) {
|
|
11
12
|
case 0:
|
|
12
13
|
/* istanbul ignore if */
|
|
13
|
-
if (
|
|
14
|
+
if (!getGlobalScope()) {
|
|
14
15
|
return [2 /*return*/, false];
|
|
15
16
|
}
|
|
16
17
|
random = String(Date.now());
|
|
@@ -70,10 +71,12 @@ var CookieStorage = /** @class */ (function () {
|
|
|
70
71
|
});
|
|
71
72
|
};
|
|
72
73
|
CookieStorage.prototype.getRaw = function (key) {
|
|
74
|
+
var _a;
|
|
73
75
|
return __awaiter(this, void 0, void 0, function () {
|
|
74
|
-
var cookie, match;
|
|
75
|
-
return __generator(this, function (
|
|
76
|
-
|
|
76
|
+
var globalScope, cookie, match;
|
|
77
|
+
return __generator(this, function (_b) {
|
|
78
|
+
globalScope = getGlobalScope();
|
|
79
|
+
cookie = (_a = globalScope === null || globalScope === void 0 ? void 0 : globalScope.document.cookie.split('; ')) !== null && _a !== void 0 ? _a : [];
|
|
77
80
|
match = cookie.find(function (c) { return c.indexOf(key + '=') === 0; });
|
|
78
81
|
if (!match) {
|
|
79
82
|
return [2 /*return*/, undefined];
|
|
@@ -85,7 +88,7 @@ var CookieStorage = /** @class */ (function () {
|
|
|
85
88
|
CookieStorage.prototype.set = function (key, value) {
|
|
86
89
|
var _a;
|
|
87
90
|
return __awaiter(this, void 0, void 0, function () {
|
|
88
|
-
var expirationDays, expires, expireDate, date, str;
|
|
91
|
+
var expirationDays, expires, expireDate, date, str, globalScope;
|
|
89
92
|
return __generator(this, function (_b) {
|
|
90
93
|
try {
|
|
91
94
|
expirationDays = (_a = this.options.expirationDays) !== null && _a !== void 0 ? _a : 0;
|
|
@@ -110,7 +113,10 @@ var CookieStorage = /** @class */ (function () {
|
|
|
110
113
|
if (this.options.sameSite) {
|
|
111
114
|
str += "; SameSite=".concat(this.options.sameSite);
|
|
112
115
|
}
|
|
113
|
-
|
|
116
|
+
globalScope = getGlobalScope();
|
|
117
|
+
if (globalScope) {
|
|
118
|
+
globalScope.document.cookie = str;
|
|
119
|
+
}
|
|
114
120
|
}
|
|
115
121
|
catch (_c) {
|
|
116
122
|
//
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cookie.js","sourceRoot":"","sources":["../../../src/storage/cookie.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"cookie.js","sourceRoot":"","sources":["../../../src/storage/cookie.ts"],"names":[],"mappings":"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","sourcesContent":["import { Storage, CookieStorageOptions } from '@amplitude/analytics-types';\nimport { getGlobalScope } from '../global-scope';\n\nexport class CookieStorage<T> implements Storage<T> {\n options: CookieStorageOptions;\n\n constructor(options?: CookieStorageOptions) {\n this.options = { ...options };\n }\n\n async isEnabled(): Promise<boolean> {\n /* istanbul ignore if */\n if (!getGlobalScope()) {\n return false;\n }\n\n const random = String(Date.now());\n const testStrorage = new CookieStorage<string>(this.options);\n const testKey = 'AMP_TEST';\n try {\n await testStrorage.set(testKey, random);\n const value = await testStrorage.get(testKey);\n return value === random;\n } catch {\n /* istanbul ignore next */\n return false;\n } finally {\n await testStrorage.remove(testKey);\n }\n }\n\n async get(key: string): Promise<T | undefined> {\n let value = await this.getRaw(key);\n if (!value) {\n return undefined;\n }\n try {\n try {\n value = decodeURIComponent(atob(value));\n } catch {\n // value not encoded\n }\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return JSON.parse(value);\n } catch {\n /* istanbul ignore next */\n return undefined;\n }\n }\n\n async getRaw(key: string): Promise<string | undefined> {\n const globalScope = getGlobalScope();\n const cookie = globalScope?.document.cookie.split('; ') ?? [];\n const match = cookie.find((c) => c.indexOf(key + '=') === 0);\n if (!match) {\n return undefined;\n }\n return match.substring(key.length + 1);\n }\n\n async set(key: string, value: T | null): Promise<void> {\n try {\n const expirationDays = this.options.expirationDays ?? 0;\n const expires = value !== null ? expirationDays : -1;\n let expireDate: Date | undefined = undefined;\n if (expires) {\n const date = new Date();\n date.setTime(date.getTime() + expires * 24 * 60 * 60 * 1000);\n expireDate = date;\n }\n let str = `${key}=${btoa(encodeURIComponent(JSON.stringify(value)))}`;\n if (expireDate) {\n str += `; expires=${expireDate.toUTCString()}`;\n }\n str += '; path=/';\n if (this.options.domain) {\n str += `; domain=${this.options.domain}`;\n }\n if (this.options.secure) {\n str += '; Secure';\n }\n if (this.options.sameSite) {\n str += `; SameSite=${this.options.sameSite}`;\n }\n const globalScope = getGlobalScope();\n if (globalScope) {\n globalScope.document.cookie = str;\n }\n } catch {\n //\n }\n }\n\n async remove(key: string): Promise<void> {\n await this.set(key, null);\n }\n\n async reset(): Promise<void> {\n return;\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@amplitude/analytics-client-common",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.2",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": "Amplitude Inc",
|
|
6
6
|
"homepage": "https://github.com/amplitude/Amplitude-TypeScript",
|
|
@@ -35,12 +35,12 @@
|
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
37
|
"@amplitude/analytics-connector": "^1.4.5",
|
|
38
|
-
"@amplitude/analytics-core": "^0.9.
|
|
38
|
+
"@amplitude/analytics-core": "^0.9.7",
|
|
39
39
|
"@amplitude/analytics-types": "^0.11.0",
|
|
40
40
|
"tslib": "^2.3.1"
|
|
41
41
|
},
|
|
42
42
|
"files": [
|
|
43
43
|
"lib"
|
|
44
44
|
],
|
|
45
|
-
"gitHead": "
|
|
45
|
+
"gitHead": "7e75f22a1d9a972f627d18ae2e09add8dac2c63f"
|
|
46
46
|
}
|