@launchdarkly/react-native-client-sdk 10.3.0 → 10.4.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/CHANGELOG.md +32 -0
- package/dist/package.json +2 -2
- package/dist/src/RNOptions.d.ts +28 -0
- package/dist/src/RNOptions.d.ts.map +1 -0
- package/dist/src/RNOptions.js +2 -0
- package/dist/src/RNOptions.js.map +1 -0
- package/dist/src/RNStateDetector.d.ts +2 -0
- package/dist/src/RNStateDetector.d.ts.map +1 -0
- package/dist/src/RNStateDetector.js +41 -0
- package/dist/src/RNStateDetector.js.map +1 -0
- package/dist/src/ReactNativeLDClient.d.ts +7 -1
- package/dist/src/ReactNativeLDClient.d.ts.map +1 -1
- package/dist/src/ReactNativeLDClient.js +45 -2
- package/dist/src/ReactNativeLDClient.js.map +1 -1
- package/dist/src/fromExternal/react-native-sse/EventSource.js +1 -1
- package/dist/src/fromExternal/react-native-sse/EventSource.js.map +1 -1
- package/dist/src/index.d.ts +2 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/options.d.ts +10 -0
- package/dist/src/options.d.ts.map +1 -0
- package/dist/src/options.js +37 -0
- package/dist/src/options.js.map +1 -0
- package/dist/src/platform/ConnectionManager.d.ts +2 -0
- package/dist/src/platform/ConnectionManager.d.ts.map +1 -0
- package/dist/src/platform/ConnectionManager.js +110 -0
- package/dist/src/platform/ConnectionManager.js.map +1 -0
- package/dist/src/platform/PlatformEncoding.d.ts +5 -0
- package/dist/src/platform/PlatformEncoding.d.ts.map +1 -0
- package/dist/src/platform/PlatformEncoding.js +7 -0
- package/dist/src/platform/PlatformEncoding.js.map +1 -0
- package/dist/src/platform/PlatformInfo.d.ts +8 -0
- package/dist/src/platform/PlatformInfo.d.ts.map +1 -0
- package/dist/src/platform/PlatformInfo.js +26 -0
- package/dist/src/platform/PlatformInfo.js.map +1 -0
- package/dist/src/platform/PlatformRequests.d.ts +8 -0
- package/dist/src/platform/PlatformRequests.d.ts.map +1 -0
- package/dist/src/platform/PlatformRequests.js +18 -0
- package/dist/src/platform/PlatformRequests.js.map +1 -0
- package/dist/src/platform/PlatformStorage.d.ts +9 -0
- package/dist/src/platform/PlatformStorage.d.ts.map +1 -0
- package/dist/src/platform/PlatformStorage.js +28 -0
- package/dist/src/platform/PlatformStorage.js.map +1 -0
- package/dist/src/platform/index.d.ts +1 -9
- package/dist/src/platform/index.d.ts.map +1 -1
- package/dist/src/platform/index.js +4 -76
- package/dist/src/platform/index.js.map +1 -1
- package/dist/src/provider/LDProvider.d.ts.map +1 -1
- package/dist/src/provider/LDProvider.js +0 -2
- package/dist/src/provider/LDProvider.js.map +1 -1
- package/package.json +2 -2
- package/dist/src/provider/useAppState.d.ts +0 -13
- package/dist/src/provider/useAppState.d.ts.map +0 -1
- package/dist/src/provider/useAppState.js +0 -50
- package/dist/src/provider/useAppState.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,37 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [10.4.0](https://github.com/launchdarkly/js-core/compare/react-native-client-sdk-v10.3.1...react-native-client-sdk-v10.4.0) (2024-08-12)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* Add configuration validation for ReactNative specific configuration. ([#532](https://github.com/launchdarkly/js-core/issues/532)) ([c1490e2](https://github.com/launchdarkly/js-core/commit/c1490e22d0b3fb4d7df878aabab0ea24db502fb6))
|
|
9
|
+
* Add connection mananger. ([#522](https://github.com/launchdarkly/js-core/issues/522)) ([5bf8b16](https://github.com/launchdarkly/js-core/commit/5bf8b16e26e7d8cbbd18524f1c13f773de457b82))
|
|
10
|
+
* Implement polling support. ([#524](https://github.com/launchdarkly/js-core/issues/524)) ([a99048e](https://github.com/launchdarkly/js-core/commit/a99048e0cebaafd536f79114c4727524b8f7357d))
|
|
11
|
+
* Refactor application state handling. ([#523](https://github.com/launchdarkly/js-core/issues/523)) ([f5b81e6](https://github.com/launchdarkly/js-core/commit/f5b81e6fc571dc9d97a18d07f382c77cd938fd65))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Bug Fixes
|
|
15
|
+
|
|
16
|
+
* Fix field visibility. ([#530](https://github.com/launchdarkly/js-core/issues/530)) ([21fb18b](https://github.com/launchdarkly/js-core/commit/21fb18b40139583b44a4185fb689b043547641ab))
|
|
17
|
+
* Handle non-status code errors for streaming connection. ([#533](https://github.com/launchdarkly/js-core/issues/533)) ([fc4645e](https://github.com/launchdarkly/js-core/commit/fc4645eb7d70425e7ea615e275e5ad1e488365d4))
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Dependencies
|
|
21
|
+
|
|
22
|
+
* The following workspace dependencies were updated
|
|
23
|
+
* dependencies
|
|
24
|
+
* @launchdarkly/js-client-sdk-common bumped from 1.2.0 to 1.3.0
|
|
25
|
+
|
|
26
|
+
## [10.3.1](https://github.com/launchdarkly/js-core/compare/react-native-client-sdk-v10.3.0...react-native-client-sdk-v10.3.1) (2024-07-31)
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
### Dependencies
|
|
30
|
+
|
|
31
|
+
* The following workspace dependencies were updated
|
|
32
|
+
* dependencies
|
|
33
|
+
* @launchdarkly/js-client-sdk-common bumped from 1.1.5 to 1.2.0
|
|
34
|
+
|
|
3
35
|
## [10.3.0](https://github.com/launchdarkly/js-core/compare/react-native-client-sdk-v10.2.1...react-native-client-sdk-v10.3.0) (2024-07-19)
|
|
4
36
|
|
|
5
37
|
|
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@launchdarkly/react-native-client-sdk",
|
|
3
|
-
"version": "10.
|
|
3
|
+
"version": "10.4.0",
|
|
4
4
|
"description": "React Native LaunchDarkly SDK",
|
|
5
5
|
"homepage": "https://github.com/launchdarkly/js-core/tree/main/packages/sdk/react-native",
|
|
6
6
|
"repository": {
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"react-native": "*"
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"@launchdarkly/js-client-sdk-common": "1.
|
|
46
|
+
"@launchdarkly/js-client-sdk-common": "1.3.0",
|
|
47
47
|
"@react-native-async-storage/async-storage": "^1.21.0",
|
|
48
48
|
"base64-js": "^1.5.1",
|
|
49
49
|
"event-target-shim": "^6.0.2"
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { LDOptions } from '@launchdarkly/js-client-sdk-common';
|
|
2
|
+
export interface RNSpecificOptions {
|
|
3
|
+
/**
|
|
4
|
+
* Some platforms (windows, web, mac, linux) can continue executing code
|
|
5
|
+
* in the background.
|
|
6
|
+
*
|
|
7
|
+
* Defaults to false.
|
|
8
|
+
*/
|
|
9
|
+
readonly runInBackground?: boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Enable handling of network availability. When this is true the
|
|
12
|
+
* connection state will automatically change when network
|
|
13
|
+
* availability changes.
|
|
14
|
+
*
|
|
15
|
+
* Defaults to true.
|
|
16
|
+
*/
|
|
17
|
+
readonly automaticNetworkHandling?: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Enable handling associated with transitioning between the foreground
|
|
20
|
+
* and background.
|
|
21
|
+
*
|
|
22
|
+
* Defaults to true.
|
|
23
|
+
*/
|
|
24
|
+
readonly automaticBackgroundHandling?: boolean;
|
|
25
|
+
}
|
|
26
|
+
export default interface RNOptions extends LDOptions, RNSpecificOptions {
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=RNOptions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RNOptions.d.ts","sourceRoot":"","sources":["../../src/RNOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAE/D,MAAM,WAAW,iBAAiB;IAChC;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IAEnC;;;;;;OAMG;IACH,QAAQ,CAAC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAE5C;;;;;OAKG;IACH,QAAQ,CAAC,2BAA2B,CAAC,EAAE,OAAO,CAAC;CAChD;AAED,MAAM,CAAC,OAAO,WAAW,SAAU,SAAQ,SAAS,EAAE,iBAAiB;CAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RNOptions.js","sourceRoot":"","sources":["../../src/RNOptions.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RNStateDetector.d.ts","sourceRoot":"","sources":["../../src/RNStateDetector.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { AppState } from 'react-native';
|
|
2
|
+
import { ApplicationState } from './platform/ConnectionManager';
|
|
3
|
+
/**
|
|
4
|
+
* @internal
|
|
5
|
+
*/
|
|
6
|
+
function translateAppState(state) {
|
|
7
|
+
switch (state) {
|
|
8
|
+
case 'active':
|
|
9
|
+
return ApplicationState.Foreground;
|
|
10
|
+
case 'inactive':
|
|
11
|
+
case 'background':
|
|
12
|
+
case 'extension':
|
|
13
|
+
default:
|
|
14
|
+
return ApplicationState.Background;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* @internal
|
|
19
|
+
*/
|
|
20
|
+
export default class RNStateDetector {
|
|
21
|
+
constructor() {
|
|
22
|
+
AppState.addEventListener('change', (state) => {
|
|
23
|
+
var _a;
|
|
24
|
+
(_a = this.applicationStateListener) === null || _a === void 0 ? void 0 : _a.call(this, translateAppState(state));
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
setApplicationStateListener(fn) {
|
|
28
|
+
this.applicationStateListener = fn;
|
|
29
|
+
// When you listen provide the current state immediately.
|
|
30
|
+
this.applicationStateListener(translateAppState(AppState.currentState));
|
|
31
|
+
}
|
|
32
|
+
setNetworkStateListener(fn) {
|
|
33
|
+
this.networkStateListener = fn;
|
|
34
|
+
// Not implemented.
|
|
35
|
+
}
|
|
36
|
+
stopListening() {
|
|
37
|
+
this.applicationStateListener = undefined;
|
|
38
|
+
this.networkStateListener = undefined;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=RNStateDetector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RNStateDetector.js","sourceRoot":"","sources":["../../src/RNStateDetector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAkB,MAAM,cAAc,CAAC;AAExD,OAAO,EAAE,gBAAgB,EAA+B,MAAM,8BAA8B,CAAC;AAE7F;;GAEG;AACH,SAAS,iBAAiB,CAAC,KAAqB;IAC9C,QAAQ,KAAK,EAAE;QACb,KAAK,QAAQ;YACX,OAAO,gBAAgB,CAAC,UAAU,CAAC;QACrC,KAAK,UAAU,CAAC;QAChB,KAAK,YAAY,CAAC;QAClB,KAAK,WAAW,CAAC;QACjB;YACE,OAAO,gBAAgB,CAAC,UAAU,CAAC;KACtC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,eAAe;IAIlC;QACE,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,KAAqB,EAAE,EAAE;;YAC5D,MAAA,IAAI,CAAC,wBAAwB,qDAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;IACL,CAAC;IAED,2BAA2B,CAAC,EAAqC;QAC/D,IAAI,CAAC,wBAAwB,GAAG,EAAE,CAAC;QACnC,yDAAyD;QACzD,IAAI,CAAC,wBAAwB,CAAC,iBAAiB,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,uBAAuB,CAAC,EAAiC;QACvD,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;QAC/B,mBAAmB;IACrB,CAAC;IAED,aAAa;QACX,IAAI,CAAC,wBAAwB,GAAG,SAAS,CAAC;QAC1C,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC;IACxC,CAAC;CACF"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { AutoEnvAttributes, LDClientImpl, type LDContext
|
|
1
|
+
import { AutoEnvAttributes, ConnectionMode, LDClientImpl, type LDContext } from '@launchdarkly/js-client-sdk-common';
|
|
2
|
+
import LDOptions from './RNOptions';
|
|
2
3
|
/**
|
|
3
4
|
* The React Native LaunchDarkly client. Instantiate this class to create an
|
|
4
5
|
* instance of the ReactNativeLDClient and pass it to the {@link LDProvider}.
|
|
@@ -13,6 +14,7 @@ import { AutoEnvAttributes, LDClientImpl, type LDContext, type LDOptions } from
|
|
|
13
14
|
* ```
|
|
14
15
|
*/
|
|
15
16
|
export default class ReactNativeLDClient extends LDClientImpl {
|
|
17
|
+
private connectionManager;
|
|
16
18
|
/**
|
|
17
19
|
* Creates an instance of the LaunchDarkly client.
|
|
18
20
|
*
|
|
@@ -24,6 +26,10 @@ export default class ReactNativeLDClient extends LDClientImpl {
|
|
|
24
26
|
* @param options {@link LDOptions} to initialize the client with.
|
|
25
27
|
*/
|
|
26
28
|
constructor(sdkKey: string, autoEnvAttributes: AutoEnvAttributes, options?: LDOptions);
|
|
29
|
+
private baseSetConnectionMode;
|
|
30
|
+
private encodeContext;
|
|
27
31
|
createStreamUriPath(context: LDContext): string;
|
|
32
|
+
createPollUriPath(context: LDContext): string;
|
|
33
|
+
setConnectionMode(mode: ConnectionMode): Promise<void>;
|
|
28
34
|
}
|
|
29
35
|
//# sourceMappingURL=ReactNativeLDClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReactNativeLDClient.d.ts","sourceRoot":"","sources":["../../src/ReactNativeLDClient.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ReactNativeLDClient.d.ts","sourceRoot":"","sources":["../../src/ReactNativeLDClient.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,EAGjB,cAAc,EAEd,YAAY,EACZ,KAAK,SAAS,EACf,MAAM,oCAAoC,CAAC;AAK5C,OAAO,SAAS,MAAM,aAAa,CAAC;AAGpC;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,YAAY;IAC3D,OAAO,CAAC,iBAAiB,CAAoB;IAC7C;;;;;;;;;OASG;gBACS,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,OAAO,GAAE,SAAc;IAqDzF,OAAO,CAAC,qBAAqB;IAK7B,OAAO,CAAC,aAAa;IAIZ,mBAAmB,CAAC,OAAO,EAAE,SAAS;IAItC,iBAAiB,CAAC,OAAO,EAAE,SAAS,GAAG,MAAM;IAIvC,iBAAiB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CAOtE"}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
+
/* eslint-disable max-classes-per-file */
|
|
1
2
|
import { base64UrlEncode, BasicLogger, LDClientImpl, } from '@launchdarkly/js-client-sdk-common';
|
|
3
|
+
import validateOptions, { filterToBaseOptions } from './options';
|
|
2
4
|
import createPlatform from './platform';
|
|
5
|
+
import { ConnectionManager } from './platform/ConnectionManager';
|
|
6
|
+
import RNStateDetector from './RNStateDetector';
|
|
3
7
|
/**
|
|
4
8
|
* The React Native LaunchDarkly client. Instantiate this class to create an
|
|
5
9
|
* instance of the ReactNativeLDClient and pass it to the {@link LDProvider}.
|
|
@@ -25,6 +29,7 @@ export default class ReactNativeLDClient extends LDClientImpl {
|
|
|
25
29
|
* @param options {@link LDOptions} to initialize the client with.
|
|
26
30
|
*/
|
|
27
31
|
constructor(sdkKey, autoEnvAttributes, options = {}) {
|
|
32
|
+
var _a;
|
|
28
33
|
const { logger: customLogger, debug } = options;
|
|
29
34
|
const logger = customLogger !== null && customLogger !== void 0 ? customLogger : new BasicLogger({
|
|
30
35
|
level: debug ? 'debug' : 'info',
|
|
@@ -36,10 +41,48 @@ export default class ReactNativeLDClient extends LDClientImpl {
|
|
|
36
41
|
diagnosticEventPath: `/mobile/events/diagnostic`,
|
|
37
42
|
highTimeoutThreshold: 15,
|
|
38
43
|
};
|
|
39
|
-
super(sdkKey, autoEnvAttributes, createPlatform(logger), Object.assign(Object.assign({}, options), { logger }), internalOptions);
|
|
44
|
+
super(sdkKey, autoEnvAttributes, createPlatform(logger), Object.assign(Object.assign({}, filterToBaseOptions(options)), { logger }), internalOptions);
|
|
45
|
+
const destination = {
|
|
46
|
+
setNetworkAvailability: (available) => {
|
|
47
|
+
this.setNetworkAvailability(available);
|
|
48
|
+
},
|
|
49
|
+
setEventSendingEnabled: (enabled, flush) => {
|
|
50
|
+
this.setEventSendingEnabled(enabled, flush);
|
|
51
|
+
},
|
|
52
|
+
setConnectionMode: async (mode) => {
|
|
53
|
+
// Pass the connection mode to the base implementation.
|
|
54
|
+
// The RN implementation will pass the connection mode through the connection manager.
|
|
55
|
+
this.baseSetConnectionMode(mode);
|
|
56
|
+
},
|
|
57
|
+
};
|
|
58
|
+
const validatedRnOptions = validateOptions(options, logger);
|
|
59
|
+
const initialConnectionMode = (_a = options.initialConnectionMode) !== null && _a !== void 0 ? _a : 'streaming';
|
|
60
|
+
this.connectionManager = new ConnectionManager(logger, {
|
|
61
|
+
initialConnectionMode,
|
|
62
|
+
automaticNetworkHandling: validatedRnOptions.automaticNetworkHandling,
|
|
63
|
+
automaticBackgroundHandling: validatedRnOptions.automaticBackgroundHandling,
|
|
64
|
+
runInBackground: validatedRnOptions.runInBackground,
|
|
65
|
+
}, destination, new RNStateDetector());
|
|
66
|
+
}
|
|
67
|
+
baseSetConnectionMode(mode) {
|
|
68
|
+
// Jest had problems with calls to super from nested arrow functions, so this method proxies the call.
|
|
69
|
+
super.setConnectionMode(mode);
|
|
70
|
+
}
|
|
71
|
+
encodeContext(context) {
|
|
72
|
+
return base64UrlEncode(JSON.stringify(context), this.platform.encoding);
|
|
40
73
|
}
|
|
41
74
|
createStreamUriPath(context) {
|
|
42
|
-
return `/meval/${
|
|
75
|
+
return `/meval/${this.encodeContext(context)}`;
|
|
76
|
+
}
|
|
77
|
+
createPollUriPath(context) {
|
|
78
|
+
return `/msdk/evalx/contexts/${this.encodeContext(context)}`;
|
|
79
|
+
}
|
|
80
|
+
async setConnectionMode(mode) {
|
|
81
|
+
// Set the connection mode before setting offline, in case there is any mode transition work
|
|
82
|
+
// such as flushing on entering the background.
|
|
83
|
+
this.connectionManager.setConnectionMode(mode);
|
|
84
|
+
// For now the data source connection and the event processing state are connected.
|
|
85
|
+
this.connectionManager.setOffline(mode === 'offline');
|
|
43
86
|
}
|
|
44
87
|
}
|
|
45
88
|
//# sourceMappingURL=ReactNativeLDClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReactNativeLDClient.js","sourceRoot":"","sources":["../../src/ReactNativeLDClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,eAAe,EACf,WAAW,
|
|
1
|
+
{"version":3,"file":"ReactNativeLDClient.js","sourceRoot":"","sources":["../../src/ReactNativeLDClient.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,OAAO,EAEL,eAAe,EACf,WAAW,EAGX,YAAY,GAEb,MAAM,oCAAoC,CAAC;AAE5C,OAAO,eAAe,EAAE,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,cAAc,MAAM,YAAY,CAAC;AACxC,OAAO,EAAyB,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAExF,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAEhD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,YAAY;IAE3D;;;;;;;;;OASG;IACH,YAAY,MAAc,EAAE,iBAAoC,EAAE,UAAqB,EAAE;;QACvF,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;QAChD,MAAM,MAAM,GACV,YAAY,aAAZ,YAAY,cAAZ,YAAY,GACZ,IAAI,WAAW,CAAC;YACd,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;YAC/B,sCAAsC;YACtC,WAAW,EAAE,OAAO,CAAC,GAAG;SACzB,CAAC,CAAC;QAEL,MAAM,eAAe,GAA+B;YAClD,kBAAkB,EAAE,SAAS;YAC7B,mBAAmB,EAAE,2BAA2B;YAChD,oBAAoB,EAAE,EAAE;SACzB,CAAC;QAEF,KAAK,CACH,MAAM,EACN,iBAAiB,EACjB,cAAc,CAAC,MAAM,CAAC,kCACjB,mBAAmB,CAAC,OAAO,CAAC,KAAE,MAAM,KACzC,eAAe,CAChB,CAAC;QAEF,MAAM,WAAW,GAA0B;YACzC,sBAAsB,EAAE,CAAC,SAAkB,EAAE,EAAE;gBAC7C,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;YACzC,CAAC;YACD,sBAAsB,EAAE,CAAC,OAAgB,EAAE,KAAc,EAAE,EAAE;gBAC3D,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC9C,CAAC;YACD,iBAAiB,EAAE,KAAK,EAAE,IAAoB,EAAE,EAAE;gBAChD,uDAAuD;gBACvD,sFAAsF;gBACtF,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;YACnC,CAAC;SACF,CAAC;QAEF,MAAM,kBAAkB,GAAG,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC5D,MAAM,qBAAqB,GAAG,MAAA,OAAO,CAAC,qBAAqB,mCAAI,WAAW,CAAC;QAC3E,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,CAC5C,MAAM,EACN;YACE,qBAAqB;YACrB,wBAAwB,EAAE,kBAAkB,CAAC,wBAAwB;YACrE,2BAA2B,EAAE,kBAAkB,CAAC,2BAA2B;YAC3E,eAAe,EAAE,kBAAkB,CAAC,eAAe;SACpD,EACD,WAAW,EACX,IAAI,eAAe,EAAE,CACtB,CAAC;IACJ,CAAC;IAEO,qBAAqB,CAAC,IAAoB;QAChD,sGAAsG;QACtG,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAEO,aAAa,CAAC,OAAkB;QACtC,OAAO,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAS,CAAC,CAAC;IAC3E,CAAC;IAEQ,mBAAmB,CAAC,OAAkB;QAC7C,OAAO,UAAU,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;IACjD,CAAC;IAEQ,iBAAiB,CAAC,OAAkB;QAC3C,OAAO,wBAAwB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;IAC/D,CAAC;IAEQ,KAAK,CAAC,iBAAiB,CAAC,IAAoB;QACnD,4FAA4F;QAC5F,+CAA+C;QAC/C,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC/C,mFAAmF;QACnF,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IACxD,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventSource.js","sourceRoot":"","sources":["../../../../src/fromExternal/react-native-sse/EventSource.ts"],"names":[],"mappings":"AAUA,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;AAErF,MAAM,cAAc,GAAuB;IACzC,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,EAAE;IACX,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,CAAC;IACV,eAAe,EAAE,KAAK;IACtB,mBAAmB,EAAE,SAAS;IAC9B,uBAAuB,EAAE,IAAI;IAC7B,MAAM,EAAE,SAAS;CAClB,CAAC;AAEF,MAAM,aAAa,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,kCAAkC;AACnE,MAAM,WAAW,GAAG,GAAG,CAAC,CAAC,+CAA+C;AAExE,MAAM,UAAU,OAAO,CAAC,IAAY,EAAE,UAAkB;IACtD,MAAM,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IAC7C,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,mBAA2B;IAChD,OAAO,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,WAAW,GAAG,mBAAmB,CAAC,CAAC;AAC7F,CAAC;AAED,MAAM,CAAC,OAAO,OAAO,WAAW;IA8B9B,YAAY,GAAW,EAAE,OAA4B;QA7BrD,UAAK,GAAG,CAAC,CAAC,CAAC;QACX,eAAU,GAAG,CAAC,CAAC;QACf,SAAI,GAAG,CAAC,CAAC;QACT,WAAM,GAAG,CAAC,CAAC;QAGH,uBAAkB,GAAG,CAAC,CAAC;QAEvB,WAAM,GAAG,IAAI,CAAC,UAAU,CAAC;QACzB,kBAAa,GAAQ;YAC3B,IAAI,EAAE,EAAE;YACR,OAAO,EAAE,EAAE;YACX,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,EAAE;SACV,CAAC;QAQM,QAAG,GAAmB,IAAI,cAAc,EAAE,CAAC;QAG3C,4BAAuB,GAAW,IAAI,CAAC;QACvC,eAAU,GAAW,CAAC,CAAC;QAI7B,MAAM,IAAI,mCACL,cAAc,GACd,OAAO,CACX,CAAC;QAEF,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAO,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAQ,CAAC;QAC7B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAgB,CAAC;QAC7C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAQ,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACpD,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,uBAAwB,CAAC;QAC7D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAE1B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAEO,iBAAiB;QACvB,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAC7E,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;QACrB,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,UAAU,CAAC,oBAA6B,KAAK;;QACnD,IAAI,KAAK,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC7D,
|
|
1
|
+
{"version":3,"file":"EventSource.js","sourceRoot":"","sources":["../../../../src/fromExternal/react-native-sse/EventSource.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import ReactNativeLDClient from './ReactNativeLDClient';
|
|
2
|
+
import RNOptions from './RNOptions';
|
|
2
3
|
export * from '@launchdarkly/js-client-sdk-common';
|
|
3
4
|
export * from './hooks';
|
|
4
5
|
export * from './provider';
|
|
5
|
-
export { ReactNativeLDClient };
|
|
6
|
+
export { ReactNativeLDClient, RNOptions as LDOptions };
|
|
6
7
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAQA,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAQA,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,SAAS,MAAM,aAAa,CAAC;AAIpC,cAAc,oCAAoC,CAAC;AAEnD,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,mBAAmB,EAAE,SAAS,IAAI,SAAS,EAAE,CAAC"}
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AAGxD,aAAa,EAAE,CAAC;AAEhB,cAAc,oCAAoC,CAAC;AAEnD,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,mBAAmB,EAA0B,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { LDLogger, LDOptions } from '@launchdarkly/js-client-sdk-common';
|
|
2
|
+
import RNOptions from './RNOptions';
|
|
3
|
+
export interface ValidatedOptions {
|
|
4
|
+
runInBackground: boolean;
|
|
5
|
+
automaticNetworkHandling: boolean;
|
|
6
|
+
automaticBackgroundHandling: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare function filterToBaseOptions(opts: RNOptions): LDOptions;
|
|
9
|
+
export default function validateOptions(opts: RNOptions, logger: LDLogger): ValidatedOptions;
|
|
10
|
+
//# sourceMappingURL=options.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/options.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,SAAS,EAIV,MAAM,oCAAoC,CAAC;AAE5C,OAAO,SAAS,MAAM,aAAa,CAAC;AAEpC,MAAM,WAAW,gBAAgB;IAC/B,eAAe,EAAE,OAAO,CAAC;IACzB,wBAAwB,EAAE,OAAO,CAAC;IAClC,2BAA2B,EAAE,OAAO,CAAC;CACtC;AAcD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,CAS9D;AAED,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,GAAG,gBAAgB,CAgB3F"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { OptionMessages, TypeValidators, } from '@launchdarkly/js-client-sdk-common';
|
|
2
|
+
const optDefaults = {
|
|
3
|
+
runInBackground: false,
|
|
4
|
+
automaticNetworkHandling: true,
|
|
5
|
+
automaticBackgroundHandling: true,
|
|
6
|
+
};
|
|
7
|
+
const validators = {
|
|
8
|
+
runInBackground: TypeValidators.Boolean,
|
|
9
|
+
automaticNetworkHandling: TypeValidators.Boolean,
|
|
10
|
+
automaticBackgroundHandling: TypeValidators.Boolean,
|
|
11
|
+
};
|
|
12
|
+
export function filterToBaseOptions(opts) {
|
|
13
|
+
const baseOptions = Object.assign({}, opts);
|
|
14
|
+
// Remove any RN specific configuration keys so we don't get warnings from
|
|
15
|
+
// the base implementation for unknown configuration.
|
|
16
|
+
Object.keys(optDefaults).forEach((key) => {
|
|
17
|
+
delete baseOptions[key];
|
|
18
|
+
});
|
|
19
|
+
return baseOptions;
|
|
20
|
+
}
|
|
21
|
+
export default function validateOptions(opts, logger) {
|
|
22
|
+
const output = Object.assign({}, optDefaults);
|
|
23
|
+
Object.entries(validators).forEach((entry) => {
|
|
24
|
+
const [key, validator] = entry;
|
|
25
|
+
const value = opts[key];
|
|
26
|
+
if (value !== undefined) {
|
|
27
|
+
if (validator.is(value)) {
|
|
28
|
+
output[key] = value;
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
logger.warn(OptionMessages.wrongOptionType(key, validator.getType(), typeof value));
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
return output;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,cAAc,EAEd,cAAc,GACf,MAAM,oCAAoC,CAAC;AAU5C,MAAM,WAAW,GAAG;IAClB,eAAe,EAAE,KAAK;IACtB,wBAAwB,EAAE,IAAI;IAC9B,2BAA2B,EAAE,IAAI;CAClC,CAAC;AAEF,MAAM,UAAU,GAAiE;IAC/E,eAAe,EAAE,cAAc,CAAC,OAAO;IACvC,wBAAwB,EAAE,cAAc,CAAC,OAAO;IAChD,2BAA2B,EAAE,cAAc,CAAC,OAAO;CACpD,CAAC;AAEF,MAAM,UAAU,mBAAmB,CAAC,IAAe;IACjD,MAAM,WAAW,qBAAmB,IAAI,CAAE,CAAC;IAE3C,0EAA0E;IAC1E,qDAAqD;IACrD,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACvC,OAAQ,WAAmB,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IACH,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,IAAe,EAAE,MAAgB;IACvE,MAAM,MAAM,qBAA0B,WAAW,CAAE,CAAC;IAEpD,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3C,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,KAAyC,CAAC;QACnE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,IAAI,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE;gBACvB,MAAM,CAAC,GAA6B,CAAC,GAAG,KAAY,CAAC;aACtD;iBAAM;gBACL,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,GAAG,EAAE,SAAS,CAAC,OAAO,EAAE,EAAE,OAAO,KAAK,CAAC,CAAC,CAAC;aACrF;SACF;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConnectionManager.d.ts","sourceRoot":"","sources":["../../../src/platform/ConnectionManager.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @internal
|
|
3
|
+
*/
|
|
4
|
+
export var ApplicationState;
|
|
5
|
+
(function (ApplicationState) {
|
|
6
|
+
/// The application is in the foreground.
|
|
7
|
+
ApplicationState["Foreground"] = "foreground";
|
|
8
|
+
/// The application is in the background.
|
|
9
|
+
///
|
|
10
|
+
/// Note, the application will not be active while in the background, but
|
|
11
|
+
/// it will track when it is entering or exiting a background state.
|
|
12
|
+
ApplicationState["Background"] = "background";
|
|
13
|
+
})(ApplicationState || (ApplicationState = {}));
|
|
14
|
+
/**
|
|
15
|
+
* @internal
|
|
16
|
+
*/
|
|
17
|
+
export var NetworkState;
|
|
18
|
+
(function (NetworkState) {
|
|
19
|
+
/// There is no network available for the SDK to use.
|
|
20
|
+
NetworkState["Unavailable"] = "unavailable";
|
|
21
|
+
/// The network is available. Note that network requests may still fail
|
|
22
|
+
/// for other reasons.
|
|
23
|
+
NetworkState["Available"] = "available";
|
|
24
|
+
})(NetworkState || (NetworkState = {}));
|
|
25
|
+
/**
|
|
26
|
+
* @internal
|
|
27
|
+
*/
|
|
28
|
+
export class ConnectionManager {
|
|
29
|
+
constructor(logger, config, destination, detector) {
|
|
30
|
+
this.logger = logger;
|
|
31
|
+
this.config = config;
|
|
32
|
+
this.destination = destination;
|
|
33
|
+
this.detector = detector;
|
|
34
|
+
this.applicationState = ApplicationState.Foreground;
|
|
35
|
+
this.networkState = NetworkState.Available;
|
|
36
|
+
this.offline = false;
|
|
37
|
+
this.currentConnectionMode = config.initialConnectionMode;
|
|
38
|
+
if (config.automaticBackgroundHandling) {
|
|
39
|
+
detector.setApplicationStateListener((state) => {
|
|
40
|
+
this.applicationState = state;
|
|
41
|
+
this.handleState();
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
if (config.automaticNetworkHandling) {
|
|
45
|
+
detector.setNetworkStateListener((state) => {
|
|
46
|
+
this.networkState = state;
|
|
47
|
+
this.handleState();
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
setOffline(offline) {
|
|
52
|
+
this.offline = offline;
|
|
53
|
+
this.handleState();
|
|
54
|
+
}
|
|
55
|
+
setConnectionMode(mode) {
|
|
56
|
+
this.currentConnectionMode = mode;
|
|
57
|
+
this.handleState();
|
|
58
|
+
}
|
|
59
|
+
close() {
|
|
60
|
+
this.detector.stopListening();
|
|
61
|
+
}
|
|
62
|
+
handleState() {
|
|
63
|
+
this.logger.debug(`Handling state: ${this.applicationState}:${this.networkState}`);
|
|
64
|
+
switch (this.networkState) {
|
|
65
|
+
case NetworkState.Unavailable:
|
|
66
|
+
this.destination.setNetworkAvailability(false);
|
|
67
|
+
break;
|
|
68
|
+
case NetworkState.Available:
|
|
69
|
+
this.destination.setNetworkAvailability(true);
|
|
70
|
+
switch (this.applicationState) {
|
|
71
|
+
case ApplicationState.Foreground:
|
|
72
|
+
this.setForegroundAvailable();
|
|
73
|
+
break;
|
|
74
|
+
case ApplicationState.Background:
|
|
75
|
+
this.setBackgroundAvailable();
|
|
76
|
+
break;
|
|
77
|
+
default:
|
|
78
|
+
break;
|
|
79
|
+
}
|
|
80
|
+
break;
|
|
81
|
+
default:
|
|
82
|
+
break;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
setForegroundAvailable() {
|
|
86
|
+
if (this.offline) {
|
|
87
|
+
this.destination.setConnectionMode('offline');
|
|
88
|
+
// Don't attempt to flush. If the user wants to flush when entering offline
|
|
89
|
+
// mode, then they can do that directly.
|
|
90
|
+
this.destination.setEventSendingEnabled(false, false);
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
// Currently the foreground mode will always be whatever the last active
|
|
94
|
+
// connection mode was.
|
|
95
|
+
this.destination.setConnectionMode(this.currentConnectionMode);
|
|
96
|
+
this.destination.setEventSendingEnabled(true, false);
|
|
97
|
+
}
|
|
98
|
+
setBackgroundAvailable() {
|
|
99
|
+
if (!this.config.runInBackground) {
|
|
100
|
+
this.destination.setConnectionMode('offline');
|
|
101
|
+
this.destination.setEventSendingEnabled(false, true);
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
// This SDK doesn't currently support automatic background polling.
|
|
105
|
+
// If connections in the background are allowed, then use the same mode
|
|
106
|
+
// as is configured for the foreground.
|
|
107
|
+
this.setForegroundAvailable();
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=ConnectionManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConnectionManager.js","sourceRoot":"","sources":["../../../src/platform/ConnectionManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlatformEncoding.d.ts","sourceRoot":"","sources":["../../../src/platform/PlatformEncoding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAInE,MAAM,CAAC,OAAO,OAAO,gBAAiB,YAAW,QAAQ;IACvD,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAG3B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlatformEncoding.js","sourceRoot":"","sources":["../../../src/platform/PlatformEncoding.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACnC,IAAI,CAAC,IAAY;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;CACF"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Info, LDLogger, PlatformData, SdkData } from '@launchdarkly/js-client-sdk-common';
|
|
2
|
+
export default class PlatformInfo implements Info {
|
|
3
|
+
private readonly logger;
|
|
4
|
+
constructor(logger: LDLogger);
|
|
5
|
+
platformData(): PlatformData;
|
|
6
|
+
sdkData(): SdkData;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=PlatformInfo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlatformInfo.d.ts","sourceRoot":"","sources":["../../../src/platform/PlatformInfo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAKhG,MAAM,CAAC,OAAO,OAAO,YAAa,YAAW,IAAI;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,QAAQ;IAE7C,YAAY,IAAI,YAAY;IAW5B,OAAO,IAAI,OAAO;CAUnB"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { name, version } from '../../package.json';
|
|
2
|
+
import { ldApplication, ldDevice } from './autoEnv';
|
|
3
|
+
export default class PlatformInfo {
|
|
4
|
+
constructor(logger) {
|
|
5
|
+
this.logger = logger;
|
|
6
|
+
}
|
|
7
|
+
platformData() {
|
|
8
|
+
const data = {
|
|
9
|
+
name: 'React Native',
|
|
10
|
+
ld_application: ldApplication,
|
|
11
|
+
ld_device: ldDevice,
|
|
12
|
+
};
|
|
13
|
+
this.logger.debug(`platformData: ${JSON.stringify(data, null, 2)}`);
|
|
14
|
+
return data;
|
|
15
|
+
}
|
|
16
|
+
sdkData() {
|
|
17
|
+
const data = {
|
|
18
|
+
name,
|
|
19
|
+
version,
|
|
20
|
+
userAgentBase: 'ReactNativeClient',
|
|
21
|
+
};
|
|
22
|
+
this.logger.debug(`sdkData: ${JSON.stringify(data, null, 2)}`);
|
|
23
|
+
return data;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=PlatformInfo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlatformInfo.js","sourceRoot":"","sources":["../../../src/platform/PlatformInfo.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAEpD,MAAM,CAAC,OAAO,OAAO,YAAY;IAC/B,YAA6B,MAAgB;QAAhB,WAAM,GAAN,MAAM,CAAU;IAAG,CAAC;IAEjD,YAAY;QACV,MAAM,IAAI,GAAG;YACX,IAAI,EAAE,cAAc;YACpB,cAAc,EAAE,aAAa;YAC7B,SAAS,EAAE,QAAQ;SACpB,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QACpE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,MAAM,IAAI,GAAG;YACX,IAAI;YACJ,OAAO;YACP,aAAa,EAAE,mBAAmB;SACnC,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { EventSource, EventSourceInitDict, LDLogger, Options, Requests, Response } from '@launchdarkly/js-client-sdk-common';
|
|
2
|
+
export default class PlatformRequests implements Requests {
|
|
3
|
+
private readonly logger;
|
|
4
|
+
constructor(logger: LDLogger);
|
|
5
|
+
createEventSource(url: string, eventSourceInitDict: EventSourceInitDict): EventSource;
|
|
6
|
+
fetch(url: string, options?: Options): Promise<Response>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=PlatformRequests.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlatformRequests.d.ts","sourceRoot":"","sources":["../../../src/platform/PlatformRequests.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,WAAW,EACX,mBAAmB,EACnB,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,QAAQ,EACT,MAAM,oCAAoC,CAAC;AAI5C,MAAM,CAAC,OAAO,OAAO,gBAAiB,YAAW,QAAQ;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,QAAQ;IAE7C,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,mBAAmB,EAAE,mBAAmB,GAAG,WAAW;IAQrF,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;CAIzD"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import RNEventSource from '../fromExternal/react-native-sse';
|
|
2
|
+
export default class PlatformRequests {
|
|
3
|
+
constructor(logger) {
|
|
4
|
+
this.logger = logger;
|
|
5
|
+
}
|
|
6
|
+
createEventSource(url, eventSourceInitDict) {
|
|
7
|
+
return new RNEventSource(url, {
|
|
8
|
+
headers: eventSourceInitDict.headers,
|
|
9
|
+
retryAndHandleError: eventSourceInitDict.errorFilter,
|
|
10
|
+
logger: this.logger,
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
fetch(url, options) {
|
|
14
|
+
// @ts-ignore
|
|
15
|
+
return fetch(url, options);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=PlatformRequests.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlatformRequests.js","sourceRoot":"","sources":["../../../src/platform/PlatformRequests.ts"],"names":[],"mappings":"AAUA,OAAO,aAAa,MAAM,kCAAkC,CAAC;AAE7D,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACnC,YAA6B,MAAgB;QAAhB,WAAM,GAAN,MAAM,CAAU;IAAG,CAAC;IAEjD,iBAAiB,CAAC,GAAW,EAAE,mBAAwC;QACrE,OAAO,IAAI,aAAa,CAAY,GAAG,EAAE;YACvC,OAAO,EAAE,mBAAmB,CAAC,OAAO;YACpC,mBAAmB,EAAE,mBAAmB,CAAC,WAAW;YACpD,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,GAAW,EAAE,OAAiB;QAClC,aAAa;QACb,OAAO,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC7B,CAAC;CACF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { LDLogger, Storage } from '@launchdarkly/js-client-sdk-common';
|
|
2
|
+
export default class PlatformStorage implements Storage {
|
|
3
|
+
private readonly logger;
|
|
4
|
+
constructor(logger: LDLogger);
|
|
5
|
+
clear(key: string): Promise<void>;
|
|
6
|
+
get(key: string): Promise<string | null>;
|
|
7
|
+
set(key: string, value: string): Promise<void>;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=PlatformStorage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlatformStorage.d.ts","sourceRoot":"","sources":["../../../src/platform/PlatformStorage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAI5E,MAAM,CAAC,OAAO,OAAO,eAAgB,YAAW,OAAO;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,QAAQ;IACvC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAUxC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAOrD"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import AsyncStorage from './ConditionalAsyncStorage';
|
|
2
|
+
export default class PlatformStorage {
|
|
3
|
+
constructor(logger) {
|
|
4
|
+
this.logger = logger;
|
|
5
|
+
}
|
|
6
|
+
async clear(key) {
|
|
7
|
+
await AsyncStorage.removeItem(key);
|
|
8
|
+
}
|
|
9
|
+
async get(key) {
|
|
10
|
+
try {
|
|
11
|
+
const value = await AsyncStorage.getItem(key);
|
|
12
|
+
return value !== null && value !== void 0 ? value : null;
|
|
13
|
+
}
|
|
14
|
+
catch (error) {
|
|
15
|
+
this.logger.debug(`Error getting AsyncStorage key: ${key}, error: ${error}`);
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
async set(key, value) {
|
|
20
|
+
try {
|
|
21
|
+
await AsyncStorage.setItem(key, value);
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
this.logger.debug(`Error saving AsyncStorage key: ${key}, value: ${value}, error: ${error}`);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=PlatformStorage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlatformStorage.js","sourceRoot":"","sources":["../../../src/platform/PlatformStorage.ts"],"names":[],"mappings":"AAEA,OAAO,YAAY,MAAM,2BAA2B,CAAC;AAErD,MAAM,CAAC,OAAO,OAAO,eAAe;IAClC,YAA6B,MAAgB;QAAhB,WAAM,GAAN,MAAM,CAAU;IAAG,CAAC;IACjD,KAAK,CAAC,KAAK,CAAC,GAAW;QACrB,MAAM,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,IAAI;YACF,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC9C,OAAO,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,IAAI,CAAC;SACtB;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,GAAG,YAAY,KAAK,EAAE,CAAC,CAAC;YAC7E,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAa;QAClC,IAAI;YACF,MAAM,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;SACxC;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,GAAG,YAAY,KAAK,YAAY,KAAK,EAAE,CAAC,CAAC;SAC9F;IACH,CAAC;CACF"}
|
|
@@ -1,12 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
import RNEventSource from '../fromExternal/react-native-sse';
|
|
3
|
-
export declare class PlatformRequests implements Requests {
|
|
4
|
-
private readonly logger;
|
|
5
|
-
eventSource?: RNEventSource<EventName>;
|
|
6
|
-
constructor(logger: LDLogger);
|
|
7
|
-
createEventSource(url: string, eventSourceInitDict: EventSourceInitDict): EventSource;
|
|
8
|
-
fetch(url: string, options?: Options): Promise<Response>;
|
|
9
|
-
}
|
|
1
|
+
import { LDLogger, Platform } from '@launchdarkly/js-client-sdk-common';
|
|
10
2
|
declare const createPlatform: (logger: LDLogger) => Platform;
|
|
11
3
|
export default createPlatform;
|
|
12
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/platform/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/platform/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAQxE,QAAA,MAAM,cAAc,WAAY,QAAQ,KAAG,QAMzC,CAAC;AAEH,eAAe,cAAc,CAAC"}
|
|
@@ -1,80 +1,8 @@
|
|
|
1
|
-
import { name, version } from '../../package.json';
|
|
2
|
-
import RNEventSource from '../fromExternal/react-native-sse';
|
|
3
|
-
import { btoa } from '../polyfills';
|
|
4
|
-
import { ldApplication, ldDevice } from './autoEnv';
|
|
5
|
-
import AsyncStorage from './ConditionalAsyncStorage';
|
|
6
1
|
import PlatformCrypto from './crypto';
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
createEventSource(url, eventSourceInitDict) {
|
|
12
|
-
this.eventSource = new RNEventSource(url, {
|
|
13
|
-
headers: eventSourceInitDict.headers,
|
|
14
|
-
retryAndHandleError: eventSourceInitDict.errorFilter,
|
|
15
|
-
logger: this.logger,
|
|
16
|
-
});
|
|
17
|
-
return this.eventSource;
|
|
18
|
-
}
|
|
19
|
-
fetch(url, options) {
|
|
20
|
-
// @ts-ignore
|
|
21
|
-
return fetch(url, options);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
class PlatformEncoding {
|
|
25
|
-
btoa(data) {
|
|
26
|
-
return btoa(data);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
class PlatformInfo {
|
|
30
|
-
constructor(logger) {
|
|
31
|
-
this.logger = logger;
|
|
32
|
-
}
|
|
33
|
-
platformData() {
|
|
34
|
-
const data = {
|
|
35
|
-
name: 'React Native',
|
|
36
|
-
ld_application: ldApplication,
|
|
37
|
-
ld_device: ldDevice,
|
|
38
|
-
};
|
|
39
|
-
this.logger.debug(`platformData: ${JSON.stringify(data, null, 2)}`);
|
|
40
|
-
return data;
|
|
41
|
-
}
|
|
42
|
-
sdkData() {
|
|
43
|
-
const data = {
|
|
44
|
-
name,
|
|
45
|
-
version,
|
|
46
|
-
userAgentBase: 'ReactNativeClient',
|
|
47
|
-
};
|
|
48
|
-
this.logger.debug(`sdkData: ${JSON.stringify(data, null, 2)}`);
|
|
49
|
-
return data;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
class PlatformStorage {
|
|
53
|
-
constructor(logger) {
|
|
54
|
-
this.logger = logger;
|
|
55
|
-
}
|
|
56
|
-
async clear(key) {
|
|
57
|
-
await AsyncStorage.removeItem(key);
|
|
58
|
-
}
|
|
59
|
-
async get(key) {
|
|
60
|
-
try {
|
|
61
|
-
const value = await AsyncStorage.getItem(key);
|
|
62
|
-
return value !== null && value !== void 0 ? value : null;
|
|
63
|
-
}
|
|
64
|
-
catch (error) {
|
|
65
|
-
this.logger.debug(`Error getting AsyncStorage key: ${key}, error: ${error}`);
|
|
66
|
-
return null;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
async set(key, value) {
|
|
70
|
-
try {
|
|
71
|
-
await AsyncStorage.setItem(key, value);
|
|
72
|
-
}
|
|
73
|
-
catch (error) {
|
|
74
|
-
this.logger.debug(`Error saving AsyncStorage key: ${key}, value: ${value}, error: ${error}`);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
}
|
|
2
|
+
import PlatformEncoding from './PlatformEncoding';
|
|
3
|
+
import PlatformInfo from './PlatformInfo';
|
|
4
|
+
import PlatformRequests from './PlatformRequests';
|
|
5
|
+
import PlatformStorage from './PlatformStorage';
|
|
78
6
|
const createPlatform = (logger) => ({
|
|
79
7
|
crypto: new PlatformCrypto(),
|
|
80
8
|
info: new PlatformInfo(logger),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/platform/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/platform/index.ts"],"names":[],"mappings":"AAEA,OAAO,cAAc,MAAM,UAAU,CAAC;AACtC,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAEhD,MAAM,cAAc,GAAG,CAAC,MAAgB,EAAY,EAAE,CAAC,CAAC;IACtD,MAAM,EAAE,IAAI,cAAc,EAAE;IAC5B,IAAI,EAAE,IAAI,YAAY,CAAC,MAAM,CAAC;IAC9B,QAAQ,EAAE,IAAI,gBAAgB,CAAC,MAAM,CAAC;IACtC,QAAQ,EAAE,IAAI,gBAAgB,EAAE;IAChC,OAAO,EAAE,IAAI,eAAe,CAAC,MAAM,CAAC;CACrC,CAAC,CAAC;AAEH,eAAe,cAAc,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LDProvider.d.ts","sourceRoot":"","sources":["../../../src/provider/LDProvider.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,iBAAiB,EAAuB,MAAM,OAAO,CAAC;AAEtE,OAAO,mBAAmB,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"LDProvider.d.ts","sourceRoot":"","sources":["../../../src/provider/LDProvider.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,iBAAiB,EAAuB,MAAM,OAAO,CAAC;AAEtE,OAAO,mBAAmB,MAAM,wBAAwB,CAAC;AAIzD,KAAK,OAAO,GAAG;IACb,MAAM,EAAE,mBAAmB,CAAC;CAC7B,CAAC;AAEF;;;;;;;;;GASG;AACH,QAAA,MAAM,UAAU,yBAA0B,kBAAkB,OAAO,CAAC,4CAQnE,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -2,7 +2,6 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { useEffect, useState } from 'react';
|
|
3
3
|
import { Provider } from './reactContext';
|
|
4
4
|
import setupListeners from './setupListeners';
|
|
5
|
-
import useAppState from './useAppState';
|
|
6
5
|
/**
|
|
7
6
|
* This is the LaunchDarkly Provider which uses the React context api to store
|
|
8
7
|
* and pass data to child components through hooks.
|
|
@@ -18,7 +17,6 @@ const LDProvider = ({ client, children }) => {
|
|
|
18
17
|
useEffect(() => {
|
|
19
18
|
setupListeners(client, setState);
|
|
20
19
|
}, []);
|
|
21
|
-
useAppState(client);
|
|
22
20
|
return _jsx(Provider, { value: state, children: children });
|
|
23
21
|
};
|
|
24
22
|
export default LDProvider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LDProvider.js","sourceRoot":"","sources":["../../../src/provider/LDProvider.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAqB,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGtE,OAAO,EAAE,QAAQ,EAAgB,MAAM,gBAAgB,CAAC;AACxD,OAAO,cAAc,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"LDProvider.js","sourceRoot":"","sources":["../../../src/provider/LDProvider.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAqB,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGtE,OAAO,EAAE,QAAQ,EAAgB,MAAM,gBAAgB,CAAC;AACxD,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAM9C;;;;;;;;;GASG;AACH,MAAM,UAAU,GAAG,CAAC,EAAE,MAAM,EAAE,QAAQ,EAA8B,EAAE,EAAE;IACtE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,EAAE,MAAM,EAAE,CAAC,CAAC;IAE7D,SAAS,CAAC,GAAG,EAAE;QACb,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACnC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,KAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAAG,QAAQ,GAAY,CAAC;AACvD,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@launchdarkly/react-native-client-sdk",
|
|
3
|
-
"version": "10.
|
|
3
|
+
"version": "10.4.0",
|
|
4
4
|
"description": "React Native LaunchDarkly SDK",
|
|
5
5
|
"homepage": "https://github.com/launchdarkly/js-core/tree/main/packages/sdk/react-native",
|
|
6
6
|
"repository": {
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"react-native": "*"
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"@launchdarkly/js-client-sdk-common": "1.
|
|
46
|
+
"@launchdarkly/js-client-sdk-common": "1.3.0",
|
|
47
47
|
"@react-native-async-storage/async-storage": "^1.21.0",
|
|
48
48
|
"base64-js": "^1.5.1",
|
|
49
49
|
"event-target-shim": "^6.0.2"
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import ReactNativeLDClient from '../ReactNativeLDClient';
|
|
2
|
-
/**
|
|
3
|
-
* Manages streamer connection based on AppState. Debouncing is used to prevent excessive starting
|
|
4
|
-
* and stopping of the EventSource which are expensive.
|
|
5
|
-
*
|
|
6
|
-
* background to active - start streamer.
|
|
7
|
-
* active to background - stop streamer.
|
|
8
|
-
*
|
|
9
|
-
* @param client
|
|
10
|
-
*/
|
|
11
|
-
declare const useAppState: (client: ReactNativeLDClient) => void;
|
|
12
|
-
export default useAppState;
|
|
13
|
-
//# sourceMappingURL=useAppState.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useAppState.d.ts","sourceRoot":"","sources":["../../../src/provider/useAppState.ts"],"names":[],"mappings":"AAMA,OAAO,mBAAmB,MAAM,wBAAwB,CAAC;AAEzD;;;;;;;;GAQG;AACH,QAAA,MAAM,WAAW,WAAY,mBAAmB,SAsC/C,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { useEffect, useRef } from 'react';
|
|
2
|
-
import { AppState } from 'react-native';
|
|
3
|
-
import { debounce } from '@launchdarkly/js-client-sdk-common';
|
|
4
|
-
/**
|
|
5
|
-
* Manages streamer connection based on AppState. Debouncing is used to prevent excessive starting
|
|
6
|
-
* and stopping of the EventSource which are expensive.
|
|
7
|
-
*
|
|
8
|
-
* background to active - start streamer.
|
|
9
|
-
* active to background - stop streamer.
|
|
10
|
-
*
|
|
11
|
-
* @param client
|
|
12
|
-
*/
|
|
13
|
-
const useAppState = (client) => {
|
|
14
|
-
const appState = useRef(AppState.currentState);
|
|
15
|
-
const isEventSourceClosed = () => {
|
|
16
|
-
const { eventSource } = client.platform.requests;
|
|
17
|
-
return (eventSource === null || eventSource === void 0 ? void 0 : eventSource.getStatus()) === (eventSource === null || eventSource === void 0 ? void 0 : eventSource.CLOSED);
|
|
18
|
-
};
|
|
19
|
-
const onChange = (nextAppState) => {
|
|
20
|
-
var _a, _b;
|
|
21
|
-
client.logger.debug(`App state prev: ${appState.current}, next: ${nextAppState}`);
|
|
22
|
-
if (appState.current.match(/inactive|background/) && nextAppState === 'active') {
|
|
23
|
-
if (isEventSourceClosed()) {
|
|
24
|
-
client.logger.debug('Starting streamer after transitioning to foreground.');
|
|
25
|
-
(_a = client.streamer) === null || _a === void 0 ? void 0 : _a.start();
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
client.logger.debug('Not starting streamer because EventSource is already open.');
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
else if (nextAppState === 'background') {
|
|
32
|
-
client.logger.debug('App state background stopping streamer.');
|
|
33
|
-
(_b = client.streamer) === null || _b === void 0 ? void 0 : _b.stop();
|
|
34
|
-
}
|
|
35
|
-
else {
|
|
36
|
-
client.logger.debug('No action needed.');
|
|
37
|
-
}
|
|
38
|
-
appState.current = nextAppState;
|
|
39
|
-
};
|
|
40
|
-
// debounce with a default delay of 5 seconds.
|
|
41
|
-
const debouncedOnChange = debounce(onChange);
|
|
42
|
-
useEffect(() => {
|
|
43
|
-
const sub = AppState.addEventListener('change', debouncedOnChange);
|
|
44
|
-
return () => {
|
|
45
|
-
sub.remove();
|
|
46
|
-
};
|
|
47
|
-
}, []);
|
|
48
|
-
};
|
|
49
|
-
export default useAppState;
|
|
50
|
-
//# sourceMappingURL=useAppState.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useAppState.js","sourceRoot":"","sources":["../../../src/provider/useAppState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAkB,MAAM,cAAc,CAAC;AAExD,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAK9D;;;;;;;;GAQG;AACH,MAAM,WAAW,GAAG,CAAC,MAA2B,EAAE,EAAE;IAClD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAE/C,MAAM,mBAAmB,GAAG,GAAG,EAAE;QAC/B,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,QAA4B,CAAC;QACrE,OAAO,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,SAAS,EAAE,OAAK,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,CAAA,CAAC;IAC1D,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,CAAC,YAA4B,EAAE,EAAE;;QAChD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,QAAQ,CAAC,OAAO,WAAW,YAAY,EAAE,CAAC,CAAC;QAElF,IAAI,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,IAAI,YAAY,KAAK,QAAQ,EAAE;YAC9E,IAAI,mBAAmB,EAAE,EAAE;gBACzB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;gBAC5E,MAAA,MAAM,CAAC,QAAQ,0CAAE,KAAK,EAAE,CAAC;aAC1B;iBAAM;gBACL,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;aACnF;SACF;aAAM,IAAI,YAAY,KAAK,YAAY,EAAE;YACxC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;YAC/D,MAAA,MAAM,CAAC,QAAQ,0CAAE,IAAI,EAAE,CAAC;SACzB;aAAM;YACL,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;SAC1C;QAED,QAAQ,CAAC,OAAO,GAAG,YAAY,CAAC;IAClC,CAAC,CAAC;IAEF,8CAA8C;IAC9C,MAAM,iBAAiB,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAE7C,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,GAAG,GAAG,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;QAEnE,OAAO,GAAG,EAAE;YACV,GAAG,CAAC,MAAM,EAAE,CAAC;QACf,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC"}
|