2
0
mirror of synced 2025-02-02 17:43:27 +00:00

[internals] Migrate multi app flag to module configuration

This commit is contained in:
Chris Bianca 2018-01-09 17:31:00 +00:00
parent 024a9b61a8
commit 301f2749c0
15 changed files with 18 additions and 12 deletions

View File

@ -43,6 +43,7 @@ export default class AdMob extends ModuleBase {
super(app, {
events: NATIVE_EVENTS,
moduleName: MODULE_NAME,
multiApp: false,
namespace: NAMESPACE,
});

View File

@ -32,6 +32,7 @@ export default class Analytics extends ModuleBase {
constructor(app: App) {
super(app, {
moduleName: MODULE_NAME,
multiApp: false,
namespace: NAMESPACE,
});
}

View File

@ -44,6 +44,7 @@ export default class Auth extends ModuleBase {
super(app, {
events: NATIVE_EVENTS,
moduleName: MODULE_NAME,
multiApp: true,
namespace: NAMESPACE,
});
this._user = null;

View File

@ -28,6 +28,7 @@ export default class RemoteConfig extends ModuleBase {
constructor(app: App) {
super(app, {
moduleName: MODULE_NAME,
multiApp: false,
namespace: NAMESPACE,
});
this._developerModeEnabled = false;

View File

@ -15,6 +15,7 @@ export default class Crash extends ModuleBase {
constructor(app: App) {
super(app, {
moduleName: MODULE_NAME,
multiApp: false,
namespace: NAMESPACE,
});
}

View File

@ -31,6 +31,7 @@ export default class Database extends ModuleBase {
super(app, {
events: NATIVE_EVENTS,
moduleName: MODULE_NAME,
multiApp: true,
namespace: NAMESPACE,
});
this._transactionHandler = new TransactionHandler(this);

View File

@ -14,6 +14,7 @@ export default class Crashlytics extends ModuleBase {
constructor(app: App) {
super(app, {
moduleName: MODULE_NAME,
multiApp: false,
namespace: NAMESPACE,
});
}

View File

@ -52,6 +52,7 @@ export default class Firestore extends ModuleBase {
super(app, {
events: NATIVE_EVENTS,
moduleName: MODULE_NAME,
multiApp: true,
namespace: NAMESPACE,
});
this._referencePath = new Path([]);

View File

@ -75,6 +75,7 @@ export default class Links extends ModuleBase {
super(app, {
events: NATIVE_EVENTS,
moduleName: MODULE_NAME,
multiApp: false,
namespace: NAMESPACE,
});
}

View File

@ -91,6 +91,7 @@ export default class Messaging extends ModuleBase {
super(app, {
events: NATIVE_EVENTS,
moduleName: MODULE_NAME,
multiApp: false,
namespace: NAMESPACE,
});
}

View File

@ -15,6 +15,7 @@ export default class PerformanceMonitoring extends ModuleBase {
constructor(app: App) {
super(app, {
moduleName: MODULE_NAME,
multiApp: false,
namespace: NAMESPACE,
});
}

View File

@ -32,6 +32,7 @@ export default class Storage extends ModuleBase {
super(app, {
events: NATIVE_EVENTS,
moduleName: MODULE_NAME,
multiApp: true,
namespace: NAMESPACE,
});

View File

@ -25,6 +25,7 @@ export default class RNFirebaseUtils extends ModuleBase {
constructor(app: App) {
super(app, {
moduleName: MODULE_NAME,
multiApp: false,
namespace: NAMESPACE,
});
}

View File

@ -43,6 +43,7 @@ export type FirebaseModule = $Subtype<ModuleBase>;
export type FirebaseModuleConfig = {
events?: string[],
moduleName: FirebaseModuleName,
multiApp: boolean,
namespace: FirebaseNamespace,
}

View File

@ -8,14 +8,6 @@ import INTERNALS from './internals';
import type ModuleBase from './ModuleBase';
import type { FirebaseModuleConfig } from '../types';
// Firebase Native SDKs that support multiple app instances
const MULTI_APP_MODULES = [
'RNFirebaseAuth',
'RNFirebaseDatabase',
'RNFirebaseFirestore',
'RNFirebaseStorage',
];
const NATIVE_MODULES: { [string]: Object } = {};
/**
@ -45,7 +37,7 @@ export const getNativeModule = (module: ModuleBase): Object => {
};
export const initialiseNativeModule = (module: ModuleBase, config: FirebaseModuleConfig): Object => {
const { moduleName, namespace } = config;
const { moduleName, multiApp, namespace } = config;
const nativeModule = NativeModules[moduleName];
const key = getModuleKey(module);
@ -55,10 +47,10 @@ export const initialiseNativeModule = (module: ModuleBase, config: FirebaseModul
// used by the modules that extend ModuleBase
// to access their native module counterpart
if (!MULTI_APP_MODULES.includes(moduleName)) {
NATIVE_MODULES[key] = nativeModule;
} else {
if (multiApp) {
NATIVE_MODULES[key] = nativeWithApp(module.app.name, nativeModule);
} else {
NATIVE_MODULES[key] = nativeModule;
}
initialiseNativeModuleEventEmitter(module, config);