[internals] Migrate multi app flag to module configuration
This commit is contained in:
parent
024a9b61a8
commit
301f2749c0
@ -43,6 +43,7 @@ export default class AdMob extends ModuleBase {
|
||||
super(app, {
|
||||
events: NATIVE_EVENTS,
|
||||
moduleName: MODULE_NAME,
|
||||
multiApp: false,
|
||||
namespace: NAMESPACE,
|
||||
});
|
||||
|
||||
|
@ -32,6 +32,7 @@ export default class Analytics extends ModuleBase {
|
||||
constructor(app: App) {
|
||||
super(app, {
|
||||
moduleName: MODULE_NAME,
|
||||
multiApp: false,
|
||||
namespace: NAMESPACE,
|
||||
});
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -15,6 +15,7 @@ export default class Crash extends ModuleBase {
|
||||
constructor(app: App) {
|
||||
super(app, {
|
||||
moduleName: MODULE_NAME,
|
||||
multiApp: false,
|
||||
namespace: NAMESPACE,
|
||||
});
|
||||
}
|
||||
|
@ -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);
|
||||
|
@ -14,6 +14,7 @@ export default class Crashlytics extends ModuleBase {
|
||||
constructor(app: App) {
|
||||
super(app, {
|
||||
moduleName: MODULE_NAME,
|
||||
multiApp: false,
|
||||
namespace: NAMESPACE,
|
||||
});
|
||||
}
|
||||
|
@ -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([]);
|
||||
|
@ -75,6 +75,7 @@ export default class Links extends ModuleBase {
|
||||
super(app, {
|
||||
events: NATIVE_EVENTS,
|
||||
moduleName: MODULE_NAME,
|
||||
multiApp: false,
|
||||
namespace: NAMESPACE,
|
||||
});
|
||||
}
|
||||
|
@ -91,6 +91,7 @@ export default class Messaging extends ModuleBase {
|
||||
super(app, {
|
||||
events: NATIVE_EVENTS,
|
||||
moduleName: MODULE_NAME,
|
||||
multiApp: false,
|
||||
namespace: NAMESPACE,
|
||||
});
|
||||
}
|
||||
|
@ -15,6 +15,7 @@ export default class PerformanceMonitoring extends ModuleBase {
|
||||
constructor(app: App) {
|
||||
super(app, {
|
||||
moduleName: MODULE_NAME,
|
||||
multiApp: false,
|
||||
namespace: NAMESPACE,
|
||||
});
|
||||
}
|
||||
|
@ -32,6 +32,7 @@ export default class Storage extends ModuleBase {
|
||||
super(app, {
|
||||
events: NATIVE_EVENTS,
|
||||
moduleName: MODULE_NAME,
|
||||
multiApp: true,
|
||||
namespace: NAMESPACE,
|
||||
});
|
||||
|
||||
|
@ -25,6 +25,7 @@ export default class RNFirebaseUtils extends ModuleBase {
|
||||
constructor(app: App) {
|
||||
super(app, {
|
||||
moduleName: MODULE_NAME,
|
||||
multiApp: false,
|
||||
namespace: NAMESPACE,
|
||||
});
|
||||
}
|
||||
|
@ -43,6 +43,7 @@ export type FirebaseModule = $Subtype<ModuleBase>;
|
||||
export type FirebaseModuleConfig = {
|
||||
events?: string[],
|
||||
moduleName: FirebaseModuleName,
|
||||
multiApp: boolean,
|
||||
namespace: FirebaseNamespace,
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user