@mostly-good-metrics/javascript 0.6.1 → 0.8.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/LICENSE +21 -0
- package/README.md +198 -68
- package/dist/cjs/client.js +239 -70
- package/dist/cjs/client.js.map +1 -1
- package/dist/cjs/index.js +4 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/storage.js +52 -1
- package/dist/cjs/storage.js.map +1 -1
- package/dist/cjs/types.js +3 -0
- package/dist/cjs/types.js.map +1 -1
- package/dist/cjs/utils.js +1 -0
- package/dist/cjs/utils.js.map +1 -1
- package/dist/esm/client.js +240 -71
- package/dist/esm/client.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/storage.js +49 -1
- package/dist/esm/storage.js.map +1 -1
- package/dist/esm/types.js +3 -0
- package/dist/esm/types.js.map +1 -1
- package/dist/esm/utils.js +1 -0
- package/dist/esm/utils.js.map +1 -1
- package/dist/types/client.d.ts +82 -20
- package/dist/types/client.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/storage.d.ts +23 -1
- package/dist/types/storage.d.ts.map +1 -1
- package/dist/types/types.d.ts +54 -3
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/utils.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/client.test.ts +740 -7
- package/src/client.ts +260 -69
- package/src/index.ts +9 -1
- package/src/storage.ts +58 -1
- package/src/types.ts +66 -3
- package/src/utils.ts +1 -0
package/dist/cjs/client.js
CHANGED
|
@@ -7,6 +7,11 @@ const storage_1 = require("./storage");
|
|
|
7
7
|
const types_1 = require("./types");
|
|
8
8
|
const utils_1 = require("./utils");
|
|
9
9
|
const FLUSH_DELAY_MS = 100; // Delay between batch sends
|
|
10
|
+
const EXPERIMENTS_CACHE_KEY = 'mgm_experiment_variants';
|
|
11
|
+
const EXPERIMENT_EXPOSURES_KEY = 'mgm_experiment_exposures';
|
|
12
|
+
const EXPERIMENTS_REFETCH_INTERVAL_MS = 60 * 60 * 1000; // Background revalidation at most hourly
|
|
13
|
+
const EXPERIMENTS_FETCH_TIMEOUT_MS = 60 * 1000; // Abort hung experiments fetches so they always settle
|
|
14
|
+
const READY_DEFAULT_TIMEOUT_MS = 5000; // Default ready() timeout, unified across all MGM SDKs
|
|
10
15
|
/**
|
|
11
16
|
* Main client for MostlyGoodMetrics.
|
|
12
17
|
* Use the static `configure` method to initialize, then use static methods or the instance.
|
|
@@ -20,9 +25,10 @@ class MostlyGoodMetrics {
|
|
|
20
25
|
this.isFlushingInternal = false;
|
|
21
26
|
this.lifecycleSetup = false;
|
|
22
27
|
// A/B testing state
|
|
23
|
-
this.
|
|
28
|
+
this.assignedVariants = {}; // Server-assigned variants
|
|
24
29
|
this.experimentsLoaded = false;
|
|
25
30
|
this.experimentsReadyResolve = null;
|
|
31
|
+
this.trackedExposures = new Set(); // (user, experiment, variant) exposure dedup
|
|
26
32
|
this.handleVisibilityChange = () => {
|
|
27
33
|
if (document.hidden) {
|
|
28
34
|
// App backgrounded
|
|
@@ -53,6 +59,8 @@ class MostlyGoodMetrics {
|
|
|
53
59
|
this.storage = this.config.storage ?? (0, storage_1.createDefaultStorage)(this.config.maxStoredEvents);
|
|
54
60
|
// Initialize network client
|
|
55
61
|
this.networkClient = this.config.networkClient ?? (0, network_1.createDefaultNetworkClient)();
|
|
62
|
+
// Initialize experiment storage (pluggable for React Native AsyncStorage etc.)
|
|
63
|
+
this.experimentStorage = this.config.experimentStorage ?? (0, storage_1.createDefaultExperimentStorage)();
|
|
56
64
|
// Initialize experiments ready promise
|
|
57
65
|
this.experimentsReadyPromise = new Promise((resolve) => {
|
|
58
66
|
this.experimentsReadyResolve = resolve;
|
|
@@ -64,8 +72,11 @@ class MostlyGoodMetrics {
|
|
|
64
72
|
if (this.config.trackAppLifecycleEvents) {
|
|
65
73
|
this.setupLifecycleTracking();
|
|
66
74
|
}
|
|
67
|
-
//
|
|
68
|
-
void this.
|
|
75
|
+
// Hydrate the experiments cache and revalidate in the background
|
|
76
|
+
void this.initializeExperiments().catch((e) => {
|
|
77
|
+
logger_1.logger.warn('Failed to initialize experiments', e);
|
|
78
|
+
this.markExperimentsReady();
|
|
79
|
+
});
|
|
69
80
|
}
|
|
70
81
|
/**
|
|
71
82
|
* Configure and initialize the SDK.
|
|
@@ -182,17 +193,22 @@ class MostlyGoodMetrics {
|
|
|
182
193
|
}
|
|
183
194
|
/**
|
|
184
195
|
* Get the variant for an experiment.
|
|
185
|
-
* Returns the assigned variant ('a', 'b', etc.) or
|
|
196
|
+
* Returns the assigned variant ('a', 'b', etc.), or `fallback` (default null)
|
|
197
|
+
* if the experiment is unknown or experiments have not loaded yet.
|
|
186
198
|
*/
|
|
187
|
-
static getVariant(experimentName) {
|
|
188
|
-
|
|
199
|
+
static getVariant(experimentName, fallback = null) {
|
|
200
|
+
const instance = MostlyGoodMetrics.instance;
|
|
201
|
+
return instance ? instance.getVariant(experimentName, fallback) : fallback;
|
|
189
202
|
}
|
|
190
203
|
/**
|
|
191
|
-
* Returns a promise that resolves when experiments have been loaded
|
|
192
|
-
*
|
|
204
|
+
* Returns a promise that resolves when experiments have been loaded, or
|
|
205
|
+
* after `timeoutMs` (default 5000) elapses - whichever comes first.
|
|
206
|
+
* Never rejects. Useful for waiting before calling getVariant() to ensure
|
|
207
|
+
* server-side experiments are available without blocking app startup on a
|
|
208
|
+
* hanging network.
|
|
193
209
|
*/
|
|
194
|
-
static ready() {
|
|
195
|
-
return MostlyGoodMetrics.instance?.ready() ?? Promise.resolve();
|
|
210
|
+
static ready(timeoutMs = READY_DEFAULT_TIMEOUT_MS) {
|
|
211
|
+
return MostlyGoodMetrics.instance?.ready(timeoutMs) ?? Promise.resolve();
|
|
196
212
|
}
|
|
197
213
|
// =====================================================
|
|
198
214
|
// Instance properties
|
|
@@ -279,6 +295,9 @@ class MostlyGoodMetrics {
|
|
|
279
295
|
* Profile data is sent to the backend via the $identify event.
|
|
280
296
|
* Debouncing: only sends $identify if payload changed or >24h since last send.
|
|
281
297
|
*
|
|
298
|
+
* This also invalidates the experiment variants cache and refetches experiments
|
|
299
|
+
* with the new user ID to handle the "identified wins" aliasing strategy.
|
|
300
|
+
*
|
|
282
301
|
* @param userId The user's unique identifier
|
|
283
302
|
* @param profile Optional profile data (email, name)
|
|
284
303
|
*/
|
|
@@ -287,6 +306,7 @@ class MostlyGoodMetrics {
|
|
|
287
306
|
logger_1.logger.warn('identify called with empty userId');
|
|
288
307
|
return;
|
|
289
308
|
}
|
|
309
|
+
const previousUserId = this.userId ?? this.anonymousIdValue;
|
|
290
310
|
logger_1.logger.debug(`Identifying user: ${userId}`);
|
|
291
311
|
storage_1.persistence.setUserId(userId);
|
|
292
312
|
// If profile data is provided, check if we should send $identify event
|
|
@@ -294,6 +314,16 @@ class MostlyGoodMetrics {
|
|
|
294
314
|
if (profile && (profile.email || profile.name)) {
|
|
295
315
|
this.sendIdentifyEventIfNeeded(userId, profile);
|
|
296
316
|
}
|
|
317
|
+
// If user ID changed, refetch experiments immediately for the new user.
|
|
318
|
+
// Current in-memory variants keep being served until the response arrives,
|
|
319
|
+
// then they are swapped atomically - never cleared to null mid-session.
|
|
320
|
+
// The refetch includes anonymous_id so the server can honor the
|
|
321
|
+
// "identified wins" aliasing strategy.
|
|
322
|
+
if (previousUserId !== userId) {
|
|
323
|
+
logger_1.logger.debug('User identity changed, refetching experiments');
|
|
324
|
+
this.resetExperimentsReadyPromise();
|
|
325
|
+
void this.fetchExperiments();
|
|
326
|
+
}
|
|
297
327
|
}
|
|
298
328
|
/**
|
|
299
329
|
* Send $identify event if debounce conditions are met.
|
|
@@ -424,51 +454,60 @@ class MostlyGoodMetrics {
|
|
|
424
454
|
}
|
|
425
455
|
/**
|
|
426
456
|
* Get the variant for an experiment.
|
|
427
|
-
* Returns the assigned variant ('a', 'b', etc.) or
|
|
457
|
+
* Returns the assigned variant ('a', 'b', etc.), or `fallback` (default null)
|
|
458
|
+
* if the experiment is unknown or experiments have not loaded yet.
|
|
428
459
|
*
|
|
429
|
-
*
|
|
430
|
-
*
|
|
460
|
+
* Variants are assigned server-side and cached locally (forever, per user,
|
|
461
|
+
* with stale-while-revalidate background refreshes). The server ensures the
|
|
462
|
+
* same user always gets the same variant for the same experiment.
|
|
431
463
|
*
|
|
432
|
-
*
|
|
433
|
-
* so it's attached to all subsequent events
|
|
464
|
+
* On a hit, the variant is stored as a super property
|
|
465
|
+
* ($experiment_{name}: 'variant') so it's attached to all subsequent events,
|
|
466
|
+
* and a $experiment_exposure event is tracked once per
|
|
467
|
+
* (user, experiment, variant).
|
|
434
468
|
*/
|
|
435
|
-
getVariant(experimentName) {
|
|
469
|
+
getVariant(experimentName, fallback = null) {
|
|
436
470
|
if (!experimentName) {
|
|
437
471
|
logger_1.logger.warn('getVariant called with empty experimentName');
|
|
438
|
-
return
|
|
439
|
-
}
|
|
440
|
-
// Check if we have this experiment
|
|
441
|
-
const
|
|
442
|
-
if (
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
if (!
|
|
453
|
-
logger_1.logger.
|
|
454
|
-
return
|
|
455
|
-
}
|
|
456
|
-
//
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
*
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
+
return fallback;
|
|
473
|
+
}
|
|
474
|
+
// Check if we have a server-assigned variant for this experiment
|
|
475
|
+
const variant = this.assignedVariants[experimentName];
|
|
476
|
+
if (variant) {
|
|
477
|
+
// Store as super property so it's attached to all events
|
|
478
|
+
const propertyName = `$experiment_${this.toSnakeCase(experimentName)}`;
|
|
479
|
+
this.setSuperProperty(propertyName, variant);
|
|
480
|
+
// Track exposure once per (user, experiment, variant)
|
|
481
|
+
this.trackExposureIfNeeded(experimentName, variant);
|
|
482
|
+
logger_1.logger.debug(`Using server-assigned variant '${variant}' for experiment '${experimentName}'`);
|
|
483
|
+
return variant;
|
|
484
|
+
}
|
|
485
|
+
// No assigned variant - check if experiments have been loaded
|
|
486
|
+
if (!this.experimentsLoaded) {
|
|
487
|
+
logger_1.logger.debug(`Experiments not loaded yet, cannot get variant for: ${experimentName}`);
|
|
488
|
+
return fallback;
|
|
489
|
+
}
|
|
490
|
+
// Experiments loaded but no assignment for this experiment
|
|
491
|
+
logger_1.logger.debug(`No variant assigned for experiment: ${experimentName}`);
|
|
492
|
+
return fallback;
|
|
493
|
+
}
|
|
494
|
+
/**
|
|
495
|
+
* Returns a promise that resolves when experiments have been loaded, or
|
|
496
|
+
* after `timeoutMs` (default 5000) elapses - whichever comes first.
|
|
497
|
+
* Never rejects.
|
|
498
|
+
*
|
|
499
|
+
* If the timeout fires first, getVariant() keeps returning fallbacks until
|
|
500
|
+
* the in-flight fetch settles; a late response is still applied atomically,
|
|
501
|
+
* so variants become available to subsequent calls.
|
|
502
|
+
*/
|
|
503
|
+
ready(timeoutMs = READY_DEFAULT_TIMEOUT_MS) {
|
|
504
|
+
return new Promise((resolve) => {
|
|
505
|
+
const timer = setTimeout(resolve, timeoutMs);
|
|
506
|
+
void this.experimentsReadyPromise.then(() => {
|
|
507
|
+
clearTimeout(timer);
|
|
508
|
+
resolve();
|
|
509
|
+
});
|
|
510
|
+
});
|
|
472
511
|
}
|
|
473
512
|
/**
|
|
474
513
|
* Clean up resources (stop timers, etc.).
|
|
@@ -638,11 +677,60 @@ class MostlyGoodMetrics {
|
|
|
638
677
|
// A/B Testing methods
|
|
639
678
|
// =====================================================
|
|
640
679
|
/**
|
|
641
|
-
*
|
|
642
|
-
*
|
|
680
|
+
* Initialize experiments on startup.
|
|
681
|
+
*
|
|
682
|
+
* Flow (stale-while-revalidate, no TTL):
|
|
683
|
+
* 1. Hydrate exposure dedup flags and the variants cache from the
|
|
684
|
+
* (possibly async) experiment storage adapter.
|
|
685
|
+
* 2. If cached variants exist for the current user, serve them immediately
|
|
686
|
+
* (ready() resolves) and revalidate in the background - but only if the
|
|
687
|
+
* last fetch was more than an hour ago.
|
|
688
|
+
* 3. If there is no usable cache, fetch from the server (ready() resolves
|
|
689
|
+
* when the fetch settles, even on failure).
|
|
690
|
+
*/
|
|
691
|
+
async initializeExperiments() {
|
|
692
|
+
const currentUserId = this.userId ?? this.anonymousIdValue;
|
|
693
|
+
// Hydrate exposure flags first so exposure dedup survives restarts
|
|
694
|
+
await this.hydrateExposures();
|
|
695
|
+
const cached = await this.loadExperimentsCache();
|
|
696
|
+
if (cached && cached.userId === currentUserId) {
|
|
697
|
+
const cacheAge = Date.now() - cached.fetchedAt;
|
|
698
|
+
logger_1.logger.debug(`Using cached experiment variants (age: ${Math.round(cacheAge / 1000 / 60)}min)`);
|
|
699
|
+
// Serve cached variants immediately - they never expire
|
|
700
|
+
this.assignedVariants = cached.variants;
|
|
701
|
+
this.markExperimentsReady();
|
|
702
|
+
// Revalidate in the background, throttled to at most once per hour
|
|
703
|
+
if (cacheAge >= EXPERIMENTS_REFETCH_INTERVAL_MS) {
|
|
704
|
+
logger_1.logger.debug('Cached experiment variants are stale, revalidating in background');
|
|
705
|
+
void this.fetchExperiments();
|
|
706
|
+
}
|
|
707
|
+
return;
|
|
708
|
+
}
|
|
709
|
+
// No usable cache - fetch from the server
|
|
710
|
+
await this.fetchExperiments();
|
|
711
|
+
}
|
|
712
|
+
/**
|
|
713
|
+
* Fetch experiments from the server and atomically swap in the response.
|
|
714
|
+
* Called on initialization (when no fresh cache exists) and after identify().
|
|
715
|
+
* On failure, previously loaded variants keep being served.
|
|
716
|
+
*
|
|
717
|
+
* The request is aborted after EXPERIMENTS_FETCH_TIMEOUT_MS so it is
|
|
718
|
+
* guaranteed to settle. A response that arrives after a ready() timeout is
|
|
719
|
+
* still applied atomically - late variants are better than none.
|
|
643
720
|
*/
|
|
644
721
|
async fetchExperiments() {
|
|
645
|
-
const
|
|
722
|
+
const currentUserId = this.userId ?? this.anonymousIdValue;
|
|
723
|
+
// Build URL with user_id for server-side variant assignment.
|
|
724
|
+
// When the user is identified, also pass the stored anonymous_id so the
|
|
725
|
+
// server can alias pre-identify assignments ("identified wins", MGM-28).
|
|
726
|
+
let url = `${this.config.baseURL}/v1/experiments?user_id=${encodeURIComponent(currentUserId)}`;
|
|
727
|
+
if (currentUserId !== this.anonymousIdValue) {
|
|
728
|
+
url += `&anonymous_id=${encodeURIComponent(this.anonymousIdValue)}`;
|
|
729
|
+
}
|
|
730
|
+
// Abort the request if it hangs so this promise is guaranteed to settle
|
|
731
|
+
// (and markExperimentsReady() is guaranteed to run).
|
|
732
|
+
const abortController = new AbortController();
|
|
733
|
+
const abortTimer = setTimeout(() => abortController.abort(), EXPERIMENTS_FETCH_TIMEOUT_MS);
|
|
646
734
|
try {
|
|
647
735
|
logger_1.logger.debug('Fetching experiments...');
|
|
648
736
|
const response = await fetch(url, {
|
|
@@ -651,24 +739,24 @@ class MostlyGoodMetrics {
|
|
|
651
739
|
Authorization: `Bearer ${this.config.apiKey}`,
|
|
652
740
|
'Content-Type': 'application/json',
|
|
653
741
|
},
|
|
742
|
+
signal: abortController.signal,
|
|
654
743
|
});
|
|
655
744
|
if (!response.ok) {
|
|
656
745
|
logger_1.logger.warn(`Failed to fetch experiments: ${response.status}`);
|
|
657
|
-
this.markExperimentsReady();
|
|
658
746
|
return;
|
|
659
747
|
}
|
|
660
748
|
const data = (await response.json());
|
|
661
|
-
//
|
|
662
|
-
this.
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
}
|
|
666
|
-
logger_1.logger.debug(`Loaded ${this.experiments.size} experiments`);
|
|
749
|
+
// Atomically swap in the server-assigned variants
|
|
750
|
+
this.assignedVariants = data.assigned_variants ?? {};
|
|
751
|
+
// Persist to the experiment storage adapter (with last-fetch timestamp)
|
|
752
|
+
await this.saveExperimentsCache(currentUserId, this.assignedVariants);
|
|
753
|
+
logger_1.logger.debug(`Loaded ${Object.keys(this.assignedVariants).length} assigned variants`);
|
|
667
754
|
}
|
|
668
755
|
catch (e) {
|
|
669
756
|
logger_1.logger.warn('Failed to fetch experiments', e);
|
|
670
757
|
}
|
|
671
758
|
finally {
|
|
759
|
+
clearTimeout(abortTimer);
|
|
672
760
|
this.markExperimentsReady();
|
|
673
761
|
}
|
|
674
762
|
}
|
|
@@ -683,17 +771,98 @@ class MostlyGoodMetrics {
|
|
|
683
771
|
}
|
|
684
772
|
}
|
|
685
773
|
/**
|
|
686
|
-
*
|
|
687
|
-
*
|
|
774
|
+
* Arm a new ready() promise for an in-flight refetch (e.g. after identify).
|
|
775
|
+
* No-op if the current promise is still pending - it will be resolved by
|
|
776
|
+
* whichever fetch settles first.
|
|
688
777
|
*/
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
778
|
+
resetExperimentsReadyPromise() {
|
|
779
|
+
if (this.experimentsReadyResolve !== null) {
|
|
780
|
+
return;
|
|
781
|
+
}
|
|
782
|
+
this.experimentsReadyPromise = new Promise((resolve) => {
|
|
783
|
+
this.experimentsReadyResolve = resolve;
|
|
784
|
+
});
|
|
785
|
+
}
|
|
786
|
+
/**
|
|
787
|
+
* Track a $experiment_exposure event the first time a (user, experiment,
|
|
788
|
+
* variant) combination is returned by getVariant(). Dedup flags are
|
|
789
|
+
* persisted via the experiment storage adapter so exposures are not
|
|
790
|
+
* re-tracked across restarts.
|
|
791
|
+
*/
|
|
792
|
+
trackExposureIfNeeded(experimentName, variant) {
|
|
793
|
+
const currentUserId = this.userId ?? this.anonymousIdValue;
|
|
794
|
+
const exposureKey = `${currentUserId}::${experimentName}::${variant}`;
|
|
795
|
+
if (this.trackedExposures.has(exposureKey)) {
|
|
796
|
+
return;
|
|
797
|
+
}
|
|
798
|
+
this.trackedExposures.add(exposureKey);
|
|
799
|
+
this.track(types_1.SystemEvents.EXPERIMENT_EXPOSURE, {
|
|
800
|
+
[types_1.SystemProperties.EXPERIMENT_NAME]: experimentName,
|
|
801
|
+
[types_1.SystemProperties.VARIANT]: variant,
|
|
802
|
+
});
|
|
803
|
+
void this.persistExposures();
|
|
804
|
+
}
|
|
805
|
+
/**
|
|
806
|
+
* Hydrate persisted exposure dedup flags from the experiment storage adapter.
|
|
807
|
+
*/
|
|
808
|
+
async hydrateExposures() {
|
|
809
|
+
try {
|
|
810
|
+
const raw = await this.experimentStorage.getItem(EXPERIMENT_EXPOSURES_KEY);
|
|
811
|
+
if (raw) {
|
|
812
|
+
const parsed = JSON.parse(raw);
|
|
813
|
+
if (Array.isArray(parsed)) {
|
|
814
|
+
this.trackedExposures = new Set(parsed.filter((k) => typeof k === 'string'));
|
|
815
|
+
}
|
|
816
|
+
}
|
|
817
|
+
}
|
|
818
|
+
catch (e) {
|
|
819
|
+
logger_1.logger.debug('Failed to load experiment exposures', e);
|
|
820
|
+
}
|
|
821
|
+
}
|
|
822
|
+
/**
|
|
823
|
+
* Persist exposure dedup flags via the experiment storage adapter.
|
|
824
|
+
*/
|
|
825
|
+
async persistExposures() {
|
|
826
|
+
try {
|
|
827
|
+
await this.experimentStorage.setItem(EXPERIMENT_EXPOSURES_KEY, JSON.stringify([...this.trackedExposures]));
|
|
828
|
+
}
|
|
829
|
+
catch (e) {
|
|
830
|
+
logger_1.logger.debug('Failed to persist experiment exposures', e);
|
|
831
|
+
}
|
|
832
|
+
}
|
|
833
|
+
/**
|
|
834
|
+
* Load experiment variants from the experiment storage adapter.
|
|
835
|
+
*/
|
|
836
|
+
async loadExperimentsCache() {
|
|
837
|
+
try {
|
|
838
|
+
const cached = await this.experimentStorage.getItem(EXPERIMENTS_CACHE_KEY);
|
|
839
|
+
if (!cached) {
|
|
840
|
+
return null;
|
|
841
|
+
}
|
|
842
|
+
return JSON.parse(cached);
|
|
843
|
+
}
|
|
844
|
+
catch (e) {
|
|
845
|
+
logger_1.logger.debug('Failed to load experiments cache', e);
|
|
846
|
+
return null;
|
|
847
|
+
}
|
|
848
|
+
}
|
|
849
|
+
/**
|
|
850
|
+
* Save experiment variants via the experiment storage adapter.
|
|
851
|
+
* `fetchedAt` doubles as the last-fetch timestamp used to throttle
|
|
852
|
+
* background revalidation - the cache itself never expires.
|
|
853
|
+
*/
|
|
854
|
+
async saveExperimentsCache(userId, variants) {
|
|
855
|
+
try {
|
|
856
|
+
const cached = {
|
|
857
|
+
userId,
|
|
858
|
+
variants,
|
|
859
|
+
fetchedAt: Date.now(),
|
|
860
|
+
};
|
|
861
|
+
await this.experimentStorage.setItem(EXPERIMENTS_CACHE_KEY, JSON.stringify(cached));
|
|
862
|
+
}
|
|
863
|
+
catch (e) {
|
|
864
|
+
logger_1.logger.debug('Failed to save experiments cache', e);
|
|
865
|
+
}
|
|
697
866
|
}
|
|
698
867
|
/**
|
|
699
868
|
* Convert a string to snake_case.
|
package/dist/cjs/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
* ```
|
|
29
29
|
*/
|
|
30
30
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
31
|
-
exports.logger = exports.getDeviceModel = exports.getOSVersion = exports.detectDeviceType = exports.detectPlatform = exports.sanitizeProperties = exports.validateEventName = exports.isValidEventName = exports.getISOTimestamp = exports.generateUUID = exports.generateAnonymousId = exports.createDefaultNetworkClient = exports.FetchNetworkClient = exports.createDefaultStorage = exports.LocalStorageEventStorage = exports.InMemoryEventStorage = exports.EVENT_NAME_REGEX = exports.Constraints = exports.DefaultConfiguration = exports.SystemProperties = exports.SystemEvents = exports.MGMError = exports.MostlyGoodMetrics = void 0;
|
|
31
|
+
exports.logger = exports.getDeviceModel = exports.getOSVersion = exports.detectDeviceType = exports.detectPlatform = exports.sanitizeProperties = exports.validateEventName = exports.isValidEventName = exports.getISOTimestamp = exports.generateUUID = exports.generateAnonymousId = exports.createDefaultNetworkClient = exports.FetchNetworkClient = exports.createDefaultExperimentStorage = exports.LocalStorageExperimentStorage = exports.InMemoryExperimentStorage = exports.createDefaultStorage = exports.LocalStorageEventStorage = exports.InMemoryEventStorage = exports.EVENT_NAME_REGEX = exports.Constraints = exports.DefaultConfiguration = exports.SystemProperties = exports.SystemEvents = exports.MGMError = exports.MostlyGoodMetrics = void 0;
|
|
32
32
|
// Main client
|
|
33
33
|
var client_1 = require("./client");
|
|
34
34
|
Object.defineProperty(exports, "MostlyGoodMetrics", { enumerable: true, get: function () { return client_1.MostlyGoodMetrics; } });
|
|
@@ -47,6 +47,9 @@ var storage_1 = require("./storage");
|
|
|
47
47
|
Object.defineProperty(exports, "InMemoryEventStorage", { enumerable: true, get: function () { return storage_1.InMemoryEventStorage; } });
|
|
48
48
|
Object.defineProperty(exports, "LocalStorageEventStorage", { enumerable: true, get: function () { return storage_1.LocalStorageEventStorage; } });
|
|
49
49
|
Object.defineProperty(exports, "createDefaultStorage", { enumerable: true, get: function () { return storage_1.createDefaultStorage; } });
|
|
50
|
+
Object.defineProperty(exports, "InMemoryExperimentStorage", { enumerable: true, get: function () { return storage_1.InMemoryExperimentStorage; } });
|
|
51
|
+
Object.defineProperty(exports, "LocalStorageExperimentStorage", { enumerable: true, get: function () { return storage_1.LocalStorageExperimentStorage; } });
|
|
52
|
+
Object.defineProperty(exports, "createDefaultExperimentStorage", { enumerable: true, get: function () { return storage_1.createDefaultExperimentStorage; } });
|
|
50
53
|
// Network client (for custom network implementations)
|
|
51
54
|
var network_1 = require("./network");
|
|
52
55
|
Object.defineProperty(exports, "FetchNetworkClient", { enumerable: true, get: function () { return network_1.FetchNetworkClient; } });
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;;;AAEH,cAAc;AACd,mCAA6C;AAApC,2GAAA,iBAAiB,OAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;;;AAEH,cAAc;AACd,mCAA6C;AAApC,2GAAA,iBAAiB,OAAA;AAwB1B,cAAc;AACd,iCAAmC;AAA1B,iGAAA,QAAQ,OAAA;AAEjB,YAAY;AACZ,iCAMiB;AALf,qGAAA,YAAY,OAAA;AACZ,yGAAA,gBAAgB,OAAA;AAChB,6GAAA,oBAAoB,OAAA;AACpB,oGAAA,WAAW,OAAA;AACX,yGAAA,gBAAgB,OAAA;AAGlB,wDAAwD;AACxD,qCAOmB;AANjB,+GAAA,oBAAoB,OAAA;AACpB,mHAAA,wBAAwB,OAAA;AACxB,+GAAA,oBAAoB,OAAA;AACpB,oHAAA,yBAAyB,OAAA;AACzB,wHAAA,6BAA6B,OAAA;AAC7B,yHAAA,8BAA8B,OAAA;AAGhC,sDAAsD;AACtD,qCAA2E;AAAlE,6GAAA,kBAAkB,OAAA;AAAE,qHAAA,0BAA0B,OAAA;AAEvD,iCAAiC;AACjC,iCAWiB;AAVf,4GAAA,mBAAmB,OAAA;AACnB,qGAAA,YAAY,OAAA;AACZ,wGAAA,eAAe,OAAA;AACf,yGAAA,gBAAgB,OAAA;AAChB,0GAAA,iBAAiB,OAAA;AACjB,2GAAA,kBAAkB,OAAA;AAClB,uGAAA,cAAc,OAAA;AACd,yGAAA,gBAAgB,OAAA;AAChB,qGAAA,YAAY,OAAA;AACZ,uGAAA,cAAc,OAAA;AAGhB,yBAAyB;AACzB,mCAAkC;AAAzB,gGAAA,MAAM,OAAA"}
|
package/dist/cjs/storage.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.persistence = exports.LocalStorageEventStorage = exports.InMemoryEventStorage = void 0;
|
|
3
|
+
exports.persistence = exports.InMemoryExperimentStorage = exports.LocalStorageExperimentStorage = exports.LocalStorageEventStorage = exports.InMemoryEventStorage = void 0;
|
|
4
4
|
exports.createDefaultStorage = createDefaultStorage;
|
|
5
|
+
exports.createDefaultExperimentStorage = createDefaultExperimentStorage;
|
|
5
6
|
const logger_1 = require("./logger");
|
|
6
7
|
const types_1 = require("./types");
|
|
7
8
|
const STORAGE_KEY = 'mostlygoodmetrics_events';
|
|
@@ -206,6 +207,56 @@ function createDefaultStorage(maxEvents) {
|
|
|
206
207
|
logger_1.logger.debug('LocalStorage not available, using in-memory storage');
|
|
207
208
|
return new InMemoryEventStorage(maxEvents);
|
|
208
209
|
}
|
|
210
|
+
/**
|
|
211
|
+
* localStorage-backed experiment storage adapter (default in browsers).
|
|
212
|
+
*/
|
|
213
|
+
class LocalStorageExperimentStorage {
|
|
214
|
+
getItem(key) {
|
|
215
|
+
try {
|
|
216
|
+
return localStorage.getItem(key);
|
|
217
|
+
}
|
|
218
|
+
catch (e) {
|
|
219
|
+
logger_1.logger.debug(`Failed to read '${key}' from localStorage`, e);
|
|
220
|
+
return null;
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
setItem(key, value) {
|
|
224
|
+
try {
|
|
225
|
+
localStorage.setItem(key, value);
|
|
226
|
+
}
|
|
227
|
+
catch (e) {
|
|
228
|
+
logger_1.logger.debug(`Failed to write '${key}' to localStorage`, e);
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
exports.LocalStorageExperimentStorage = LocalStorageExperimentStorage;
|
|
233
|
+
/**
|
|
234
|
+
* In-memory experiment storage adapter.
|
|
235
|
+
* Used as a fallback when localStorage is not available, or for testing.
|
|
236
|
+
*/
|
|
237
|
+
class InMemoryExperimentStorage {
|
|
238
|
+
constructor() {
|
|
239
|
+
this.values = new Map();
|
|
240
|
+
}
|
|
241
|
+
getItem(key) {
|
|
242
|
+
return this.values.get(key) ?? null;
|
|
243
|
+
}
|
|
244
|
+
setItem(key, value) {
|
|
245
|
+
this.values.set(key, value);
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
exports.InMemoryExperimentStorage = InMemoryExperimentStorage;
|
|
249
|
+
/**
|
|
250
|
+
* Create the appropriate experiment storage implementation for the environment.
|
|
251
|
+
* React Native apps should inject an AsyncStorage-backed adapter via the
|
|
252
|
+
* `experimentStorage` configuration option instead.
|
|
253
|
+
*/
|
|
254
|
+
function createDefaultExperimentStorage() {
|
|
255
|
+
if (isLocalStorageAvailable()) {
|
|
256
|
+
return new LocalStorageExperimentStorage();
|
|
257
|
+
}
|
|
258
|
+
return new InMemoryExperimentStorage();
|
|
259
|
+
}
|
|
209
260
|
/**
|
|
210
261
|
* Persistence helpers for user ID and app version.
|
|
211
262
|
* Uses cookies first (for cross-subdomain support), then localStorage as fallback.
|