react-native-featureflags 0.2.6 → 0.3.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/dist/client.d.ts CHANGED
@@ -11,9 +11,9 @@ export declare class ReactNativeFlagsClient {
11
11
  private readonly attributesByUserId;
12
12
  private offlineFallbackFlags;
13
13
  private telemetryQueue;
14
- private readonly exposureKeys;
15
- private readonly assignmentKeys;
16
- private readonly readEvaluationKeys;
14
+ private readonly exposureIdentityByFlag;
15
+ private readonly assignmentIdentityByFlag;
16
+ private readonly readEvaluationIdentityByFlag;
17
17
  private streamSocket;
18
18
  private streamReconnectTimer;
19
19
  private latestConfigVersion;
@@ -67,6 +67,17 @@ export declare class ReactNativeFlagsClient {
67
67
  private enqueueReadEvaluationEvents;
68
68
  private enqueueAssignmentEvents;
69
69
  private enqueueExposure;
70
+ private getFlagPayloadRecord;
71
+ private shouldEmitFlagIdentity;
72
+ private buildReadIdentity;
73
+ private buildExposureIdentity;
74
+ private buildAssignmentIdentity;
75
+ private buildFlagTelemetryIdentity;
76
+ private readStringProperty;
77
+ private getTelemetryIdentitySegment;
78
+ private joinTelemetryIdentityParts;
79
+ private fingerprintTelemetryValue;
80
+ private serializeTelemetryValue;
70
81
  private clearError;
71
82
  private extractOfflineFallbackFlags;
72
83
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/client.js CHANGED
@@ -39,9 +39,9 @@ export class ReactNativeFlagsClient {
39
39
  attributesByUserId = new Map();
40
40
  offlineFallbackFlags = {};
41
41
  telemetryQueue = [];
42
- exposureKeys = new Set();
43
- assignmentKeys = new Set();
44
- readEvaluationKeys = new Set();
42
+ exposureIdentityByFlag = new Map();
43
+ assignmentIdentityByFlag = new Map();
44
+ readEvaluationIdentityByFlag = new Map();
45
45
  streamSocket;
46
46
  streamReconnectTimer;
47
47
  latestConfigVersion;
@@ -95,9 +95,7 @@ export class ReactNativeFlagsClient {
95
95
  }
96
96
  this.store.setState(initialState);
97
97
  this.latestConfigVersion = undefined;
98
- this.exposureKeys.clear();
99
98
  await this.loadPersistedAssignmentKeys(storage);
100
- this.readEvaluationKeys.clear();
101
99
  this.clearError();
102
100
  await this.refresh();
103
101
  this.startStreamOrPolling();
@@ -107,8 +105,6 @@ export class ReactNativeFlagsClient {
107
105
  this.requireConfigured();
108
106
  const nextUser = this.mergeUser(user);
109
107
  this.store.patch({ user: nextUser });
110
- this.exposureKeys.clear();
111
- this.readEvaluationKeys.clear();
112
108
  await this.persistCachedUser(this.getStorage(), nextUser);
113
109
  await this.refresh();
114
110
  }
@@ -129,8 +125,6 @@ export class ReactNativeFlagsClient {
129
125
  await this.ensureAnonymousDeviceId(storage, this.getUser());
130
126
  const user = this.normalizeUser(toAnonymousUser(createAnonymousId()));
131
127
  this.store.patch({ user });
132
- this.exposureKeys.clear();
133
- this.readEvaluationKeys.clear();
134
128
  await this.persistCachedUser(storage, user);
135
129
  await this.refresh();
136
130
  }
@@ -394,18 +388,30 @@ export class ReactNativeFlagsClient {
394
388
  await storage.setItem(USER_CACHE_KEY, JSON.stringify(user));
395
389
  }
396
390
  async loadPersistedAssignmentKeys(storage) {
397
- this.assignmentKeys.clear();
391
+ this.assignmentIdentityByFlag.clear();
398
392
  const raw = await storage.getItem(ASSIGNMENT_KEYS_CACHE_KEY);
399
393
  if (!raw)
400
394
  return;
401
395
  try {
402
396
  const parsed = JSON.parse(raw);
403
- if (!Array.isArray(parsed))
397
+ if (Array.isArray(parsed)) {
398
+ const keys = parsed.filter((entry) => typeof entry === 'string' && entry.length > 0);
399
+ const tail = keys.slice(-MAX_PERSISTED_ASSIGNMENT_KEYS);
400
+ for (const key of tail) {
401
+ this.assignmentIdentityByFlag.set(`legacy:${this.assignmentIdentityByFlag.size}`, key);
402
+ }
404
403
  return;
405
- const keys = parsed.filter((entry) => typeof entry === 'string' && entry.length > 0);
406
- const tail = keys.slice(-MAX_PERSISTED_ASSIGNMENT_KEYS);
407
- for (const key of tail)
408
- this.assignmentKeys.add(key);
404
+ }
405
+ if (!parsed || typeof parsed !== 'object')
406
+ return;
407
+ const entries = Object.entries(parsed)
408
+ .filter((entry) => typeof entry[0] === 'string' && typeof entry[1] === 'string')
409
+ .slice(-MAX_PERSISTED_ASSIGNMENT_KEYS);
410
+ for (const [flagKey, identity] of entries) {
411
+ if (!flagKey || !identity)
412
+ continue;
413
+ this.assignmentIdentityByFlag.set(flagKey, identity);
414
+ }
409
415
  }
410
416
  catch {
411
417
  // Ignore malformed cache and proceed with empty set.
@@ -415,12 +421,12 @@ export class ReactNativeFlagsClient {
415
421
  const storage = this.config?.storage;
416
422
  if (!storage)
417
423
  return;
418
- const keys = Array.from(this.assignmentKeys);
419
- const tail = keys.slice(-MAX_PERSISTED_ASSIGNMENT_KEYS);
420
- this.assignmentKeys.clear();
421
- for (const key of tail)
422
- this.assignmentKeys.add(key);
423
- await storage.setItem(ASSIGNMENT_KEYS_CACHE_KEY, JSON.stringify(tail));
424
+ const entries = Array.from(this.assignmentIdentityByFlag.entries()).slice(-MAX_PERSISTED_ASSIGNMENT_KEYS);
425
+ this.assignmentIdentityByFlag.clear();
426
+ for (const [flagKey, identity] of entries) {
427
+ this.assignmentIdentityByFlag.set(flagKey, identity);
428
+ }
429
+ await storage.setItem(ASSIGNMENT_KEYS_CACHE_KEY, JSON.stringify(Object.fromEntries(entries)));
424
430
  }
425
431
  normalizeUser(user) {
426
432
  const normalized = { id: String(user.id) };
@@ -625,13 +631,11 @@ export class ReactNativeFlagsClient {
625
631
  return;
626
632
  const now = new Date().toISOString();
627
633
  const user = this.store.getState().user;
628
- const payload = flag.payload ?? {};
634
+ const payload = this.getFlagPayloadRecord(flag);
629
635
  const variationId = typeof payload === 'object' && typeof payload.variationId === 'string' ? payload.variationId : '';
630
- const configVersion = typeof payload === 'object' && typeof payload.configVersion === 'string' ? payload.configVersion : '';
631
- const readKey = `${user?.id ?? ''}:${flag.key}:${variationId}:${configVersion}`;
632
- if (this.readEvaluationKeys.has(readKey))
636
+ if (!this.shouldEmitFlagIdentity(this.readEvaluationIdentityByFlag, flag.key, this.buildReadIdentity(flag))) {
633
637
  return;
634
- this.readEvaluationKeys.add(readKey);
638
+ }
635
639
  const rawValue = flag.value === null || typeof flag.value === 'boolean' || typeof flag.value === 'number'
636
640
  ? flag.value
637
641
  : typeof flag.value === 'string'
@@ -677,20 +681,19 @@ export class ReactNativeFlagsClient {
677
681
  return;
678
682
  const now = new Date().toISOString();
679
683
  const user = this.store.getState().user;
680
- let addedKey = false;
684
+ let addedIdentity = false;
681
685
  for (const flag of flags) {
682
- const payload = (flag.payload ?? {});
686
+ const payload = this.getFlagPayloadRecord(flag);
683
687
  const experimentId = typeof payload.experimentId === 'string' ? payload.experimentId : '';
684
688
  const experimentArmId = typeof payload.experimentArmId === 'string' ? payload.experimentArmId : '';
685
689
  const assignmentId = typeof payload.assignmentId === 'string' ? payload.assignmentId : '';
686
690
  const configVersion = typeof payload.configVersion === 'string' ? payload.configVersion : '';
687
691
  if (!experimentId || !experimentArmId || !assignmentId)
688
692
  continue;
689
- const key = `${user?.id ?? ''}:${assignmentId}:${configVersion || 'noversion'}`;
690
- if (this.assignmentKeys.has(key))
693
+ if (!this.shouldEmitFlagIdentity(this.assignmentIdentityByFlag, flag.key, this.buildAssignmentIdentity(flag))) {
691
694
  continue;
692
- this.assignmentKeys.add(key);
693
- addedKey = true;
695
+ }
696
+ addedIdentity = true;
694
697
  this.enqueueTelemetryEvent({
695
698
  name: 'truflag.system.assignment',
696
699
  timestamp: now,
@@ -708,22 +711,20 @@ export class ReactNativeFlagsClient {
708
711
  },
709
712
  }, 'assignment');
710
713
  }
711
- if (addedKey)
714
+ if (addedIdentity)
712
715
  void this.persistAssignmentKeys();
713
716
  }
714
717
  async enqueueExposure(flag, options) {
715
- const payload = (flag.payload ?? {});
718
+ const payload = this.getFlagPayloadRecord(flag);
716
719
  const variationId = typeof payload.variationId === 'string' ? payload.variationId : '';
717
720
  const configVersion = typeof payload.configVersion === 'string' ? payload.configVersion : '';
718
721
  const experimentId = typeof payload.experimentId === 'string' ? payload.experimentId : '';
719
722
  const experimentArmId = typeof payload.experimentArmId === 'string' ? payload.experimentArmId : '';
720
723
  const assignmentId = typeof payload.assignmentId === 'string' ? payload.assignmentId : '';
721
724
  const includeExperimentProperties = Boolean(experimentId && experimentArmId && assignmentId);
722
- const user = this.store.getState().user;
723
- const exposureKey = `${user?.id ?? ''}:${flag.key}:${variationId}:${configVersion}`;
724
- if (this.exposureKeys.has(exposureKey))
725
+ if (!this.shouldEmitFlagIdentity(this.exposureIdentityByFlag, flag.key, this.buildExposureIdentity(flag))) {
725
726
  return;
726
- this.exposureKeys.add(exposureKey);
727
+ }
727
728
  await this.track('truflag.system.exposure', {
728
729
  sdkSource: this.sdkSource,
729
730
  flagKey: flag.key,
@@ -740,6 +741,93 @@ export class ReactNativeFlagsClient {
740
741
  ...(options?.properties ?? {}),
741
742
  }, options?.immediate !== undefined ? { immediate: options.immediate } : undefined);
742
743
  }
744
+ getFlagPayloadRecord(flag) {
745
+ const payload = flag.payload;
746
+ return payload && typeof payload === 'object' && !Array.isArray(payload)
747
+ ? payload
748
+ : {};
749
+ }
750
+ shouldEmitFlagIdentity(cache, cacheKey, identity) {
751
+ if (cache.get(cacheKey) === identity)
752
+ return false;
753
+ cache.set(cacheKey, identity);
754
+ return true;
755
+ }
756
+ buildReadIdentity(flag) {
757
+ return this.buildFlagTelemetryIdentity(flag, 'read');
758
+ }
759
+ buildExposureIdentity(flag) {
760
+ return this.buildFlagTelemetryIdentity(flag, 'exposure');
761
+ }
762
+ buildAssignmentIdentity(flag) {
763
+ const payload = this.getFlagPayloadRecord(flag);
764
+ return this.joinTelemetryIdentityParts([
765
+ 'assignment',
766
+ this.getTelemetryIdentitySegment('user', this.store.getState().user?.id),
767
+ this.getTelemetryIdentitySegment('anon', this.anonymousDeviceId),
768
+ this.getTelemetryIdentitySegment('env', this.readStringProperty(payload, 'environmentId')),
769
+ this.getTelemetryIdentitySegment('flag', flag.key),
770
+ this.getTelemetryIdentitySegment('config', this.readStringProperty(payload, 'configVersion')),
771
+ this.getTelemetryIdentitySegment('assignment', this.readStringProperty(payload, 'assignmentId')),
772
+ this.getTelemetryIdentitySegment('experiment', this.readStringProperty(payload, 'experimentId')),
773
+ this.getTelemetryIdentitySegment('arm', this.readStringProperty(payload, 'experimentArmId')),
774
+ this.getTelemetryIdentitySegment('variation', this.readStringProperty(payload, 'variationId')),
775
+ ]);
776
+ }
777
+ buildFlagTelemetryIdentity(flag, eventType) {
778
+ const payload = this.getFlagPayloadRecord(flag);
779
+ return this.joinTelemetryIdentityParts([
780
+ eventType,
781
+ this.getTelemetryIdentitySegment('user', this.store.getState().user?.id),
782
+ this.getTelemetryIdentitySegment('anon', this.anonymousDeviceId),
783
+ this.getTelemetryIdentitySegment('env', this.readStringProperty(payload, 'environmentId')),
784
+ this.getTelemetryIdentitySegment('flag', flag.key),
785
+ this.getTelemetryIdentitySegment('config', this.readStringProperty(payload, 'configVersion')),
786
+ this.getTelemetryIdentitySegment('assignment', this.readStringProperty(payload, 'assignmentId')),
787
+ this.getTelemetryIdentitySegment('variation', this.readStringProperty(payload, 'variationId')),
788
+ this.getTelemetryIdentitySegment('value', this.fingerprintTelemetryValue(flag.value)),
789
+ ]);
790
+ }
791
+ readStringProperty(payload, key) {
792
+ const value = payload[key];
793
+ return typeof value === 'string' ? value : '';
794
+ }
795
+ getTelemetryIdentitySegment(label, value) {
796
+ return `${label}=${String(value ?? '')}`;
797
+ }
798
+ joinTelemetryIdentityParts(parts) {
799
+ return parts.join('|');
800
+ }
801
+ fingerprintTelemetryValue(value) {
802
+ const serialized = this.serializeTelemetryValue(value);
803
+ let hash = 2166136261;
804
+ for (let index = 0; index < serialized.length; index += 1) {
805
+ hash ^= serialized.charCodeAt(index);
806
+ hash = Math.imul(hash, 16777619);
807
+ }
808
+ return `${serialized.length}:${(hash >>> 0).toString(16)}`;
809
+ }
810
+ serializeTelemetryValue(value) {
811
+ if (value === null)
812
+ return 'null';
813
+ if (value === undefined)
814
+ return 'undefined';
815
+ if (typeof value === 'string')
816
+ return JSON.stringify(value);
817
+ if (typeof value === 'number' || typeof value === 'boolean' || typeof value === 'bigint') {
818
+ return String(value);
819
+ }
820
+ if (Array.isArray(value)) {
821
+ return `[${value.map((entry) => this.serializeTelemetryValue(entry)).join(',')}]`;
822
+ }
823
+ if (typeof value === 'object') {
824
+ const entries = Object.entries(value).sort(([left], [right]) => left.localeCompare(right));
825
+ return `{${entries
826
+ .map(([key, entryValue]) => `${JSON.stringify(key)}:${this.serializeTelemetryValue(entryValue)}`)
827
+ .join(',')}}`;
828
+ }
829
+ return String(value);
830
+ }
743
831
  clearError() {
744
832
  const state = this.store.getState();
745
833
  if (state.error === undefined)
@@ -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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"}
@@ -17,6 +17,7 @@ declare class FlagsApi {
17
17
  getAllFlags(): Record<string, unknown>;
18
18
  isReady(): boolean;
19
19
  subscribe(callback: () => void): () => void;
20
+ destroy(): void;
20
21
  }
21
22
  declare const Flags: FlagsApi;
22
23
  export default Flags;
@@ -1 +1 @@
1
- {"version":3,"file":"singleton.d.ts","sourceRoot":"","sources":["../src/singleton.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEjE,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE3E,cAAM,QAAQ;IACZ,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgC;IAEvD,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAInD,KAAK,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvC,QAAQ,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1C,aAAa,CAAC,UAAU,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxD,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAIvB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrG,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/D,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIrC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,UAAQ,GAAG,OAAO;IAInD,mBAAmB,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC;IAIvD,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAIlE,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAItC,OAAO,IAAI,OAAO;IAIlB,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;CAG5C;AAED,QAAA,MAAM,KAAK,UAAiB,CAAC;AAE7B,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"singleton.d.ts","sourceRoot":"","sources":["../src/singleton.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEjE,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE3E,cAAM,QAAQ;IACZ,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgC;IAEvD,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAInD,KAAK,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvC,QAAQ,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1C,aAAa,CAAC,UAAU,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxD,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAIvB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrG,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/D,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIrC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,UAAQ,GAAG,OAAO;IAInD,mBAAmB,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC;IAIvD,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAIlE,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAItC,OAAO,IAAI,OAAO;IAIlB,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAI3C,OAAO,IAAI,IAAI;CAGhB;AAED,QAAA,MAAM,KAAK,UAAiB,CAAC;AAE7B,eAAe,KAAK,CAAC"}
package/dist/singleton.js CHANGED
@@ -46,6 +46,9 @@ class FlagsApi {
46
46
  subscribe(callback) {
47
47
  return this.client.subscribe(callback);
48
48
  }
49
+ destroy() {
50
+ this.client.destroy();
51
+ }
49
52
  }
50
53
  const Flags = new FlagsApi();
51
54
  export default Flags;
@@ -1 +1 @@
1
- {"version":3,"file":"singleton.js","sourceRoot":"","sources":["../src/singleton.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAGrD,MAAM,QAAQ;IACK,MAAM,GAAG,IAAI,sBAAsB,EAAE,CAAC;IAEvD,SAAS,CAAC,OAAyB;QACjC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,IAAiB;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,QAAQ,CAAC,IAAiB;QACxB,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,aAAa,CAAC,UAA0B;QACtC,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IAC9B,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,SAAiB,EAAE,UAAoC,EAAE,OAAsB;QACnF,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,CAAC,OAAe,EAAE,OAAuB;QAC7C,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,cAAc,CAAC,OAAe;QAC5B,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,CAAC,GAAW,EAAE,YAAY,GAAG,KAAK;QACvC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAChD,CAAC;IAED,mBAAmB,CAAI,GAAW,EAAE,YAAe;QACjD,OAAO,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAC5D,CAAC;IAED,qBAAqB,CAAC,GAAW;QAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAChD,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;IACnC,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IAC/B,CAAC;IAED,SAAS,CAAC,QAAoB;QAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;CACF;AAED,MAAM,KAAK,GAAG,IAAI,QAAQ,EAAE,CAAC;AAE7B,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"singleton.js","sourceRoot":"","sources":["../src/singleton.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAGrD,MAAM,QAAQ;IACK,MAAM,GAAG,IAAI,sBAAsB,EAAE,CAAC;IAEvD,SAAS,CAAC,OAAyB;QACjC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,IAAiB;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,QAAQ,CAAC,IAAiB;QACxB,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,aAAa,CAAC,UAA0B;QACtC,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IAC9B,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,SAAiB,EAAE,UAAoC,EAAE,OAAsB;QACnF,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,CAAC,OAAe,EAAE,OAAuB;QAC7C,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,cAAc,CAAC,OAAe;QAC5B,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,CAAC,GAAW,EAAE,YAAY,GAAG,KAAK;QACvC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAChD,CAAC;IAED,mBAAmB,CAAI,GAAW,EAAE,YAAe;QACjD,OAAO,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAC5D,CAAC;IAED,qBAAqB,CAAC,GAAW;QAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAChD,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;IACnC,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IAC/B,CAAC;IAED,SAAS,CAAC,QAAoB;QAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED,OAAO;QACL,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;CACF;AAED,MAAM,KAAK,GAAG,IAAI,QAAQ,EAAE,CAAC;AAE7B,eAAe,KAAK,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-featureflags",
3
- "version": "0.2.6",
3
+ "version": "0.3.0",
4
4
  "description": "React Native SDK for Truflag feature flags",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",