initializeApp method
Implementation
Future<FirebaseApp> initializeApp({
String? name,
required FirebaseOptions options,
}) async {
/// Ensures the name isn't null, in case no name
/// passed, [defaultFirebaseAppName] will be used
final _name = name ?? defaultFirebaseAppName;
if (_apps.containsKey(_name)) {
final existingApp = _apps[name]!;
if (options.apiKey != existingApp.options.apiKey ||
(options.databaseURL != null &&
options.databaseURL != existingApp.options.databaseURL) ||
(options.storageBucket != null &&
options.storageBucket != existingApp.options.storageBucket)) {
// Options are different; throw.
throw duplicateApp(_name);
} else {
return existingApp;
}
}
final _delegate = _FirebaseAppDelegete(this, _name, options);
_apps[_name] = FirebaseApp._(_delegate);
return _apps[_name]!;
}