diff --git a/Libraries/Utilities/MessageQueue.js b/Libraries/Utilities/MessageQueue.js index d1d3528584f..8f026978b7c 100644 --- a/Libraries/Utilities/MessageQueue.js +++ b/Libraries/Utilities/MessageQueue.js @@ -330,12 +330,7 @@ class MessageQueue { return null; } - let moduleName, constants, methods, promiseMethods, syncMethods; - if (moduleHasConstants(config)) { - [moduleName, constants, methods, promiseMethods, syncMethods] = config; - } else { - [moduleName, methods, promiseMethods, syncMethods] = (config:any); - } + const [moduleName, constants, methods, promiseMethods, syncMethods] = config; const module = {}; methods && methods.forEach((methodName, methodID) => { @@ -347,7 +342,8 @@ class MessageQueue { }); Object.assign(module, constants); - if (!constants && !methods && !promiseMethods) { + if (!constants && !methods) { + // Module contents will be filled in lazily later (see NativeModules) module.moduleID = moduleID; } @@ -395,22 +391,12 @@ class MessageQueue { return; } - let moduleName, methods; - if (moduleHasConstants(config)) { - [moduleName, , methods] = config; - } else { - [moduleName, methods] = (config:any); - } - + const [moduleName, , methods] = config; this._remoteModuleTable[moduleID] = moduleName; this._remoteMethodTable[moduleID] = methods; } } -function moduleHasConstants(moduleArray: ModuleConfig): boolean { - return !Array.isArray(moduleArray[1]); -} - function arrayContains(array: Array, value: T): boolean { return array.indexOf(value) !== -1; } diff --git a/Libraries/Utilities/__mocks__/MessageQueueTestConfig.js b/Libraries/Utilities/__mocks__/MessageQueueTestConfig.js index 61db180aaba..57aee1a2931 100644 --- a/Libraries/Utilities/__mocks__/MessageQueueTestConfig.js +++ b/Libraries/Utilities/__mocks__/MessageQueueTestConfig.js @@ -10,8 +10,8 @@ */ 'use strict'; var remoteModulesConfig = [ - ['RemoteModule1',['remoteMethod1','remoteMethod2'],[],[]], - ['RemoteModule2',['remoteMethod1','remoteMethod2'],[],[]], + ['RemoteModule1',null,['remoteMethod1','remoteMethod2'],[],[]], + ['RemoteModule2',null,['remoteMethod1','remoteMethod2'],[],[]], ]; var MessageQueueTestConfig = { diff --git a/React/Base/RCTModuleData.mm b/React/Base/RCTModuleData.mm index 340badc50e1..213dab09e41 100644 --- a/React/Base/RCTModuleData.mm +++ b/React/Base/RCTModuleData.mm @@ -329,12 +329,12 @@ RCT_NOT_IMPLEMENTED(- (instancetype)init); } NSArray *config = @[ - self.name, - RCTNullIfNil(constants), - RCTNullIfNil(methods), - RCTNullIfNil(promiseMethods), - RCTNullIfNil(syncMethods) - ]; + self.name, + RCTNullIfNil(constants), + RCTNullIfNil(methods), + RCTNullIfNil(promiseMethods), + RCTNullIfNil(syncMethods) + ]; RCT_PROFILE_END_EVENT(RCTProfileTagAlways, ([NSString stringWithFormat:@"[RCTModuleData config] %@", _moduleClass])); return config; } diff --git a/ReactCommon/cxxreact/ModuleRegistry.cpp b/ReactCommon/cxxreact/ModuleRegistry.cpp index cf78c4558d8..0b13e4109d9 100644 --- a/ReactCommon/cxxreact/ModuleRegistry.cpp +++ b/ReactCommon/cxxreact/ModuleRegistry.cpp @@ -53,10 +53,7 @@ folly::dynamic ModuleRegistry::getConfig(const std::string& name) { { SystraceSection s("getConstants"); - folly::dynamic constants = module->getConstants(); - if (constants.isObject() && constants.size() > 0) { - config.push_back(std::move(constants)); - } + config.push_back(module->getConstants()); } {