react-native-featureflags 1.0.0 → 1.2.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/node_modules/@truflag/sdk-core/dist/cache.d.ts +8 -0
- package/node_modules/@truflag/sdk-core/dist/cache.d.ts.map +1 -0
- package/node_modules/@truflag/sdk-core/dist/cache.js +23 -0
- package/node_modules/@truflag/sdk-core/dist/cache.js.map +1 -0
- package/node_modules/@truflag/sdk-core/dist/client.d.ts +88 -0
- package/node_modules/@truflag/sdk-core/dist/client.d.ts.map +1 -0
- package/node_modules/@truflag/sdk-core/dist/client.js +843 -0
- package/node_modules/@truflag/sdk-core/dist/client.js.map +1 -0
- package/node_modules/@truflag/sdk-core/dist/constants.d.ts +18 -0
- package/node_modules/@truflag/sdk-core/dist/constants.d.ts.map +1 -0
- package/node_modules/@truflag/sdk-core/dist/constants.js +31 -0
- package/node_modules/@truflag/sdk-core/dist/constants.js.map +1 -0
- package/node_modules/@truflag/sdk-core/dist/evaluation.d.ts +6 -0
- package/node_modules/@truflag/sdk-core/dist/evaluation.d.ts.map +1 -0
- package/node_modules/@truflag/sdk-core/dist/evaluation.js +33 -0
- package/node_modules/@truflag/sdk-core/dist/evaluation.js.map +1 -0
- package/node_modules/@truflag/sdk-core/dist/identity.d.ts +4 -0
- package/node_modules/@truflag/sdk-core/dist/identity.d.ts.map +1 -0
- package/node_modules/@truflag/sdk-core/dist/identity.js +15 -0
- package/node_modules/@truflag/sdk-core/dist/identity.js.map +1 -0
- package/node_modules/@truflag/sdk-core/dist/index.d.ts +13 -0
- package/node_modules/@truflag/sdk-core/dist/index.d.ts.map +1 -0
- package/node_modules/@truflag/sdk-core/dist/index.js +13 -0
- package/node_modules/@truflag/sdk-core/dist/index.js.map +1 -0
- package/node_modules/@truflag/sdk-core/dist/logger.d.ts +4 -0
- package/node_modules/@truflag/sdk-core/dist/logger.d.ts.map +1 -0
- package/node_modules/@truflag/sdk-core/dist/logger.js +29 -0
- package/node_modules/@truflag/sdk-core/dist/logger.js.map +1 -0
- package/node_modules/@truflag/sdk-core/dist/network.d.ts +19 -0
- package/node_modules/@truflag/sdk-core/dist/network.d.ts.map +1 -0
- package/node_modules/@truflag/sdk-core/dist/network.js +61 -0
- package/node_modules/@truflag/sdk-core/dist/network.js.map +1 -0
- package/node_modules/@truflag/sdk-core/dist/retry.d.ts +6 -0
- package/node_modules/@truflag/sdk-core/dist/retry.d.ts.map +1 -0
- package/node_modules/@truflag/sdk-core/dist/retry.js +30 -0
- package/node_modules/@truflag/sdk-core/dist/retry.js.map +1 -0
- package/node_modules/@truflag/sdk-core/dist/runtime.d.ts +26 -0
- package/node_modules/@truflag/sdk-core/dist/runtime.d.ts.map +1 -0
- package/node_modules/@truflag/sdk-core/dist/runtime.js +5 -0
- package/node_modules/@truflag/sdk-core/dist/runtime.js.map +1 -0
- package/node_modules/@truflag/sdk-core/dist/store.d.ts +14 -0
- package/node_modules/@truflag/sdk-core/dist/store.d.ts.map +1 -0
- package/node_modules/@truflag/sdk-core/dist/store.js +34 -0
- package/node_modules/@truflag/sdk-core/dist/store.js.map +1 -0
- package/node_modules/@truflag/sdk-core/dist/types.d.ts +111 -0
- package/node_modules/@truflag/sdk-core/dist/types.d.ts.map +1 -0
- package/node_modules/@truflag/sdk-core/dist/types.js +2 -0
- package/node_modules/@truflag/sdk-core/dist/types.js.map +1 -0
- package/node_modules/@truflag/sdk-core/dist/validation.d.ts +3 -0
- package/node_modules/@truflag/sdk-core/dist/validation.d.ts.map +1 -0
- package/node_modules/@truflag/sdk-core/dist/validation.js +12 -0
- package/node_modules/@truflag/sdk-core/dist/validation.js.map +1 -0
- package/node_modules/@truflag/sdk-core/package.json +13 -0
- package/node_modules/@truflag/sdk-platform-react-native/dist/client.d.ts +10 -0
- package/node_modules/@truflag/sdk-platform-react-native/dist/client.d.ts.map +1 -0
- package/node_modules/@truflag/sdk-platform-react-native/dist/client.js +11 -0
- package/node_modules/@truflag/sdk-platform-react-native/dist/client.js.map +1 -0
- package/node_modules/@truflag/sdk-platform-react-native/dist/index.d.ts +5 -0
- package/node_modules/@truflag/sdk-platform-react-native/dist/index.d.ts.map +1 -0
- package/node_modules/@truflag/sdk-platform-react-native/dist/index.js +5 -0
- package/node_modules/@truflag/sdk-platform-react-native/dist/index.js.map +1 -0
- package/node_modules/@truflag/sdk-platform-react-native/dist/runtime.d.ts +8 -0
- package/node_modules/@truflag/sdk-platform-react-native/dist/runtime.d.ts.map +1 -0
- package/node_modules/@truflag/sdk-platform-react-native/dist/runtime.js +34 -0
- package/node_modules/@truflag/sdk-platform-react-native/dist/runtime.js.map +1 -0
- package/node_modules/@truflag/sdk-platform-react-native/dist/storage.d.ts +16 -0
- package/node_modules/@truflag/sdk-platform-react-native/dist/storage.d.ts.map +1 -0
- package/node_modules/@truflag/sdk-platform-react-native/dist/storage.js +21 -0
- package/node_modules/@truflag/sdk-platform-react-native/dist/storage.js.map +1 -0
- package/node_modules/@truflag/sdk-platform-react-native/package.json +13 -0
- package/package.json +8 -3
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { FlagSnapshot, StorageAdapter } from './types.js';
|
|
2
|
+
export interface CachedPayload {
|
|
3
|
+
snapshot: FlagSnapshot;
|
|
4
|
+
savedAt: number;
|
|
5
|
+
}
|
|
6
|
+
export declare function loadCachedSnapshot(storage: StorageAdapter, key: string, ttlMs: number): Promise<FlagSnapshot | undefined>;
|
|
7
|
+
export declare function persistCachedSnapshot(storage: StorageAdapter, key: string, snapshot: FlagSnapshot): Promise<void>;
|
|
8
|
+
//# sourceMappingURL=cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE1D,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,cAAc,EACvB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAanC;AAED,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,cAAc,EACvB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,YAAY,GACrB,OAAO,CAAC,IAAI,CAAC,CAMf"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export async function loadCachedSnapshot(storage, key, ttlMs) {
|
|
2
|
+
const raw = await storage.getItem(key);
|
|
3
|
+
if (!raw)
|
|
4
|
+
return undefined;
|
|
5
|
+
try {
|
|
6
|
+
const cached = JSON.parse(raw);
|
|
7
|
+
if (!cached.savedAt || Date.now() - cached.savedAt > ttlMs) {
|
|
8
|
+
return undefined;
|
|
9
|
+
}
|
|
10
|
+
return cached.snapshot;
|
|
11
|
+
}
|
|
12
|
+
catch {
|
|
13
|
+
return undefined;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export async function persistCachedSnapshot(storage, key, snapshot) {
|
|
17
|
+
const payload = {
|
|
18
|
+
snapshot,
|
|
19
|
+
savedAt: Date.now(),
|
|
20
|
+
};
|
|
21
|
+
await storage.setItem(key, JSON.stringify(payload));
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAuB,EACvB,GAAW,EACX,KAAa;IAEb,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACvC,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAE3B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAkB,CAAC;QAChD,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,OAAO,GAAG,KAAK,EAAE,CAAC;YAC3D,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,MAAM,CAAC,QAAQ,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAAuB,EACvB,GAAW,EACX,QAAsB;IAEtB,MAAM,OAAO,GAAkB;QAC7B,QAAQ;QACR,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE;KACpB,CAAC;IACF,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;AACtD,CAAC"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { TruflagUser, UserAttributes } from './types.js';
|
|
2
|
+
import { ConfigureOptions, ExposeOptions, FlagsInternalState, TrackOptions } from './types.js';
|
|
3
|
+
import { PlatformRuntime } from './runtime.js';
|
|
4
|
+
export declare class CoreFlagsClient {
|
|
5
|
+
private readonly runtime;
|
|
6
|
+
private readonly store;
|
|
7
|
+
private pollTimer;
|
|
8
|
+
private telemetryTimer;
|
|
9
|
+
private config?;
|
|
10
|
+
private requestSequence;
|
|
11
|
+
private anonymousDeviceId;
|
|
12
|
+
private readonly attributesByUserId;
|
|
13
|
+
private offlineFallbackFlags;
|
|
14
|
+
private telemetryQueue;
|
|
15
|
+
private readonly exposureIdentityByFlag;
|
|
16
|
+
private readonly assignmentIdentityByFlag;
|
|
17
|
+
private readonly readEvaluationIdentityByFlag;
|
|
18
|
+
private streamSocket;
|
|
19
|
+
private streamReconnectTimer;
|
|
20
|
+
private latestConfigVersion;
|
|
21
|
+
private configureSignature;
|
|
22
|
+
private configureInFlight;
|
|
23
|
+
constructor(runtime: PlatformRuntime);
|
|
24
|
+
subscribe: (callback: () => void) => () => void;
|
|
25
|
+
getState: () => FlagsInternalState;
|
|
26
|
+
configure(options: ConfigureOptions): Promise<void>;
|
|
27
|
+
private configureInternal;
|
|
28
|
+
login(user: TruflagUser): Promise<void>;
|
|
29
|
+
setAttributes(attributes: UserAttributes): Promise<void>;
|
|
30
|
+
identify(user: TruflagUser): Promise<void>;
|
|
31
|
+
logout(): Promise<void>;
|
|
32
|
+
refresh(): Promise<void>;
|
|
33
|
+
track(eventName: string, properties?: Record<string, unknown>, options?: TrackOptions): Promise<void>;
|
|
34
|
+
expose(flagKey: string, options?: ExposeOptions): Promise<void>;
|
|
35
|
+
notifyFlagRead(flagKey: string): void;
|
|
36
|
+
getFlag(key: string, defaultValue?: boolean): boolean;
|
|
37
|
+
getFeatureFlagValue<T>(key: string, defaultValue: T): T;
|
|
38
|
+
getFeatureFlagPayload(key: string): Record<string, unknown> | null;
|
|
39
|
+
getAllFlags(): Record<string, unknown>;
|
|
40
|
+
isReady(): boolean;
|
|
41
|
+
destroy(): void;
|
|
42
|
+
private unrefTimer;
|
|
43
|
+
private getStorage;
|
|
44
|
+
private getLogger;
|
|
45
|
+
private getUser;
|
|
46
|
+
private getTransport;
|
|
47
|
+
private getFlagOrThrow;
|
|
48
|
+
private enqueueTelemetryEvent;
|
|
49
|
+
private buildConfigureSignature;
|
|
50
|
+
private requireConfigured;
|
|
51
|
+
private resolveAnonymousUser;
|
|
52
|
+
private ensureAnonymousDeviceId;
|
|
53
|
+
private loadCachedUser;
|
|
54
|
+
private persistCachedUser;
|
|
55
|
+
private loadPersistedAssignmentKeys;
|
|
56
|
+
private persistAssignmentKeys;
|
|
57
|
+
private normalizeUser;
|
|
58
|
+
private normalizeAttributes;
|
|
59
|
+
private mergeUser;
|
|
60
|
+
private startPolling;
|
|
61
|
+
private stopPolling;
|
|
62
|
+
private startStreamOrPolling;
|
|
63
|
+
private startStreaming;
|
|
64
|
+
private stopStreaming;
|
|
65
|
+
private scheduleStreamReconnect;
|
|
66
|
+
private handleStreamMessage;
|
|
67
|
+
private resolveStreamUrl;
|
|
68
|
+
private startTelemetryFlush;
|
|
69
|
+
private stopTelemetryFlush;
|
|
70
|
+
private flushTelemetry;
|
|
71
|
+
private enqueueReadEvaluationEvents;
|
|
72
|
+
private enqueueAssignmentEvents;
|
|
73
|
+
private enqueueExposure;
|
|
74
|
+
private getFlagPayloadRecord;
|
|
75
|
+
private shouldEmitFlagIdentity;
|
|
76
|
+
private buildReadIdentity;
|
|
77
|
+
private buildExposureIdentity;
|
|
78
|
+
private buildAssignmentIdentity;
|
|
79
|
+
private buildFlagTelemetryIdentity;
|
|
80
|
+
private readStringProperty;
|
|
81
|
+
private getTelemetryIdentitySegment;
|
|
82
|
+
private joinTelemetryIdentityParts;
|
|
83
|
+
private fingerprintTelemetryValue;
|
|
84
|
+
private serializeTelemetryValue;
|
|
85
|
+
private clearError;
|
|
86
|
+
private extractOfflineFallbackFlags;
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|