@amplitude/analytics-browser 0.1.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.
Files changed (166) hide show
  1. package/README.md +1 -0
  2. package/lib/cjs/attribution.d.ts +11 -0
  3. package/lib/cjs/attribution.d.ts.map +1 -0
  4. package/lib/cjs/attribution.js +76 -0
  5. package/lib/cjs/attribution.js.map +1 -0
  6. package/lib/cjs/browser-client.d.ts +183 -0
  7. package/lib/cjs/browser-client.d.ts.map +1 -0
  8. package/lib/cjs/browser-client.js +298 -0
  9. package/lib/cjs/browser-client.js.map +1 -0
  10. package/lib/cjs/config.d.ts +83 -0
  11. package/lib/cjs/config.d.ts.map +1 -0
  12. package/lib/cjs/config.js +138 -0
  13. package/lib/cjs/config.js.map +1 -0
  14. package/lib/cjs/constants.d.ts +13 -0
  15. package/lib/cjs/constants.d.ts.map +1 -0
  16. package/lib/cjs/constants.js +15 -0
  17. package/lib/cjs/constants.js.map +1 -0
  18. package/lib/cjs/index.d.ts +5 -0
  19. package/lib/cjs/index.d.ts.map +1 -0
  20. package/lib/cjs/index.js +28 -0
  21. package/lib/cjs/index.js.map +1 -0
  22. package/lib/cjs/plugins/context.d.ts +14 -0
  23. package/lib/cjs/plugins/context.d.ts.map +1 -0
  24. package/lib/cjs/plugins/context.js +46 -0
  25. package/lib/cjs/plugins/context.js.map +1 -0
  26. package/lib/cjs/session-manager.d.ts +6 -0
  27. package/lib/cjs/session-manager.d.ts.map +1 -0
  28. package/lib/cjs/session-manager.js +42 -0
  29. package/lib/cjs/session-manager.js.map +1 -0
  30. package/lib/cjs/snippet-index.d.ts +2 -0
  31. package/lib/cjs/snippet-index.d.ts.map +1 -0
  32. package/lib/cjs/snippet-index.js +11 -0
  33. package/lib/cjs/snippet-index.js.map +1 -0
  34. package/lib/cjs/storage/cookie.d.ts +12 -0
  35. package/lib/cjs/storage/cookie.d.ts.map +1 -0
  36. package/lib/cjs/storage/cookie.js +86 -0
  37. package/lib/cjs/storage/cookie.js.map +1 -0
  38. package/lib/cjs/storage/local-storage.d.ts +9 -0
  39. package/lib/cjs/storage/local-storage.d.ts.map +1 -0
  40. package/lib/cjs/storage/local-storage.js +68 -0
  41. package/lib/cjs/storage/local-storage.js.map +1 -0
  42. package/lib/cjs/storage/memory.d.ts +10 -0
  43. package/lib/cjs/storage/memory.d.ts.map +1 -0
  44. package/lib/cjs/storage/memory.js +25 -0
  45. package/lib/cjs/storage/memory.js.map +1 -0
  46. package/lib/cjs/storage/utm-cookie.d.ts +6 -0
  47. package/lib/cjs/storage/utm-cookie.d.ts.map +1 -0
  48. package/lib/cjs/storage/utm-cookie.js +36 -0
  49. package/lib/cjs/storage/utm-cookie.js.map +1 -0
  50. package/lib/cjs/transports/fetch.d.ts +5 -0
  51. package/lib/cjs/transports/fetch.d.ts.map +1 -0
  52. package/lib/cjs/transports/fetch.js +42 -0
  53. package/lib/cjs/transports/fetch.js.map +1 -0
  54. package/lib/cjs/transports/send-beacon.d.ts +5 -0
  55. package/lib/cjs/transports/send-beacon.d.ts.map +1 -0
  56. package/lib/cjs/transports/send-beacon.js +41 -0
  57. package/lib/cjs/transports/send-beacon.js.map +1 -0
  58. package/lib/cjs/transports/xhr.d.ts +6 -0
  59. package/lib/cjs/transports/xhr.d.ts.map +1 -0
  60. package/lib/cjs/transports/xhr.js +46 -0
  61. package/lib/cjs/transports/xhr.js.map +1 -0
  62. package/lib/cjs/utils/language.d.ts +2 -0
  63. package/lib/cjs/utils/language.d.ts.map +1 -0
  64. package/lib/cjs/utils/language.js +12 -0
  65. package/lib/cjs/utils/language.js.map +1 -0
  66. package/lib/cjs/utils/query-params.d.ts +2 -0
  67. package/lib/cjs/utils/query-params.d.ts.map +1 -0
  68. package/lib/cjs/utils/query-params.js +21 -0
  69. package/lib/cjs/utils/query-params.js.map +1 -0
  70. package/lib/cjs/utils/snippet-helper.d.ts +15 -0
  71. package/lib/cjs/utils/snippet-helper.d.ts.map +1 -0
  72. package/lib/cjs/utils/snippet-helper.js +34 -0
  73. package/lib/cjs/utils/snippet-helper.js.map +1 -0
  74. package/lib/cjs/utils/uuid.d.ts +10 -0
  75. package/lib/cjs/utils/uuid.d.ts.map +1 -0
  76. package/lib/cjs/utils/uuid.js +31 -0
  77. package/lib/cjs/utils/uuid.js.map +1 -0
  78. package/lib/cjs/version.d.ts +13 -0
  79. package/lib/cjs/version.d.ts.map +1 -0
  80. package/lib/cjs/version.js +15 -0
  81. package/lib/cjs/version.js.map +1 -0
  82. package/lib/esm/attribution.d.ts +11 -0
  83. package/lib/esm/attribution.d.ts.map +1 -0
  84. package/lib/esm/attribution.js +69 -0
  85. package/lib/esm/attribution.js.map +1 -0
  86. package/lib/esm/browser-client.d.ts +183 -0
  87. package/lib/esm/browser-client.d.ts.map +1 -0
  88. package/lib/esm/browser-client.js +279 -0
  89. package/lib/esm/browser-client.js.map +1 -0
  90. package/lib/esm/config.d.ts +83 -0
  91. package/lib/esm/config.d.ts.map +1 -0
  92. package/lib/esm/config.js +129 -0
  93. package/lib/esm/config.js.map +1 -0
  94. package/lib/esm/constants.d.ts +13 -0
  95. package/lib/esm/constants.d.ts.map +1 -0
  96. package/lib/esm/constants.js +13 -0
  97. package/lib/esm/constants.js.map +1 -0
  98. package/lib/esm/index.d.ts +5 -0
  99. package/lib/esm/index.d.ts.map +1 -0
  100. package/lib/esm/index.js +6 -0
  101. package/lib/esm/index.js.map +1 -0
  102. package/lib/esm/plugins/context.d.ts +14 -0
  103. package/lib/esm/plugins/context.d.ts.map +1 -0
  104. package/lib/esm/plugins/context.js +44 -0
  105. package/lib/esm/plugins/context.js.map +1 -0
  106. package/lib/esm/session-manager.d.ts +6 -0
  107. package/lib/esm/session-manager.d.ts.map +1 -0
  108. package/lib/esm/session-manager.js +36 -0
  109. package/lib/esm/session-manager.js.map +1 -0
  110. package/lib/esm/snippet-index.d.ts +2 -0
  111. package/lib/esm/snippet-index.d.ts.map +1 -0
  112. package/lib/esm/snippet-index.js +9 -0
  113. package/lib/esm/snippet-index.js.map +1 -0
  114. package/lib/esm/storage/cookie.d.ts +12 -0
  115. package/lib/esm/storage/cookie.d.ts.map +1 -0
  116. package/lib/esm/storage/cookie.js +84 -0
  117. package/lib/esm/storage/cookie.js.map +1 -0
  118. package/lib/esm/storage/local-storage.d.ts +9 -0
  119. package/lib/esm/storage/local-storage.d.ts.map +1 -0
  120. package/lib/esm/storage/local-storage.js +66 -0
  121. package/lib/esm/storage/local-storage.js.map +1 -0
  122. package/lib/esm/storage/memory.d.ts +10 -0
  123. package/lib/esm/storage/memory.d.ts.map +1 -0
  124. package/lib/esm/storage/memory.js +23 -0
  125. package/lib/esm/storage/memory.js.map +1 -0
  126. package/lib/esm/storage/utm-cookie.d.ts +6 -0
  127. package/lib/esm/storage/utm-cookie.d.ts.map +1 -0
  128. package/lib/esm/storage/utm-cookie.js +34 -0
  129. package/lib/esm/storage/utm-cookie.js.map +1 -0
  130. package/lib/esm/transports/fetch.d.ts +5 -0
  131. package/lib/esm/transports/fetch.d.ts.map +1 -0
  132. package/lib/esm/transports/fetch.js +40 -0
  133. package/lib/esm/transports/fetch.js.map +1 -0
  134. package/lib/esm/transports/send-beacon.d.ts +5 -0
  135. package/lib/esm/transports/send-beacon.d.ts.map +1 -0
  136. package/lib/esm/transports/send-beacon.js +39 -0
  137. package/lib/esm/transports/send-beacon.js.map +1 -0
  138. package/lib/esm/transports/xhr.d.ts +6 -0
  139. package/lib/esm/transports/xhr.d.ts.map +1 -0
  140. package/lib/esm/transports/xhr.js +44 -0
  141. package/lib/esm/transports/xhr.js.map +1 -0
  142. package/lib/esm/utils/language.d.ts +2 -0
  143. package/lib/esm/utils/language.d.ts.map +1 -0
  144. package/lib/esm/utils/language.js +9 -0
  145. package/lib/esm/utils/language.js.map +1 -0
  146. package/lib/esm/utils/query-params.d.ts +2 -0
  147. package/lib/esm/utils/query-params.d.ts.map +1 -0
  148. package/lib/esm/utils/query-params.js +18 -0
  149. package/lib/esm/utils/query-params.js.map +1 -0
  150. package/lib/esm/utils/snippet-helper.d.ts +15 -0
  151. package/lib/esm/utils/snippet-helper.d.ts.map +1 -0
  152. package/lib/esm/utils/snippet-helper.js +29 -0
  153. package/lib/esm/utils/snippet-helper.js.map +1 -0
  154. package/lib/esm/utils/uuid.d.ts +10 -0
  155. package/lib/esm/utils/uuid.d.ts.map +1 -0
  156. package/lib/esm/utils/uuid.js +28 -0
  157. package/lib/esm/utils/uuid.js.map +1 -0
  158. package/lib/esm/version.d.ts +2 -0
  159. package/lib/esm/version.d.ts.map +1 -0
  160. package/lib/esm/version.js +2 -0
  161. package/lib/esm/version.js.map +1 -0
  162. package/lib/scripts/amplitude-min.js +15 -0
  163. package/lib/scripts/amplitude-min.js.gz +0 -0
  164. package/lib/scripts/amplitude-min.umd.js +15 -0
  165. package/lib/scripts/amplitude-min.umd.js.gz +0 -0
  166. package/package.json +58 -0
