Skip to content

Commit b38b9a5

Browse files
committed
Added react native client engines
1 parent 645ea8a commit b38b9a5

File tree

3 files changed

+14
-5
lines changed

3 files changed

+14
-5
lines changed

packages/optimizely-sdk/lib/index.react_native.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ module.exports = {
8888

8989
config = fns.assign(
9090
{
91-
clientEngine: enums.JAVASCRIPT_CLIENT_ENGINE,
91+
clientEngine: enums.REACT_NATIVE_JS_CLIENT_ENGINE,
9292
eventBatchSize: DEFAULT_EVENT_BATCH_SIZE,
9393
eventDispatcher: defaultEventDispatcher,
9494
eventFlushInterval: DEFAULT_EVENT_FLUSH_INTERVAL,
@@ -101,6 +101,11 @@ module.exports = {
101101
}
102102
);
103103

104+
// If client engine is react, convert it to react native
105+
if (config.clientEngine === enums.REACT_CLIENT_ENGINE) {
106+
config.clientEngine = enums.REACT_NATIVE_CLIENT_ENGINE
107+
}
108+
104109
if (!eventProcessorConfigValidator.validateEventBatchSize(config.eventBatchSize)) {
105110
logger.warn('Invalid eventBatchSize %s, defaulting to %s', config.eventBatchSize, DEFAULT_EVENT_BATCH_SIZE);
106111
config.eventBatchSize = DEFAULT_EVENT_BATCH_SIZE;

packages/optimizely-sdk/lib/index.react_native.tests.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ describe('javascript-sdk/react-native', function() {
9595
assert.equal(optlyInstance.clientVersion, '3.6.0-alpha.1');
9696
});
9797

98-
it('should set the JavaScript client engine and version', function() {
98+
it('should set the React Native JS client engine and javascript SDK version', function() {
9999
var optlyInstance = optimizelyFactory.createInstance({
100100
datafile: {},
101101
errorHandler: fakeErrorHandler,
@@ -104,11 +104,11 @@ describe('javascript-sdk/react-native', function() {
104104
});
105105
// Invalid datafile causes onReady Promise rejection - catch this error
106106
optlyInstance.onReady().catch(function() {});
107-
assert.equal('javascript-sdk', optlyInstance.clientEngine);
107+
assert.equal('react-native-js', optlyInstance.clientEngine);
108108
assert.equal(packageJSON.version, optlyInstance.clientVersion);
109109
});
110110

111-
it('should allow passing of "react-sdk" as the clientEngine', function() {
111+
it('should allow passing of "react-sdk" as the clientEngine and convert it to "react-native"', function() {
112112
var optlyInstance = optimizelyFactory.createInstance({
113113
clientEngine: 'react-sdk',
114114
datafile: {},
@@ -118,7 +118,7 @@ describe('javascript-sdk/react-native', function() {
118118
});
119119
// Invalid datafile causes onReady Promise rejection - catch this error
120120
optlyInstance.onReady().catch(function() {});
121-
assert.equal('react-sdk', optlyInstance.clientEngine);
121+
assert.equal('react-native', optlyInstance.clientEngine);
122122
});
123123

124124
it('should activate with provided event dispatcher', function() {

packages/optimizely-sdk/lib/utils/enums/index.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,12 +174,16 @@ exports.CONTROL_ATTRIBUTES = {
174174
exports.JAVASCRIPT_CLIENT_ENGINE = 'javascript-sdk';
175175
exports.NODE_CLIENT_ENGINE = 'node-sdk';
176176
exports.REACT_CLIENT_ENGINE = 'react-sdk';
177+
exports.REACT_NATIVE_CLIENT_ENGINE = 'react-native';
178+
exports.REACT_NATIVE_JS_CLIENT_ENGINE = 'react-native-js';
177179
exports.NODE_CLIENT_VERSION = '3.6.0-alpha.1';
178180

179181
exports.VALID_CLIENT_ENGINES = [
180182
exports.NODE_CLIENT_ENGINE,
181183
exports.REACT_CLIENT_ENGINE,
182184
exports.JAVASCRIPT_CLIENT_ENGINE,
185+
exports.REACT_NATIVE_CLIENT_ENGINE,
186+
exports.REACT_NATIVE_JS_CLIENT_ENGINE,
183187
];
184188

185189
exports.NOTIFICATION_TYPES = jsSdkUtils.NOTIFICATION_TYPES;

0 commit comments

Comments
 (0)