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.
- package/README.md +387 -8
- package/cpp/bindings/HybridAmplitudeWorker.cpp +5 -1
- package/lib/commonjs/analytics/config.js +31 -10
- package/lib/commonjs/analytics/config.js.map +1 -1
- package/lib/commonjs/analytics/index.js +8 -2
- package/lib/commonjs/analytics/index.js.map +1 -1
- package/lib/commonjs/analytics/network-guarded-fetch-transport.js +16 -0
- package/lib/commonjs/analytics/network-guarded-fetch-transport.js.map +1 -0
- package/lib/commonjs/analytics/nitro-transport.js +2 -0
- package/lib/commonjs/analytics/nitro-transport.js.map +1 -1
- package/lib/commonjs/analytics/plugins/context.js +7 -1
- package/lib/commonjs/analytics/plugins/context.js.map +1 -1
- package/lib/commonjs/analytics/react-native-client.js +142 -1
- package/lib/commonjs/analytics/react-native-client.js.map +1 -1
- package/lib/commonjs/diagnostics.js +92 -0
- package/lib/commonjs/diagnostics.js.map +1 -0
- package/lib/commonjs/errors.js +48 -0
- package/lib/commonjs/errors.js.map +1 -0
- package/lib/commonjs/experiment/experimentClient.js +84 -2
- package/lib/commonjs/experiment/experimentClient.js.map +1 -1
- package/lib/commonjs/experiment/index.js +12 -0
- package/lib/commonjs/experiment/index.js.map +1 -1
- package/lib/commonjs/experiment/stubClient.js +25 -0
- package/lib/commonjs/experiment/stubClient.js.map +1 -1
- package/lib/commonjs/experiment/typed-variants.js +52 -0
- package/lib/commonjs/experiment/typed-variants.js.map +1 -0
- package/lib/commonjs/experiment/types/config.js +32 -4
- package/lib/commonjs/experiment/types/config.js.map +1 -1
- package/lib/commonjs/index.js +105 -3
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.web.js +110 -12
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/commonjs/native/http.js +23 -8
- package/lib/commonjs/native/http.js.map +1 -1
- package/lib/commonjs/native/http.web.js +2 -0
- package/lib/commonjs/native/http.web.js.map +1 -1
- package/lib/commonjs/native/hybrid.web.js +23 -0
- package/lib/commonjs/native/hybrid.web.js.map +1 -0
- package/lib/commonjs/native/storage.js +27 -15
- package/lib/commonjs/native/storage.js.map +1 -1
- package/lib/commonjs/network.js +154 -0
- package/lib/commonjs/network.js.map +1 -0
- package/lib/commonjs/presets.js +118 -0
- package/lib/commonjs/presets.js.map +1 -0
- package/lib/commonjs/testing.js +166 -0
- package/lib/commonjs/testing.js.map +1 -0
- package/lib/module/analytics/config.js +32 -11
- package/lib/module/analytics/config.js.map +1 -1
- package/lib/module/analytics/index.js +4 -1
- package/lib/module/analytics/index.js.map +1 -1
- package/lib/module/analytics/network-guarded-fetch-transport.js +11 -0
- package/lib/module/analytics/network-guarded-fetch-transport.js.map +1 -0
- package/lib/module/analytics/nitro-transport.js +2 -0
- package/lib/module/analytics/nitro-transport.js.map +1 -1
- package/lib/module/analytics/plugins/context.js +7 -1
- package/lib/module/analytics/plugins/context.js.map +1 -1
- package/lib/module/analytics/react-native-client.js +141 -1
- package/lib/module/analytics/react-native-client.js.map +1 -1
- package/lib/module/diagnostics.js +85 -0
- package/lib/module/diagnostics.js.map +1 -0
- package/lib/module/errors.js +41 -0
- package/lib/module/errors.js.map +1 -0
- package/lib/module/experiment/experimentClient.js +84 -2
- package/lib/module/experiment/experimentClient.js.map +1 -1
- package/lib/module/experiment/index.js +1 -0
- package/lib/module/experiment/index.js.map +1 -1
- package/lib/module/experiment/stubClient.js +25 -0
- package/lib/module/experiment/stubClient.js.map +1 -1
- package/lib/module/experiment/typed-variants.js +43 -0
- package/lib/module/experiment/typed-variants.js.map +1 -0
- package/lib/module/experiment/types/config.js +31 -4
- package/lib/module/experiment/types/config.js.map +1 -1
- package/lib/module/index.js +15 -3
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js +19 -6
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/native/http.js +23 -8
- package/lib/module/native/http.js.map +1 -1
- package/lib/module/native/http.web.js +2 -0
- package/lib/module/native/http.web.js.map +1 -1
- package/lib/module/native/hybrid.web.js +16 -0
- package/lib/module/native/hybrid.web.js.map +1 -0
- package/lib/module/native/storage.js +27 -15
- package/lib/module/native/storage.js.map +1 -1
- package/lib/module/network.js +138 -0
- package/lib/module/network.js.map +1 -0
- package/lib/module/presets.js +110 -0
- package/lib/module/presets.js.map +1 -0
- package/lib/module/testing.js +160 -0
- package/lib/module/testing.js.map +1 -0
- package/lib/typescript/analytics/config.d.ts +19 -6
- package/lib/typescript/analytics/config.d.ts.map +1 -1
- package/lib/typescript/analytics/index.d.ts +1 -1
- package/lib/typescript/analytics/index.d.ts.map +1 -1
- package/lib/typescript/analytics/network-guarded-fetch-transport.d.ts +6 -0
- package/lib/typescript/analytics/network-guarded-fetch-transport.d.ts.map +1 -0
- package/lib/typescript/analytics/nitro-transport.d.ts.map +1 -1
- package/lib/typescript/analytics/plugins/context.d.ts +2 -0
- package/lib/typescript/analytics/plugins/context.d.ts.map +1 -1
- package/lib/typescript/analytics/react-native-client.d.ts +43 -0
- package/lib/typescript/analytics/react-native-client.d.ts.map +1 -1
- package/lib/typescript/diagnostics.d.ts +21 -0
- package/lib/typescript/diagnostics.d.ts.map +1 -0
- package/lib/typescript/errors.d.ts +9 -0
- package/lib/typescript/errors.d.ts.map +1 -0
- package/lib/typescript/experiment/experimentClient.d.ts +9 -1
- package/lib/typescript/experiment/experimentClient.d.ts.map +1 -1
- package/lib/typescript/experiment/index.d.ts +1 -0
- package/lib/typescript/experiment/index.d.ts.map +1 -1
- package/lib/typescript/experiment/stubClient.d.ts +6 -1
- package/lib/typescript/experiment/stubClient.d.ts.map +1 -1
- package/lib/typescript/experiment/typed-variants.d.ts +9 -0
- package/lib/typescript/experiment/typed-variants.d.ts.map +1 -0
- package/lib/typescript/experiment/types/client.d.ts +21 -0
- package/lib/typescript/experiment/types/client.d.ts.map +1 -1
- package/lib/typescript/experiment/types/config.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +12 -3
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/index.web.d.ts +16 -6
- package/lib/typescript/index.web.d.ts.map +1 -1
- package/lib/typescript/native/http.d.ts.map +1 -1
- package/lib/typescript/native/http.web.d.ts.map +1 -1
- package/lib/typescript/native/hybrid.web.d.ts +8 -0
- package/lib/typescript/native/hybrid.web.d.ts.map +1 -0
- package/lib/typescript/native/storage.d.ts.map +1 -1
- package/lib/typescript/network.d.ts +50 -0
- package/lib/typescript/network.d.ts.map +1 -0
- package/lib/typescript/presets.d.ts +50 -0
- package/lib/typescript/presets.d.ts.map +1 -0
- package/lib/typescript/testing.d.ts +11 -0
- package/lib/typescript/testing.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/analytics/config.ts +33 -8
- package/src/analytics/index.ts +3 -0
- package/src/analytics/network-guarded-fetch-transport.ts +10 -0
- package/src/analytics/nitro-transport.ts +2 -0
- package/src/analytics/plugins/context.ts +10 -1
- package/src/analytics/react-native-client.ts +217 -0
- package/src/diagnostics.ts +119 -0
- package/src/errors.ts +60 -0
- package/src/experiment/experimentClient.ts +116 -3
- package/src/experiment/index.ts +1 -0
- package/src/experiment/stubClient.ts +42 -1
- package/src/experiment/typed-variants.ts +68 -0
- package/src/experiment/types/client.ts +29 -0
- package/src/experiment/types/config.ts +29 -5
- package/src/index.ts +28 -2
- package/src/index.web.ts +33 -5
- package/src/native/http.ts +38 -8
- package/src/native/http.web.ts +2 -0
- package/src/native/hybrid.web.ts +21 -0
- package/src/native/storage.ts +27 -25
- package/src/network.ts +258 -0
- package/src/presets.ts +208 -0
- package/src/testing.ts +177 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { FetchTransport } from "@amplitude/analytics-core";
|
|
4
|
+
import { assertNetworkEnabled } from "../network";
|
|
5
|
+
export class NetworkGuardedFetchTransport extends FetchTransport {
|
|
6
|
+
async send(serverUrl, payload) {
|
|
7
|
+
assertNetworkEnabled();
|
|
8
|
+
return await super.send(serverUrl, payload);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=network-guarded-fetch-transport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["FetchTransport","assertNetworkEnabled","NetworkGuardedFetchTransport","send","serverUrl","payload"],"sourceRoot":"../../../src","sources":["analytics/network-guarded-fetch-transport.ts"],"mappings":";;AAAA,SAASA,cAAc,QAAQ,2BAA2B;AAE1D,SAASC,oBAAoB,QAAQ,YAAY;AAEjD,OAAO,MAAMC,4BAA4B,SAASF,cAAc,CAAC;EAC/D,MAAMG,IAAIA,CAACC,SAAiB,EAAEC,OAAgB,EAA4B;IACxEJ,oBAAoB,CAAC,CAAC;IACtB,OAAO,MAAM,KAAK,CAACE,IAAI,CAACC,SAAS,EAAEC,OAAO,CAAC;EAC7C;AACF","ignoreList":[]}
|
|
@@ -2,12 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
import { BaseTransport } from "@amplitude/analytics-core";
|
|
4
4
|
import { nitroHttpClient } from "../native/http";
|
|
5
|
+
import { assertNetworkEnabled } from "../network";
|
|
5
6
|
export class NitroTransport extends BaseTransport {
|
|
6
7
|
constructor(customHeaders = {}) {
|
|
7
8
|
super();
|
|
8
9
|
this.customHeaders = customHeaders;
|
|
9
10
|
}
|
|
10
11
|
async send(serverUrl, payload) {
|
|
12
|
+
assertNetworkEnabled();
|
|
11
13
|
const response = await nitroHttpClient.request(serverUrl, "POST", {
|
|
12
14
|
"Content-Type": "application/json",
|
|
13
15
|
Accept: "*/*",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BaseTransport","nitroHttpClient","NitroTransport","constructor","customHeaders","send","serverUrl","payload","response","request","Accept","JSON","stringify","buildResponse","parse","body","code","status","nitroTransport"],"sourceRoot":"../../../src","sources":["analytics/nitro-transport.ts"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,2BAA2B;AAEzD,SAASC,eAAe,QAAQ,gBAAgB;
|
|
1
|
+
{"version":3,"names":["BaseTransport","nitroHttpClient","assertNetworkEnabled","NitroTransport","constructor","customHeaders","send","serverUrl","payload","response","request","Accept","JSON","stringify","buildResponse","parse","body","code","status","nitroTransport"],"sourceRoot":"../../../src","sources":["analytics/nitro-transport.ts"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,2BAA2B;AAEzD,SAASC,eAAe,QAAQ,gBAAgB;AAChD,SAASC,oBAAoB,QAAQ,YAAY;AAEjD,OAAO,MAAMC,cAAc,SAASH,aAAa,CAAsB;EAGrEI,WAAWA,CAACC,aAAqC,GAAG,CAAC,CAAC,EAAE;IACtD,KAAK,CAAC,CAAC;IACP,IAAI,CAACA,aAAa,GAAGA,aAAa;EACpC;EAEA,MAAMC,IAAIA,CAACC,SAAiB,EAAEC,OAAgB,EAA4B;IACxEN,oBAAoB,CAAC,CAAC;IACtB,MAAMO,QAAQ,GAAG,MAAMR,eAAe,CAACS,OAAO,CAC5CH,SAAS,EACT,MAAM,EACN;MACE,cAAc,EAAE,kBAAkB;MAClCI,MAAM,EAAE,KAAK;MACb,GAAG,IAAI,CAACN;IACV,CAAC,EACDO,IAAI,CAACC,SAAS,CAACL,OAAO,CAAC,EACvB,KACF,CAAC;IACD,IAAI;MACF,OAAO,IAAI,CAACM,aAAa,CACvBF,IAAI,CAACG,KAAK,CAACN,QAAQ,CAACO,IAAI,CAC1B,CAAC;IACH,CAAC,CAAC,MAAM;MACN,OAAO,IAAI,CAACF,aAAa,CAAC;QAAEG,IAAI,EAAER,QAAQ,CAACS;MAAO,CAAC,CAAC;IACtD;EACF;AACF;AAEA,OAAO,MAAMC,cAAc,GAAG,IAAIhB,cAAc,CAAC,CAAC","ignoreList":[]}
|
|
@@ -34,6 +34,7 @@ export class Context {
|
|
|
34
34
|
// @ts-ignore
|
|
35
35
|
|
|
36
36
|
library = `amplitude-nitro-ts/${VERSION}`;
|
|
37
|
+
nativeContextLoaded = false;
|
|
37
38
|
constructor() {
|
|
38
39
|
let agent;
|
|
39
40
|
/* istanbul ignore else */
|
|
@@ -47,8 +48,13 @@ export class Context {
|
|
|
47
48
|
return Promise.resolve(undefined);
|
|
48
49
|
}
|
|
49
50
|
getNativeContext() {
|
|
51
|
+
if (this.nativeContextLoaded) {
|
|
52
|
+
return this.nativeContext;
|
|
53
|
+
}
|
|
54
|
+
this.nativeContextLoaded = true;
|
|
50
55
|
try {
|
|
51
|
-
|
|
56
|
+
this.nativeContext = getNativeApplicationContext(this.config.trackingOptions);
|
|
57
|
+
return this.nativeContext;
|
|
52
58
|
} catch (error) {
|
|
53
59
|
this.config.loggerProvider?.error(`Failed to load native application context: ${String(error)}`);
|
|
54
60
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["UUID","getLanguage","UAParser","VERSION","Platform","getNativeApplicationContext","BROWSER_PLATFORM","IP_ADDRESS","ReactNativePlatform","getPlatformOS","OS","undefined","getNativePlatformName","platformOS","Context","name","type","library","constructor","agent","navigator","userAgent","uaResult","getResult","setup","config","Promise","resolve","getNativeContext","trackingOptions","error","loggerProvider","String","execute","context","time","Date","getTime","
|
|
1
|
+
{"version":3,"names":["UUID","getLanguage","UAParser","VERSION","Platform","getNativeApplicationContext","BROWSER_PLATFORM","IP_ADDRESS","ReactNativePlatform","getPlatformOS","OS","undefined","getNativePlatformName","platformOS","Context","name","type","library","nativeContextLoaded","constructor","agent","navigator","userAgent","uaResult","getResult","setup","config","Promise","resolve","getNativeContext","nativeContext","trackingOptions","error","loggerProvider","String","execute","context","time","Date","getTime","isWebPlatform","fallbackPlatform","appVersion","version","platform","osName","browser","osVersion","deviceVendor","deviceManufacturer","device","vendor","deviceModel","model","os","language","country","carrier","adid","appSetId","idfv","event","user_id","userId","device_id","deviceId","session_id","sessionId","app_version","os_name","os_version","device_manufacturer","device_model","ipAddress","ip","android_app_set_id","insert_id","partner_id","partnerId","plan","ingestionMetadata","ingestion_metadata","source_name","sourceName","source_version","sourceVersion"],"sourceRoot":"../../../../src","sources":["analytics/plugins/context.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { AppState } from "react-native";
|
|
4
4
|
import { AmplitudeCore, Destination, UUID, returnWrapper, debugWrapper, getClientLogConfig, getClientStates, IdentityEventSender, getAnalyticsConnector, setConnectorDeviceId, setConnectorUserId, SpecialEventType } from "@amplitude/analytics-core";
|
|
5
|
+
import { healthCheck } from "../diagnostics";
|
|
5
6
|
import { CampaignTracker } from "./campaign/campaign-tracker";
|
|
6
7
|
import { Context } from "./plugins/context";
|
|
7
8
|
import { useReactNativeConfig, createCookieStorage } from "./config";
|
|
@@ -11,6 +12,9 @@ const START_SESSION_EVENT = "session_start";
|
|
|
11
12
|
const END_SESSION_EVENT = "session_end";
|
|
12
13
|
let nextConnectorOwnerId = 0;
|
|
13
14
|
const activeConnectorOwnerIds = new Map();
|
|
15
|
+
export function getActiveAnalyticsInstanceNames() {
|
|
16
|
+
return Array.from(activeConnectorOwnerIds.keys()).sort();
|
|
17
|
+
}
|
|
14
18
|
export class AmplitudeReactNative extends AmplitudeCore {
|
|
15
19
|
appState = "background";
|
|
16
20
|
connectorOwnerId = ++nextConnectorOwnerId;
|
|
@@ -189,6 +193,84 @@ export class AmplitudeReactNative extends AmplitudeCore {
|
|
|
189
193
|
getSessionId() {
|
|
190
194
|
return this.config?.sessionId;
|
|
191
195
|
}
|
|
196
|
+
async flushWithResult() {
|
|
197
|
+
const queueSize = this.getQueueSize();
|
|
198
|
+
const collector = this.collectFlushOutcomes();
|
|
199
|
+
const startedAt = Date.now();
|
|
200
|
+
try {
|
|
201
|
+
await this.flush().promise;
|
|
202
|
+
const outcomes = collector.finish();
|
|
203
|
+
this.lastFlushTime = Date.now();
|
|
204
|
+
this.lastFlushDurationMillis = this.lastFlushTime - startedAt;
|
|
205
|
+
const remainingQueueSize = this.getQueueSize();
|
|
206
|
+
const failedOutcomes = outcomes.filter(outcome => !this.isSuccessStatusCode(outcome.code));
|
|
207
|
+
const dropped = failedOutcomes.reduce((total, outcome) => total + outcome.count, 0);
|
|
208
|
+
if (remainingQueueSize > 0) {
|
|
209
|
+
this.lastFlushError = `Flush completed with ${remainingQueueSize} queued event(s) remaining`;
|
|
210
|
+
return {
|
|
211
|
+
ok: false,
|
|
212
|
+
sent: this.countSuccessfulOutcomes(outcomes),
|
|
213
|
+
failed: remainingQueueSize,
|
|
214
|
+
dropped,
|
|
215
|
+
retried: remainingQueueSize,
|
|
216
|
+
reason: this.lastFlushError,
|
|
217
|
+
finishedAt: this.lastFlushTime
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
if (dropped > 0) {
|
|
221
|
+
this.lastFlushError = failedOutcomes[0]?.message ?? `Flush dropped ${dropped} event(s) without retry`;
|
|
222
|
+
return {
|
|
223
|
+
ok: false,
|
|
224
|
+
sent: this.countSuccessfulOutcomes(outcomes),
|
|
225
|
+
failed: dropped,
|
|
226
|
+
dropped,
|
|
227
|
+
retried: 0,
|
|
228
|
+
reason: this.lastFlushError,
|
|
229
|
+
finishedAt: this.lastFlushTime
|
|
230
|
+
};
|
|
231
|
+
}
|
|
232
|
+
this.lastFlushError = undefined;
|
|
233
|
+
return {
|
|
234
|
+
ok: true,
|
|
235
|
+
sent: this.countSuccessfulOutcomes(outcomes) || queueSize,
|
|
236
|
+
failed: 0,
|
|
237
|
+
dropped: 0,
|
|
238
|
+
retried: 0,
|
|
239
|
+
finishedAt: this.lastFlushTime
|
|
240
|
+
};
|
|
241
|
+
} catch (error) {
|
|
242
|
+
collector.finish();
|
|
243
|
+
this.lastFlushTime = Date.now();
|
|
244
|
+
this.lastFlushDurationMillis = this.lastFlushTime - startedAt;
|
|
245
|
+
this.lastFlushError = error instanceof Error ? error.message : String(error);
|
|
246
|
+
return {
|
|
247
|
+
ok: false,
|
|
248
|
+
sent: 0,
|
|
249
|
+
failed: queueSize,
|
|
250
|
+
dropped: 0,
|
|
251
|
+
retried: 0,
|
|
252
|
+
reason: this.lastFlushError,
|
|
253
|
+
finishedAt: this.lastFlushTime
|
|
254
|
+
};
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
getDiagnostics() {
|
|
258
|
+
return {
|
|
259
|
+
initialized: Boolean(this.config && this.isReady),
|
|
260
|
+
instanceName: this.config?.instanceName,
|
|
261
|
+
userId: this.getUserId(),
|
|
262
|
+
deviceId: this.getDeviceId(),
|
|
263
|
+
sessionId: this.getSessionId(),
|
|
264
|
+
queueSize: this.getQueueSize(),
|
|
265
|
+
lastFlushTime: this.lastFlushTime,
|
|
266
|
+
lastFlushDurationMillis: this.lastFlushDurationMillis,
|
|
267
|
+
lastFlushError: this.lastFlushError,
|
|
268
|
+
activeInstanceNames: getActiveAnalyticsInstanceNames()
|
|
269
|
+
};
|
|
270
|
+
}
|
|
271
|
+
async healthCheck() {
|
|
272
|
+
return healthCheck(this);
|
|
273
|
+
}
|
|
192
274
|
getIdentity() {
|
|
193
275
|
return {
|
|
194
276
|
userId: this.getUserId(),
|
|
@@ -214,6 +296,61 @@ export class AmplitudeReactNative extends AmplitudeCore {
|
|
|
214
296
|
}
|
|
215
297
|
this.config.lastEventTime = this.currentTimeMillis();
|
|
216
298
|
}
|
|
299
|
+
getQueueSize() {
|
|
300
|
+
let queueSize = this.q.length + this.dispatchQ.length + this.timeline.queue.length;
|
|
301
|
+
this.timeline.plugins.forEach(plugin => {
|
|
302
|
+
if (plugin.type !== "destination") {
|
|
303
|
+
return;
|
|
304
|
+
}
|
|
305
|
+
const destination = plugin;
|
|
306
|
+
queueSize += destination.queue?.length ?? 0;
|
|
307
|
+
});
|
|
308
|
+
return queueSize;
|
|
309
|
+
}
|
|
310
|
+
collectFlushOutcomes() {
|
|
311
|
+
const outcomes = [];
|
|
312
|
+
const restorers = [];
|
|
313
|
+
this.timeline.plugins.forEach(plugin => {
|
|
314
|
+
if (plugin.type !== "destination") {
|
|
315
|
+
return;
|
|
316
|
+
}
|
|
317
|
+
const destination = plugin;
|
|
318
|
+
if (!destination.fulfillRequest) {
|
|
319
|
+
return;
|
|
320
|
+
}
|
|
321
|
+
const original = destination.fulfillRequest;
|
|
322
|
+
destination.fulfillRequest = (list, code, message) => {
|
|
323
|
+
outcomes.push({
|
|
324
|
+
code,
|
|
325
|
+
count: list.length,
|
|
326
|
+
message
|
|
327
|
+
});
|
|
328
|
+
return original.call(destination, list, code, message);
|
|
329
|
+
};
|
|
330
|
+
restorers.push(() => {
|
|
331
|
+
destination.fulfillRequest = original;
|
|
332
|
+
});
|
|
333
|
+
});
|
|
334
|
+
return {
|
|
335
|
+
finish: () => {
|
|
336
|
+
while (restorers.length > 0) {
|
|
337
|
+
restorers.pop()?.();
|
|
338
|
+
}
|
|
339
|
+
return outcomes;
|
|
340
|
+
}
|
|
341
|
+
};
|
|
342
|
+
}
|
|
343
|
+
countSuccessfulOutcomes(outcomes) {
|
|
344
|
+
return outcomes.reduce((total, outcome) => {
|
|
345
|
+
if (!this.isSuccessStatusCode(outcome.code)) {
|
|
346
|
+
return total;
|
|
347
|
+
}
|
|
348
|
+
return total + outcome.count;
|
|
349
|
+
}, 0);
|
|
350
|
+
}
|
|
351
|
+
isSuccessStatusCode(code) {
|
|
352
|
+
return code >= 200 && code < 300;
|
|
353
|
+
}
|
|
217
354
|
setSessionIdInternal(sessionId, eventTime) {
|
|
218
355
|
const previousSessionId = this.config.sessionId;
|
|
219
356
|
if (previousSessionId === sessionId) {
|
|
@@ -335,6 +472,7 @@ export const createInstance = () => {
|
|
|
335
472
|
setGroup: debugWrapper(client.setGroup.bind(client), "setGroup", getClientLogConfig(client), getClientStates(client, ["config.apiKey", "timeline.queue.length"])),
|
|
336
473
|
revenue: debugWrapper(client.revenue.bind(client), "revenue", getClientLogConfig(client), getClientStates(client, ["config.apiKey", "timeline.queue.length"])),
|
|
337
474
|
flush: debugWrapper(client.flush.bind(client), "flush", getClientLogConfig(client), getClientStates(client, ["config.apiKey", "timeline.queue.length"])),
|
|
475
|
+
flushWithResult: debugWrapper(client.flushWithResult.bind(client), "flushWithResult", getClientLogConfig(client), getClientStates(client, ["config.apiKey", "timeline.queue.length"])),
|
|
338
476
|
getUserId: debugWrapper(client.getUserId.bind(client), "getUserId", getClientLogConfig(client), getClientStates(client, ["config", "config.userId"])),
|
|
339
477
|
setUserId: debugWrapper(client.setUserId.bind(client), "setUserId", getClientLogConfig(client), getClientStates(client, ["config", "config.userId"])),
|
|
340
478
|
getDeviceId: debugWrapper(client.getDeviceId.bind(client), "getDeviceId", getClientLogConfig(client), getClientStates(client, ["config", "config.deviceId"])),
|
|
@@ -344,7 +482,9 @@ export const createInstance = () => {
|
|
|
344
482
|
setSessionId: debugWrapper(client.setSessionId.bind(client), "setSessionId", getClientLogConfig(client), getClientStates(client, ["config"])),
|
|
345
483
|
extendSession: debugWrapper(client.extendSession.bind(client), "extendSession", getClientLogConfig(client), getClientStates(client, ["config"])),
|
|
346
484
|
setOptOut: debugWrapper(client.setOptOut.bind(client), "setOptOut", getClientLogConfig(client), getClientStates(client, ["config"])),
|
|
347
|
-
shutdown: debugWrapper(client.shutdown.bind(client), "shutdown", getClientLogConfig(client), getClientStates(client, ["config", "timeline.plugins"]))
|
|
485
|
+
shutdown: debugWrapper(client.shutdown.bind(client), "shutdown", getClientLogConfig(client), getClientStates(client, ["config", "timeline.plugins"])),
|
|
486
|
+
getDiagnostics: debugWrapper(client.getDiagnostics.bind(client), "getDiagnostics", getClientLogConfig(client), getClientStates(client, ["config", "timeline.plugins"])),
|
|
487
|
+
healthCheck: debugWrapper(client.healthCheck.bind(client), "healthCheck", getClientLogConfig(client), getClientStates(client, ["config", "timeline.plugins"]))
|
|
348
488
|
};
|
|
349
489
|
};
|
|
350
490
|
export default createInstance();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AppState","AmplitudeCore","Destination","UUID","returnWrapper","debugWrapper","getClientLogConfig","getClientStates","IdentityEventSender","getAnalyticsConnector","setConnectorDeviceId","setConnectorUserId","SpecialEventType","CampaignTracker","Context","useReactNativeConfig","createCookieStorage","parseOldCookies","isNative","START_SESSION_EVENT","END_SESSION_EVENT","nextConnectorOwnerId","activeConnectorOwnerIds","Map","AmplitudeReactNative","appState","connectorOwnerId","init","apiKey","userId","options","initPromise","_init","finally","undefined","initializing","explicitSessionId","sessionId","appStateHandlerInstalled","oldCookies","reactNativeOptions","deviceId","optOut","lastEventTime","connectorInstanceName","getConnectorInstanceName","connector","identityStore","setIdentity","config","add","promise","currentState","isNewSession","startNewSessionIfNeeded","currentTimeMillis","loggerProvider","log","getSessionId","appStateChangeHandler","remove","addEventListener","handleAppStateChange","runAttributionStrategy","attribution","runQueuedFunctions","eventBridge","setEventReceiver","event","handleInternalTrackPromise","track","eventType","eventProperties","set","error","shutdown","cancelDestinationFlushes","timeline","reset","q","dispatchQ","isReady","get","delete","catch","String","instanceName","plugins","forEach","plugin","type","destination","scheduleId","clearTimeout","flushId","resetSchedule","queue","attributionConfig","args","onNewCampaign","setSessionId","bind","storage","campaignTracker","send","getUserId","setUserId","push","getDeviceId","setDeviceId","identify","eventOptions","user_id","device_id","getIdentity","userProperties","getOptOut","setSessionIdInternal","extendSession","eventTime","previousSessionId","trackingSessionEvents","sessionEndEvent","event_type","time","session_id","sessionStartEvent","process","isSessionEvent","isCustomEventSessionId","event_id","eventId","lastEventId","IDENTIFY","user_properties","getOperationAppliedUserProperties","Date","now","timestamp","shouldStartNewSession","inSession","isWithinMinTimeBetweenSessions","sessionTimeout","nextAppState","currentAppState","enterForeground","exitForeground","createInstance","client","logEvent","groupIdentify","setGroup","revenue","flush","setOptOut"],"sourceRoot":"../../../src","sources":["analytics/react-native-client.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["AppState","AmplitudeCore","Destination","UUID","returnWrapper","debugWrapper","getClientLogConfig","getClientStates","IdentityEventSender","getAnalyticsConnector","setConnectorDeviceId","setConnectorUserId","SpecialEventType","healthCheck","CampaignTracker","Context","useReactNativeConfig","createCookieStorage","parseOldCookies","isNative","START_SESSION_EVENT","END_SESSION_EVENT","nextConnectorOwnerId","activeConnectorOwnerIds","Map","getActiveAnalyticsInstanceNames","Array","from","keys","sort","AmplitudeReactNative","appState","connectorOwnerId","init","apiKey","userId","options","initPromise","_init","finally","undefined","initializing","explicitSessionId","sessionId","appStateHandlerInstalled","oldCookies","reactNativeOptions","deviceId","optOut","lastEventTime","connectorInstanceName","getConnectorInstanceName","connector","identityStore","setIdentity","config","add","promise","currentState","isNewSession","startNewSessionIfNeeded","currentTimeMillis","loggerProvider","log","getSessionId","appStateChangeHandler","remove","addEventListener","handleAppStateChange","runAttributionStrategy","attribution","runQueuedFunctions","eventBridge","setEventReceiver","event","handleInternalTrackPromise","track","eventType","eventProperties","set","error","shutdown","cancelDestinationFlushes","timeline","reset","q","dispatchQ","isReady","get","delete","catch","String","instanceName","plugins","forEach","plugin","type","destination","scheduleId","clearTimeout","flushId","resetSchedule","queue","attributionConfig","args","onNewCampaign","setSessionId","bind","storage","campaignTracker","send","getUserId","setUserId","push","getDeviceId","setDeviceId","identify","eventOptions","user_id","device_id","flushWithResult","queueSize","getQueueSize","collector","collectFlushOutcomes","startedAt","Date","now","flush","outcomes","finish","lastFlushTime","lastFlushDurationMillis","remainingQueueSize","failedOutcomes","filter","outcome","isSuccessStatusCode","code","dropped","reduce","total","count","lastFlushError","ok","sent","countSuccessfulOutcomes","failed","retried","reason","finishedAt","message","Error","getDiagnostics","initialized","Boolean","activeInstanceNames","getIdentity","userProperties","getOptOut","setSessionIdInternal","extendSession","length","restorers","fulfillRequest","original","list","call","pop","eventTime","previousSessionId","trackingSessionEvents","sessionEndEvent","event_type","time","session_id","sessionStartEvent","process","isSessionEvent","isCustomEventSessionId","event_id","eventId","lastEventId","IDENTIFY","user_properties","getOperationAppliedUserProperties","timestamp","shouldStartNewSession","inSession","isWithinMinTimeBetweenSessions","sessionTimeout","nextAppState","currentAppState","enterForeground","exitForeground","createInstance","client","logEvent","groupIdentify","setGroup","revenue","setOptOut"],"sourceRoot":"../../../src","sources":["analytics/react-native-client.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { isNative } from "./analytics/utils/platform";
|
|
4
|
+
import { getAmplitudeErrorCode } from "./errors";
|
|
5
|
+
import { getNetworkEnabled } from "./network";
|
|
6
|
+
let lastNativeError;
|
|
7
|
+
function getHybridModule() {
|
|
8
|
+
if (isNative()) {
|
|
9
|
+
return require("./native/hybrid");
|
|
10
|
+
}
|
|
11
|
+
return require("./native/hybrid.web");
|
|
12
|
+
}
|
|
13
|
+
export function getLastNativeError() {
|
|
14
|
+
return lastNativeError;
|
|
15
|
+
}
|
|
16
|
+
export function getNativeStartupDiagnostics() {
|
|
17
|
+
const result = {
|
|
18
|
+
nitroModulesAvailable: true,
|
|
19
|
+
contextAvailable: false,
|
|
20
|
+
storageAvailable: false,
|
|
21
|
+
workerAvailable: false,
|
|
22
|
+
nativeAvailable: false,
|
|
23
|
+
lastError: lastNativeError
|
|
24
|
+
};
|
|
25
|
+
try {
|
|
26
|
+
const {
|
|
27
|
+
getAmplitudeContext,
|
|
28
|
+
getAmplitudeStorage,
|
|
29
|
+
getAmplitudeWorker
|
|
30
|
+
} = getHybridModule();
|
|
31
|
+
getAmplitudeContext();
|
|
32
|
+
result.contextAvailable = true;
|
|
33
|
+
getAmplitudeStorage();
|
|
34
|
+
result.storageAvailable = true;
|
|
35
|
+
getAmplitudeWorker();
|
|
36
|
+
result.workerAvailable = true;
|
|
37
|
+
result.nativeAvailable = true;
|
|
38
|
+
lastNativeError = undefined;
|
|
39
|
+
result.lastError = undefined;
|
|
40
|
+
} catch (error) {
|
|
41
|
+
lastNativeError = {
|
|
42
|
+
code: getAmplitudeErrorCode(error),
|
|
43
|
+
message: error instanceof Error ? error.message : String(error)
|
|
44
|
+
};
|
|
45
|
+
result.nitroModulesAvailable = false;
|
|
46
|
+
result.lastError = lastNativeError;
|
|
47
|
+
}
|
|
48
|
+
return result;
|
|
49
|
+
}
|
|
50
|
+
export function getAmplitudeDiagnostics(analytics) {
|
|
51
|
+
return {
|
|
52
|
+
...analytics.getDiagnostics(),
|
|
53
|
+
native: getNativeStartupDiagnostics(),
|
|
54
|
+
networkEnabled: getNetworkEnabled()
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
export async function healthCheck(analytics) {
|
|
58
|
+
const errors = [];
|
|
59
|
+
const native = getNativeStartupDiagnostics();
|
|
60
|
+
let storageWritable = false;
|
|
61
|
+
try {
|
|
62
|
+
const {
|
|
63
|
+
getAmplitudeStorage
|
|
64
|
+
} = getHybridModule();
|
|
65
|
+
const storage = getAmplitudeStorage();
|
|
66
|
+
const key = `health::${Date.now()}`;
|
|
67
|
+
storage.set(key, "ok", false);
|
|
68
|
+
storageWritable = storage.get(key, false) === "ok";
|
|
69
|
+
storage.remove(key, false);
|
|
70
|
+
} catch (error) {
|
|
71
|
+
errors.push(error instanceof Error ? error.message : String(error));
|
|
72
|
+
}
|
|
73
|
+
if (!native.nativeAvailable && native.lastError) {
|
|
74
|
+
errors.push(native.lastError.message);
|
|
75
|
+
}
|
|
76
|
+
const analyticsInitialized = analytics ? analytics.getDiagnostics().initialized : false;
|
|
77
|
+
return {
|
|
78
|
+
ok: native.nativeAvailable && storageWritable,
|
|
79
|
+
analyticsInitialized,
|
|
80
|
+
nativeAvailable: native.nativeAvailable,
|
|
81
|
+
storageWritable,
|
|
82
|
+
errors
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=diagnostics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["isNative","getAmplitudeErrorCode","getNetworkEnabled","lastNativeError","getHybridModule","require","getLastNativeError","getNativeStartupDiagnostics","result","nitroModulesAvailable","contextAvailable","storageAvailable","workerAvailable","nativeAvailable","lastError","getAmplitudeContext","getAmplitudeStorage","getAmplitudeWorker","undefined","error","code","message","Error","String","getAmplitudeDiagnostics","analytics","getDiagnostics","native","networkEnabled","healthCheck","errors","storageWritable","storage","key","Date","now","set","get","remove","push","analyticsInitialized","initialized","ok"],"sourceRoot":"../../src","sources":["diagnostics.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export class AmplitudeError extends Error {
|
|
4
|
+
constructor(code, message, cause) {
|
|
5
|
+
super(message);
|
|
6
|
+
this.name = "AmplitudeError";
|
|
7
|
+
this.code = code;
|
|
8
|
+
this.cause = cause;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
export function createAmplitudeError(code, message, cause) {
|
|
12
|
+
return new AmplitudeError(code, message, cause);
|
|
13
|
+
}
|
|
14
|
+
export function getAmplitudeErrorCode(error) {
|
|
15
|
+
if (error instanceof AmplitudeError) {
|
|
16
|
+
return error.code;
|
|
17
|
+
}
|
|
18
|
+
if (error instanceof Error) {
|
|
19
|
+
const message = error.message.toLowerCase();
|
|
20
|
+
if (message.includes("deployment key")) {
|
|
21
|
+
return "invalid_deployment_key";
|
|
22
|
+
}
|
|
23
|
+
if (message.includes("api key")) {
|
|
24
|
+
return "invalid_api_key";
|
|
25
|
+
}
|
|
26
|
+
if (message.includes("timeout")) {
|
|
27
|
+
return "timeout";
|
|
28
|
+
}
|
|
29
|
+
if (message.includes("network") || message.includes("fetch")) {
|
|
30
|
+
return "network_error";
|
|
31
|
+
}
|
|
32
|
+
if (message.includes("storage")) {
|
|
33
|
+
return "storage_error";
|
|
34
|
+
}
|
|
35
|
+
if (message.includes("nitro") || message.includes("native")) {
|
|
36
|
+
return "native_unavailable";
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return "unknown";
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["AmplitudeError","Error","constructor","code","message","cause","name","createAmplitudeError","getAmplitudeErrorCode","error","toLowerCase","includes"],"sourceRoot":"../../src","sources":["errors.ts"],"mappings":";;AAaA,OAAO,MAAMA,cAAc,SAASC,KAAK,CAAC;EAIxCC,WAAWA,CAACC,IAAwB,EAAEC,OAAe,EAAEC,KAAe,EAAE;IACtE,KAAK,CAACD,OAAO,CAAC;IACd,IAAI,CAACE,IAAI,GAAG,gBAAgB;IAC5B,IAAI,CAACH,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACE,KAAK,GAAGA,KAAK;EACpB;AACF;AAEA,OAAO,SAASE,oBAAoBA,CAClCJ,IAAwB,EACxBC,OAAe,EACfC,KAAe,EACC;EAChB,OAAO,IAAIL,cAAc,CAACG,IAAI,EAAEC,OAAO,EAAEC,KAAK,CAAC;AACjD;AAEA,OAAO,SAASG,qBAAqBA,CAACC,KAAc,EAAsB;EACxE,IAAIA,KAAK,YAAYT,cAAc,EAAE;IACnC,OAAOS,KAAK,CAACN,IAAI;EACnB;EACA,IAAIM,KAAK,YAAYR,KAAK,EAAE;IAC1B,MAAMG,OAAO,GAAGK,KAAK,CAACL,OAAO,CAACM,WAAW,CAAC,CAAC;IAC3C,IAAIN,OAAO,CAACO,QAAQ,CAAC,gBAAgB,CAAC,EAAE;MACtC,OAAO,wBAAwB;IACjC;IACA,IAAIP,OAAO,CAACO,QAAQ,CAAC,SAAS,CAAC,EAAE;MAC/B,OAAO,iBAAiB;IAC1B;IACA,IAAIP,OAAO,CAACO,QAAQ,CAAC,SAAS,CAAC,EAAE;MAC/B,OAAO,SAAS;IAClB;IACA,IAAIP,OAAO,CAACO,QAAQ,CAAC,SAAS,CAAC,IAAIP,OAAO,CAACO,QAAQ,CAAC,OAAO,CAAC,EAAE;MAC5D,OAAO,eAAe;IACxB;IACA,IAAIP,OAAO,CAACO,QAAQ,CAAC,SAAS,CAAC,EAAE;MAC/B,OAAO,eAAe;IACxB;IACA,IAAIP,OAAO,CAACO,QAAQ,CAAC,OAAO,CAAC,IAAIP,OAAO,CAACO,QAAQ,CAAC,QAAQ,CAAC,EAAE;MAC3D,OAAO,oBAAoB;IAC7B;EACF;EACA,OAAO,SAAS;AAClB","ignoreList":[]}
|
|
@@ -46,7 +46,7 @@ export class ExperimentClient {
|
|
|
46
46
|
fetchSequenceNumber = 0;
|
|
47
47
|
storedFetchSequenceNumber = 0;
|
|
48
48
|
stopCallbacks = new Set();
|
|
49
|
-
|
|
49
|
+
inFlightFetches = new Map();
|
|
50
50
|
/**
|
|
51
51
|
* Creates a new ExperimentClient instance.
|
|
52
52
|
*
|
|
@@ -213,6 +213,33 @@ export class ExperimentClient {
|
|
|
213
213
|
}
|
|
214
214
|
return this;
|
|
215
215
|
}
|
|
216
|
+
async fetchWithMetadata(user = this.user, options) {
|
|
217
|
+
const startedAt = Date.now();
|
|
218
|
+
const fetchUser = user ?? this.user;
|
|
219
|
+
this.setUser(fetchUser);
|
|
220
|
+
try {
|
|
221
|
+
const variants = await this.fetchWithRetries(fetchUser, options);
|
|
222
|
+
const flagKeys = Object.keys(variants);
|
|
223
|
+
return {
|
|
224
|
+
fetched: true,
|
|
225
|
+
flagKeys,
|
|
226
|
+
cacheHit: false,
|
|
227
|
+
durationMillis: Date.now() - startedAt,
|
|
228
|
+
source: "network"
|
|
229
|
+
};
|
|
230
|
+
} catch (error) {
|
|
231
|
+
const reason = error instanceof Error ? error.message : String(error);
|
|
232
|
+
this.lastFetchFailure = reason;
|
|
233
|
+
return {
|
|
234
|
+
fetched: false,
|
|
235
|
+
flagKeys: options?.flagKeys ?? Object.keys(this.variants.getAll()),
|
|
236
|
+
cacheHit: Object.keys(this.variants.getAll()).length > 0,
|
|
237
|
+
durationMillis: Date.now() - startedAt,
|
|
238
|
+
source: "cache",
|
|
239
|
+
failureReason: reason
|
|
240
|
+
};
|
|
241
|
+
}
|
|
242
|
+
}
|
|
216
243
|
async fetchOrThrow(user = this.user, options) {
|
|
217
244
|
const fetchUser = user ?? this.user;
|
|
218
245
|
this.setUser(fetchUser);
|
|
@@ -248,6 +275,33 @@ export class ExperimentClient {
|
|
|
248
275
|
this.logger.debug(`[Experiment] variant for ${key} is ${sourceVariant.variant?.value}`);
|
|
249
276
|
return sourceVariant.variant || {};
|
|
250
277
|
}
|
|
278
|
+
variantWithMetadata(key, fallback) {
|
|
279
|
+
if (!this.apiKey) {
|
|
280
|
+
return {
|
|
281
|
+
variant: {
|
|
282
|
+
value: undefined
|
|
283
|
+
},
|
|
284
|
+
fallback: true,
|
|
285
|
+
stale: false,
|
|
286
|
+
reason: "missing_flag"
|
|
287
|
+
};
|
|
288
|
+
}
|
|
289
|
+
const sourceVariant = this.variantAndSource(key, fallback);
|
|
290
|
+
if (this.config.automaticExposureTracking) {
|
|
291
|
+
this.exposureInternal(key, sourceVariant);
|
|
292
|
+
}
|
|
293
|
+
this.logger.debug(`[Experiment] variant for ${key} is ${sourceVariant.variant?.value}`);
|
|
294
|
+
const variant = sourceVariant.variant || {};
|
|
295
|
+
const fallbackVariant = isFallback(sourceVariant.source);
|
|
296
|
+
const missingVariant = variant.value === undefined;
|
|
297
|
+
return {
|
|
298
|
+
variant,
|
|
299
|
+
source: sourceVariant.source,
|
|
300
|
+
fallback: fallbackVariant,
|
|
301
|
+
stale: false,
|
|
302
|
+
reason: missingVariant ? this.lastFetchFailure ? "fetch_failure" : fallbackVariant ? "fallback" : "no_assignment" : fallbackVariant ? "fallback" : undefined
|
|
303
|
+
};
|
|
304
|
+
}
|
|
251
305
|
|
|
252
306
|
/**
|
|
253
307
|
* Track an exposure event for the variant associated with the flag/experiment
|
|
@@ -299,6 +353,15 @@ export class ExperimentClient {
|
|
|
299
353
|
this.variants.clear();
|
|
300
354
|
void this.variants.store().catch(e => this.logger.warn(e));
|
|
301
355
|
}
|
|
356
|
+
clearVariants() {
|
|
357
|
+
this.clear();
|
|
358
|
+
}
|
|
359
|
+
hasCachedVariant(key) {
|
|
360
|
+
return this.variants.get(key) !== undefined;
|
|
361
|
+
}
|
|
362
|
+
getLastFetchTime() {
|
|
363
|
+
return this.lastFetchTime;
|
|
364
|
+
}
|
|
302
365
|
|
|
303
366
|
/**
|
|
304
367
|
* Get a copy of the internal {@link ExperimentUser} object if it is set.
|
|
@@ -635,7 +698,26 @@ export class ExperimentClient {
|
|
|
635
698
|
}
|
|
636
699
|
}
|
|
637
700
|
async fetchWithRetries(user, options) {
|
|
638
|
-
|
|
701
|
+
const key = JSON.stringify({
|
|
702
|
+
user,
|
|
703
|
+
flagKeys: options?.flagKeys ?? null
|
|
704
|
+
});
|
|
705
|
+
const inFlightFetch = this.inFlightFetches.get(key);
|
|
706
|
+
if (inFlightFetch) {
|
|
707
|
+
return await inFlightFetch;
|
|
708
|
+
}
|
|
709
|
+
const fetch = this.fetchInternal(user, this.config.fetchTimeoutMillis, this.config.retryFetchOnFailure, options).then(variants => {
|
|
710
|
+
this.lastFetchTime = Date.now();
|
|
711
|
+
this.lastFetchFailure = undefined;
|
|
712
|
+
return variants;
|
|
713
|
+
}).catch(error => {
|
|
714
|
+
this.lastFetchFailure = error instanceof Error ? error.message : String(error);
|
|
715
|
+
throw error;
|
|
716
|
+
}).finally(() => {
|
|
717
|
+
this.inFlightFetches.delete(key);
|
|
718
|
+
});
|
|
719
|
+
this.inFlightFetches.set(key, fetch);
|
|
720
|
+
return await fetch;
|
|
639
721
|
}
|
|
640
722
|
async doFetch(user, timeoutMillis, options) {
|
|
641
723
|
user = await this.addContextOrWait(user, 10000);
|