@@ -0,0 +1,9 @@
1
+ import { Storage } from '@amplitude/analytics-types';
2
+ export declare class LocalStorage<T> implements Storage<T> {
3
+ isEnabled(): boolean;
4
+ get(key: string): T | undefined;
5
+ set(key: string, value: T): void;
6
+ remove(key: string): void;
7
+ reset(): void;
8
+ }
9
+ //# sourceMappingURL=local-storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-storage.d.ts","sourceRoot":"","sources":["../../../src/storage/local-storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAErD,qBAAa,YAAY,CAAC,CAAC,CAAE,YAAW,OAAO,CAAC,CAAC,CAAC;IAChD,SAAS,IAAI,OAAO;IAqBpB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAc/B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAQzB,MAAM,CAAC,GAAG,EAAE,MAAM;IAQlB,KAAK;CAON"}
@@ -0,0 +1,68 @@
1
+ Object.defineProperty(exports, "__esModule", { value: true });
2
+ exports.LocalStorage = void 0;
3
+ var LocalStorage = /** @class */ (function () {
4
+ function LocalStorage() {
5
+ }
6
+ LocalStorage.prototype.isEnabled = function () {
7
+ /* istanbul ignore if */
8
+ if (typeof window === 'undefined') {
9
+ return false;
10
+ }
11
+ var random = String(Date.now());
12
+ var testStrorage = new LocalStorage();
13
+ var testKey = 'AMP_TEST';
14
+ try {
15
+ testStrorage.set(testKey, random);
16
+ var value = testStrorage.get(testKey);
17
+ return value === random;
18
+ }
19
+ catch (_a) {
20
+ /* istanbul ignore next */
21
+ return false;
22
+ }
23
+ finally {
24
+ testStrorage.remove(testKey);
25
+ }
26
+ };
27
+ LocalStorage.prototype.get = function (key) {
28
+ try {
29
+ var value = window.localStorage.getItem(key);
30
+ if (!value) {
31
+ return undefined;
32
+ }
33
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return
34
+ return JSON.parse(value);
35
+ }
36
+ catch (_a) {
37
+ /* istanbul ignore next */
38
+ return undefined;
39
+ }
40
+ };
41
+ LocalStorage.prototype.set = function (key, value) {
42
+ try {
43
+ window.localStorage.setItem(key, JSON.stringify(value));
44
+ }
45
+ catch (_a) {
46
+ //
47
+ }
48
+ };
49
+ LocalStorage.prototype.remove = function (key) {
50
+ try {
51
+ window.localStorage.removeItem(key);
52
+ }
53
+ catch (_a) {
54
+ //
55
+ }
56
+ };
57
+ LocalStorage.prototype.reset = function () {
58
+ try {
59
+ window.localStorage.clear();
60
+ }
61
+ catch (_a) {
62
+ //
63
+ }
64
+ };
65
+ return LocalStorage;
66
+ }());
67
+ exports.LocalStorage = LocalStorage;
68
+ //# sourceMappingURL=local-storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-storage.js","sourceRoot":"","sources":["../../../src/storage/local-storage.ts"],"names":[],"mappings":";;AAEA;IAAA;IA2DA,CAAC;IA1DC,gCAAS,GAAT;QACE,wBAAwB;QACxB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;YACjC,OAAO,KAAK,CAAC;SACd;QAED,IAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAClC,IAAM,YAAY,GAAG,IAAI,YAAY,EAAU,CAAC;QAChD,IAAM,OAAO,GAAG,UAAU,CAAC;QAC3B,IAAI;YACF,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAClC,IAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACxC,OAAO,KAAK,KAAK,MAAM,CAAC;SACzB;QAAC,WAAM;YACN,0BAA0B;YAC1B,OAAO,KAAK,CAAC;SACd;gBAAS;YACR,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;SAC9B;IACH,CAAC;IAED,0BAAG,GAAH,UAAI,GAAW;QACb,IAAI;YACF,IAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC/C,IAAI,CAAC,KAAK,EAAE;gBACV,OAAO,SAAS,CAAC;aAClB;YACD,+DAA+D;YAC/D,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SAC1B;QAAC,WAAM;YACN,0BAA0B;YAC1B,OAAO,SAAS,CAAC;SAClB;IACH,CAAC;IAED,0BAAG,GAAH,UAAI,GAAW,EAAE,KAAQ;QACvB,IAAI;YACF,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;SACzD;QAAC,WAAM;YACN,EAAE;SACH;IACH,CAAC;IAED,6BAAM,GAAN,UAAO,GAAW;QAChB,IAAI;YACF,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;SACrC;QAAC,WAAM;YACN,EAAE;SACH;IACH,CAAC;IAED,4BAAK,GAAL;QACE,IAAI;YACF,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;SAC7B;QAAC,WAAM;YACN,EAAE;SACH;IACH,CAAC;IACH,mBAAC;AAAD,CAAC,AA3DD,IA2DC;AA3DY,oCAAY","sourcesContent":["import { Storage } from '@amplitude/analytics-types';\n\nexport class LocalStorage<T> implements Storage<T> {\n isEnabled(): boolean {\n /* istanbul ignore if */\n if (typeof window === 'undefined') {\n return false;\n }\n\n const random = String(Date.now());\n const testStrorage = new LocalStorage<string>();\n const testKey = 'AMP_TEST';\n try {\n testStrorage.set(testKey, random);\n const value = testStrorage.get(testKey);\n return value === random;\n } catch {\n /* istanbul ignore next */\n return false;\n } finally {\n testStrorage.remove(testKey);\n }\n }\n\n get(key: string): T | undefined {\n try {\n const value = window.localStorage.getItem(key);\n if (!value) {\n return undefined;\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 set(key: string, value: T) {\n try {\n window.localStorage.setItem(key, JSON.stringify(value));\n } catch {\n //\n }\n }\n\n remove(key: string) {\n try {\n window.localStorage.removeItem(key);\n } catch {\n //\n }\n }\n\n reset() {\n try {\n window.localStorage.clear();\n } catch {\n //\n }\n }\n}\n"]}
@@ -0,0 +1,10 @@
1
+ import { Storage } from '@amplitude/analytics-types';
2
+ export declare class MemoryStorage<T> implements Storage<T> {
3
+ memoryStorage: Map<string, T>;
4
+ isEnabled(): boolean;
5
+ get(key: string): T | undefined;
6
+ set(key: string, value: T): void;
7
+ remove(key: string): void;
8
+ reset(): void;
9
+ }
10
+ //# sourceMappingURL=memory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../src/storage/memory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAErD,qBAAa,aAAa,CAAC,CAAC,CAAE,YAAW,OAAO,CAAC,CAAC,CAAC;IACjD,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAa;IAE1C,SAAS,IAAI,OAAO;IAIpB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAI/B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAIzB,MAAM,CAAC,GAAG,EAAE,MAAM;IAIlB,KAAK;CAGN"}
@@ -0,0 +1,25 @@
1
+ Object.defineProperty(exports, "__esModule", { value: true });
2
+ exports.MemoryStorage = void 0;
3
+ var MemoryStorage = /** @class */ (function () {
4
+ function MemoryStorage() {
5
+ this.memoryStorage = new Map();
6
+ }
7
+ MemoryStorage.prototype.isEnabled = function () {
8
+ return true;
9
+ };
10
+ MemoryStorage.prototype.get = function (key) {
11
+ return this.memoryStorage.get(key);
12
+ };
13
+ MemoryStorage.prototype.set = function (key, value) {
14
+ this.memoryStorage.set(key, value);
15
+ };
16
+ MemoryStorage.prototype.remove = function (key) {
17
+ this.memoryStorage.delete(key);
18
+ };
19
+ MemoryStorage.prototype.reset = function () {
20
+ this.memoryStorage.clear();
21
+ };
22
+ return MemoryStorage;
23
+ }());
24
+ exports.MemoryStorage = MemoryStorage;
25
+ //# sourceMappingURL=memory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../src/storage/memory.ts"],"names":[],"mappings":";;AAEA;IAAA;QACE,kBAAa,GAAmB,IAAI,GAAG,EAAE,CAAC;IAqB5C,CAAC;IAnBC,iCAAS,GAAT;QACE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,2BAAG,GAAH,UAAI,GAAW;QACb,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,2BAAG,GAAH,UAAI,GAAW,EAAE,KAAQ;QACvB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,8BAAM,GAAN,UAAO,GAAW;QAChB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,6BAAK,GAAL;QACE,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;IACH,oBAAC;AAAD,CAAC,AAtBD,IAsBC;AAtBY,sCAAa","sourcesContent":["import { Storage } from '@amplitude/analytics-types';\n\nexport class MemoryStorage<T> implements Storage<T> {\n memoryStorage: Map<string, T> = new Map();\n\n isEnabled(): boolean {\n return true;\n }\n\n get(key: string): T | undefined {\n return this.memoryStorage.get(key);\n }\n\n set(key: string, value: T) {\n this.memoryStorage.set(key, value);\n }\n\n remove(key: string) {\n this.memoryStorage.delete(key);\n }\n\n reset() {\n this.memoryStorage.clear();\n }\n}\n"]}
@@ -0,0 +1,6 @@
1
+ import { CookieStorage } from './cookie';
2
+ export declare class UTMCookie extends CookieStorage<Record<string, string | undefined>> {
3
+ get(key: string): Record<string, string | undefined> | undefined;
4
+ set(): undefined;
5
+ }
6
+ //# sourceMappingURL=utm-cookie.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utm-cookie.d.ts","sourceRoot":"","sources":["../../../src/storage/utm-cookie.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,qBAAa,SAAU,SAAQ,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAC9E,GAAG,CAAC,GAAG,EAAE,MAAM;IAoBf,GAAG;CAGJ"}
@@ -0,0 +1,36 @@
1
+ Object.defineProperty(exports, "__esModule", { value: true });
2
+ exports.UTMCookie = void 0;
3
+ var tslib_1 = require("tslib");
4
+ var cookie_1 = require("./cookie");
5
+ var UTMCookie = /** @class */ (function (_super) {
6
+ (0, tslib_1.__extends)(UTMCookie, _super);
7
+ function UTMCookie() {
8
+ return _super !== null && _super.apply(this, arguments) || this;
9
+ }
10
+ UTMCookie.prototype.get = function (key) {
11
+ try {
12
+ var value = this.findByKey(key);
13
+ if (!value) {
14
+ return undefined;
15
+ }
16
+ var entries = value.split('.').splice(-1)[0].split('|');
17
+ return entries.reduce(function (acc, curr) {
18
+ var _a = (0, tslib_1.__read)(curr.split('=', 2), 2), key = _a[0], _b = _a[1], value = _b === void 0 ? '' : _b;
19
+ if (!value) {
20
+ return acc;
21
+ }
22
+ acc[key] = decodeURIComponent(value);
23
+ return acc;
24
+ }, {});
25
+ }
26
+ catch (_a) {
27
+ return undefined;
28
+ }
29
+ };
30
+ UTMCookie.prototype.set = function () {
31
+ return undefined;
32
+ };
33
+ return UTMCookie;
34
+ }(cookie_1.CookieStorage));
35
+ exports.UTMCookie = UTMCookie;
36
+ //# sourceMappingURL=utm-cookie.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utm-cookie.js","sourceRoot":"","sources":["../../../src/storage/utm-cookie.ts"],"names":[],"mappings":";;;AAAA,mCAAyC;AAEzC;IAA+B,0CAAiD;IAAhF;;IAwBA,CAAC;IAvBC,uBAAG,GAAH,UAAI,GAAW;QACb,IAAI;YACF,IAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAClC,IAAI,CAAC,KAAK,EAAE;gBACV,OAAO,SAAS,CAAC;aAClB;YACD,IAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC1D,OAAO,OAAO,CAAC,MAAM,CAAqC,UAAC,GAAG,EAAE,IAAI;gBAC5D,IAAA,KAAA,oBAAoB,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,IAAA,EAArC,GAAG,QAAA,EAAE,UAAU,EAAV,KAAK,mBAAG,EAAE,KAAsB,CAAC;gBAC7C,IAAI,CAAC,KAAK,EAAE;oBACV,OAAO,GAAG,CAAC;iBACZ;gBACD,GAAG,CAAC,GAAG,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBACrC,OAAO,GAAG,CAAC;YACb,CAAC,EAAE,EAAE,CAAC,CAAC;SACR;QAAC,WAAM;YACN,OAAO,SAAS,CAAC;SAClB;IACH,CAAC;IAED,uBAAG,GAAH;QACE,OAAO,SAAS,CAAC;IACnB,CAAC;IACH,gBAAC;AAAD,CAAC,AAxBD,CAA+B,sBAAa,GAwB3C;AAxBY,8BAAS","sourcesContent":["import { CookieStorage } from './cookie';\n\nexport class UTMCookie extends CookieStorage<Record<string, string | undefined>> {\n get(key: string) {\n try {\n const value = this.findByKey(key);\n if (!value) {\n return undefined;\n }\n const entries = value.split('.').splice(-1)[0].split('|');\n return entries.reduce<Record<string, string | undefined>>((acc, curr) => {\n const [key, value = ''] = curr.split('=', 2);\n if (!value) {\n return acc;\n }\n acc[key] = decodeURIComponent(value);\n return acc;\n }, {});\n } catch {\n return undefined;\n }\n }\n\n set() {\n return undefined;\n }\n}\n"]}
@@ -0,0 +1,5 @@
1
+ import { Payload, Response, Transport } from '@amplitude/analytics-types';
2
+ export declare class FetchTransport implements Transport {
3
+ send(serverUrl: string, payload: Payload): Promise<Response | null>;
4
+ }
5
+ //# sourceMappingURL=fetch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../src/transports/fetch.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE1E,qBAAa,cAAe,YAAW,SAAS;IACxC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;CAqB1E"}
@@ -0,0 +1,42 @@
1
+ Object.defineProperty(exports, "__esModule", { value: true });
2
+ exports.FetchTransport = void 0;
3
+ var tslib_1 = require("tslib");
4
+ var analytics_core_1 = require("@amplitude/analytics-core");
5
+ var FetchTransport = /** @class */ (function () {
6
+ function FetchTransport() {
7
+ }
8
+ FetchTransport.prototype.send = function (serverUrl, payload) {
9
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
10
+ var options, response, responsePayload;
11
+ return (0, tslib_1.__generator)(this, function (_a) {
12
+ switch (_a.label) {
13
+ case 0:
14
+ /* istanbul ignore if */
15
+ if (typeof fetch === 'undefined') {
16
+ throw new Error('FetchTransport is not supported');
17
+ }
18
+ options = {
19
+ headers: {
20
+ 'Content-Type': 'application/json',
21
+ Accept: '*/*',
22
+ },
23
+ body: JSON.stringify(payload),
24
+ method: 'POST',
25
+ };
26
+ return [4 /*yield*/, fetch(serverUrl, options)];
27
+ case 1:
28
+ response = _a.sent();
29
+ if (!response.ok) return [3 /*break*/, 3];
30
+ return [4 /*yield*/, response.json()];
31
+ case 2:
32
+ responsePayload = _a.sent();
33
+ return [2 /*return*/, (0, analytics_core_1.buildResponse)(responsePayload)];
34
+ case 3: throw new Error('Server did not return a response');
35
+ }
36
+ });
37
+ });
38
+ };
39
+ return FetchTransport;
40
+ }());
41
+ exports.FetchTransport = FetchTransport;
42
+ //# sourceMappingURL=fetch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../src/transports/fetch.ts"],"names":[],"mappings":";;;AAAA,4DAA0D;AAG1D;IAAA;IAsBA,CAAC;IArBO,6BAAI,GAAV,UAAW,SAAiB,EAAE,OAAgB;;;;;;wBAC5C,wBAAwB;wBACxB,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE;4BAChC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;yBACpD;wBACK,OAAO,GAAgB;4BAC3B,OAAO,EAAE;gCACP,cAAc,EAAE,kBAAkB;gCAClC,MAAM,EAAE,KAAK;6BACd;4BACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;4BAC7B,MAAM,EAAE,MAAM;yBACf,CAAC;wBACe,qBAAM,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,EAAA;;wBAA1C,QAAQ,GAAG,SAA+B;6BAC5C,QAAQ,CAAC,EAAE,EAAX,wBAAW;wBAEgC,qBAAM,QAAQ,CAAC,IAAI,EAAE,EAAA;;wBAA5D,eAAe,GAAwB,SAAqB;wBAClE,sBAAO,IAAA,8BAAa,EAAC,eAAe,CAAC,EAAC;4BAExC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;;;;KACrD;IACH,qBAAC;AAAD,CAAC,AAtBD,IAsBC;AAtBY,wCAAc","sourcesContent":["import { buildResponse } from '@amplitude/analytics-core';\nimport { Payload, Response, Transport } from '@amplitude/analytics-types';\n\nexport class FetchTransport implements Transport {\n async send(serverUrl: string, payload: Payload): Promise<Response | null> {\n /* istanbul ignore if */\n if (typeof fetch === 'undefined') {\n throw new Error('FetchTransport is not supported');\n }\n const options: RequestInit = {\n headers: {\n 'Content-Type': 'application/json',\n Accept: '*/*',\n },\n body: JSON.stringify(payload),\n method: 'POST',\n };\n const response = await fetch(serverUrl, options);\n if (response.ok) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const responsePayload: Record<string, any> = await response.json();\n return buildResponse(responsePayload);\n }\n throw new Error('Server did not return a response');\n }\n}\n"]}
@@ -0,0 +1,5 @@
1
+ import { Payload, Response, Transport } from '@amplitude/analytics-types';
2
+ export declare class SendBeaconTransport implements Transport {
3
+ send(serverUrl: string, payload: Payload): Promise<Response | null>;
4
+ }
5
+ //# sourceMappingURL=send-beacon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"send-beacon.d.ts","sourceRoot":"","sources":["../../../src/transports/send-beacon.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE1E,qBAAa,mBAAoB,YAAW,SAAS;IAC7C,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;CA6B1E"}
@@ -0,0 +1,41 @@
1
+ Object.defineProperty(exports, "__esModule", { value: true });
2
+ exports.SendBeaconTransport = void 0;
3
+ var tslib_1 = require("tslib");
4
+ var analytics_core_1 = require("@amplitude/analytics-core");
5
+ var SendBeaconTransport = /** @class */ (function () {
6
+ function SendBeaconTransport() {
7
+ }
8
+ SendBeaconTransport.prototype.send = function (serverUrl, payload) {
9
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
10
+ return (0, tslib_1.__generator)(this, function (_a) {
11
+ return [2 /*return*/, new Promise(function (resolve, reject) {
12
+ /* istanbul ignore if */
13
+ if (typeof window === 'undefined' ||
14
+ typeof window.navigator === 'undefined' ||
15
+ typeof window.navigator.sendBeacon === 'undefined') {
16
+ throw new Error('SendBeaconTransport is not supported');
17
+ }
18
+ try {
19
+ var data = JSON.stringify(payload);
20
+ var success = window.navigator.sendBeacon(serverUrl, JSON.stringify(payload));
21
+ if (success) {
22
+ return resolve((0, analytics_core_1.buildResponse)({
23
+ code: 200,
24
+ events_ingested: payload.events.length,
25
+ payload_size_bytes: data.length,
26
+ server_upload_time: Date.now(),
27
+ }));
28
+ }
29
+ return resolve((0, analytics_core_1.buildResponse)({ code: 500 }));
30
+ }
31
+ catch (e) {
32
+ reject(e);
33
+ }
34
+ })];
35
+ });
36
+ });
37
+ };
38
+ return SendBeaconTransport;
39
+ }());
40
+ exports.SendBeaconTransport = SendBeaconTransport;
41
+ //# sourceMappingURL=send-beacon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"send-beacon.js","sourceRoot":"","sources":["../../../src/transports/send-beacon.ts"],"names":[],"mappings":";;;AAAA,4DAA0D;AAG1D;IAAA;IA8BA,CAAC;IA7BO,kCAAI,GAAV,UAAW,SAAiB,EAAE,OAAgB;;;gBAC5C,sBAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;wBACjC,wBAAwB;wBACxB,IACE,OAAO,MAAM,KAAK,WAAW;4BAC7B,OAAO,MAAM,CAAC,SAAS,KAAK,WAAW;4BACvC,OAAO,MAAM,CAAC,SAAS,CAAC,UAAU,KAAK,WAAW,EAClD;4BACA,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;yBACzD;wBACD,IAAI;4BACF,IAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;4BACrC,IAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;4BAChF,IAAI,OAAO,EAAE;gCACX,OAAO,OAAO,CACZ,IAAA,8BAAa,EAAC;oCACZ,IAAI,EAAE,GAAG;oCACT,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM;oCACtC,kBAAkB,EAAE,IAAI,CAAC,MAAM;oCAC/B,kBAAkB,EAAE,IAAI,CAAC,GAAG,EAAE;iCAC/B,CAAC,CACH,CAAC;6BACH;4BACD,OAAO,OAAO,CAAC,IAAA,8BAAa,EAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;yBAC9C;wBAAC,OAAO,CAAC,EAAE;4BACV,MAAM,CAAC,CAAC,CAAC,CAAC;yBACX;oBACH,CAAC,CAAC,EAAC;;;KACJ;IACH,0BAAC;AAAD,CAAC,AA9BD,IA8BC;AA9BY,kDAAmB","sourcesContent":["import { buildResponse } from '@amplitude/analytics-core';\nimport { Payload, Response, Transport } from '@amplitude/analytics-types';\n\nexport class SendBeaconTransport implements Transport {\n async send(serverUrl: string, payload: Payload): Promise<Response | null> {\n return new Promise((resolve, reject) => {\n /* istanbul ignore if */\n if (\n typeof window === 'undefined' ||\n typeof window.navigator === 'undefined' ||\n typeof window.navigator.sendBeacon === 'undefined'\n ) {\n throw new Error('SendBeaconTransport is not supported');\n }\n try {\n const data = JSON.stringify(payload);\n const success = window.navigator.sendBeacon(serverUrl, JSON.stringify(payload));\n if (success) {\n return resolve(\n buildResponse({\n code: 200,\n events_ingested: payload.events.length,\n payload_size_bytes: data.length,\n server_upload_time: Date.now(),\n }),\n );\n }\n return resolve(buildResponse({ code: 500 }));\n } catch (e) {\n reject(e);\n }\n });\n }\n}\n"]}
@@ -0,0 +1,6 @@
1
+ import { Payload, Response, Transport } from '@amplitude/analytics-types';
2
+ export declare class XHRTransport implements Transport {
3
+ private state;
4
+ send(serverUrl: string, payload: Payload): Promise<Response | null>;
5
+ }
6
+ //# sourceMappingURL=xhr.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xhr.d.ts","sourceRoot":"","sources":["../../../src/transports/xhr.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE1E,qBAAa,YAAa,YAAW,SAAS;IAC5C,OAAO,CAAC,KAAK,CAEX;IAEI,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;CA2B1E"}
@@ -0,0 +1,46 @@
1
+ Object.defineProperty(exports, "__esModule", { value: true });
2
+ exports.XHRTransport = void 0;
3
+ var tslib_1 = require("tslib");
4
+ var analytics_core_1 = require("@amplitude/analytics-core");
5
+ var XHRTransport = /** @class */ (function () {
6
+ function XHRTransport() {
7
+ this.state = {
8
+ done: 4,
9
+ };
10
+ }
11
+ XHRTransport.prototype.send = function (serverUrl, payload) {
12
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
13
+ var _this = this;
14
+ return (0, tslib_1.__generator)(this, function (_a) {
15
+ return [2 /*return*/, new Promise(function (resolve, reject) {
16
+ /* istanbul ignore if */
17
+ if (typeof XMLHttpRequest === 'undefined') {
18
+ reject(new Error('XHRTransport is not supported.'));
19
+ }
20
+ var xhr = new XMLHttpRequest();
21
+ xhr.open('POST', serverUrl, true);
22
+ xhr.onreadystatechange = function () {
23
+ if (xhr.readyState === _this.state.done) {
24
+ try {
25
+ var responsePayload = xhr.responseText;
26
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
27
+ var parsedResponsePayload = JSON.parse(responsePayload);
28
+ var result = (0, analytics_core_1.buildResponse)(parsedResponsePayload);
29
+ resolve(result);
30
+ }
31
+ catch (e) {
32
+ reject(e);
33
+ }
34
+ }
35
+ };
36
+ xhr.setRequestHeader('Content-Type', 'application/json');
37
+ xhr.setRequestHeader('Accept', '*/*');
38
+ xhr.send(JSON.stringify(payload));
39
+ })];
40
+ });
41
+ });
42
+ };
43
+ return XHRTransport;
44
+ }());
45
+ exports.XHRTransport = XHRTransport;
46
+ //# sourceMappingURL=xhr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xhr.js","sourceRoot":"","sources":["../../../src/transports/xhr.ts"],"names":[],"mappings":";;;AAAA,4DAA0D;AAG1D;IAAA;QACU,UAAK,GAAG;YACd,IAAI,EAAE,CAAC;SACR,CAAC;IA6BJ,CAAC;IA3BO,2BAAI,GAAV,UAAW,SAAiB,EAAE,OAAgB;;;;gBAC5C,sBAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;wBACjC,wBAAwB;wBACxB,IAAI,OAAO,cAAc,KAAK,WAAW,EAAE;4BACzC,MAAM,CAAC,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC;yBACrD;wBAED,IAAM,GAAG,GAAG,IAAI,cAAc,EAAE,CAAC;wBACjC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;wBAClC,GAAG,CAAC,kBAAkB,GAAG;4BACvB,IAAI,GAAG,CAAC,UAAU,KAAK,KAAI,CAAC,KAAK,CAAC,IAAI,EAAE;gCACtC,IAAI;oCACF,IAAM,eAAe,GAAG,GAAG,CAAC,YAAY,CAAC;oCACzC,mEAAmE;oCACnE,IAAM,qBAAqB,GAAwB,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;oCAC/E,IAAM,MAAM,GAAG,IAAA,8BAAa,EAAC,qBAAqB,CAAC,CAAC;oCACpD,OAAO,CAAC,MAAM,CAAC,CAAC;iCACjB;gCAAC,OAAO,CAAC,EAAE;oCACV,MAAM,CAAC,CAAC,CAAC,CAAC;iCACX;6BACF;wBACH,CAAC,CAAC;wBACF,GAAG,CAAC,gBAAgB,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;wBACzD,GAAG,CAAC,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;wBACtC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;oBACpC,CAAC,CAAC,EAAC;;;KACJ;IACH,mBAAC;AAAD,CAAC,AAhCD,IAgCC;AAhCY,oCAAY","sourcesContent":["import { buildResponse } from '@amplitude/analytics-core';\nimport { Payload, Response, Transport } from '@amplitude/analytics-types';\n\nexport class XHRTransport implements Transport {\n private state = {\n done: 4,\n };\n\n async send(serverUrl: string, payload: Payload): Promise<Response | null> {\n return new Promise((resolve, reject) => {\n /* istanbul ignore if */\n if (typeof XMLHttpRequest === 'undefined') {\n reject(new Error('XHRTransport is not supported.'));\n }\n\n const xhr = new XMLHttpRequest();\n xhr.open('POST', serverUrl, true);\n xhr.onreadystatechange = () => {\n if (xhr.readyState === this.state.done) {\n try {\n const responsePayload = xhr.responseText;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const parsedResponsePayload: Record<string, any> = JSON.parse(responsePayload);\n const result = buildResponse(parsedResponsePayload);\n resolve(result);\n } catch (e) {\n reject(e);\n }\n }\n };\n xhr.setRequestHeader('Content-Type', 'application/json');\n xhr.setRequestHeader('Accept', '*/*');\n xhr.send(JSON.stringify(payload));\n });\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export declare const getLanguage: () => string;
2
+ //# sourceMappingURL=language.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"language.d.ts","sourceRoot":"","sources":["../../../src/utils/language.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,QAAO,MAM9B,CAAC"}
@@ -0,0 +1,12 @@
1
+ Object.defineProperty(exports, "__esModule", { value: true });
2
+ exports.getLanguage = void 0;
3
+ var getLanguage = function () {
4
+ var _a, _b, _c, _d;
5
+ if (typeof navigator === 'undefined')
6
+ return '';
7
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
8
+ var userLanguage = navigator.userLanguage;
9
+ return (_d = (_c = (_b = (_a = navigator.languages) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : navigator.language) !== null && _c !== void 0 ? _c : userLanguage) !== null && _d !== void 0 ? _d : '';
10
+ };
11
+ exports.getLanguage = getLanguage;
12
+ //# sourceMappingURL=language.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"language.js","sourceRoot":"","sources":["../../../src/utils/language.ts"],"names":[],"mappings":";;AAAO,IAAM,WAAW,GAAG;;IACzB,IAAI,OAAO,SAAS,KAAK,WAAW;QAAE,OAAO,EAAE,CAAC;IAChD,sEAAsE;IACtE,IAAM,YAAY,GAAI,SAAiB,CAAC,YAAkC,CAAC;IAE3E,OAAO,MAAA,MAAA,MAAA,MAAA,SAAS,CAAC,SAAS,0CAAG,CAAC,CAAC,mCAAI,SAAS,CAAC,QAAQ,mCAAI,YAAY,mCAAI,EAAE,CAAC;AAC9E,CAAC,CAAC;AANW,QAAA,WAAW,eAMtB","sourcesContent":["export const getLanguage = (): string => {\n if (typeof navigator === 'undefined') return '';\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n const userLanguage = (navigator as any).userLanguage as string | undefined;\n\n return navigator.languages?.[0] ?? navigator.language ?? userLanguage ?? '';\n};\n"]}
@@ -0,0 +1,2 @@
1
+ export declare const getQueryParams: () => Record<string, string | undefined>;
2
+ //# sourceMappingURL=query-params.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-params.d.ts","sourceRoot":"","sources":["../../../src/utils/query-params.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,QAAO,OAAO,MAAM,EAAE,MAAM,GAAG,SAAS,CAelE,CAAC"}
@@ -0,0 +1,21 @@
1
+ Object.defineProperty(exports, "__esModule", { value: true });
2
+ exports.getQueryParams = void 0;
3
+ var tslib_1 = require("tslib");
4
+ var getQueryParams = function () {
5
+ /* istanbul ignore if */
6
+ if (typeof window === 'undefined') {
7
+ return {};
8
+ }
9
+ var pairs = window.location.search.substring(1).split('&').filter(Boolean);
10
+ var params = pairs.reduce(function (acc, curr) {
11
+ var _a = (0, tslib_1.__read)(curr.split('=', 2), 2), key = _a[0], _b = _a[1], value = _b === void 0 ? '' : _b;
12
+ if (!value) {
13
+ return acc;
14
+ }
15
+ acc[decodeURIComponent(key)] = decodeURIComponent(value);
16
+ return acc;
17
+ }, {});
18
+ return params;
19
+ };
20
+ exports.getQueryParams = getQueryParams;
21
+ //# sourceMappingURL=query-params.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-params.js","sourceRoot":"","sources":["../../../src/utils/query-params.ts"],"names":[],"mappings":";;;AAAO,IAAM,cAAc,GAAG;IAC5B,wBAAwB;IACxB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;QACjC,OAAO,EAAE,CAAC;KACX;IACD,IAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7E,IAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAqC,UAAC,GAAG,EAAE,IAAI;QAClE,IAAA,KAAA,oBAAoB,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,IAAA,EAArC,GAAG,QAAA,EAAE,UAAU,EAAV,KAAK,mBAAG,EAAE,KAAsB,CAAC;QAC7C,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,GAAG,CAAC;SACZ;QACD,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACzD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAfW,QAAA,cAAc,kBAezB","sourcesContent":["export const getQueryParams = (): Record<string, string | undefined> => {\n /* istanbul ignore if */\n if (typeof window === 'undefined') {\n return {};\n }\n const pairs = window.location.search.substring(1).split('&').filter(Boolean);\n const params = pairs.reduce<Record<string, string | undefined>>((acc, curr) => {\n const [key, value = ''] = curr.split('=', 2);\n if (!value) {\n return acc;\n }\n acc[decodeURIComponent(key)] = decodeURIComponent(value);\n return acc;\n }, {});\n return params;\n};\n"]}
@@ -0,0 +1,15 @@
1
+ import { QueueProxy, InstanceProxy } from '../typings/browser-snippet';
2
+ /**
3
+ * Applies the proxied functions on the proxied amplitude snippet to an instance of the real object.
4
+ */
5
+ export declare const runQueuedFunctions: (instance: object, queue: QueueProxy) => void;
6
+ /**
7
+ * Applies the proxied functions on the proxied object to an instance of the real object.
8
+ * Used to convert proxied Identify and Revenue objects.
9
+ */
10
+ export declare const convertProxyObjectToRealObject: <T>(instance: T, queue: QueueProxy) => T;
11
+ /**
12
+ * Check if the param is snippet proxy
13
+ */
14
+ export declare const isInstanceProxy: (instance: unknown) => instance is InstanceProxy;
15
+ //# sourceMappingURL=snippet-helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snippet-helper.d.ts","sourceRoot":"","sources":["../../../src/utils/snippet-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEvE;;GAEG;AACH,eAAO,MAAM,kBAAkB,aAAc,MAAM,4BAElD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,8BAA8B,0CAS1C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,aAAc,OAAO,8BAGhD,CAAC"}
@@ -0,0 +1,34 @@
1
+ Object.defineProperty(exports, "__esModule", { value: true });
2
+ exports.isInstanceProxy = exports.convertProxyObjectToRealObject = exports.runQueuedFunctions = void 0;
3
+ var tslib_1 = require("tslib");
4
+ /**
5
+ * Applies the proxied functions on the proxied amplitude snippet to an instance of the real object.
6
+ */
7
+ var runQueuedFunctions = function (instance, queue) {
8
+ (0, exports.convertProxyObjectToRealObject)(instance, queue);
9
+ };
10
+ exports.runQueuedFunctions = runQueuedFunctions;
11
+ /**
12
+ * Applies the proxied functions on the proxied object to an instance of the real object.
13
+ * Used to convert proxied Identify and Revenue objects.
14
+ */
15
+ var convertProxyObjectToRealObject = function (instance, queue) {
16
+ for (var i = 0; i < queue.length; i++) {
17
+ var _a = (0, tslib_1.__read)(queue[i]), functionName = _a[0], args = _a.slice(1);
18
+ var fn = instance && instance[functionName];
19
+ if (typeof fn === 'function') {
20
+ fn.apply(instance, args);
21
+ }
22
+ }
23
+ return instance;
24
+ };
25
+ exports.convertProxyObjectToRealObject = convertProxyObjectToRealObject;
26
+ /**
27
+ * Check if the param is snippet proxy
28
+ */
29
+ var isInstanceProxy = function (instance) {
30
+ var instanceProxy = instance;
31
+ return instanceProxy && instanceProxy._q !== undefined;
32
+ };
33
+ exports.isInstanceProxy = isInstanceProxy;
34
+ //# sourceMappingURL=snippet-helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snippet-helper.js","sourceRoot":"","sources":["../../../src/utils/snippet-helper.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACI,IAAM,kBAAkB,GAAG,UAAC,QAAgB,EAAE,KAAiB;IACpE,IAAA,sCAA8B,EAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AAClD,CAAC,CAAC;AAFW,QAAA,kBAAkB,sBAE7B;AAEF;;;GAGG;AACI,IAAM,8BAA8B,GAAG,UAAI,QAAW,EAAE,KAAiB;IAC9E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC/B,IAAA,KAAA,oBAA0B,KAAK,CAAC,CAAC,CAAC,CAAA,EAAjC,YAAY,QAAA,EAAK,IAAI,cAAY,CAAC;QACzC,IAAM,EAAE,GAAG,QAAQ,IAAI,QAAQ,CAAC,YAAuB,CAAC,CAAC;QACzD,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE;YAC5B,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;SAC1B;KACF;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AATW,QAAA,8BAA8B,kCASzC;AAEF;;GAEG;AACI,IAAM,eAAe,GAAG,UAAC,QAAiB;IAC/C,IAAM,aAAa,GAAG,QAAyB,CAAC;IAChD,OAAO,aAAa,IAAI,aAAa,CAAC,EAAE,KAAK,SAAS,CAAC;AACzD,CAAC,CAAC;AAHW,QAAA,eAAe,mBAG1B","sourcesContent":["import { QueueProxy, InstanceProxy } from '../typings/browser-snippet';\n\n/**\n * Applies the proxied functions on the proxied amplitude snippet to an instance of the real object.\n */\nexport const runQueuedFunctions = (instance: object, queue: QueueProxy) => {\n convertProxyObjectToRealObject(instance, queue);\n};\n\n/**\n * Applies the proxied functions on the proxied object to an instance of the real object.\n * Used to convert proxied Identify and Revenue objects.\n */\nexport const convertProxyObjectToRealObject = <T>(instance: T, queue: QueueProxy): T => {\n for (let i = 0; i < queue.length; i++) {\n const [functionName, ...args] = queue[i];\n const fn = instance && instance[functionName as keyof T];\n if (typeof fn === 'function') {\n fn.apply(instance, args);\n }\n }\n return instance;\n};\n\n/**\n * Check if the param is snippet proxy\n */\nexport const isInstanceProxy = (instance: unknown): instance is InstanceProxy => {\n const instanceProxy = instance as InstanceProxy;\n return instanceProxy && instanceProxy._q !== undefined;\n};\n"]}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Source: [jed's gist]{@link https://gist.github.com/982883}.
3
+ * Returns a random v4 UUID of the form xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx,
4
+ * where each x is replaced with a random hexadecimal digit from 0 to f, and
5
+ * y is replaced with a random hexadecimal digit from 8 to b.
6
+ * Used to generate UUIDs for deviceIds.
7
+ * @private
8
+ */
9
+ export declare const UUID: (a?: any) => string;
10
+ //# sourceMappingURL=uuid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uuid.d.ts","sourceRoot":"","sources":["../../../src/utils/uuid.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,IAAI,OAAiB,GAAG,KAAG,MAuBvC,CAAC"}
@@ -0,0 +1,31 @@
1
+ Object.defineProperty(exports, "__esModule", { value: true });
2
+ exports.UUID = void 0;
3
+ /**
4
+ * Source: [jed's gist]{@link https://gist.github.com/982883}.
5
+ * Returns a random v4 UUID of the form xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx,
6
+ * where each x is replaced with a random hexadecimal digit from 0 to f, and
7
+ * y is replaced with a random hexadecimal digit from 8 to b.
8
+ * Used to generate UUIDs for deviceIds.
9
+ * @private
10
+ */
11
+ var UUID = function (a) {
12
+ return a // if the placeholder was passed, return
13
+ ? // a random number from 0 to 15
14
+ (a ^ // unless b is 8,
15
+ ((Math.random() * // in which case
16
+ 16) >> // a random number from
17
+ (a / 4))) // 8 to 11
18
+ .toString(16) // in hexadecimal
19
+ : // or otherwise a concatenated string:
20
+ (String(1e7) + // 10000000 +
21
+ String(-1e3) + // -1000 +
22
+ String(-4e3) + // -4000 +
23
+ String(-8e3) + // -80000000 +
24
+ String(-1e11)) // -100000000000,
25
+ .replace(
26
+ // replacing
27
+ /[018]/g, // zeroes, ones, and eights with
28
+ exports.UUID);
29
+ };
30
+ exports.UUID = UUID;
31
+ //# sourceMappingURL=uuid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uuid.js","sourceRoot":"","sources":["../../../src/utils/uuid.ts"],"names":[],"mappings":";;AAAA;;;;;;;GAOG;AACI,IAAM,IAAI,GAAG,UAAU,CAAO;IACnC,OAAO,CAAC,CAAC,wCAAwC;QAC/C,CAAC,CAAC,+BAA+B;YAC/B,CACE,CAAC,GAAG,iBAAiB;gBACrB,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,gBAAgB;oBAChC,EAAE,CAAC,IAAI,uBAAuB;oBAC9B,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CACX,CAAC,UAAU;iBACT,QAAQ,CAAC,EAAE,CAAC,CAAC,iBAAiB;QACnC,CAAC,CAAC,sCAAsC;YACtC,CACE,MAAM,CAAC,GAAG,CAAC,GAAG,aAAa;gBAC3B,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,UAAU;gBACzB,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,UAAU;gBACzB,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,cAAc;gBAC7B,MAAM,CAAC,CAAC,IAAI,CAAC,CACd,CAAC,iBAAiB;iBAChB,OAAO;YACN,YAAY;YACZ,QAAQ,EAAE,gCAAgC;YAC1C,YAAI,CACL,CAAC;AACV,CAAC,CAAC;AAvBW,QAAA,IAAI,QAuBf","sourcesContent":["/**\n * Source: [jed's gist]{@link https://gist.github.com/982883}.\n * Returns a random v4 UUID of the form xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx,\n * where each x is replaced with a random hexadecimal digit from 0 to f, and\n * y is replaced with a random hexadecimal digit from 8 to b.\n * Used to generate UUIDs for deviceIds.\n * @private\n */\nexport const UUID = function (a?: any): string {\n return a // if the placeholder was passed, return\n ? // a random number from 0 to 15\n (\n a ^ // unless b is 8,\n ((Math.random() * // in which case\n 16) >> // a random number from\n (a / 4))\n ) // 8 to 11\n .toString(16) // in hexadecimal\n : // or otherwise a concatenated string:\n (\n String(1e7) + // 10000000 +\n String(-1e3) + // -1000 +\n String(-4e3) + // -4000 +\n String(-8e3) + // -80000000 +\n String(-1e11)\n ) // -100000000000,\n .replace(\n // replacing\n /[018]/g, // zeroes, ones, and eights with\n UUID, // random hex digits\n );\n};\n"]}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * NOTE: Due to TS config rootDir, there's not clean way to import package.json
3
+ * To import package.json, it needs to be part of the project, specified through rootDir
4
+ * However, if we specify rootDir as the root directory of this project, the dist files
5
+ * will include src/ in it.
6
+ * To workaround this issue, this file is created as a placeholder and updated by
7
+ * `yarn version-file` which runs on publish lifecycle. The true version value will
8
+ * only reflect in the dist files.
9
+ *
10
+ * WARNING: This file does not need to be updated and checked into git
11
+ */
12
+ export declare const VERSION = "x.y.z";
13
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,OAAO,UAAU,CAAC"}
@@ -0,0 +1,15 @@
1
+ Object.defineProperty(exports, "__esModule", { value: true });
2
+ exports.VERSION = void 0;
3
+ /**
4
+ * NOTE: Due to TS config rootDir, there's not clean way to import package.json
5
+ * To import package.json, it needs to be part of the project, specified through rootDir
6
+ * However, if we specify rootDir as the root directory of this project, the dist files
7
+ * will include src/ in it.
8
+ * To workaround this issue, this file is created as a placeholder and updated by
9
+ * `yarn version-file` which runs on publish lifecycle. The true version value will
10
+ * only reflect in the dist files.
11
+ *
12
+ * WARNING: This file does not need to be updated and checked into git
13
+ */
14
+ exports.VERSION = 'x.y.z';
15
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";;AAAA;;;;;;;;;;GAUG;AACU,QAAA,OAAO,GAAG,OAAO,CAAC","sourcesContent":["/**\n * NOTE: Due to TS config rootDir, there's not clean way to import package.json\n * To import package.json, it needs to be part of the project, specified through rootDir\n * However, if we specify rootDir as the root directory of this project, the dist files\n * will include src/ in it.\n * To workaround this issue, this file is created as a placeholder and updated by\n * `yarn version-file` which runs on publish lifecycle. The true version value will\n * only reflect in the dist files.\n *\n * WARNING: This file does not need to be updated and checked into git\n */\nexport const VERSION = 'x.y.z';\n"]}
@@ -0,0 +1,11 @@
1
+ import { BrowserConfig, UTMData } from '@amplitude/analytics-types';
2
+ export declare const trackAttributions: (config: BrowserConfig) => void;
3
+ export declare const getUtmParam: () => UTMData;
4
+ export declare const getReferrer: () => Record<string, string | undefined>;
5
+ export declare const getGclid: () => {
6
+ gclid?: string | undefined;
7
+ };
8
+ export declare const getFbclid: () => {
9
+ fbclid?: string | undefined;
10
+ };
11
+ //# sourceMappingURL=attribution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attribution.d.ts","sourceRoot":"","sources":["../../src/attribution.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAkBpE,eAAO,MAAM,iBAAiB,WAAY,aAAa,SAoBtD,CAAC;AAEF,eAAO,MAAM,WAAW,QAAO,OAkB9B,CAAC;AAEF,eAAO,MAAM,WAAW,0CAYvB,CAAC;AAEF,eAAO,MAAM,QAAQ;;CAKpB,CAAC;AAEF,eAAO,MAAM,SAAS;;CAKrB,CAAC"}