react-native-nitro-amplitude 0.2.0 → 0.5.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 (155) hide show
  1. package/README.md +387 -8
  2. package/cpp/bindings/HybridAmplitudeWorker.cpp +5 -1
  3. package/lib/commonjs/analytics/config.js +31 -10
  4. package/lib/commonjs/analytics/config.js.map +1 -1
  5. package/lib/commonjs/analytics/index.js +8 -2
  6. package/lib/commonjs/analytics/index.js.map +1 -1
  7. package/lib/commonjs/analytics/network-guarded-fetch-transport.js +16 -0
  8. package/lib/commonjs/analytics/network-guarded-fetch-transport.js.map +1 -0
  9. package/lib/commonjs/analytics/nitro-transport.js +2 -0
  10. package/lib/commonjs/analytics/nitro-transport.js.map +1 -1
  11. package/lib/commonjs/analytics/plugins/context.js +7 -1
  12. package/lib/commonjs/analytics/plugins/context.js.map +1 -1
  13. package/lib/commonjs/analytics/react-native-client.js +142 -1
  14. package/lib/commonjs/analytics/react-native-client.js.map +1 -1
  15. package/lib/commonjs/diagnostics.js +92 -0
  16. package/lib/commonjs/diagnostics.js.map +1 -0
  17. package/lib/commonjs/errors.js +48 -0
  18. package/lib/commonjs/errors.js.map +1 -0
  19. package/lib/commonjs/experiment/experimentClient.js +84 -2
  20. package/lib/commonjs/experiment/experimentClient.js.map +1 -1
  21. package/lib/commonjs/experiment/index.js +12 -0
  22. package/lib/commonjs/experiment/index.js.map +1 -1
  23. package/lib/commonjs/experiment/stubClient.js +25 -0
  24. package/lib/commonjs/experiment/stubClient.js.map +1 -1
  25. package/lib/commonjs/experiment/typed-variants.js +52 -0
  26. package/lib/commonjs/experiment/typed-variants.js.map +1 -0
  27. package/lib/commonjs/experiment/types/config.js +32 -4
  28. package/lib/commonjs/experiment/types/config.js.map +1 -1
  29. package/lib/commonjs/index.js +105 -3
  30. package/lib/commonjs/index.js.map +1 -1
  31. package/lib/commonjs/index.web.js +110 -12
  32. package/lib/commonjs/index.web.js.map +1 -1
  33. package/lib/commonjs/native/http.js +23 -8
  34. package/lib/commonjs/native/http.js.map +1 -1
  35. package/lib/commonjs/native/http.web.js +2 -0
  36. package/lib/commonjs/native/http.web.js.map +1 -1
  37. package/lib/commonjs/native/hybrid.web.js +23 -0
  38. package/lib/commonjs/native/hybrid.web.js.map +1 -0
  39. package/lib/commonjs/native/storage.js +27 -15
  40. package/lib/commonjs/native/storage.js.map +1 -1
  41. package/lib/commonjs/network.js +154 -0
  42. package/lib/commonjs/network.js.map +1 -0
  43. package/lib/commonjs/presets.js +118 -0
  44. package/lib/commonjs/presets.js.map +1 -0
  45. package/lib/commonjs/testing.js +166 -0
  46. package/lib/commonjs/testing.js.map +1 -0
  47. package/lib/module/analytics/config.js +32 -11
  48. package/lib/module/analytics/config.js.map +1 -1
  49. package/lib/module/analytics/index.js +4 -1
  50. package/lib/module/analytics/index.js.map +1 -1
  51. package/lib/module/analytics/network-guarded-fetch-transport.js +11 -0
  52. package/lib/module/analytics/network-guarded-fetch-transport.js.map +1 -0
  53. package/lib/module/analytics/nitro-transport.js +2 -0
  54. package/lib/module/analytics/nitro-transport.js.map +1 -1
  55. package/lib/module/analytics/plugins/context.js +7 -1
  56. package/lib/module/analytics/plugins/context.js.map +1 -1
  57. package/lib/module/analytics/react-native-client.js +141 -1
  58. package/lib/module/analytics/react-native-client.js.map +1 -1
  59. package/lib/module/diagnostics.js +85 -0
  60. package/lib/module/diagnostics.js.map +1 -0
  61. package/lib/module/errors.js +41 -0
  62. package/lib/module/errors.js.map +1 -0
  63. package/lib/module/experiment/experimentClient.js +84 -2
  64. package/lib/module/experiment/experimentClient.js.map +1 -1
  65. package/lib/module/experiment/index.js +1 -0
  66. package/lib/module/experiment/index.js.map +1 -1
  67. package/lib/module/experiment/stubClient.js +25 -0
  68. package/lib/module/experiment/stubClient.js.map +1 -1
  69. package/lib/module/experiment/typed-variants.js +43 -0
  70. package/lib/module/experiment/typed-variants.js.map +1 -0
  71. package/lib/module/experiment/types/config.js +31 -4
  72. package/lib/module/experiment/types/config.js.map +1 -1
  73. package/lib/module/index.js +15 -3
  74. package/lib/module/index.js.map +1 -1
  75. package/lib/module/index.web.js +19 -6
  76. package/lib/module/index.web.js.map +1 -1
  77. package/lib/module/native/http.js +23 -8
  78. package/lib/module/native/http.js.map +1 -1
  79. package/lib/module/native/http.web.js +2 -0
  80. package/lib/module/native/http.web.js.map +1 -1
  81. package/lib/module/native/hybrid.web.js +16 -0
  82. package/lib/module/native/hybrid.web.js.map +1 -0
  83. package/lib/module/native/storage.js +27 -15
  84. package/lib/module/native/storage.js.map +1 -1
  85. package/lib/module/network.js +138 -0
  86. package/lib/module/network.js.map +1 -0
  87. package/lib/module/presets.js +110 -0
  88. package/lib/module/presets.js.map +1 -0
  89. package/lib/module/testing.js +160 -0
  90. package/lib/module/testing.js.map +1 -0
  91. package/lib/typescript/analytics/config.d.ts +19 -6
  92. package/lib/typescript/analytics/config.d.ts.map +1 -1
  93. package/lib/typescript/analytics/index.d.ts +1 -1
  94. package/lib/typescript/analytics/index.d.ts.map +1 -1
  95. package/lib/typescript/analytics/network-guarded-fetch-transport.d.ts +6 -0
  96. package/lib/typescript/analytics/network-guarded-fetch-transport.d.ts.map +1 -0
  97. package/lib/typescript/analytics/nitro-transport.d.ts.map +1 -1
  98. package/lib/typescript/analytics/plugins/context.d.ts +2 -0
  99. package/lib/typescript/analytics/plugins/context.d.ts.map +1 -1
  100. package/lib/typescript/analytics/react-native-client.d.ts +43 -0
  101. package/lib/typescript/analytics/react-native-client.d.ts.map +1 -1
  102. package/lib/typescript/diagnostics.d.ts +21 -0
  103. package/lib/typescript/diagnostics.d.ts.map +1 -0
  104. package/lib/typescript/errors.d.ts +9 -0
  105. package/lib/typescript/errors.d.ts.map +1 -0
  106. package/lib/typescript/experiment/experimentClient.d.ts +9 -1
  107. package/lib/typescript/experiment/experimentClient.d.ts.map +1 -1
  108. package/lib/typescript/experiment/index.d.ts +1 -0
  109. package/lib/typescript/experiment/index.d.ts.map +1 -1
  110. package/lib/typescript/experiment/stubClient.d.ts +6 -1
  111. package/lib/typescript/experiment/stubClient.d.ts.map +1 -1
  112. package/lib/typescript/experiment/typed-variants.d.ts +9 -0
  113. package/lib/typescript/experiment/typed-variants.d.ts.map +1 -0
  114. package/lib/typescript/experiment/types/client.d.ts +21 -0
  115. package/lib/typescript/experiment/types/client.d.ts.map +1 -1
  116. package/lib/typescript/experiment/types/config.d.ts.map +1 -1
  117. package/lib/typescript/index.d.ts +12 -3
  118. package/lib/typescript/index.d.ts.map +1 -1
  119. package/lib/typescript/index.web.d.ts +16 -6
  120. package/lib/typescript/index.web.d.ts.map +1 -1
  121. package/lib/typescript/native/http.d.ts.map +1 -1
  122. package/lib/typescript/native/http.web.d.ts.map +1 -1
  123. package/lib/typescript/native/hybrid.web.d.ts +8 -0
  124. package/lib/typescript/native/hybrid.web.d.ts.map +1 -0
  125. package/lib/typescript/native/storage.d.ts.map +1 -1
  126. package/lib/typescript/network.d.ts +50 -0
  127. package/lib/typescript/network.d.ts.map +1 -0
  128. package/lib/typescript/presets.d.ts +50 -0
  129. package/lib/typescript/presets.d.ts.map +1 -0
  130. package/lib/typescript/testing.d.ts +11 -0
  131. package/lib/typescript/testing.d.ts.map +1 -0
  132. package/package.json +1 -1
  133. package/src/analytics/config.ts +33 -8
  134. package/src/analytics/index.ts +3 -0
  135. package/src/analytics/network-guarded-fetch-transport.ts +10 -0
  136. package/src/analytics/nitro-transport.ts +2 -0
  137. package/src/analytics/plugins/context.ts +10 -1
  138. package/src/analytics/react-native-client.ts +217 -0
  139. package/src/diagnostics.ts +119 -0
  140. package/src/errors.ts +60 -0
  141. package/src/experiment/experimentClient.ts +116 -3
  142. package/src/experiment/index.ts +1 -0
  143. package/src/experiment/stubClient.ts +42 -1
  144. package/src/experiment/typed-variants.ts +68 -0
  145. package/src/experiment/types/client.ts +29 -0
  146. package/src/experiment/types/config.ts +29 -5
  147. package/src/index.ts +28 -2
  148. package/src/index.web.ts +33 -5
  149. package/src/native/http.ts +38 -8
  150. package/src/native/http.web.ts +2 -0
  151. package/src/native/hybrid.web.ts +21 -0
  152. package/src/native/storage.ts +27 -25
  153. package/src/network.ts +258 -0
  154. package/src/presets.ts +208 -0
  155. package/src/testing.ts +177 -0
