Summary: Introduced Metro device and the possibility to directly connect to running Metro instances Reviewed By: jknoxville Differential Revision: D19445623 fbshipit-source-id: 31978d966a56007c48f795076d6651e23de0e38d
48 lines
1.3 KiB
TypeScript
48 lines
1.3 KiB
TypeScript
/**
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*
|
|
* @format
|
|
*/
|
|
|
|
import androidDevice from './androidDevice';
|
|
import metroDevice from './metroDevice';
|
|
import iOSDevice from './iOSDevice';
|
|
import desktopDevice from './desktopDevice';
|
|
import application from './application';
|
|
import tracking from './tracking';
|
|
import server from './server';
|
|
import notifications from './notifications';
|
|
import plugins from './plugins';
|
|
import user from './user';
|
|
import pluginManager from './pluginManager';
|
|
|
|
import {Logger} from '../fb-interfaces/Logger';
|
|
import {Store} from '../reducers/index';
|
|
import {Dispatcher} from './types';
|
|
import {notNull} from '../utils/typeUtils';
|
|
|
|
export default function(store: Store, logger: Logger): () => Promise<void> {
|
|
const dispatchers: Array<Dispatcher> = [
|
|
application,
|
|
store.getState().settingsState.enableAndroid ? androidDevice : null,
|
|
iOSDevice,
|
|
metroDevice,
|
|
desktopDevice,
|
|
tracking,
|
|
server,
|
|
notifications,
|
|
plugins,
|
|
user,
|
|
pluginManager,
|
|
].filter(notNull);
|
|
const globalCleanup = dispatchers
|
|
.map(dispatcher => dispatcher(store, logger))
|
|
.filter(Boolean);
|
|
return () => {
|
|
return Promise.all(globalCleanup).then(() => {});
|
|
};
|
|
}
|