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
@@ -1 +1 @@
1
- {"version":3,"file":"nitro-transport.d.ts","sourceRoot":"","sources":["../../../src/analytics/nitro-transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAG9E,qBAAa,cAAe,SAAQ,aAAc,YAAW,SAAS;IACpE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAyB;gBAE3C,aAAa,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM;IAKhD,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;CAoB1E;AAED,eAAO,MAAM,cAAc,gBAAuB,CAAC"}
1
+ {"version":3,"file":"nitro-transport.d.ts","sourceRoot":"","sources":["../../../src/analytics/nitro-transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAI9E,qBAAa,cAAe,SAAQ,aAAc,YAAW,SAAS;IACpE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAyB;gBAE3C,aAAa,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM;IAKhD,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;CAqB1E;AAED,eAAO,MAAM,cAAc,gBAAuB,CAAC"}
@@ -6,6 +6,8 @@ export declare class Context implements BeforePlugin {
6
6
  config: ReactNativeConfig;
7
7
  uaResult: UAParser.IResult;
8
8
  library: string;
9
+ private nativeContext;
10
+ private nativeContextLoaded;
9
11
  constructor();
10
12
  setup(config: ReactNativeConfig): Promise<undefined>;
11
13
  private getNativeContext;
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/analytics/plugins/context.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,KAAK,EAIN,MAAM,2BAA2B,CAAC;AACnC,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AA4C/C,qBAAa,OAAQ,YAAW,YAAY;IAC1C,IAAI,SAA4C;IAChD,IAAI,EAAG,QAAQ,CAAU;IAKzB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC;IAC3B,OAAO,SAAmC;;IAY1C,KAAK,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,SAAS,CAAC;IAKpD,OAAO,CAAC,gBAAgB;IAWlB,OAAO,CAAC,OAAO,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;CA4E9C"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/analytics/plugins/context.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,KAAK,EAIN,MAAM,2BAA2B,CAAC;AACnC,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AA4C/C,qBAAa,OAAQ,YAAW,YAAY;IAC1C,IAAI,SAA4C;IAChD,IAAI,EAAG,QAAQ,CAAU;IAKzB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC;IAC3B,OAAO,SAAmC;IAC1C,OAAO,CAAC,aAAa,CAA4B;IACjD,OAAO,CAAC,mBAAmB,CAAS;;IAYpC,KAAK,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,SAAS,CAAC;IAKpD,OAAO,CAAC,gBAAgB;IAkBlB,OAAO,CAAC,OAAO,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;CA4E9C"}
@@ -2,12 +2,48 @@ import { AppStateStatus } from "react-native";
2
2
  import { AmplitudeCore, ReactNativeConfig, ReactNativeOptions, ReactNativeAttributionOptions as AttributionOptions, IIdentify, EventOptions, Event, Result, ReactNativeClient, AnalyticsClient } from "@amplitude/analytics-core";
3
3
  export type AmplitudeReactNativeClient = ReactNativeClient & {
4
4
  shutdown: () => void;
5
+ flushWithResult: () => Promise<AmplitudeFlushResult>;
6
+ getDiagnostics: () => AmplitudeAnalyticsDiagnostics;
7
+ healthCheck: () => Promise<AmplitudeHealthCheckResult>;
5
8
  };
9
+ export type AmplitudeFlushResult = {
10
+ ok: boolean;
11
+ sent: number;
12
+ failed: number;
13
+ dropped: number;
14
+ retried: number;
15
+ reason?: string;
16
+ result?: Result;
17
+ finishedAt: number;
18
+ };
19
+ export type AmplitudeAnalyticsDiagnostics = {
20
+ initialized: boolean;
21
+ instanceName?: string;
22
+ userId?: string;
23
+ deviceId?: string;
24
+ sessionId?: number;
25
+ queueSize: number;
26
+ lastFlushTime?: number;
27
+ lastFlushDurationMillis?: number;
28
+ lastFlushError?: string;
29
+ activeInstanceNames: string[];
30
+ };
31
+ export type AmplitudeHealthCheckResult = {
32
+ ok: boolean;
33
+ analyticsInitialized: boolean;
34
+ nativeAvailable: boolean;
35
+ storageWritable: boolean;
36
+ errors: string[];
37
+ };
38
+ export declare function getActiveAnalyticsInstanceNames(): string[];
6
39
  export declare class AmplitudeReactNative extends AmplitudeCore implements ReactNativeClient, AnalyticsClient {
7
40
  appState: AppStateStatus;
8
41
  private appStateChangeHandler;
9
42
  private initPromise;
10
43
  private readonly connectorOwnerId;
44
+ private lastFlushTime;
45
+ private lastFlushDurationMillis;
46
+ private lastFlushError;
11
47
  explicitSessionId: number | undefined;
12
48
  config: ReactNativeConfig;
13
49
  userProperties: Record<string, unknown> | undefined;
@@ -27,6 +63,9 @@ export declare class AmplitudeReactNative extends AmplitudeCore implements React
27
63
  identify(identify: IIdentify, eventOptions?: EventOptions): import("@amplitude/analytics-core").AmplitudeReturn<Result>;
28
64
  reset(): void;
29
65
  getSessionId(): number | undefined;
66
+ flushWithResult(): Promise<AmplitudeFlushResult>;
67
+ getDiagnostics(): AmplitudeAnalyticsDiagnostics;
68
+ healthCheck(): Promise<AmplitudeHealthCheckResult>;
30
69
  getIdentity(): {
31
70
  userId: string | undefined;
32
71
  deviceId: string | undefined;
@@ -35,6 +74,10 @@ export declare class AmplitudeReactNative extends AmplitudeCore implements React
35
74
  getOptOut(): boolean;
36
75
  setSessionId(sessionId: number): void;
37
76
  extendSession(): void;
77
+ private getQueueSize;
78
+ private collectFlushOutcomes;
79
+ private countSuccessfulOutcomes;
80
+ private isSuccessStatusCode;
38
81
  private setSessionIdInternal;
39
82
  process(event: Event): Promise<Result>;
40
83
  currentTimeMillis(): number;
@@ -1 +1 @@
1
- {"version":3,"file":"react-native-client.d.ts","sourceRoot":"","sources":["../../../src/analytics/react-native-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,EAEf,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,aAAa,EAOb,iBAAiB,EACjB,kBAAkB,EAClB,6BAA6B,IAAI,kBAAkB,EACnD,SAAS,EACT,YAAY,EACZ,KAAK,EACL,MAAM,EACN,iBAAiB,EAOjB,eAAe,EAChB,MAAM,2BAA2B,CAAC;AAiBnC,MAAM,MAAM,0BAA0B,GAAG,iBAAiB,GAAG;IAC3D,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAKF,qBAAa,oBACX,SAAQ,aACR,YAAW,iBAAiB,EAAE,eAAe;IAE7C,QAAQ,EAAE,cAAc,CAAgB;IACxC,OAAO,CAAC,qBAAqB,CAAsC;IACnE,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA0B;IAC3D,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;IAGtC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IAEpD,IAAI,CAAC,MAAM,SAAK,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB;cAQ/C,KAAK,CAAC,OAAO,EAAE,kBAAkB,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE;IAiFtE,QAAQ;IAyBR,OAAO,CAAC,0BAA0B;IAQlC,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,wBAAwB;IAmB1B,sBAAsB,CAC1B,iBAAiB,CAAC,EAAE,kBAAkB,EACtC,YAAY,UAAQ;IAuBtB,SAAS;IAIT,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS;IASpC,WAAW;IAIX,WAAW,CAAC,QAAQ,EAAE,MAAM;IAS5B,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,CAAC,EAAE,YAAY;IAUzD,KAAK;IAKL,YAAY;IAIZ,WAAW;;;;;IAQX,SAAS;IAIT,YAAY,CAAC,SAAS,EAAE,MAAM;IAU9B,aAAa;IAQb,OAAO,CAAC,oBAAoB;IAuCtB,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;IA+C5C,iBAAiB;IAIjB,OAAO,CAAC,uBAAuB;IAa/B,OAAO,CAAC,qBAAqB;IAW7B,OAAO,CAAC,8BAA8B;IAMtC,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAWnC;IAEF,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,cAAc;CAGvB;AAED,eAAO,MAAM,cAAc,QAAO,0BA4HjC,CAAC;;AAEF,wBAAgC"}
1
+ {"version":3,"file":"react-native-client.d.ts","sourceRoot":"","sources":["../../../src/analytics/react-native-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { AmplitudeAnalyticsDiagnostics, AmplitudeHealthCheckResult, AmplitudeReactNativeClient } from "./analytics/react-native-client";
2
+ export type NativeStartupDiagnostics = {
3
+ nitroModulesAvailable: boolean;
4
+ contextAvailable: boolean;
5
+ storageAvailable: boolean;
6
+ workerAvailable: boolean;
7
+ nativeAvailable: boolean;
8
+ lastError?: {
9
+ code: string;
10
+ message: string;
11
+ };
12
+ };
13
+ export type AmplitudeDiagnostics = AmplitudeAnalyticsDiagnostics & {
14
+ native: NativeStartupDiagnostics;
15
+ networkEnabled: boolean;
16
+ };
17
+ export declare function getLastNativeError(): NativeStartupDiagnostics["lastError"];
18
+ export declare function getNativeStartupDiagnostics(): NativeStartupDiagnostics;
19
+ export declare function getAmplitudeDiagnostics(analytics: AmplitudeReactNativeClient): AmplitudeDiagnostics;
20
+ export declare function healthCheck(analytics?: AmplitudeReactNativeClient): Promise<AmplitudeHealthCheckResult>;
21
+ //# sourceMappingURL=diagnostics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,6BAA6B,EAC7B,0BAA0B,EAC1B,0BAA0B,EAC3B,MAAM,iCAAiC,CAAC;AAOzC,MAAM,MAAM,wBAAwB,GAAG;IACrC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE;QACV,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,6BAA6B,GAAG;IACjE,MAAM,EAAE,wBAAwB,CAAC;IACjC,cAAc,EAAE,OAAO,CAAC;CACzB,CAAC;AAWF,wBAAgB,kBAAkB,IAAI,wBAAwB,CAAC,WAAW,CAAC,CAE1E;AAED,wBAAgB,2BAA2B,IAAI,wBAAwB,CAgCtE;AAED,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,0BAA0B,GACpC,oBAAoB,CAMtB;AAED,wBAAsB,WAAW,CAC/B,SAAS,CAAC,EAAE,0BAA0B,GACrC,OAAO,CAAC,0BAA0B,CAAC,CA+BrC"}
@@ -0,0 +1,9 @@
1
+ export type AmplitudeErrorCode = "not_initialized" | "network_error" | "storage_error" | "invalid_api_key" | "invalid_deployment_key" | "experiment_fetch_failed" | "native_unavailable" | "serialization_error" | "event_too_large" | "timeout" | "unknown";
2
+ export declare class AmplitudeError extends Error {
3
+ readonly code: AmplitudeErrorCode;
4
+ readonly cause?: unknown;
5
+ constructor(code: AmplitudeErrorCode, message: string, cause?: unknown);
6
+ }
7
+ export declare function createAmplitudeError(code: AmplitudeErrorCode, message: string, cause?: unknown): AmplitudeError;
8
+ export declare function getAmplitudeErrorCode(error: unknown): AmplitudeErrorCode;
9
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAC1B,iBAAiB,GACjB,eAAe,GACf,eAAe,GACf,iBAAiB,GACjB,wBAAwB,GACxB,yBAAyB,GACzB,oBAAoB,GACpB,qBAAqB,GACrB,iBAAiB,GACjB,SAAS,GACT,SAAS,CAAC;AAEd,qBAAa,cAAe,SAAQ,KAAK;IACvC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;gBAEb,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO;CAMvE;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,kBAAkB,EACxB,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,OAAO,GACd,cAAc,CAEhB;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,CA0BxE"}
@@ -2,7 +2,7 @@
2
2
  * @packageDocumentation
3
3
  * @module experiment-react-native-client
4
4
  */
5
- import { Client, FetchOptions } from "./types/client";
5
+ import { Client, ExperimentFetchResult, ExperimentVariantResult, FetchOptions } from "./types/client";
6
6
  import { ExperimentConfig } from "./types/config";
7
7
  import { ExperimentUser, ExperimentUserProvider } from "./types/user";
8
8
  import { Variant, Variants } from "./types/variant";
@@ -33,6 +33,9 @@ export declare class ExperimentClient implements Client {
33
33
  private storedFetchSequenceNumber;
34
34
  private readonly fetchVariantsOptions;
35
35
  private readonly stopCallbacks;
36
+ private readonly inFlightFetches;
37
+ private lastFetchTime;
38
+ private lastFetchFailure;
36
39
  /**
37
40
  * Creates a new ExperimentClient instance.
38
41
  *
@@ -95,6 +98,7 @@ export declare class ExperimentClient implements Client {
95
98
  * @see ExperimentUserProvider
96
99
  */
97
100
  fetch(user?: ExperimentUser, options?: FetchOptions): Promise<ExperimentClient>;
101
+ fetchWithMetadata(user?: ExperimentUser, options?: FetchOptions): Promise<ExperimentFetchResult>;
98
102
  fetchOrThrow(user?: ExperimentUser, options?: FetchOptions): Promise<ExperimentClient>;
99
103
  /**
100
104
  * Returns the variant for the provided key.
@@ -112,6 +116,7 @@ export declare class ExperimentClient implements Client {
112
116
  * @see ExposureTrackingProvider
113
117
  */
114
118
  variant(key: string, fallback?: string | Variant): Variant;
119
+ variantWithMetadata(key: string, fallback?: string | Variant): ExperimentVariantResult;
115
120
  /**
116
121
  * Track an exposure event for the variant associated with the flag/experiment
117
122
  * {@link key}.
@@ -138,6 +143,9 @@ export declare class ExperimentClient implements Client {
138
143
  * Clear all variants in the cache and storage.
139
144
  */
140
145
  clear(): void;
146
+ clearVariants(): void;
147
+ hasCachedVariant(key: string): boolean;
148
+ getLastFetchTime(): number | undefined;
141
149
  /**
142
150
  * Get a copy of the internal {@link ExperimentUser} object if it is set.
143
151
  *
@@ -1 +1 @@
1
- {"version":3,"file":"experimentClient.d.ts","sourceRoot":"","sources":["../../../src/experiment/experimentClient.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA6BH,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAY,MAAM,gBAAgB,CAAC;AAI5D,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAmDpD;;;;;GAKG;AACH,qBAAa,gBAAiB,YAAW,MAAM;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2B;IAClD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0B;IACnD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiC;IACvD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4C;IACnE,OAAO,CAAC,IAAI,CAAsB;IAClC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAsB;IAC1D,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAE7B;IACd,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAGrB;IACF,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,6BAA6B,CAAkB;IAChE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA+B;IAC5D,OAAO,CAAC,mBAAmB,CAAK;IAChC,OAAO,CAAC,yBAAyB,CAAK;IACtC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA4C;IACjF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAyB;IAEvD;;;;;;;;OAQG;gBACgB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB;IAsG3D;;OAEG;IACU,UAAU,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAKpD;;;;;;;;;;;;;;;;;;OAkBG;IACU,KAAK,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBxD;;OAEG;IACI,IAAI,IAAI,IAAI;IAkBnB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACU,KAAK,CAChB,IAAI,GAAE,cAA0B,EAChC,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,gBAAgB,CAAC;IAWf,YAAY,CACvB,IAAI,GAAE,cAA0B,EAChC,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,gBAAgB,CAAC;IAO5B;;;;;;;;;;;;;;OAcG;IACI,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO;IAcjE;;;;;;;;;;OAUG;IACI,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKlC;;;;;;;;OAQG;IACI,GAAG,IAAI,QAAQ;IAkBtB;;OAEG;IACI,KAAK,IAAI,IAAI;IAKpB;;;;OAIG;IACI,OAAO,IAAI,cAAc;IAYhC;;;;OAIG;IACI,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IAa1C;;;;;;OAMG;IACI,eAAe,IAAI,sBAAsB;IAIhD;;;;;;;;OAQG;IACI,eAAe,CAAC,YAAY,EAAE,sBAAsB,GAAG,MAAM;IAKpE;;;OAGG;IACU,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ1D,eAAe,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAI3C,qBAAqB,IAAI,IAAI;IAIpC,OAAO,CAAC,6BAA6B;IAWrC,OAAO,CAAC,4BAA4B;IAUpC,OAAO,CAAC,QAAQ;IAchB,OAAO,CAAC,gBAAgB;IAiBxB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,+BAA+B;IAqDvC;;;;;;;;;OASG;IACH,OAAO,CAAC,4BAA4B;IAoDpC;;;;;;;;;OASG;IACH,OAAO,CAAC,+BAA+B;YAoDzB,aAAa;YAiCb,gBAAgB;YAYhB,OAAO;YAoBP,OAAO;YAYP,SAAS;YAQT,aAAa;IA6B3B,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,cAAc;YAKR,UAAU;YAKV,gBAAgB;IAW9B,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,gBAAgB;IAwBxB,OAAO,CAAC,MAAM,CAAC,WAAW;IAS1B,OAAO,CAAC,gBAAgB;CAMzB"}
1
+ {"version":3,"file":"experimentClient.d.ts","sourceRoot":"","sources":["../../../src/experiment/experimentClient.ts"],"names":[],"mappings":"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"}
@@ -12,4 +12,5 @@ export { LogLevel } from "./types/logger";
12
12
  export type { Logger } from "./types/logger";
13
13
  export { ConsoleLogger } from "./logger/consoleLogger";
14
14
  export { LocalStorage, MemoryStorage } from "./storage/local-storage";
15
+ export * from "./typed-variants";
15
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/experiment/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,YAAY,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/experiment/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,YAAY,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACtE,cAAc,kBAAkB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { Client, FetchOptions } from "./types/client";
1
+ import { Client, ExperimentFetchResult, ExperimentVariantResult, FetchOptions } from "./types/client";
2
2
  import { ExperimentUser, ExperimentUserProvider } from "./types/user";
3
3
  import { Variant, Variants } from "./types/variant";
4
4
  /**
@@ -11,11 +11,16 @@ export declare class StubExperimentClient implements Client {
11
11
  setUser(_user: ExperimentUser): void;
12
12
  fetch(_user?: ExperimentUser, _options?: FetchOptions): Promise<StubExperimentClient>;
13
13
  fetchOrThrow(_user?: ExperimentUser, _options?: FetchOptions): Promise<StubExperimentClient>;
14
+ fetchWithMetadata(_user?: ExperimentUser, _options?: FetchOptions): Promise<ExperimentFetchResult>;
14
15
  getUserProvider(): ExperimentUserProvider;
15
16
  setUserProvider(_userProvider: ExperimentUserProvider): StubExperimentClient;
16
17
  variant(_key: string, _fallback?: string | Variant): Variant;
18
+ variantWithMetadata(_key: string, _fallback?: string | Variant): ExperimentVariantResult;
17
19
  all(): Variants;
18
20
  clear(): void;
21
+ clearVariants(): void;
22
+ hasCachedVariant(_key: string): boolean;
23
+ getLastFetchTime(): number | undefined;
19
24
  exposure(_key: string): void;
20
25
  }
21
26
  //# sourceMappingURL=stubClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stubClient.d.ts","sourceRoot":"","sources":["../../../src/experiment/stubClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEpD;;GAEG;AACH,qBAAa,oBAAqB,YAAW,MAAM;IAC1C,OAAO,IAAI,cAAc;IAInB,KAAK,CAAC,KAAK,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlD,IAAI,IAAI,IAAI;IAEZ,OAAO,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAE9B,KAAK,CAChB,KAAK,CAAC,EAAE,cAAc,EACtB,QAAQ,CAAC,EAAE,YAAY,GACtB,OAAO,CAAC,oBAAoB,CAAC;IAInB,YAAY,CACvB,KAAK,CAAC,EAAE,cAAc,EACtB,QAAQ,CAAC,EAAE,YAAY,GACtB,OAAO,CAAC,oBAAoB,CAAC;IAIzB,eAAe,IAAI,sBAAsB;IAQzC,eAAe,CACpB,aAAa,EAAE,sBAAsB,GACpC,oBAAoB;IAIhB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO;IAI5D,GAAG,IAAI,QAAQ;IAIf,KAAK,IAAI,IAAI;IAEb,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CACpC"}
1
+ {"version":3,"file":"stubClient.d.ts","sourceRoot":"","sources":["../../../src/experiment/stubClient.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,qBAAqB,EACrB,uBAAuB,EACvB,YAAY,EACb,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEpD;;GAEG;AACH,qBAAa,oBAAqB,YAAW,MAAM;IAC1C,OAAO,IAAI,cAAc;IAInB,KAAK,CAAC,KAAK,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlD,IAAI,IAAI,IAAI;IAEZ,OAAO,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAE9B,KAAK,CAChB,KAAK,CAAC,EAAE,cAAc,EACtB,QAAQ,CAAC,EAAE,YAAY,GACtB,OAAO,CAAC,oBAAoB,CAAC;IAInB,YAAY,CACvB,KAAK,CAAC,EAAE,cAAc,EACtB,QAAQ,CAAC,EAAE,YAAY,GACtB,OAAO,CAAC,oBAAoB,CAAC;IAInB,iBAAiB,CAC5B,KAAK,CAAC,EAAE,cAAc,EACtB,QAAQ,CAAC,EAAE,YAAY,GACtB,OAAO,CAAC,qBAAqB,CAAC;IAW1B,eAAe,IAAI,sBAAsB;IAQzC,eAAe,CACpB,aAAa,EAAE,sBAAsB,GACpC,oBAAoB;IAIhB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO;IAI5D,mBAAmB,CACxB,IAAI,EAAE,MAAM,EACZ,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,GAC3B,uBAAuB;IASnB,GAAG,IAAI,QAAQ;IAIf,KAAK,IAAI,IAAI;IAEb,aAAa,IAAI,IAAI;IAErB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIvC,gBAAgB,IAAI,MAAM,GAAG,SAAS;IAItC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CACpC"}
@@ -0,0 +1,9 @@
1
+ import type { Client } from "./types/client";
2
+ import type { Variant } from "./types/variant";
3
+ export declare function variantString(client: Pick<Client, "variant">, key: string, fallback: string): string;
4
+ export declare function variantBoolean(client: Pick<Client, "variant">, key: string, fallback: boolean): boolean;
5
+ export declare function variantNumber(client: Pick<Client, "variant">, key: string, fallback: number): number;
6
+ export declare function variantPayload<T>(client: Pick<Client, "variant">, key: string, fallback: T): T;
7
+ export declare function variantJson<T>(client: Pick<Client, "variant">, key: string, fallback: T): T;
8
+ export declare function parseVariantJson<T>(variant: Variant, fallback: T): T;
9
+ //# sourceMappingURL=typed-variants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typed-variants.d.ts","sourceRoot":"","sources":["../../../src/experiment/typed-variants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE/C,wBAAgB,aAAa,CAC3B,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,EAC/B,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,GACf,MAAM,CAGR;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,EAC/B,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,OAAO,GAChB,OAAO,CAST;AAED,wBAAgB,aAAa,CAC3B,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,EAC/B,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,GACf,MAAM,CAOR;AAED,wBAAgB,cAAc,CAAC,CAAC,EAC9B,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,EAC/B,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,CAAC,GACV,CAAC,CAGH;AAED,wBAAgB,WAAW,CAAC,CAAC,EAC3B,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,EAC/B,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,CAAC,GACV,CAAC,CAGH;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CASpE"}
@@ -1,5 +1,6 @@
1
1
  import { ExperimentUser, ExperimentUserProvider } from "./user";
2
2
  import { Variant, Variants } from "./variant";
3
+ import { VariantSource } from "./source";
3
4
  /**
4
5
  * Interface for the main client.
5
6
  * @category Core Usage
@@ -8,10 +9,15 @@ export interface Client {
8
9
  start(user?: ExperimentUser): Promise<void>;
9
10
  stop(): void;
10
11
  fetch(user?: ExperimentUser, options?: FetchOptions): Promise<Client>;
12
+ fetchWithMetadata(user?: ExperimentUser, options?: FetchOptions): Promise<ExperimentFetchResult>;
11
13
  fetchOrThrow(user?: ExperimentUser, options?: FetchOptions): Promise<Client>;
12
14
  variant(key: string, fallback?: string | Variant): Variant;
15
+ variantWithMetadata(key: string, fallback?: string | Variant): ExperimentVariantResult;
13
16
  all(): Variants;
14
17
  clear(): void;
18
+ clearVariants(): void;
19
+ hasCachedVariant(key: string): boolean;
20
+ getLastFetchTime(): number | undefined;
15
21
  exposure(key: string): void;
16
22
  getUser(): ExperimentUser;
17
23
  setUser(user: ExperimentUser): void;
@@ -33,4 +39,19 @@ export type FetchOptions = {
33
39
  */
34
40
  flagKeys?: string[];
35
41
  };
42
+ export type ExperimentFetchResult = {
43
+ fetched: boolean;
44
+ flagKeys: string[];
45
+ cacheHit: boolean;
46
+ durationMillis: number;
47
+ source: "network" | "cache";
48
+ failureReason?: string;
49
+ };
50
+ export type ExperimentVariantResult = {
51
+ variant: Variant;
52
+ source?: VariantSource;
53
+ fallback: boolean;
54
+ stale: boolean;
55
+ reason?: "missing_flag" | "fetch_failure" | "no_assignment" | "fallback";
56
+ };
36
57
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/experiment/types/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,QAAQ,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE9C;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB,KAAK,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,IAAI,IAAI,CAAC;IACb,KAAK,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACtE,YAAY,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7E,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;IAC3D,GAAG,IAAI,QAAQ,CAAC;IAChB,KAAK,IAAI,IAAI,CAAC;IACd,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,OAAO,IAAI,cAAc,CAAC;IAC1B,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAAC;IAEpC;;OAEG;IACH,eAAe,IAAI,sBAAsB,CAAC;IAC1C;;OAEG;IACH,eAAe,CAAC,YAAY,EAAE,sBAAsB,GAAG,MAAM,CAAC;CAC/D;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/experiment/types/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,QAAQ,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB,KAAK,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,IAAI,IAAI,CAAC;IACb,KAAK,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACtE,iBAAiB,CACf,IAAI,CAAC,EAAE,cAAc,EACrB,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAClC,YAAY,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7E,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;IAC3D,mBAAmB,CACjB,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,GAC1B,uBAAuB,CAAC;IAC3B,GAAG,IAAI,QAAQ,CAAC;IAChB,KAAK,IAAI,IAAI,CAAC;IACd,aAAa,IAAI,IAAI,CAAC;IACtB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvC,gBAAgB,IAAI,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,OAAO,IAAI,cAAc,CAAC;IAC1B,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAAC;IAEpC;;OAEG;IACH,eAAe,IAAI,sBAAsB,CAAC;IAC1C;;OAEG;IACH,eAAe,CAAC,YAAY,EAAE,sBAAsB,GAAG,MAAM,CAAC;CAC/D;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,cAAc,GAAG,eAAe,GAAG,eAAe,GAAG,UAAU,CAAC;CAC1E,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/experiment/types/config.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE/B;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;;OAIG;IACH,eAAe,CAAC,EAAE,QAAQ,CAAC;IAE3B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;OAIG;IACH,UAAU,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAEzB;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;;OAIG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;IAEpC;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;;;;;;;;;;OAYG;IACH,uCAAuC,CAAC,EAAE,OAAO,CAAC;IAElD;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAE7C;;;OAGG;IACH,wBAAwB,CAAC,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAE3D;;OAEG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,QAAQ,EAAE,gBAsBtB,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/experiment/types/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAwB9C;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE/B;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;;OAIG;IACH,eAAe,CAAC,EAAE,QAAQ,CAAC;IAE3B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;OAIG;IACH,UAAU,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAEzB;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;;OAIG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;IAEpC;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;;;;;;;;;;OAYG;IACH,uCAAuC,CAAC,EAAE,OAAO,CAAC;IAElD;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAE7C;;;OAGG;IACH,wBAAwB,CAAC,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAE3D;;OAEG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,QAAQ,EAAE,gBA0BtB,CAAC"}
@@ -1,15 +1,23 @@
1
1
  import { createInstance } from "./analytics/react-native-client";
2
+ import type { AmplitudeDiagnostics } from "./diagnostics";
2
3
  import { prefetchNativeContext } from "./native/context";
3
4
  import * as AnalyticsTypes from "./analytics/types";
4
5
  export { createInstance };
5
- export declare const add: (plugin: AnalyticsTypes.Plugin<AnalyticsTypes.ReactNativeClient, AnalyticsTypes.ReactNativeConfig>) => AnalyticsTypes.AmplitudeReturn<void>, flush: () => AnalyticsTypes.AmplitudeReturn<void>, getDeviceId: () => string | undefined, getSessionId: () => number | undefined, getUserId: () => string | undefined, groupIdentify: (groupType: string, groupName: string | string[], identify: AnalyticsTypes.IIdentify, eventOptions?: AnalyticsTypes.EventOptions) => AnalyticsTypes.AmplitudeReturn<AnalyticsTypes.Result>, identify: (identify: AnalyticsTypes.IIdentify, eventOptions?: AnalyticsTypes.EventOptions) => AnalyticsTypes.AmplitudeReturn<AnalyticsTypes.Result>, init: (apiKey: string, userId?: string, options?: AnalyticsTypes.ReactNativeOptions) => AnalyticsTypes.AmplitudeReturn<void>, logEvent: (eventInput: AnalyticsTypes.BaseEvent | string, eventProperties?: Record<string, any>, eventOptions?: AnalyticsTypes.EventOptions) => AnalyticsTypes.AmplitudeReturn<AnalyticsTypes.Result>, remove: (pluginName: string) => AnalyticsTypes.AmplitudeReturn<void>, reset: () => void, revenue: (revenue: AnalyticsTypes.IRevenue, eventOptions?: AnalyticsTypes.EventOptions) => AnalyticsTypes.AmplitudeReturn<AnalyticsTypes.Result>, setDeviceId: (deviceId: string) => void, setGroup: (groupType: string, groupName: string | string[], eventOptions?: AnalyticsTypes.EventOptions) => AnalyticsTypes.AmplitudeReturn<AnalyticsTypes.Result>, setOptOut: (optOut: boolean) => void, setSessionId: (sessionId: number) => void, setUserId: (userId: string | undefined) => void, shutdown: () => void, track: (eventInput: AnalyticsTypes.BaseEvent | string, eventProperties?: Record<string, any>, eventOptions?: AnalyticsTypes.EventOptions) => AnalyticsTypes.AmplitudeReturn<AnalyticsTypes.Result>, extendSession: () => void;
6
+ export declare const add: (plugin: AnalyticsTypes.Plugin<AnalyticsTypes.ReactNativeClient, AnalyticsTypes.ReactNativeConfig>) => AnalyticsTypes.AmplitudeReturn<void>, flush: () => AnalyticsTypes.AmplitudeReturn<void>, getDeviceId: () => string | undefined, getSessionId: () => number | undefined, getUserId: () => string | undefined, groupIdentify: (groupType: string, groupName: string | string[], identify: AnalyticsTypes.IIdentify, eventOptions?: AnalyticsTypes.EventOptions) => AnalyticsTypes.AmplitudeReturn<AnalyticsTypes.Result>, identify: (identify: AnalyticsTypes.IIdentify, eventOptions?: AnalyticsTypes.EventOptions) => AnalyticsTypes.AmplitudeReturn<AnalyticsTypes.Result>, init: (apiKey: string, userId?: string, options?: AnalyticsTypes.ReactNativeOptions) => AnalyticsTypes.AmplitudeReturn<void>, logEvent: (eventInput: AnalyticsTypes.BaseEvent | string, eventProperties?: Record<string, any>, eventOptions?: AnalyticsTypes.EventOptions) => AnalyticsTypes.AmplitudeReturn<AnalyticsTypes.Result>, remove: (pluginName: string) => AnalyticsTypes.AmplitudeReturn<void>, reset: () => void, revenue: (revenue: AnalyticsTypes.IRevenue, eventOptions?: AnalyticsTypes.EventOptions) => AnalyticsTypes.AmplitudeReturn<AnalyticsTypes.Result>, setDeviceId: (deviceId: string) => void, setGroup: (groupType: string, groupName: string | string[], eventOptions?: AnalyticsTypes.EventOptions) => AnalyticsTypes.AmplitudeReturn<AnalyticsTypes.Result>, setOptOut: (optOut: boolean) => void, setSessionId: (sessionId: number) => void, setUserId: (userId: string | undefined) => void, shutdown: () => void, track: (eventInput: AnalyticsTypes.BaseEvent | string, eventProperties?: Record<string, any>, eventOptions?: AnalyticsTypes.EventOptions) => AnalyticsTypes.AmplitudeReturn<AnalyticsTypes.Result>, extendSession: () => void, flushWithResult: () => Promise<import("./analytics/react-native-client").AmplitudeFlushResult>, healthCheck: () => Promise<import("./analytics/react-native-client").AmplitudeHealthCheckResult>;
7
+ export declare function getDiagnostics(): AmplitudeDiagnostics;
6
8
  export { Revenue, Identify } from "@amplitude/analytics-core";
7
9
  export { InMemoryStorage, LocalStorage, MemoryStorage, } from "./analytics/storage/local-storage";
8
- export { NitroAnalyticsStorage, NitroMemoryStorage } from "./native/storage";
10
+ export { NitroAnalyticsStorage, NitroExperimentStorage, NitroMemoryStorage, } from "./native/storage";
9
11
  export { nitroHttpClient } from "./native/http";
10
12
  export { nitroTransport } from "./analytics/nitro-transport";
11
13
  export { prefetchNativeContext };
12
14
  export { AnalyticsTypes as Types };
15
+ export { getAmplitudeDiagnostics, getLastNativeError, getNativeStartupDiagnostics, } from "./diagnostics";
16
+ export type { AmplitudeDiagnostics, NativeStartupDiagnostics, } from "./diagnostics";
17
+ export * from "./errors";
18
+ export * from "./network";
19
+ export * from "./presets";
20
+ export * from "./testing";
13
21
  export * from "./experiment/types/config";
14
22
  export { Experiment } from "./experiment/factory";
15
23
  export { StubExperimentClient } from "./experiment/stubClient";
@@ -24,8 +32,9 @@ export { LogLevel } from "./experiment/types/logger";
24
32
  export type { Logger } from "./experiment/types/logger";
25
33
  export { ConsoleLogger } from "./experiment/logger/consoleLogger";
26
34
  export { LocalStorage as ExperimentLocalStorage, MemoryStorage as ExperimentMemoryStorage, } from "./experiment/storage/local-storage";
35
+ export * from "./experiment/typed-variants";
27
36
  export type { AmplitudeContext } from "./AmplitudeContext.nitro";
28
37
  export type { AmplitudeStorage } from "./AmplitudeStorage.nitro";
29
38
  export type { AmplitudeWorker } from "./AmplitudeWorker.nitro";
30
- export declare const VERSION = "0.2.0";
39
+ export declare const VERSION = "0.5.0";
31
40
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAwB,EACtB,cAAc,EACf,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,KAAK,cAAc,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,eAAO,MACL,GAAG,+IACH,KAAK,8CACL,WAAW,4BACX,YAAY,4BACZ,SAAS,4BACT,aAAa,8LACb,QAAQ,6IACR,IAAI,0HACJ,QAAQ,+LACR,MAAM,gEACN,KAAK,cACL,OAAO,2IACP,WAAW,8BACX,QAAQ,0JACR,SAAS,6BACT,YAAY,+BACZ,SAAS,wCACT,QAAQ,cACR,KAAK,+LACL,aAAa,YACI,CAAC;AAEpB,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EACL,eAAe,EACf,YAAY,EACZ,aAAa,GACd,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,CAAC;AACjC,OAAO,EAAE,cAAc,IAAI,KAAK,EAAE,CAAC;AAEnC,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,YAAY,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EACL,YAAY,IAAI,sBAAsB,EACtC,aAAa,IAAI,uBAAuB,GACzC,MAAM,oCAAoC,CAAC;AAE5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,YAAY,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,eAAO,MAAM,OAAO,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAwB,EACtB,cAAc,EACf,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAE1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,KAAK,cAAc,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,eAAO,MACL,GAAG,+IACH,KAAK,8CACL,WAAW,4BACX,YAAY,4BACZ,SAAS,4BACT,aAAa,8LACb,QAAQ,6IACR,IAAI,0HACJ,QAAQ,+LACR,MAAM,gEACN,KAAK,cACL,OAAO,2IACP,WAAW,8BACX,QAAQ,0JACR,SAAS,6BACT,YAAY,+BACZ,SAAS,wCACT,QAAQ,cACR,KAAK,+LACL,aAAa,cACb,eAAe,iFACf,WAAW,qFACM,CAAC;AAEpB,wBAAgB,cAAc,IAAI,oBAAoB,CAErD;AAED,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EACL,eAAe,EACf,YAAY,EACZ,aAAa,GACd,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,CAAC;AACjC,OAAO,EAAE,cAAc,IAAI,KAAK,EAAE,CAAC;AACnC,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,2BAA2B,GAC5B,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,eAAe,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAE1B,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,YAAY,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EACL,YAAY,IAAI,sBAAsB,EACtC,aAAa,IAAI,uBAAuB,GACzC,MAAM,oCAAoC,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAE5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,YAAY,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,eAAO,MAAM,OAAO,UAAU,CAAC"}
@@ -1,15 +1,24 @@
1
1
  import { createInstance } from "./analytics/react-native-client";
2
- import { prefetchNativeContext } from "./native/context";
2
+ import type { Transport } from "@amplitude/analytics-core";
3
+ import type { AmplitudeDiagnostics } from "./diagnostics";
4
+ import { prefetchNativeContext } from "./native/context.web";
3
5
  import * as AnalyticsTypes from "./analytics/types";
4
6
  export { createInstance };
5
- export declare const add: (plugin: AnalyticsTypes.Plugin<AnalyticsTypes.ReactNativeClient, AnalyticsTypes.ReactNativeConfig>) => AnalyticsTypes.AmplitudeReturn<void>, flush: () => AnalyticsTypes.AmplitudeReturn<void>, getDeviceId: () => string | undefined, getSessionId: () => number | undefined, getUserId: () => string | undefined, groupIdentify: (groupType: string, groupName: string | string[], identify: AnalyticsTypes.IIdentify, eventOptions?: AnalyticsTypes.EventOptions) => AnalyticsTypes.AmplitudeReturn<AnalyticsTypes.Result>, identify: (identify: AnalyticsTypes.IIdentify, eventOptions?: AnalyticsTypes.EventOptions) => AnalyticsTypes.AmplitudeReturn<AnalyticsTypes.Result>, init: (apiKey: string, userId?: string, options?: AnalyticsTypes.ReactNativeOptions) => AnalyticsTypes.AmplitudeReturn<void>, logEvent: (eventInput: AnalyticsTypes.BaseEvent | string, eventProperties?: Record<string, any>, eventOptions?: AnalyticsTypes.EventOptions) => AnalyticsTypes.AmplitudeReturn<AnalyticsTypes.Result>, remove: (pluginName: string) => AnalyticsTypes.AmplitudeReturn<void>, reset: () => void, revenue: (revenue: AnalyticsTypes.IRevenue, eventOptions?: AnalyticsTypes.EventOptions) => AnalyticsTypes.AmplitudeReturn<AnalyticsTypes.Result>, setDeviceId: (deviceId: string) => void, setGroup: (groupType: string, groupName: string | string[], eventOptions?: AnalyticsTypes.EventOptions) => AnalyticsTypes.AmplitudeReturn<AnalyticsTypes.Result>, setOptOut: (optOut: boolean) => void, setSessionId: (sessionId: number) => void, setUserId: (userId: string | undefined) => void, shutdown: () => void, track: (eventInput: AnalyticsTypes.BaseEvent | string, eventProperties?: Record<string, any>, eventOptions?: AnalyticsTypes.EventOptions) => AnalyticsTypes.AmplitudeReturn<AnalyticsTypes.Result>, extendSession: () => void;
7
+ export declare const add: (plugin: AnalyticsTypes.Plugin<AnalyticsTypes.ReactNativeClient, AnalyticsTypes.ReactNativeConfig>) => AnalyticsTypes.AmplitudeReturn<void>, flush: () => AnalyticsTypes.AmplitudeReturn<void>, getDeviceId: () => string | undefined, getSessionId: () => number | undefined, getUserId: () => string | undefined, groupIdentify: (groupType: string, groupName: string | string[], identify: AnalyticsTypes.IIdentify, eventOptions?: AnalyticsTypes.EventOptions) => AnalyticsTypes.AmplitudeReturn<AnalyticsTypes.Result>, identify: (identify: AnalyticsTypes.IIdentify, eventOptions?: AnalyticsTypes.EventOptions) => AnalyticsTypes.AmplitudeReturn<AnalyticsTypes.Result>, init: (apiKey: string, userId?: string, options?: AnalyticsTypes.ReactNativeOptions) => AnalyticsTypes.AmplitudeReturn<void>, logEvent: (eventInput: AnalyticsTypes.BaseEvent | string, eventProperties?: Record<string, any>, eventOptions?: AnalyticsTypes.EventOptions) => AnalyticsTypes.AmplitudeReturn<AnalyticsTypes.Result>, remove: (pluginName: string) => AnalyticsTypes.AmplitudeReturn<void>, reset: () => void, revenue: (revenue: AnalyticsTypes.IRevenue, eventOptions?: AnalyticsTypes.EventOptions) => AnalyticsTypes.AmplitudeReturn<AnalyticsTypes.Result>, setDeviceId: (deviceId: string) => void, setGroup: (groupType: string, groupName: string | string[], eventOptions?: AnalyticsTypes.EventOptions) => AnalyticsTypes.AmplitudeReturn<AnalyticsTypes.Result>, setOptOut: (optOut: boolean) => void, setSessionId: (sessionId: number) => void, setUserId: (userId: string | undefined) => void, shutdown: () => void, track: (eventInput: AnalyticsTypes.BaseEvent | string, eventProperties?: Record<string, any>, eventOptions?: AnalyticsTypes.EventOptions) => AnalyticsTypes.AmplitudeReturn<AnalyticsTypes.Result>, extendSession: () => void, flushWithResult: () => Promise<import("./analytics/react-native-client").AmplitudeFlushResult>, healthCheck: () => Promise<import("./analytics/react-native-client").AmplitudeHealthCheckResult>;
8
+ export declare function getDiagnostics(): AmplitudeDiagnostics;
6
9
  export { Revenue, Identify } from "@amplitude/analytics-core";
7
10
  export { InMemoryStorage, LocalStorage, MemoryStorage, } from "./analytics/storage/local-storage";
8
- export { NitroAnalyticsStorage, NitroMemoryStorage } from "./native/storage";
9
- export { nitroHttpClient } from "./native/http";
10
- export { nitroTransport } from "./analytics/nitro-transport";
11
+ export { NitroAnalyticsStorage, NitroExperimentStorage, NitroMemoryStorage, } from "./native/storage.web";
12
+ export { nitroHttpClient } from "./native/http.web";
13
+ export declare const nitroTransport: Transport;
11
14
  export { prefetchNativeContext };
12
15
  export { AnalyticsTypes as Types };
16
+ export { getAmplitudeDiagnostics, getLastNativeError, getNativeStartupDiagnostics, } from "./diagnostics";
17
+ export type { AmplitudeDiagnostics, NativeStartupDiagnostics, } from "./diagnostics";
18
+ export * from "./errors";
19
+ export * from "./network";
20
+ export * from "./presets";
21
+ export * from "./testing";
13
22
  export * from "./experiment/types/config";
14
23
  export { Experiment } from "./experiment/factory";
15
24
  export { StubExperimentClient } from "./experiment/stubClient";
@@ -24,8 +33,9 @@ export { LogLevel } from "./experiment/types/logger";
24
33
  export type { Logger } from "./experiment/types/logger";
25
34
  export { ConsoleLogger } from "./experiment/logger/consoleLogger";
26
35
  export { LocalStorage as ExperimentLocalStorage, MemoryStorage as ExperimentMemoryStorage, } from "./experiment/storage/local-storage";
36
+ export * from "./experiment/typed-variants";
27
37
  export type { AmplitudeContext } from "./AmplitudeContext.nitro";
28
38
  export type { AmplitudeStorage } from "./AmplitudeStorage.nitro";
29
39
  export type { AmplitudeWorker } from "./AmplitudeWorker.nitro";
30
- export declare const VERSION = "0.2.0";
40
+ export declare const VERSION = "0.5.0";
31
41
  //# sourceMappingURL=index.web.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.web.d.ts","sourceRoot":"","sources":["../../src/index.web.ts"],"names":[],"mappings":"AAAA,OAAwB,EACtB,cAAc,EACf,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,KAAK,cAAc,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,eAAO,MACL,GAAG,+IACH,KAAK,8CACL,WAAW,4BACX,YAAY,4BACZ,SAAS,4BACT,aAAa,8LACb,QAAQ,6IACR,IAAI,0HACJ,QAAQ,+LACR,MAAM,gEACN,KAAK,cACL,OAAO,2IACP,WAAW,8BACX,QAAQ,0JACR,SAAS,6BACT,YAAY,+BACZ,SAAS,wCACT,QAAQ,cACR,KAAK,+LACL,aAAa,YACI,CAAC;AAEpB,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EACL,eAAe,EACf,YAAY,EACZ,aAAa,GACd,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,CAAC;AACjC,OAAO,EAAE,cAAc,IAAI,KAAK,EAAE,CAAC;AAEnC,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,YAAY,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EACL,YAAY,IAAI,sBAAsB,EACtC,aAAa,IAAI,uBAAuB,GACzC,MAAM,oCAAoC,CAAC;AAE5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,YAAY,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,eAAO,MAAM,OAAO,UAAU,CAAC"}
1
+ {"version":3,"file":"index.web.d.ts","sourceRoot":"","sources":["../../src/index.web.ts"],"names":[],"mappings":"AAAA,OAAwB,EACtB,cAAc,EACf,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAE3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAE1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,KAAK,cAAc,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,eAAO,MACL,GAAG,+IACH,KAAK,8CACL,WAAW,4BACX,YAAY,4BACZ,SAAS,4BACT,aAAa,8LACb,QAAQ,6IACR,IAAI,0HACJ,QAAQ,+LACR,MAAM,gEACN,KAAK,cACL,OAAO,2IACP,WAAW,8BACX,QAAQ,0JACR,SAAS,6BACT,YAAY,+BACZ,SAAS,wCACT,QAAQ,cACR,KAAK,+LACL,aAAa,cACb,eAAe,iFACf,WAAW,qFACM,CAAC;AAEpB,wBAAgB,cAAc,IAAI,oBAAoB,CAErD;AAED,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EACL,eAAe,EACf,YAAY,EACZ,aAAa,GACd,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,eAAO,MAAM,cAAc,EAAE,SAA8C,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,CAAC;AACjC,OAAO,EAAE,cAAc,IAAI,KAAK,EAAE,CAAC;AACnC,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,2BAA2B,GAC5B,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,eAAe,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAE1B,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,YAAY,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EACL,YAAY,IAAI,sBAAsB,EACtC,aAAa,IAAI,uBAAuB,GACzC,MAAM,oCAAoC,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAE5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,YAAY,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,eAAO,MAAM,OAAO,UAAU,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/native/http.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAuChF,qBAAa,eAAgB,YAAW,UAAU;IAC1C,OAAO,CACX,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,aAAa,SAAQ,GACpB,OAAO,CAAC,cAAc,CAAC;CA4B3B;AAED,eAAO,MAAM,eAAe,iBAAwB,CAAC"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/native/http.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAwDhF,qBAAa,eAAgB,YAAW,UAAU;IAC1C,OAAO,CACX,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,aAAa,SAAyB,GACrC,OAAO,CAAC,cAAc,CAAC;CAyC3B;AAED,eAAO,MAAM,eAAe,iBAAwB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"http.web.d.ts","sourceRoot":"","sources":["../../../src/native/http.web.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAEhF,qBAAa,eAAgB,YAAW,UAAU;IAChD,OAAO,CACL,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,aAAa,SAAQ,GACpB,OAAO,CAAC,cAAc,CAAC;CAS3B;AAED,eAAO,MAAM,eAAe,iBAAwB,CAAC"}
1
+ {"version":3,"file":"http.web.d.ts","sourceRoot":"","sources":["../../../src/native/http.web.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAGhF,qBAAa,eAAgB,YAAW,UAAU;IAChD,OAAO,CACL,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,aAAa,SAAQ,GACpB,OAAO,CAAC,cAAc,CAAC;CAU3B;AAED,eAAO,MAAM,eAAe,iBAAwB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { AmplitudeContext } from "../AmplitudeContext.nitro";
2
+ import type { AmplitudeStorage } from "../AmplitudeStorage.nitro";
3
+ import type { AmplitudeWorker } from "../AmplitudeWorker.nitro";
4
+ export declare function getAmplitudeContext(): AmplitudeContext;
5
+ export declare function getAmplitudeStorage(): AmplitudeStorage;
6
+ export declare function getAmplitudeWorker(): AmplitudeWorker;
7
+ export declare function resetHybridInstancesForTests(): void;
8
+ //# sourceMappingURL=hybrid.web.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hybrid.web.d.ts","sourceRoot":"","sources":["../../../src/native/hybrid.web.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAMhE,wBAAgB,mBAAmB,IAAI,gBAAgB,CAEtD;AAED,wBAAgB,mBAAmB,IAAI,gBAAgB,CAEtD;AAED,wBAAgB,kBAAkB,IAAI,eAAe,CAEpD;AAED,wBAAgB,4BAA4B,IAAI,IAAI,CAAG"}
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/native/storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,KAAK,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAOhF,qBAAa,qBAAqB,CAAC,CAAC,CAAE,YAAW,gBAAgB,CAAC,CAAC,CAAC;IACtD,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,MAAM;IAExC,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAI7B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAYxC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAIhD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAQzC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAO7B;AAED,qBAAa,sBAAuB,YAAW,iBAAiB;IAClD,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,MAAM;IAExC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAQxC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAO7B;AAED,qBAAa,kBAAmB,YAAW,iBAAiB;IAC9C,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,MAAM;IAExC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAQxC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAO7B"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/native/storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,KAAK,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAOhF,qBAAa,qBAAqB,CAAC,CAAC,CAAE,YAAW,gBAAgB,CAAC,CAAC,CAAC;IACtD,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,MAAM;IAExC,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAI7B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAYxC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAKhD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAKzC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKlC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAQ7B;AAED,qBAAa,sBAAuB,YAAW,iBAAiB;IAClD,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,MAAM;IAExC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAMxC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKlC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAQ7B;AAED,qBAAa,kBAAmB,YAAW,iBAAiB;IAC9C,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,MAAM;IAExC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAMxC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKlC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAQ7B"}
@@ -0,0 +1,50 @@
1
+ import { BaseTransport } from "@amplitude/analytics-core";
2
+ import type { Payload, Response, Transport } from "@amplitude/analytics-core";
3
+ import type { HttpClient, SimpleResponse } from "./experiment/types/transport";
4
+ export type DryRunRequest = {
5
+ url: string;
6
+ method: string;
7
+ headers: Record<string, string>;
8
+ data: string | null;
9
+ timeoutMillis: number;
10
+ createdAt: number;
11
+ };
12
+ export type DryRunEvent = {
13
+ serverUrl: string;
14
+ payload: Payload;
15
+ createdAt: number;
16
+ };
17
+ export type AmplitudeNetworkTiming = {
18
+ kind: "analytics" | "experiment";
19
+ url: string;
20
+ method: string;
21
+ startedAt: number;
22
+ finishedAt: number;
23
+ durationMillis: number;
24
+ status?: number | string;
25
+ error?: string;
26
+ };
27
+ export type AmplitudeNetworkTimingRecorder = (timing: AmplitudeNetworkTiming) => void;
28
+ export type AmplitudeNetworkTimingBuffer = {
29
+ record: AmplitudeNetworkTimingRecorder;
30
+ getTimings: () => AmplitudeNetworkTiming[];
31
+ clear: () => void;
32
+ };
33
+ export declare function setNetworkEnabled(enabled: boolean): void;
34
+ export declare function getNetworkEnabled(): boolean;
35
+ export declare function clearDryRunTransportRecords(): void;
36
+ export declare function getDryRunTransportRecords(): DryRunRequest[];
37
+ export declare function getDryRunAnalyticsEvents(): DryRunEvent[];
38
+ export declare function assertNetworkEnabled(): void;
39
+ export declare function createNetworkTimingBuffer(limit?: number): AmplitudeNetworkTimingBuffer;
40
+ export declare function createTimedAnalyticsTransport(transport: Transport, record: AmplitudeNetworkTimingRecorder): Transport;
41
+ export declare function createTimedHttpClient(httpClient: HttpClient, record: AmplitudeNetworkTimingRecorder): HttpClient;
42
+ export declare class DryRunHttpClient implements HttpClient {
43
+ request(requestUrl: string, method: string, headers: Record<string, string>, data: string | null, timeoutMillis?: number): Promise<SimpleResponse>;
44
+ }
45
+ export declare class DryRunTransport extends BaseTransport implements Transport {
46
+ send(serverUrl: string, payload: Payload): Promise<Response | null>;
47
+ }
48
+ export declare const dryRunHttpClient: DryRunHttpClient;
49
+ export declare const dryRunTransport: DryRunTransport;
50
+ //# sourceMappingURL=network.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../src/network.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAK/E,MAAM,MAAM,aAAa,GAAG;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,WAAW,GAAG,YAAY,CAAC;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG,CAC3C,MAAM,EAAE,sBAAsB,KAC3B,IAAI,CAAC;AAEV,MAAM,MAAM,4BAA4B,GAAG;IACzC,MAAM,EAAE,8BAA8B,CAAC;IACvC,UAAU,EAAE,MAAM,sBAAsB,EAAE,CAAC;IAC3C,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB,CAAC;AAKF,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAExD;AAED,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED,wBAAgB,2BAA2B,IAAI,IAAI,CAGlD;AAED,wBAAgB,yBAAyB,IAAI,aAAa,EAAE,CAE3D;AAED,wBAAgB,wBAAwB,IAAI,WAAW,EAAE,CAKxD;AAED,wBAAgB,oBAAoB,IAAI,IAAI,CAO3C;AAkCD,wBAAgB,yBAAyB,CACvC,KAAK,SAAK,GACT,4BAA4B,CAe9B;AAED,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,8BAA8B,GACrC,SAAS,CAuCX;AAED,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,8BAA8B,GACrC,UAAU,CA2CZ;AAED,qBAAa,gBAAiB,YAAW,UAAU;IAC3C,OAAO,CACX,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,aAAa,SAAQ,GACpB,OAAO,CAAC,cAAc,CAAC;CAc3B;AAED,qBAAa,eAAgB,SAAQ,aAAc,YAAW,SAAS;IAC/D,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;CAQ1E;AAED,eAAO,MAAM,gBAAgB,kBAAyB,CAAC;AACvD,eAAO,MAAM,eAAe,iBAAwB,CAAC"}
@@ -0,0 +1,50 @@
1
+ import type { ReactNativeOptions } from "@amplitude/analytics-core";
2
+ import type { AmplitudeReactNativeClient } from "./analytics/react-native-client";
3
+ import type { ExperimentClient } from "./experiment/experimentClient";
4
+ import type { ExperimentConfig } from "./experiment/types/config";
5
+ import type { ExperimentUser } from "./experiment/types/user";
6
+ export type DurableAmplitudeStoragePreset = {
7
+ analytics: Pick<ReactNativeOptions, "storageProvider" | "cookieStorage" | "transportProvider">;
8
+ experiment: Pick<ExperimentConfig, "storage">;
9
+ clear: () => Promise<void>;
10
+ };
11
+ export type DurableAmplitudeStoragePresetOptions = {
12
+ namespace?: string;
13
+ dryRun?: boolean;
14
+ };
15
+ export type AmplitudeCombinedClientConfig = {
16
+ analyticsApiKey: string;
17
+ experimentDeploymentKey?: string;
18
+ userId?: string;
19
+ instanceName?: string;
20
+ analytics?: ReactNativeOptions;
21
+ experiment?: ExperimentConfig;
22
+ durableStorage?: boolean | DurableAmplitudeStoragePresetOptions;
23
+ dryRun?: boolean;
24
+ };
25
+ export type AmplitudeCombinedClient = {
26
+ analytics: AmplitudeReactNativeClient;
27
+ experiment?: ExperimentClient;
28
+ init: (user?: ExperimentUser) => Promise<AmplitudeCombinedClient>;
29
+ flush: () => Promise<void>;
30
+ reset: () => void;
31
+ getUserId: () => string | undefined;
32
+ getDeviceId: () => string | undefined;
33
+ };
34
+ export type AmplitudeCombinedClientConfigWithExperiment = AmplitudeCombinedClientConfig & {
35
+ experimentDeploymentKey: string;
36
+ };
37
+ export type AmplitudeCombinedClientWithExperiment = Omit<AmplitudeCombinedClient, "experiment" | "init"> & {
38
+ experiment: ExperimentClient;
39
+ init: (user?: ExperimentUser) => Promise<AmplitudeCombinedClientWithExperiment>;
40
+ };
41
+ export declare function createDurableAmplitudeStoragePreset(options?: DurableAmplitudeStoragePresetOptions): DurableAmplitudeStoragePreset;
42
+ export declare function createPersistentAmplitudeConfig(namespaceOrOptions?: string | DurableAmplitudeStoragePresetOptions): DurableAmplitudeStoragePreset;
43
+ export declare function createExperimentUser(user: ExperimentUser): ExperimentUser;
44
+ export declare function createAmplitudeClient(config: AmplitudeCombinedClientConfigWithExperiment): AmplitudeCombinedClientWithExperiment;
45
+ export declare function createAmplitudeClient(config: AmplitudeCombinedClientConfig): AmplitudeCombinedClient;
46
+ export declare function getConnectorIdentity(instanceName?: string): {
47
+ userId?: string;
48
+ deviceId?: string;
49
+ };
50
+ //# sourceMappingURL=presets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../src/presets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,kBAAkB,EAEnB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAIlF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAmB9D,MAAM,MAAM,6BAA6B,GAAG;IAC1C,SAAS,EAAE,IAAI,CACb,kBAAkB,EAClB,iBAAiB,GAAG,eAAe,GAAG,mBAAmB,CAC1D,CAAC;IACF,UAAU,EAAE,IAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;IAC9C,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,oCAAoC,GAAG;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,eAAe,EAAE,MAAM,CAAC;IACxB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,cAAc,CAAC,EAAE,OAAO,GAAG,oCAAoC,CAAC;IAChE,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,SAAS,EAAE,0BAA0B,CAAC;IACtC,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,cAAc,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAClE,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,SAAS,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IACpC,WAAW,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,2CAA2C,GACrD,6BAA6B,GAAG;IAC9B,uBAAuB,EAAE,MAAM,CAAC;CACjC,CAAC;AAEJ,MAAM,MAAM,qCAAqC,GAAG,IAAI,CACtD,uBAAuB,EACvB,YAAY,GAAG,MAAM,CACtB,GAAG;IACF,UAAU,EAAE,gBAAgB,CAAC;IAC7B,IAAI,EAAE,CACJ,IAAI,CAAC,EAAE,cAAc,KAClB,OAAO,CAAC,qCAAqC,CAAC,CAAC;CACrD,CAAC;AAEF,wBAAgB,mCAAmC,CACjD,OAAO,GAAE,oCAAyC,GACjD,6BAA6B,CA6B/B;AAED,wBAAgB,+BAA+B,CAC7C,kBAAkB,CAAC,EAAE,MAAM,GAAG,oCAAoC,GACjE,6BAA6B,CAO/B;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,cAAc,GAAG,cAAc,CAWzE;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,2CAA2C,GAClD,qCAAqC,CAAC;AACzC,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,6BAA6B,GACpC,uBAAuB,CAAC;AA0D3B,wBAAgB,oBAAoB,CAAC,YAAY,SAAsB,GAAG;IACxE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAEA"}