@@ -23,19 +23,23 @@ export class NitroAnalyticsStorage {
23
23
  }
24
24
  }
25
25
  async getRaw(key) {
26
- return getAmplitudeStorage().get(namespaceKey(this.namespace, key), true);
26
+ const storage = getAmplitudeStorage();
27
+ return storage.get(namespaceKey(this.namespace, key), true);
27
28
  }
28
29
  async set(key, value) {
29
- getAmplitudeStorage().set(namespaceKey(this.namespace, key), JSON.stringify(value), true);
30
+ const storage = getAmplitudeStorage();
31
+ storage.set(namespaceKey(this.namespace, key), JSON.stringify(value), true);
30
32
  }
31
33
  async remove(key) {
32
- getAmplitudeStorage().remove(namespaceKey(this.namespace, key), true);
34
+ const storage = getAmplitudeStorage();
35
+ storage.remove(namespaceKey(this.namespace, key), true);
33
36
  }
34
37
  async reset() {
38
+ const storage = getAmplitudeStorage();
35
39
  const prefix = `${this.namespace}::`;
36
- const keys = getAmplitudeStorage().getKeysByPrefix(prefix, true);
40
+ const keys = storage.getKeysByPrefix(prefix, true);
37
41
  if (keys.length > 0) {
38
- getAmplitudeStorage().removeBatch(keys, true);
42
+ storage.removeBatch(keys, true);
39
43
  }
40
44
  }
41
45
  }
@@ -44,20 +48,24 @@ export class NitroExperimentStorage {
44
48
  this.namespace = namespace;
45
49
  }
46
50
  async get(key) {
47
- const value = getAmplitudeStorage().get(namespaceKey(this.namespace, key), true);
51
+ const storage = getAmplitudeStorage();
52
+ const value = storage.get(namespaceKey(this.namespace, key), true);
48
53
  return value ?? null;
49
54
  }
50
55
  async put(key, value) {
51
- getAmplitudeStorage().set(namespaceKey(this.namespace, key), value, true);
56
+ const storage = getAmplitudeStorage();
57
+ storage.set(namespaceKey(this.namespace, key), value, true);
52
58
  }
53
59
  async delete(key) {
54
- getAmplitudeStorage().remove(namespaceKey(this.namespace, key), true);
60
+ const storage = getAmplitudeStorage();
61
+ storage.remove(namespaceKey(this.namespace, key), true);
55
62
  }
56
63
  async reset() {
64
+ const storage = getAmplitudeStorage();
57
65
  const prefix = `${this.namespace}::`;
58
- const keys = getAmplitudeStorage().getKeysByPrefix(prefix, true);
66
+ const keys = storage.getKeysByPrefix(prefix, true);
59
67
  if (keys.length > 0) {
60
- getAmplitudeStorage().removeBatch(keys, true);
68
+ storage.removeBatch(keys, true);
61
69
  }
62
70
  }
63
71
  }
@@ -66,20 +74,24 @@ export class NitroMemoryStorage {
66
74
  this.namespace = namespace;
67
75
  }
68
76
  async get(key) {
69
- const value = getAmplitudeStorage().get(namespaceKey(this.namespace, key), false);
77
+ const storage = getAmplitudeStorage();
78
+ const value = storage.get(namespaceKey(this.namespace, key), false);
70
79
  return value ?? null;
71
80
  }
72
81
  async put(key, value) {
73
- getAmplitudeStorage().set(namespaceKey(this.namespace, key), value, false);
82
+ const storage = getAmplitudeStorage();
83
+ storage.set(namespaceKey(this.namespace, key), value, false);
74
84
  }
75
85
  async delete(key) {
76
- getAmplitudeStorage().remove(namespaceKey(this.namespace, key), false);
86
+ const storage = getAmplitudeStorage();
87
+ storage.remove(namespaceKey(this.namespace, key), false);
77
88
  }
78
89
  async reset() {
90
+ const storage = getAmplitudeStorage();
79
91
  const prefix = `${this.namespace}::`;
80
- const keys = getAmplitudeStorage().getKeysByPrefix(prefix, false);
92
+ const keys = storage.getKeysByPrefix(prefix, false);
81
93
  if (keys.length > 0) {
82
- getAmplitudeStorage().removeBatch(keys, false);
94
+ storage.removeBatch(keys, false);
83
95
  }
84
96
  }
85
97
  }
@@ -1 +1 @@
1
- {"version":3,"names":["getAmplitudeStorage","namespaceKey","namespace","key","NitroAnalyticsStorage","constructor","isEnabled","get","raw","getRaw","undefined","JSON","parse","set","value","stringify","remove","reset","prefix","keys","getKeysByPrefix","length","removeBatch","NitroExperimentStorage","put","delete","NitroMemoryStorage"],"sourceRoot":"../../../src","sources":["native/storage.ts"],"mappings":";;AAEA,SAASA,mBAAmB,QAAQ,UAAU;AAE9C,SAASC,YAAYA,CAACC,SAAiB,EAAEC,GAAW,EAAU;EAC5D,OAAO,GAAGD,SAAS,KAAKC,GAAG,EAAE;AAC/B;AAEA,OAAO,MAAMC,qBAAqB,CAAmC;EACnEC,WAAWA,CAAkBH,SAAiB,EAAE;IAAA,KAAnBA,SAAiB,GAAjBA,SAAiB;EAAG;EAEjD,MAAMI,SAASA,CAAA,EAAqB;IAClC,OAAO,IAAI;EACb;EAEA,MAAMC,GAAGA,CAACJ,GAAW,EAA0B;IAC7C,MAAMK,GAAG,GAAG,MAAM,IAAI,CAACC,MAAM,CAACN,GAAG,CAAC;IAClC,IAAI,CAACK,GAAG,EAAE;MACR,OAAOE,SAAS;IAClB;IACA,IAAI;MACF,OAAOC,IAAI,CAACC,KAAK,CAACJ,GAAG,CAAC;IACxB,CAAC,CAAC,MAAM;MACN,OAAOE,SAAS;IAClB;EACF;EAEA,MAAMD,MAAMA,CAACN,GAAW,EAA+B;IACrD,OAAOH,mBAAmB,CAAC,CAAC,CAACO,GAAG,CAACN,YAAY,CAAC,IAAI,CAACC,SAAS,EAAEC,GAAG,CAAC,EAAE,IAAI,CAAC;EAC3E;EAEA,MAAMU,GAAGA,CAACV,GAAW,EAAEW,KAAQ,EAAiB;IAC9Cd,mBAAmB,CAAC,CAAC,CAACa,GAAG,CACvBZ,YAAY,CAAC,IAAI,CAACC,SAAS,EAAEC,GAAG,CAAC,EACjCQ,IAAI,CAACI,SAAS,CAACD,KAAK,CAAC,EACrB,IACF,CAAC;EACH;EAEA,MAAME,MAAMA,CAACb,GAAW,EAAiB;IACvCH,mBAAmB,CAAC,CAAC,CAACgB,MAAM,CAACf,YAAY,CAAC,IAAI,CAACC,SAAS,EAAEC,GAAG,CAAC,EAAE,IAAI,CAAC;EACvE;EAEA,MAAMc,KAAKA,CAAA,EAAkB;IAC3B,MAAMC,MAAM,GAAG,GAAG,IAAI,CAAChB,SAAS,IAAI;IACpC,MAAMiB,IAAI,GAAGnB,mBAAmB,CAAC,CAAC,CAACoB,eAAe,CAACF,MAAM,EAAE,IAAI,CAAC;IAChE,IAAIC,IAAI,CAACE,MAAM,GAAG,CAAC,EAAE;MACnBrB,mBAAmB,CAAC,CAAC,CAACsB,WAAW,CAACH,IAAI,EAAE,IAAI,CAAC;IAC/C;EACF;AACF;AAEA,OAAO,MAAMI,sBAAsB,CAA8B;EAC/DlB,WAAWA,CAAkBH,SAAiB,EAAE;IAAA,KAAnBA,SAAiB,GAAjBA,SAAiB;EAAG;EAEjD,MAAMK,GAAGA,CAACJ,GAAW,EAA0B;IAC7C,MAAMW,KAAK,GAAGd,mBAAmB,CAAC,CAAC,CAACO,GAAG,CACrCN,YAAY,CAAC,IAAI,CAACC,SAAS,EAAEC,GAAG,CAAC,EACjC,IACF,CAAC;IACD,OAAOW,KAAK,IAAI,IAAI;EACtB;EAEA,MAAMU,GAAGA,CAACrB,GAAW,EAAEW,KAAa,EAAiB;IACnDd,mBAAmB,CAAC,CAAC,CAACa,GAAG,CAACZ,YAAY,CAAC,IAAI,CAACC,SAAS,EAAEC,GAAG,CAAC,EAAEW,KAAK,EAAE,IAAI,CAAC;EAC3E;EAEA,MAAMW,MAAMA,CAACtB,GAAW,EAAiB;IACvCH,mBAAmB,CAAC,CAAC,CAACgB,MAAM,CAACf,YAAY,CAAC,IAAI,CAACC,SAAS,EAAEC,GAAG,CAAC,EAAE,IAAI,CAAC;EACvE;EAEA,MAAMc,KAAKA,CAAA,EAAkB;IAC3B,MAAMC,MAAM,GAAG,GAAG,IAAI,CAAChB,SAAS,IAAI;IACpC,MAAMiB,IAAI,GAAGnB,mBAAmB,CAAC,CAAC,CAACoB,eAAe,CAACF,MAAM,EAAE,IAAI,CAAC;IAChE,IAAIC,IAAI,CAACE,MAAM,GAAG,CAAC,EAAE;MACnBrB,mBAAmB,CAAC,CAAC,CAACsB,WAAW,CAACH,IAAI,EAAE,IAAI,CAAC;IAC/C;EACF;AACF;AAEA,OAAO,MAAMO,kBAAkB,CAA8B;EAC3DrB,WAAWA,CAAkBH,SAAiB,EAAE;IAAA,KAAnBA,SAAiB,GAAjBA,SAAiB;EAAG;EAEjD,MAAMK,GAAGA,CAACJ,GAAW,EAA0B;IAC7C,MAAMW,KAAK,GAAGd,mBAAmB,CAAC,CAAC,CAACO,GAAG,CACrCN,YAAY,CAAC,IAAI,CAACC,SAAS,EAAEC,GAAG,CAAC,EACjC,KACF,CAAC;IACD,OAAOW,KAAK,IAAI,IAAI;EACtB;EAEA,MAAMU,GAAGA,CAACrB,GAAW,EAAEW,KAAa,EAAiB;IACnDd,mBAAmB,CAAC,CAAC,CAACa,GAAG,CAACZ,YAAY,CAAC,IAAI,CAACC,SAAS,EAAEC,GAAG,CAAC,EAAEW,KAAK,EAAE,KAAK,CAAC;EAC5E;EAEA,MAAMW,MAAMA,CAACtB,GAAW,EAAiB;IACvCH,mBAAmB,CAAC,CAAC,CAACgB,MAAM,CAACf,YAAY,CAAC,IAAI,CAACC,SAAS,EAAEC,GAAG,CAAC,EAAE,KAAK,CAAC;EACxE;EAEA,MAAMc,KAAKA,CAAA,EAAkB;IAC3B,MAAMC,MAAM,GAAG,GAAG,IAAI,CAAChB,SAAS,IAAI;IACpC,MAAMiB,IAAI,GAAGnB,mBAAmB,CAAC,CAAC,CAACoB,eAAe,CAACF,MAAM,EAAE,KAAK,CAAC;IACjE,IAAIC,IAAI,CAACE,MAAM,GAAG,CAAC,EAAE;MACnBrB,mBAAmB,CAAC,CAAC,CAACsB,WAAW,CAACH,IAAI,EAAE,KAAK,CAAC;IAChD;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"names":["getAmplitudeStorage","namespaceKey","namespace","key","NitroAnalyticsStorage","constructor","isEnabled","get","raw","getRaw","undefined","JSON","parse","storage","set","value","stringify","remove","reset","prefix","keys","getKeysByPrefix","length","removeBatch","NitroExperimentStorage","put","delete","NitroMemoryStorage"],"sourceRoot":"../../../src","sources":["native/storage.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+
3
+ import { BaseTransport } from "@amplitude/analytics-core";
4
+ import { createAmplitudeError } from "./errors";
5
+ let networkEnabled = true;
6
+ const dryRunRequests = [];
7
+ const dryRunEvents = [];
8
+ export function setNetworkEnabled(enabled) {
9
+ networkEnabled = enabled;
10
+ }
11
+ export function getNetworkEnabled() {
12
+ return networkEnabled;
13
+ }
14
+ export function clearDryRunTransportRecords() {
15
+ dryRunRequests.length = 0;
16
+ dryRunEvents.length = 0;
17
+ }
18
+ export function getDryRunTransportRecords() {
19
+ return dryRunRequests.map(request => ({
20
+ ...request
21
+ }));
22
+ }
23
+ export function getDryRunAnalyticsEvents() {
24
+ return dryRunEvents.map(event => ({
25
+ ...event,
26
+ payload: {
27
+ ...event.payload
28
+ }
29
+ }));
30
+ }
31
+ export function assertNetworkEnabled() {
32
+ if (!networkEnabled) {
33
+ throw createAmplitudeError("network_error", "Amplitude network traffic is disabled");
34
+ }
35
+ }
36
+ function nowMillis() {
37
+ return typeof performance !== "undefined" && performance.now ? performance.now() : Date.now();
38
+ }
39
+ function createTiming(kind, url, method, startedAt, status, error) {
40
+ const finishedAt = nowMillis();
41
+ return {
42
+ kind,
43
+ url,
44
+ method,
45
+ startedAt,
46
+ finishedAt,
47
+ durationMillis: Math.round((finishedAt - startedAt) * 10) / 10,
48
+ status,
49
+ error: error === undefined ? undefined : error instanceof Error ? error.message : String(error)
50
+ };
51
+ }
52
+ export function createNetworkTimingBuffer(limit = 20) {
53
+ const timings = [];
54
+ const normalizedLimit = Number.isFinite(limit) && limit > 0 ? limit : 20;
55
+ return {
56
+ record: timing => {
57
+ timings.push(timing);
58
+ while (timings.length > normalizedLimit) {
59
+ timings.shift();
60
+ }
61
+ },
62
+ getTimings: () => timings.map(timing => ({
63
+ ...timing
64
+ })),
65
+ clear: () => {
66
+ timings.length = 0;
67
+ }
68
+ };
69
+ }
70
+ export function createTimedAnalyticsTransport(transport, record) {
71
+ return {
72
+ async send(serverUrl, payload, enableRequestBodyCompression) {
73
+ const startedAt = nowMillis();
74
+ try {
75
+ const response = await transport.send(serverUrl, payload, enableRequestBodyCompression);
76
+ record(createTiming("analytics", serverUrl, "POST", startedAt, response?.status));
77
+ return response;
78
+ } catch (error) {
79
+ record(createTiming("analytics", serverUrl, "POST", startedAt, undefined, error));
80
+ throw error;
81
+ }
82
+ }
83
+ };
84
+ }
85
+ export function createTimedHttpClient(httpClient, record) {
86
+ return {
87
+ async request(requestUrl, method, headers, data, timeoutMillis) {
88
+ const startedAt = nowMillis();
89
+ try {
90
+ const response = await httpClient.request(requestUrl, method, headers, data, timeoutMillis);
91
+ record(createTiming("experiment", requestUrl, method, startedAt, response.status));
92
+ return response;
93
+ } catch (error) {
94
+ record(createTiming("experiment", requestUrl, method, startedAt, undefined, error));
95
+ throw error;
96
+ }
97
+ }
98
+ };
99
+ }
100
+ export class DryRunHttpClient {
101
+ async request(requestUrl, method, headers, data, timeoutMillis = 10000) {
102
+ dryRunRequests.push({
103
+ url: requestUrl,
104
+ method,
105
+ headers: {
106
+ ...headers
107
+ },
108
+ data,
109
+ timeoutMillis,
110
+ createdAt: Date.now()
111
+ });
112
+ return {
113
+ status: 202,
114
+ body: JSON.stringify({
115
+ code: 202,
116
+ dryRun: true
117
+ })
118
+ };
119
+ }
120
+ }
121
+ export class DryRunTransport extends BaseTransport {
122
+ async send(serverUrl, payload) {
123
+ dryRunEvents.push({
124
+ serverUrl,
125
+ payload: {
126
+ ...payload
127
+ },
128
+ createdAt: Date.now()
129
+ });
130
+ return this.buildResponse({
131
+ code: 202,
132
+ dryRun: true
133
+ });
134
+ }
135
+ }
136
+ export const dryRunHttpClient = new DryRunHttpClient();
137
+ export const dryRunTransport = new DryRunTransport();
138
+ //# sourceMappingURL=network.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["BaseTransport","createAmplitudeError","networkEnabled","dryRunRequests","dryRunEvents","setNetworkEnabled","enabled","getNetworkEnabled","clearDryRunTransportRecords","length","getDryRunTransportRecords","map","request","getDryRunAnalyticsEvents","event","payload","assertNetworkEnabled","nowMillis","performance","now","Date","createTiming","kind","url","method","startedAt","status","error","finishedAt","durationMillis","Math","round","undefined","Error","message","String","createNetworkTimingBuffer","limit","timings","normalizedLimit","Number","isFinite","record","timing","push","shift","getTimings","clear","createTimedAnalyticsTransport","transport","send","serverUrl","enableRequestBodyCompression","response","createTimedHttpClient","httpClient","requestUrl","headers","data","timeoutMillis","DryRunHttpClient","createdAt","body","JSON","stringify","code","dryRun","DryRunTransport","buildResponse","dryRunHttpClient","dryRunTransport"],"sourceRoot":"../../src","sources":["network.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+
3
+ import { getAnalyticsConnector } from "@amplitude/analytics-core";
4
+ import { createInstance } from "./analytics/react-native-client";
5
+ import { NetworkGuardedFetchTransport } from "./analytics/network-guarded-fetch-transport";
6
+ import { isNative } from "./analytics/utils/platform";
7
+ import { Experiment } from "./experiment/factory";
8
+ import { dryRunHttpClient, dryRunTransport } from "./network";
9
+ function getStorageModule() {
10
+ if (isNative()) {
11
+ return require("./native/storage");
12
+ }
13
+ return require("./native/storage.web");
14
+ }
15
+ function getAnalyticsTransport() {
16
+ if (isNative()) {
17
+ const {
18
+ nitroTransport
19
+ } = require("./analytics/nitro-transport");
20
+ return nitroTransport;
21
+ }
22
+ return new NetworkGuardedFetchTransport();
23
+ }
24
+ export function createDurableAmplitudeStoragePreset(options = {}) {
25
+ const namespace = options.namespace ?? "default";
26
+ const {
27
+ NitroAnalyticsStorage,
28
+ NitroExperimentStorage
29
+ } = getStorageModule();
30
+ const analyticsEvents = new NitroAnalyticsStorage(`${namespace}:analytics-events`);
31
+ const analyticsSession = new NitroAnalyticsStorage(`${namespace}:analytics-session`);
32
+ const experimentVariants = new NitroExperimentStorage(`${namespace}:experiment-variants`);
33
+ return {
34
+ analytics: {
35
+ storageProvider: analyticsEvents,
36
+ cookieStorage: analyticsSession,
37
+ transportProvider: options.dryRun ? dryRunTransport : getAnalyticsTransport()
38
+ },
39
+ experiment: {
40
+ storage: experimentVariants
41
+ },
42
+ clear: async () => {
43
+ await analyticsEvents.reset();
44
+ await analyticsSession.reset();
45
+ await experimentVariants.reset?.();
46
+ }
47
+ };
48
+ }
49
+ export function createPersistentAmplitudeConfig(namespaceOrOptions) {
50
+ if (typeof namespaceOrOptions === "string") {
51
+ return createDurableAmplitudeStoragePreset({
52
+ namespace: namespaceOrOptions
53
+ });
54
+ }
55
+ return createDurableAmplitudeStoragePreset(namespaceOrOptions);
56
+ }
57
+ export function createExperimentUser(user) {
58
+ return {
59
+ ...user,
60
+ user_properties: user.user_properties ? {
61
+ ...user.user_properties
62
+ } : undefined,
63
+ groups: user.groups ? {
64
+ ...user.groups
65
+ } : undefined,
66
+ group_properties: user.group_properties ? {
67
+ ...user.group_properties
68
+ } : undefined
69
+ };
70
+ }
71
+ export function createAmplitudeClient(config) {
72
+ const instanceName = config.instanceName ?? "$default_instance";
73
+ const dryRunEnabled = config.dryRun || typeof config.durableStorage === "object" && config.durableStorage.dryRun;
74
+ const storagePreset = config.durableStorage === false ? undefined : createDurableAmplitudeStoragePreset({
75
+ namespace: typeof config.durableStorage === "object" ? config.durableStorage.namespace : instanceName,
76
+ dryRun: dryRunEnabled
77
+ });
78
+ const analytics = createInstance();
79
+ const experiment = config.experimentDeploymentKey !== undefined ? Experiment.initializeWithAmplitudeAnalytics(config.experimentDeploymentKey, {
80
+ ...storagePreset?.experiment,
81
+ ...config.experiment,
82
+ instanceName,
83
+ httpClient: dryRunEnabled ? config.experiment?.httpClient ?? dryRunHttpClient : config.experiment?.httpClient
84
+ }) : undefined;
85
+ const combined = {
86
+ analytics,
87
+ experiment,
88
+ init: async user => {
89
+ await analytics.init(config.analyticsApiKey, config.userId, {
90
+ ...storagePreset?.analytics,
91
+ ...config.analytics,
92
+ instanceName,
93
+ transportProvider: dryRunEnabled ? config.analytics?.transportProvider ?? dryRunTransport : config.analytics?.transportProvider ?? storagePreset?.analytics.transportProvider
94
+ }).promise;
95
+ if (experiment && user) {
96
+ experiment.setUser(user);
97
+ }
98
+ return combined;
99
+ },
100
+ flush: async () => analytics.flush().promise,
101
+ reset: () => analytics.reset(),
102
+ getUserId: () => analytics.getUserId(),
103
+ getDeviceId: () => analytics.getDeviceId()
104
+ };
105
+ return combined;
106
+ }
107
+ export function getConnectorIdentity(instanceName = "$default_instance") {
108
+ return getAnalyticsConnector(instanceName).identityStore.getIdentity();
109
+ }
110
+ //# sourceMappingURL=presets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getAnalyticsConnector","createInstance","NetworkGuardedFetchTransport","isNative","Experiment","dryRunHttpClient","dryRunTransport","getStorageModule","require","getAnalyticsTransport","nitroTransport","createDurableAmplitudeStoragePreset","options","namespace","NitroAnalyticsStorage","NitroExperimentStorage","analyticsEvents","analyticsSession","experimentVariants","analytics","storageProvider","cookieStorage","transportProvider","dryRun","experiment","storage","clear","reset","createPersistentAmplitudeConfig","namespaceOrOptions","createExperimentUser","user","user_properties","undefined","groups","group_properties","createAmplitudeClient","config","instanceName","dryRunEnabled","durableStorage","storagePreset","experimentDeploymentKey","initializeWithAmplitudeAnalytics","httpClient","combined","init","analyticsApiKey","userId","promise","setUser","flush","getUserId","getDeviceId","getConnectorIdentity","identityStore","getIdentity"],"sourceRoot":"../../src","sources":["presets.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,160 @@
1
+ "use strict";
2
+
3
+ function createMockFunction(implementation) {
4
+ const fn = (...args) => {
5
+ fn.calls.push(args);
6
+ return implementation(...args);
7
+ };
8
+ fn.calls = [];
9
+ return fn;
10
+ }
11
+ function createReturn(eventType) {
12
+ const result = {
13
+ event: {
14
+ event_type: eventType
15
+ },
16
+ code: 200,
17
+ message: "dry_run"
18
+ };
19
+ return {
20
+ promise: Promise.resolve(result)
21
+ };
22
+ }
23
+ export function createFakeExperimentStorage(initialValues = {}) {
24
+ const values = new Map(Object.entries(initialValues));
25
+ return {
26
+ values,
27
+ get: async key => values.get(key) ?? null,
28
+ put: async (key, value) => {
29
+ values.set(key, value);
30
+ },
31
+ delete: async key => {
32
+ values.delete(key);
33
+ },
34
+ reset: async () => {
35
+ values.clear();
36
+ }
37
+ };
38
+ }
39
+ export function createMockAmplitudeClient() {
40
+ let userId;
41
+ let deviceId = "mock-device-id";
42
+ let sessionId;
43
+ const client = {
44
+ init: createMockFunction((_, nextUserId) => {
45
+ userId = nextUserId;
46
+ return createReturn("$init");
47
+ }),
48
+ track: createMockFunction(() => createReturn("$track")),
49
+ logEvent: createMockFunction(() => createReturn("$track")),
50
+ identify: createMockFunction(() => createReturn("$identify")),
51
+ groupIdentify: createMockFunction(() => createReturn("$groupidentify")),
52
+ setGroup: createMockFunction(() => createReturn("$groupidentify")),
53
+ revenue: createMockFunction(() => createReturn("revenue_amount")),
54
+ flush: createMockFunction(() => createReturn("$flush")),
55
+ flushWithResult: createMockFunction(async () => ({
56
+ ok: true,
57
+ sent: 0,
58
+ failed: 0,
59
+ dropped: 0,
60
+ retried: 0,
61
+ finishedAt: Date.now()
62
+ })),
63
+ add: createMockFunction(() => createReturn("$add")),
64
+ remove: createMockFunction(() => createReturn("$remove")),
65
+ setUserId: createMockFunction(nextUserId => {
66
+ userId = nextUserId;
67
+ }),
68
+ getUserId: createMockFunction(() => userId),
69
+ setDeviceId: createMockFunction(nextDeviceId => {
70
+ deviceId = nextDeviceId;
71
+ }),
72
+ getDeviceId: createMockFunction(() => deviceId),
73
+ setSessionId: createMockFunction(nextSessionId => {
74
+ sessionId = nextSessionId;
75
+ }),
76
+ getSessionId: createMockFunction(() => sessionId),
77
+ extendSession: createMockFunction(() => undefined),
78
+ setOptOut: createMockFunction(() => undefined),
79
+ reset: createMockFunction(() => {
80
+ userId = undefined;
81
+ deviceId = "mock-device-id-reset";
82
+ }),
83
+ shutdown: createMockFunction(() => undefined),
84
+ getDiagnostics: createMockFunction(() => ({
85
+ initialized: true,
86
+ userId,
87
+ deviceId,
88
+ sessionId,
89
+ queueSize: 0,
90
+ activeInstanceNames: ["$default_instance"]
91
+ })),
92
+ healthCheck: createMockFunction(async () => ({
93
+ ok: true,
94
+ analyticsInitialized: true,
95
+ nativeAvailable: true,
96
+ storageWritable: true,
97
+ errors: []
98
+ }))
99
+ };
100
+ return client;
101
+ }
102
+ export function createMockExperimentClient(initialVariants = {}) {
103
+ let user = {};
104
+ const variants = new Map(Object.entries(initialVariants));
105
+ let client;
106
+ client = {
107
+ start: createMockFunction(async nextUser => {
108
+ user = nextUser ?? user;
109
+ }),
110
+ stop: createMockFunction(() => undefined),
111
+ fetch: createMockFunction(async () => client),
112
+ fetchWithMetadata: createMockFunction(async () => ({
113
+ fetched: true,
114
+ flagKeys: Array.from(variants.keys()),
115
+ cacheHit: false,
116
+ durationMillis: 0,
117
+ source: "network"
118
+ })),
119
+ fetchOrThrow: createMockFunction(async () => client),
120
+ variant: createMockFunction((key, fallback) => {
121
+ return variants.get(key) ?? normalizeFallback(fallback);
122
+ }),
123
+ variantWithMetadata: createMockFunction((key, fallback) => ({
124
+ variant: variants.get(key) ?? normalizeFallback(fallback),
125
+ fallback: !variants.has(key),
126
+ stale: false,
127
+ reason: variants.has(key) ? undefined : "fallback"
128
+ })),
129
+ all: createMockFunction(() => Object.fromEntries(variants)),
130
+ clear: createMockFunction(() => variants.clear()),
131
+ clearVariants: createMockFunction(() => variants.clear()),
132
+ hasCachedVariant: createMockFunction(key => variants.has(key)),
133
+ getLastFetchTime: createMockFunction(() => undefined),
134
+ exposure: createMockFunction(() => undefined),
135
+ getUser: createMockFunction(() => ({
136
+ ...user
137
+ })),
138
+ setUser: createMockFunction(nextUser => {
139
+ user = {
140
+ ...nextUser
141
+ };
142
+ }),
143
+ getUserProvider: createMockFunction(() => ({
144
+ getUser: async () => ({
145
+ ...user
146
+ })
147
+ })),
148
+ setUserProvider: createMockFunction(() => client)
149
+ };
150
+ return client;
151
+ function normalizeFallback(fallback) {
152
+ if (typeof fallback === "string") {
153
+ return {
154
+ value: fallback
155
+ };
156
+ }
157
+ return fallback ?? {};
158
+ }
159
+ }
160
+ //# sourceMappingURL=testing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createMockFunction","implementation","fn","args","calls","push","createReturn","eventType","result","event","event_type","code","message","promise","Promise","resolve","createFakeExperimentStorage","initialValues","values","Map","Object","entries","get","key","put","value","set","delete","reset","clear","createMockAmplitudeClient","userId","deviceId","sessionId","client","init","_","nextUserId","track","logEvent","identify","groupIdentify","setGroup","revenue","flush","flushWithResult","ok","sent","failed","dropped","retried","finishedAt","Date","now","add","remove","setUserId","getUserId","setDeviceId","nextDeviceId","getDeviceId","setSessionId","nextSessionId","getSessionId","extendSession","undefined","setOptOut","shutdown","getDiagnostics","initialized","queueSize","activeInstanceNames","healthCheck","analyticsInitialized","nativeAvailable","storageWritable","errors","createMockExperimentClient","initialVariants","user","variants","start","nextUser","stop","fetch","fetchWithMetadata","fetched","flagKeys","Array","from","keys","cacheHit","durationMillis","source","fetchOrThrow","variant","fallback","normalizeFallback","variantWithMetadata","has","stale","reason","all","fromEntries","clearVariants","hasCachedVariant","getLastFetchTime","exposure","getUser","setUser","getUserProvider","setUserProvider"],"sourceRoot":"../../src","sources":["testing.ts"],"mappings":";;AAaA,SAASA,kBAAkBA,CACzBC,cAAyC,EACb;EAC5B,MAAMC,EAAE,GAAIA,CAAC,GAAGC,IAAU,KAAK;IAC7BD,EAAE,CAACE,KAAK,CAACC,IAAI,CAACF,IAAI,CAAC;IACnB,OAAOF,cAAc,CAAC,GAAGE,IAAI,CAAC;EAChC,CAAgC;EAChCD,EAAE,CAACE,KAAK,GAAG,EAAE;EACb,OAAOF,EAAE;AACX;AAEA,SAASI,YAAYA,CAACC,SAAiB,EAA2B;EAChE,MAAMC,MAAc,GAAG;IACrBC,KAAK,EAAE;MAAEC,UAAU,EAAEH;IAAU,CAAC;IAChCI,IAAI,EAAE,GAAG;IACTC,OAAO,EAAE;EACX,CAAC;EACD,OAAO;IACLC,OAAO,EAAEC,OAAO,CAACC,OAAO,CAACP,MAAM;EACjC,CAAC;AACH;AAMA,OAAO,SAASQ,2BAA2BA,CACzCC,aAAqC,GAAG,CAAC,CAAC,EACnB;EACvB,MAAMC,MAAM,GAAG,IAAIC,GAAG,CAACC,MAAM,CAACC,OAAO,CAACJ,aAAa,CAAC,CAAC;EACrD,OAAO;IACLC,MAAM;IACNI,GAAG,EAAE,MAAOC,GAAG,IAAKL,MAAM,CAACI,GAAG,CAACC,GAAG,CAAC,IAAI,IAAI;IAC3CC,GAAG,EAAE,MAAAA,CAAOD,GAAG,EAAEE,KAAK,KAAK;MACzBP,MAAM,CAACQ,GAAG,CAACH,GAAG,EAAEE,KAAK,CAAC;IACxB,CAAC;IACDE,MAAM,EAAE,MAAOJ,GAAG,IAAK;MACrBL,MAAM,CAACS,MAAM,CAACJ,GAAG,CAAC;IACpB,CAAC;IACDK,KAAK,EAAE,MAAAA,CAAA,KAAY;MACjBV,MAAM,CAACW,KAAK,CAAC,CAAC;IAChB;EACF,CAAC;AACH;AAEA,OAAO,SAASC,yBAAyBA,CAAA,EAA+B;EACtE,IAAIC,MAA0B;EAC9B,IAAIC,QAAQ,GAAG,gBAAgB;EAC/B,IAAIC,SAA6B;EACjC,MAAMC,MAAM,GAAG;IACbC,IAAI,EAAEnC,kBAAkB,CAAC,CAACoC,CAAS,EAAEC,UAAmB,KAAK;MAC3DN,MAAM,GAAGM,UAAU;MACnB,OAAO/B,YAAY,CAAC,OAAO,CAAC;IAC9B,CAAC,CAAC;IACFgC,KAAK,EAAEtC,kBAAkB,CAAC,MAAMM,YAAY,CAAC,QAAQ,CAAC,CAAC;IACvDiC,QAAQ,EAAEvC,kBAAkB,CAAC,MAAMM,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC1DkC,QAAQ,EAAExC,kBAAkB,CAAC,MAAMM,YAAY,CAAC,WAAW,CAAC,CAAC;IAC7DmC,aAAa,EAAEzC,kBAAkB,CAAC,MAAMM,YAAY,CAAC,gBAAgB,CAAC,CAAC;IACvEoC,QAAQ,EAAE1C,kBAAkB,CAAC,MAAMM,YAAY,CAAC,gBAAgB,CAAC,CAAC;IAClEqC,OAAO,EAAE3C,kBAAkB,CAAC,MAAMM,YAAY,CAAC,gBAAgB,CAAC,CAAC;IACjEsC,KAAK,EAAE5C,kBAAkB,CAAC,MAAMM,YAAY,CAAC,QAAQ,CAAC,CAAC;IACvDuC,eAAe,EAAE7C,kBAAkB,CAAC,aAAa;MAC/C8C,EAAE,EAAE,IAAI;MACRC,IAAI,EAAE,CAAC;MACPC,MAAM,EAAE,CAAC;MACTC,OAAO,EAAE,CAAC;MACVC,OAAO,EAAE,CAAC;MACVC,UAAU,EAAEC,IAAI,CAACC,GAAG,CAAC;IACvB,CAAC,CAAC,CAAC;IACHC,GAAG,EAAEtD,kBAAkB,CAAC,MAAMM,YAAY,CAAC,MAAM,CAAC,CAAC;IACnDiD,MAAM,EAAEvD,kBAAkB,CAAC,MAAMM,YAAY,CAAC,SAAS,CAAC,CAAC;IACzDkD,SAAS,EAAExD,kBAAkB,CAAEqC,UAA8B,IAAK;MAChEN,MAAM,GAAGM,UAAU;IACrB,CAAC,CAAC;IACFoB,SAAS,EAAEzD,kBAAkB,CAAC,MAAM+B,MAAM,CAAC;IAC3C2B,WAAW,EAAE1D,kBAAkB,CAAE2D,YAAoB,IAAK;MACxD3B,QAAQ,GAAG2B,YAAY;IACzB,CAAC,CAAC;IACFC,WAAW,EAAE5D,kBAAkB,CAAC,MAAMgC,QAAQ,CAAC;IAC/C6B,YAAY,EAAE7D,kBAAkB,CAAE8D,aAAqB,IAAK;MAC1D7B,SAAS,GAAG6B,aAAa;IAC3B,CAAC,CAAC;IACFC,YAAY,EAAE/D,kBAAkB,CAAC,MAAMiC,SAAS,CAAC;IACjD+B,aAAa,EAAEhE,kBAAkB,CAAC,MAAMiE,SAAS,CAAC;IAClDC,SAAS,EAAElE,kBAAkB,CAAC,MAAMiE,SAAS,CAAC;IAC9CrC,KAAK,EAAE5B,kBAAkB,CAAC,MAAM;MAC9B+B,MAAM,GAAGkC,SAAS;MAClBjC,QAAQ,GAAG,sBAAsB;IACnC,CAAC,CAAC;IACFmC,QAAQ,EAAEnE,kBAAkB,CAAC,MAAMiE,SAAS,CAAC;IAC7CG,cAAc,EAAEpE,kBAAkB,CAAC,OAAO;MACxCqE,WAAW,EAAE,IAAI;MACjBtC,MAAM;MACNC,QAAQ;MACRC,SAAS;MACTqC,SAAS,EAAE,CAAC;MACZC,mBAAmB,EAAE,CAAC,mBAAmB;IAC3C,CAAC,CAAC,CAAC;IACHC,WAAW,EAAExE,kBAAkB,CAAC,aAAa;MAC3C8C,EAAE,EAAE,IAAI;MACR2B,oBAAoB,EAAE,IAAI;MAC1BC,eAAe,EAAE,IAAI;MACrBC,eAAe,EAAE,IAAI;MACrBC,MAAM,EAAE;IACV,CAAC,CAAC;EACJ,CAAC;EACD,OAAO1C,MAAM;AACf;AAEA,OAAO,SAAS2C,0BAA0BA,CACxCC,eAAyB,GAAG,CAAC,CAAC,EACtB;EACR,IAAIC,IAAoB,GAAG,CAAC,CAAC;EAC7B,MAAMC,QAAQ,GAAG,IAAI7D,GAAG,CAAkBC,MAAM,CAACC,OAAO,CAACyD,eAAe,CAAC,CAAC;EAC1E,IAAI5C,MAAc;EAClBA,MAAM,GAAG;IACP+C,KAAK,EAAEjF,kBAAkB,CAAC,MAAOkF,QAAyB,IAAK;MAC7DH,IAAI,GAAGG,QAAQ,IAAIH,IAAI;IACzB,CAAC,CAAC;IACFI,IAAI,EAAEnF,kBAAkB,CAAC,MAAMiE,SAAS,CAAC;IACzCmB,KAAK,EAAEpF,kBAAkB,CAAC,YAAYkC,MAAM,CAAC;IAC7CmD,iBAAiB,EAAErF,kBAAkB,CAAC,aAAa;MACjDsF,OAAO,EAAE,IAAI;MACbC,QAAQ,EAAEC,KAAK,CAACC,IAAI,CAACT,QAAQ,CAACU,IAAI,CAAC,CAAC,CAAC;MACrCC,QAAQ,EAAE,KAAK;MACfC,cAAc,EAAE,CAAC;MACjBC,MAAM,EAAE;IACV,CAAC,CAAC,CAAC;IACHC,YAAY,EAAE9F,kBAAkB,CAAC,YAAYkC,MAAM,CAAC;IACpD6D,OAAO,EAAE/F,kBAAkB,CAAC,CAACuB,GAAW,EAAEyE,QAA2B,KAAK;MACxE,OAAOhB,QAAQ,CAAC1D,GAAG,CAACC,GAAG,CAAC,IAAI0E,iBAAiB,CAACD,QAAQ,CAAC;IACzD,CAAC,CAAC;IACFE,mBAAmB,EAAElG,kBAAkB,CACrC,CAACuB,GAAW,EAAEyE,QAA2B,MAAM;MAC7CD,OAAO,EAAEf,QAAQ,CAAC1D,GAAG,CAACC,GAAG,CAAC,IAAI0E,iBAAiB,CAACD,QAAQ,CAAC;MACzDA,QAAQ,EAAE,CAAChB,QAAQ,CAACmB,GAAG,CAAC5E,GAAG,CAAC;MAC5B6E,KAAK,EAAE,KAAK;MACZC,MAAM,EAAErB,QAAQ,CAACmB,GAAG,CAAC5E,GAAG,CAAC,GAAG0C,SAAS,GAAG;IAC1C,CAAC,CACH,CAAC;IACDqC,GAAG,EAAEtG,kBAAkB,CAAC,MAAMoB,MAAM,CAACmF,WAAW,CAACvB,QAAQ,CAAC,CAAC;IAC3DnD,KAAK,EAAE7B,kBAAkB,CAAC,MAAMgF,QAAQ,CAACnD,KAAK,CAAC,CAAC,CAAC;IACjD2E,aAAa,EAAExG,kBAAkB,CAAC,MAAMgF,QAAQ,CAACnD,KAAK,CAAC,CAAC,CAAC;IACzD4E,gBAAgB,EAAEzG,kBAAkB,CAAEuB,GAAW,IAAKyD,QAAQ,CAACmB,GAAG,CAAC5E,GAAG,CAAC,CAAC;IACxEmF,gBAAgB,EAAE1G,kBAAkB,CAAC,MAAMiE,SAAS,CAAC;IACrD0C,QAAQ,EAAE3G,kBAAkB,CAAC,MAAMiE,SAAS,CAAC;IAC7C2C,OAAO,EAAE5G,kBAAkB,CAAC,OAAO;MAAE,GAAG+E;IAAK,CAAC,CAAC,CAAC;IAChD8B,OAAO,EAAE7G,kBAAkB,CAAEkF,QAAwB,IAAK;MACxDH,IAAI,GAAG;QAAE,GAAGG;MAAS,CAAC;IACxB,CAAC,CAAC;IACF4B,eAAe,EAAE9G,kBAAkB,CAAC,OAAO;MACzC4G,OAAO,EAAE,MAAAA,CAAA,MAAa;QAAE,GAAG7B;MAAK,CAAC;IACnC,CAAC,CAAC,CAAC;IACHgC,eAAe,EAAE/G,kBAAkB,CAAC,MAAMkC,MAAM;EAClD,CAAC;EACD,OAAOA,MAAM;EAEb,SAAS+D,iBAAiBA,CAACD,QAA2B,EAAW;IAC/D,IAAI,OAAOA,QAAQ,KAAK,QAAQ,EAAE;MAChC,OAAO;QAAEvE,KAAK,EAAEuE;MAAS,CAAC;IAC5B;IACA,OAAOA,QAAQ,IAAI,CAAC,CAAC;EACvB;AACF","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import { Config, MemoryStorage, ReactNativeConfig as IReactNativeConfig, ReactNativeTrackingOptions, Event, ReactNativeOptions, Storage, UserSession } from "@amplitude/analytics-core";
2
- import { NitroAnalyticsStorage } from "../native/storage";
2
+ import type { Transport } from "@amplitude/analytics-core";
3
3
  export declare const getDefaultConfig: () => {
4
4
  cookieExpiration: number;
5
5
  cookieSameSite: string;
@@ -9,10 +9,10 @@ export declare const getDefaultConfig: () => {
9
9
  disableCookies: boolean;
10
10
  domain: string;
11
11
  sessionTimeout: number;
12
- storageProvider: NitroAnalyticsStorage<Event[]>;
12
+ storageProvider: import("..").NitroAnalyticsStorage<Event[]>;
13
13
  trackingSessionEvents: boolean;
14
14
  trackingOptions: Required<ReactNativeTrackingOptions>;
15
- transportProvider: import("./nitro-transport").NitroTransport;
15
+ transportProvider: Transport;
16
16
  };
17
17
  export declare class ReactNativeConfig extends Config implements IReactNativeConfig {
18
18
  appVersion?: string;
@@ -58,11 +58,24 @@ export declare const createCookieStorage: <T>(overrides?: ReactNativeOptions, ba
58
58
  disableCookies: boolean;
59
59
  domain: string;
60
60
  sessionTimeout: number;
61
- storageProvider: NitroAnalyticsStorage<Event[]>;
61
+ storageProvider: import("..").NitroAnalyticsStorage<Event[]>;
62
62
  trackingSessionEvents: boolean;
63
63
  trackingOptions: Required<ReactNativeTrackingOptions>;
64
- transportProvider: import("./nitro-transport").NitroTransport;
64
+ transportProvider: Transport;
65
65
  }) => Promise<Storage<T>>;
66
- export declare const createEventsStorage: (overrides?: ReactNativeOptions) => Promise<Storage<Event[]> | undefined>;
66
+ export declare const createEventsStorage: (overrides?: ReactNativeOptions, baseConfig?: {
67
+ cookieExpiration: number;
68
+ cookieSameSite: string;
69
+ cookieSecure: boolean;
70
+ cookieStorage: MemoryStorage<UserSession>;
71
+ cookieUpgrade: boolean;
72
+ disableCookies: boolean;
73
+ domain: string;
74
+ sessionTimeout: number;
75
+ storageProvider: import("..").NitroAnalyticsStorage<Event[]>;
76
+ trackingSessionEvents: boolean;
77
+ trackingOptions: Required<ReactNativeTrackingOptions>;
78
+ transportProvider: Transport;
79
+ }) => Promise<Storage<Event[]> | undefined>;
67
80
  export declare const getTopLevelDomain: (url?: string) => Promise<string>;
68
81
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/analytics/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,aAAa,EAEb,iBAAiB,IAAI,kBAAkB,EACvC,0BAA0B,EAC1B,KAAK,EACL,kBAAkB,EAClB,OAAO,EACP,WAAW,EAKZ,MAAM,2BAA2B,CAAC;AAInC,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAG1D,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;CA8B5B,CAAC;AAEF,qBAAa,iBAAkB,SAAQ,MAAO,YAAW,kBAAkB;IACzE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IACpC,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,eAAe,EAAE,0BAA0B,CAAC;IAG5C,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAClC,SAAS,CAAC,OAAO,UAAS;IAC1B,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;gBAEf,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB;IAuCxD,IAAI,QAAQ,IAIW,MAAM,GAAG,SAAS,CAFxC;IAED,IAAI,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAKxC;IAED,IAAI,MAAM,IAIS,MAAM,GAAG,SAAS,CAFpC;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAKpC;IAED,IAAI,SAAS,IAIY,MAAM,GAAG,SAAS,CAF1C;IAED,IAAI,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAK1C;IAED,IAAI,MAAM,IAIS,OAAO,CAFzB;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,EAKzB;IAED,IAAI,aAAa,IAIgB,MAAM,GAAG,SAAS,CAFlD;IAED,IAAI,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,EAKlD;IAED,IAAI,WAAW,IAIc,MAAM,GAAG,SAAS,CAF9C;IAED,IAAI,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,EAK9C;IAED,OAAO,CAAC,aAAa;CAuBtB;AAED,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,MAAM,EACd,UAAU,kBAAkB,KAC3B,OAAO,CAAC,kBAAkB,CAsE5B,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAU,CAAC,EACzC,YAAY,kBAAkB,EAC9B;;;;;;;;;;;;;CAA+B,KAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAOpB,CAAC;AA6BF,eAAO,MAAM,mBAAmB,GAC9B,YAAY,kBAAkB,KAC7B,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,GAAG,SAAS,CAoBtC,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAU,MAAM,MAAM,oBA6BnD,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/analytics/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,aAAa,EAEb,iBAAiB,IAAI,kBAAkB,EACvC,0BAA0B,EAC1B,KAAK,EACL,kBAAkB,EAClB,OAAO,EACP,WAAW,EAIZ,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AA2B3D,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;CA8B5B,CAAC;AAEF,qBAAa,iBAAkB,SAAQ,MAAO,YAAW,kBAAkB;IACzE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IACpC,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,eAAe,EAAE,0BAA0B,CAAC;IAG5C,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAClC,SAAS,CAAC,OAAO,UAAS;IAC1B,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;gBAEf,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB;IAwCxD,IAAI,QAAQ,IAIW,MAAM,GAAG,SAAS,CAFxC;IAED,IAAI,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAKxC;IAED,IAAI,MAAM,IAIS,MAAM,GAAG,SAAS,CAFpC;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAKpC;IAED,IAAI,SAAS,IAIY,MAAM,GAAG,SAAS,CAF1C;IAED,IAAI,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAK1C;IAED,IAAI,MAAM,IAIS,OAAO,CAFzB;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,EAKzB;IAED,IAAI,aAAa,IAIgB,MAAM,GAAG,SAAS,CAFlD;IAED,IAAI,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,EAKlD;IAED,IAAI,WAAW,IAIc,MAAM,GAAG,SAAS,CAF9C;IAED,IAAI,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,EAK9C;IAED,OAAO,CAAC,aAAa;CAuBtB;AAED,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,MAAM,EACd,UAAU,kBAAkB,KAC3B,OAAO,CAAC,kBAAkB,CAwE5B,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAU,CAAC,EACzC,YAAY,kBAAkB,EAC9B;;;;;;;;;;;;;CAA+B,KAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAOpB,CAAC;AA6BF,eAAO,MAAM,mBAAmB,GAC9B,YAAY,kBAAkB,EAC9B;;;;;;;;;;;;;CAA+B,KAC9B,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,GAAG,SAAS,CAqBtC,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAU,MAAM,MAAM,oBA6BnD,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import * as Types from "./types";
2
2
  export { createInstance } from "./react-native-client";
3
- export declare const add: (plugin: Types.Plugin<Types.ReactNativeClient, Types.ReactNativeConfig>) => Types.AmplitudeReturn<void>, flush: () => Types.AmplitudeReturn<void>, getDeviceId: () => string | undefined, getSessionId: () => number | undefined, getUserId: () => string | undefined, groupIdentify: (groupType: string, groupName: string | string[], identify: Types.IIdentify, eventOptions?: Types.EventOptions) => Types.AmplitudeReturn<Types.Result>, identify: (identify: Types.IIdentify, eventOptions?: Types.EventOptions) => Types.AmplitudeReturn<Types.Result>, init: (apiKey: string, userId?: string, options?: Types.ReactNativeOptions) => Types.AmplitudeReturn<void>, logEvent: (eventInput: Types.BaseEvent | string, eventProperties?: Record<string, any>, eventOptions?: Types.EventOptions) => Types.AmplitudeReturn<Types.Result>, remove: (pluginName: string) => Types.AmplitudeReturn<void>, reset: () => void, revenue: (revenue: Types.IRevenue, eventOptions?: Types.EventOptions) => Types.AmplitudeReturn<Types.Result>, setDeviceId: (deviceId: string) => void, setGroup: (groupType: string, groupName: string | string[], eventOptions?: Types.EventOptions) => Types.AmplitudeReturn<Types.Result>, setOptOut: (optOut: boolean) => void, setSessionId: (sessionId: number) => void, setUserId: (userId: string | undefined) => void, shutdown: () => void, track: (eventInput: Types.BaseEvent | string, eventProperties?: Record<string, any>, eventOptions?: Types.EventOptions) => Types.AmplitudeReturn<Types.Result>, extendSession: () => void;
3
+ export declare const add: (plugin: Types.Plugin<Types.ReactNativeClient, Types.ReactNativeConfig>) => Types.AmplitudeReturn<void>, flush: () => Types.AmplitudeReturn<void>, getDeviceId: () => string | undefined, getSessionId: () => number | undefined, getUserId: () => string | undefined, groupIdentify: (groupType: string, groupName: string | string[], identify: Types.IIdentify, eventOptions?: Types.EventOptions) => Types.AmplitudeReturn<Types.Result>, identify: (identify: Types.IIdentify, eventOptions?: Types.EventOptions) => Types.AmplitudeReturn<Types.Result>, init: (apiKey: string, userId?: string, options?: Types.ReactNativeOptions) => Types.AmplitudeReturn<void>, logEvent: (eventInput: Types.BaseEvent | string, eventProperties?: Record<string, any>, eventOptions?: Types.EventOptions) => Types.AmplitudeReturn<Types.Result>, remove: (pluginName: string) => Types.AmplitudeReturn<void>, reset: () => void, revenue: (revenue: Types.IRevenue, eventOptions?: Types.EventOptions) => Types.AmplitudeReturn<Types.Result>, setDeviceId: (deviceId: string) => void, setGroup: (groupType: string, groupName: string | string[], eventOptions?: Types.EventOptions) => Types.AmplitudeReturn<Types.Result>, setOptOut: (optOut: boolean) => void, setSessionId: (sessionId: number) => void, setUserId: (userId: string | undefined) => void, shutdown: () => void, track: (eventInput: Types.BaseEvent | string, eventProperties?: Record<string, any>, eventOptions?: Types.EventOptions) => Types.AmplitudeReturn<Types.Result>, extendSession: () => void, flushWithResult: () => Promise<import("./react-native-client").AmplitudeFlushResult>, getDiagnostics: () => import("./react-native-client").AmplitudeAnalyticsDiagnostics, healthCheck: () => Promise<import("./react-native-client").AmplitudeHealthCheckResult>;
4
4
  export { Revenue, Identify } from "@amplitude/analytics-core";
5
5
  export { InMemoryStorage, LocalStorage, MemoryStorage, } from "./storage/local-storage";
6
6
  export { Types };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/analytics/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,eAAO,MACL,GAAG,2GACH,KAAK,qCACL,WAAW,4BACX,YAAY,4BACZ,SAAS,4BACT,aAAa,0JACb,QAAQ,yGACR,IAAI,wGACJ,QAAQ,2JACR,MAAM,uDACN,KAAK,cACL,OAAO,uGACP,WAAW,8BACX,QAAQ,+HACR,SAAS,6BACT,YAAY,+BACZ,SAAS,wCACT,QAAQ,cACR,KAAK,2JACL,aAAa,YACL,CAAC;AAEX,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EACL,eAAe,EACf,YAAY,EACZ,aAAa,GACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/analytics/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,eAAO,MACL,GAAG,2GACH,KAAK,qCACL,WAAW,4BACX,YAAY,4BACZ,SAAS,4BACT,aAAa,0JACb,QAAQ,yGACR,IAAI,wGACJ,QAAQ,2JACR,MAAM,uDACN,KAAK,cACL,OAAO,uGACP,WAAW,8BACX,QAAQ,+HACR,SAAS,6BACT,YAAY,+BACZ,SAAS,wCACT,QAAQ,cACR,KAAK,2JACL,aAAa,cACb,eAAe,uEACf,cAAc,uEACd,WAAW,2EACH,CAAC;AAEX,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EACL,eAAe,EACf,YAAY,EACZ,aAAa,GACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { FetchTransport } from "@amplitude/analytics-core";
2
+ import type { Payload, Response } from "@amplitude/analytics-core";
3
+ export declare class NetworkGuardedFetchTransport extends FetchTransport {
4
+ send(serverUrl: string, payload: Payload): Promise<Response | null>;
5
+ }
6
+ //# sourceMappingURL=network-guarded-fetch-transport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"network-guarded-fetch-transport.d.ts","sourceRoot":"","sources":["../../../src/analytics/network-guarded-fetch-transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAGnE,qBAAa,4BAA6B,SAAQ,cAAc;IACxD,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;CAI1E"}