@react-native-firebase/app 23.7.0 → 23.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/android/src/main/java/io/invertase/firebase/common/UniversalFirebaseModule.java +2 -2
- package/android/src/reactnative/java/io/invertase/firebase/app/ReactNativeFirebaseVersion.java +1 -1
- package/dist/commonjs/FirebaseApp.js +85 -0
- package/dist/commonjs/FirebaseApp.js.map +1 -0
- package/dist/commonjs/common/Base64.js +106 -0
- package/dist/commonjs/common/Base64.js.map +1 -0
- package/dist/commonjs/common/MutatableParams.js +50 -0
- package/dist/commonjs/common/MutatableParams.js.map +1 -0
- package/dist/commonjs/common/ReferenceBase.js +49 -0
- package/dist/commonjs/common/ReferenceBase.js.map +1 -0
- package/dist/commonjs/common/deeps.js +82 -0
- package/dist/commonjs/common/deeps.js.map +1 -0
- package/dist/commonjs/common/id.js +88 -0
- package/dist/commonjs/common/id.js.map +1 -0
- package/dist/commonjs/common/index.js +799 -0
- package/dist/commonjs/common/index.js.map +1 -0
- package/dist/commonjs/common/path.js +133 -0
- package/dist/commonjs/common/path.js.map +1 -0
- package/dist/commonjs/common/promise.js +65 -0
- package/dist/commonjs/common/promise.js.map +1 -0
- package/dist/commonjs/common/serialize.js +48 -0
- package/dist/commonjs/common/serialize.js.map +1 -0
- package/dist/commonjs/common/unitTestUtils.js +54 -0
- package/dist/commonjs/common/unitTestUtils.js.map +1 -0
- package/dist/commonjs/common/validate.js +236 -0
- package/dist/commonjs/common/validate.js.map +1 -0
- package/dist/commonjs/index.js +42 -0
- package/dist/commonjs/index.js.map +1 -0
- package/dist/commonjs/internal/FirebaseModule.js +63 -0
- package/dist/commonjs/internal/FirebaseModule.js.map +1 -0
- package/dist/commonjs/internal/NativeFirebaseError.js +92 -0
- package/dist/commonjs/internal/NativeFirebaseError.js.map +1 -0
- package/dist/commonjs/internal/NativeModules.js +6 -0
- package/dist/commonjs/internal/NativeModules.js.map +1 -0
- package/dist/commonjs/internal/RNFBNativeEventEmitter.js +118 -0
- package/dist/commonjs/internal/RNFBNativeEventEmitter.js.map +1 -0
- package/dist/commonjs/internal/SharedEventEmitter.js +26 -0
- package/dist/commonjs/internal/SharedEventEmitter.js.map +1 -0
- package/dist/commonjs/internal/asyncStorage.js +83 -0
- package/dist/commonjs/internal/asyncStorage.js.map +1 -0
- package/dist/commonjs/internal/constants.js +27 -0
- package/dist/commonjs/internal/constants.js.map +1 -0
- package/dist/commonjs/internal/index.js +109 -0
- package/dist/commonjs/internal/index.js.map +1 -0
- package/dist/commonjs/internal/logger.js +256 -0
- package/dist/commonjs/internal/logger.js.map +1 -0
- package/dist/commonjs/internal/nativeModule.android.js +19 -0
- package/dist/commonjs/internal/nativeModule.android.js.map +1 -0
- package/dist/commonjs/internal/nativeModule.ios.js +19 -0
- package/dist/commonjs/internal/nativeModule.ios.js.map +1 -0
- package/dist/commonjs/internal/nativeModule.js +19 -0
- package/dist/commonjs/internal/nativeModule.js.map +1 -0
- package/dist/commonjs/internal/nativeModuleAndroidIos.js +51 -0
- package/dist/commonjs/internal/nativeModuleAndroidIos.js.map +1 -0
- package/dist/commonjs/internal/nativeModuleWeb.js +52 -0
- package/dist/commonjs/internal/nativeModuleWeb.js.map +1 -0
- package/dist/commonjs/internal/nullSerialization.js +162 -0
- package/dist/commonjs/internal/nullSerialization.js.map +1 -0
- package/dist/commonjs/internal/registry/app.js +238 -0
- package/dist/commonjs/internal/registry/app.js.map +1 -0
- package/dist/commonjs/internal/registry/namespace.js +269 -0
- package/dist/commonjs/internal/registry/namespace.js.map +1 -0
- package/dist/commonjs/internal/registry/nativeModule.js +224 -0
- package/dist/commonjs/internal/registry/nativeModule.js.map +1 -0
- package/dist/commonjs/internal/web/RNFBAppModule.js +273 -0
- package/dist/commonjs/internal/web/RNFBAppModule.js.map +1 -0
- package/dist/commonjs/internal/web/firebaseApp.js +17 -0
- package/dist/commonjs/internal/web/firebaseApp.js.map +1 -0
- package/dist/commonjs/internal/web/firebaseAppCheck.js +36 -0
- package/dist/commonjs/internal/web/firebaseAppCheck.js.map +1 -0
- package/dist/commonjs/internal/web/firebaseAuth.js +28 -0
- package/dist/commonjs/internal/web/firebaseAuth.js.map +1 -0
- package/dist/commonjs/internal/web/firebaseDatabase.js +28 -0
- package/dist/commonjs/internal/web/firebaseDatabase.js.map +1 -0
- package/dist/commonjs/internal/web/firebaseFirestore.js +28 -0
- package/dist/commonjs/internal/web/firebaseFirestore.js.map +1 -0
- package/dist/commonjs/internal/web/firebaseFunctions.js +28 -0
- package/dist/commonjs/internal/web/firebaseFunctions.js.map +1 -0
- package/dist/commonjs/internal/web/firebaseInstallations.js +36 -0
- package/dist/commonjs/internal/web/firebaseInstallations.js.map +1 -0
- package/dist/commonjs/internal/web/firebaseRemoteConfig.js +36 -0
- package/dist/commonjs/internal/web/firebaseRemoteConfig.js.map +1 -0
- package/dist/commonjs/internal/web/firebaseStorage.js +28 -0
- package/dist/commonjs/internal/web/firebaseStorage.js.map +1 -0
- package/dist/commonjs/internal/web/memidb/FDBCursor.js +479 -0
- package/dist/commonjs/internal/web/memidb/FDBCursor.js.map +1 -0
- package/dist/commonjs/internal/web/memidb/FDBCursorWithValue.js +19 -0
- package/dist/commonjs/internal/web/memidb/FDBCursorWithValue.js.map +1 -0
- package/dist/commonjs/internal/web/memidb/FDBDatabase.js +163 -0
- package/dist/commonjs/internal/web/memidb/FDBDatabase.js.map +1 -0
- package/dist/commonjs/internal/web/memidb/FDBFactory.js +264 -0
- package/dist/commonjs/internal/web/memidb/FDBFactory.js.map +1 -0
- package/dist/commonjs/internal/web/memidb/FDBIndex.js +191 -0
- package/dist/commonjs/internal/web/memidb/FDBIndex.js.map +1 -0
- package/dist/commonjs/internal/web/memidb/FDBKeyRange.js +78 -0
- package/dist/commonjs/internal/web/memidb/FDBKeyRange.js.map +1 -0
- package/dist/commonjs/internal/web/memidb/FDBObjectStore.js +383 -0
- package/dist/commonjs/internal/web/memidb/FDBObjectStore.js.map +1 -0
- package/dist/commonjs/internal/web/memidb/FDBOpenDBRequest.js +17 -0
- package/dist/commonjs/internal/web/memidb/FDBOpenDBRequest.js.map +1 -0
- package/dist/commonjs/internal/web/memidb/FDBRequest.js +41 -0
- package/dist/commonjs/internal/web/memidb/FDBRequest.js.map +1 -0
- package/dist/commonjs/internal/web/memidb/FDBTransaction.js +221 -0
- package/dist/commonjs/internal/web/memidb/FDBTransaction.js.map +1 -0
- package/dist/commonjs/internal/web/memidb/FDBVersionChangeEvent.js +20 -0
- package/dist/commonjs/internal/web/memidb/FDBVersionChangeEvent.js.map +1 -0
- package/dist/commonjs/internal/web/memidb/LICENSE +208 -0
- package/dist/commonjs/internal/web/memidb/index.js +45 -0
- package/dist/commonjs/internal/web/memidb/index.js.map +1 -0
- package/dist/commonjs/internal/web/memidb/lib/Database.js +38 -0
- package/dist/commonjs/internal/web/memidb/lib/Database.js.map +1 -0
- package/dist/commonjs/internal/web/memidb/lib/FakeDOMStringList.js +78 -0
- package/dist/commonjs/internal/web/memidb/lib/FakeDOMStringList.js.map +1 -0
- package/dist/commonjs/internal/web/memidb/lib/FakeEvent.js +45 -0
- package/dist/commonjs/internal/web/memidb/lib/FakeEvent.js.map +1 -0
- package/dist/commonjs/internal/web/memidb/lib/FakeEventTarget.js +111 -0
- package/dist/commonjs/internal/web/memidb/lib/FakeEventTarget.js.map +1 -0
- package/dist/commonjs/internal/web/memidb/lib/Index.js +164 -0
- package/dist/commonjs/internal/web/memidb/lib/Index.js.map +1 -0
- package/dist/commonjs/internal/web/memidb/lib/KeyGenerator.js +29 -0
- package/dist/commonjs/internal/web/memidb/lib/KeyGenerator.js.map +1 -0
- package/dist/commonjs/internal/web/memidb/lib/ObjectStore.js +180 -0
- package/dist/commonjs/internal/web/memidb/lib/ObjectStore.js.map +1 -0
- package/dist/commonjs/internal/web/memidb/lib/RecordStore.js +141 -0
- package/dist/commonjs/internal/web/memidb/lib/RecordStore.js.map +1 -0
- package/dist/commonjs/internal/web/memidb/lib/binarySearch.js +86 -0
- package/dist/commonjs/internal/web/memidb/lib/binarySearch.js.map +1 -0
- package/dist/commonjs/internal/web/memidb/lib/canInjectKey.js +30 -0
- package/dist/commonjs/internal/web/memidb/lib/canInjectKey.js.map +1 -0
- package/dist/commonjs/internal/web/memidb/lib/cmp.js +85 -0
- package/dist/commonjs/internal/web/memidb/lib/cmp.js.map +1 -0
- package/dist/commonjs/internal/web/memidb/lib/enforceRange.js +20 -0
- package/dist/commonjs/internal/web/memidb/lib/enforceRange.js.map +1 -0
- package/dist/commonjs/internal/web/memidb/lib/errors.js +95 -0
- package/dist/commonjs/internal/web/memidb/lib/errors.js.map +1 -0
- package/dist/commonjs/internal/web/memidb/lib/extractKey.js +46 -0
- package/dist/commonjs/internal/web/memidb/lib/extractKey.js.map +1 -0
- package/dist/commonjs/internal/web/memidb/lib/scheduling.js +37 -0
- package/dist/commonjs/internal/web/memidb/lib/scheduling.js.map +1 -0
- package/dist/commonjs/internal/web/memidb/lib/types.js +6 -0
- package/dist/commonjs/internal/web/memidb/lib/types.js.map +1 -0
- package/dist/commonjs/internal/web/memidb/lib/validateKeyPath.js +51 -0
- package/dist/commonjs/internal/web/memidb/lib/validateKeyPath.js.map +1 -0
- package/dist/commonjs/internal/web/memidb/lib/valueToKey.js +62 -0
- package/dist/commonjs/internal/web/memidb/lib/valueToKey.js.map +1 -0
- package/dist/commonjs/internal/web/memidb/lib/valueToKeyRange.js +26 -0
- package/dist/commonjs/internal/web/memidb/lib/valueToKeyRange.js.map +1 -0
- package/dist/commonjs/internal/web/structuredClone/index.js +239 -0
- package/dist/commonjs/internal/web/structuredClone/index.js.map +1 -0
- package/dist/commonjs/internal/web/utils.js +59 -0
- package/dist/commonjs/internal/web/utils.js.map +1 -0
- package/dist/commonjs/modular.js +190 -0
- package/dist/commonjs/modular.js.map +1 -0
- package/dist/commonjs/namespaced.js +35 -0
- package/dist/commonjs/namespaced.js.map +1 -0
- package/dist/commonjs/package.json +1 -0
- package/dist/commonjs/types/app.js +139 -0
- package/dist/commonjs/types/app.js.map +1 -0
- package/dist/commonjs/types/internal.js +6 -0
- package/dist/commonjs/types/internal.js.map +1 -0
- package/dist/commonjs/utils/UtilsStatics.js +59 -0
- package/dist/commonjs/utils/UtilsStatics.js.map +1 -0
- package/dist/commonjs/utils/index.js +94 -0
- package/dist/commonjs/utils/index.js.map +1 -0
- package/dist/commonjs/version.js +9 -0
- package/dist/commonjs/version.js.map +1 -0
- package/{lib → dist/module}/FirebaseApp.js +14 -14
- package/dist/module/FirebaseApp.js.map +1 -0
- package/dist/module/common/Base64.js +100 -0
- package/dist/module/common/Base64.js.map +1 -0
- package/{lib → dist/module}/common/MutatableParams.js +4 -6
- package/dist/module/common/MutatableParams.js.map +1 -0
- package/{lib → dist/module}/common/ReferenceBase.js +3 -2
- package/dist/module/common/ReferenceBase.js.map +1 -0
- package/{lib → dist/module}/common/deeps.js +5 -9
- package/dist/module/common/deeps.js.map +1 -0
- package/{lib → dist/module}/common/id.js +20 -11
- package/dist/module/common/id.js.map +1 -0
- package/dist/module/common/index.js +701 -0
- package/dist/module/common/index.js.map +1 -0
- package/{lib → dist/module}/common/path.js +4 -8
- package/dist/module/common/path.js.map +1 -0
- package/{lib → dist/module}/common/promise.js +21 -23
- package/dist/module/common/promise.js.map +1 -0
- package/dist/module/common/serialize.js +43 -0
- package/dist/module/common/serialize.js.map +1 -0
- package/dist/module/common/unitTestUtils.js +48 -0
- package/dist/module/common/unitTestUtils.js.map +1 -0
- package/{lib → dist/module}/common/validate.js +20 -16
- package/dist/module/common/validate.js.map +1 -0
- package/dist/module/index.js +22 -0
- package/dist/module/index.js.map +1 -0
- package/{lib → dist/module}/internal/FirebaseModule.js +6 -11
- package/dist/module/internal/FirebaseModule.js.map +1 -0
- package/{lib → dist/module}/internal/NativeFirebaseError.js +19 -24
- package/dist/module/internal/NativeFirebaseError.js.map +1 -0
- package/dist/module/internal/NativeModules.js +4 -0
- package/dist/module/internal/NativeModules.js.map +1 -0
- package/{lib → dist/module}/internal/RNFBNativeEventEmitter.js +30 -21
- package/dist/module/internal/RNFBNativeEventEmitter.js.map +1 -0
- package/dist/module/internal/SharedEventEmitter.js +22 -0
- package/dist/module/internal/SharedEventEmitter.js.map +1 -0
- package/dist/module/internal/asyncStorage.js +73 -0
- package/dist/module/internal/asyncStorage.js.map +1 -0
- package/dist/module/internal/constants.js +23 -0
- package/dist/module/internal/constants.js.map +1 -0
- package/dist/module/internal/index.js +30 -0
- package/dist/module/internal/index.js.map +1 -0
- package/{lib → dist/module}/internal/logger.js +65 -55
- package/dist/module/internal/logger.js.map +1 -0
- package/dist/module/internal/nativeModule.android.js +5 -0
- package/dist/module/internal/nativeModule.android.js.map +1 -0
- package/dist/module/internal/nativeModule.ios.js +5 -0
- package/dist/module/internal/nativeModule.ios.js.map +1 -0
- package/dist/module/internal/nativeModule.js +7 -0
- package/dist/module/internal/nativeModule.js.map +1 -0
- package/dist/module/internal/nativeModuleAndroidIos.js +46 -0
- package/dist/module/internal/nativeModuleAndroidIos.js.map +1 -0
- package/dist/module/internal/nativeModuleWeb.js +45 -0
- package/dist/module/internal/nativeModuleWeb.js.map +1 -0
- package/dist/module/internal/nullSerialization.js +158 -0
- package/dist/module/internal/nullSerialization.js.map +1 -0
- package/{lib → dist/module}/internal/registry/app.js +41 -79
- package/dist/module/internal/registry/app.js.map +1 -0
- package/dist/module/internal/registry/namespace.js +262 -0
- package/dist/module/internal/registry/namespace.js.map +1 -0
- package/{lib → dist/module}/internal/registry/nativeModule.js +46 -62
- package/dist/module/internal/registry/nativeModule.js.map +1 -0
- package/{lib → dist/module}/internal/web/RNFBAppModule.js +76 -67
- package/dist/module/internal/web/RNFBAppModule.js.map +1 -0
- package/dist/module/internal/web/firebaseApp.js +23 -0
- package/dist/module/internal/web/firebaseApp.js.map +1 -0
- package/dist/module/internal/web/firebaseAppCheck.js +26 -0
- package/dist/module/internal/web/firebaseAppCheck.js.map +1 -0
- package/dist/module/internal/web/firebaseAuth.js +24 -0
- package/dist/module/internal/web/firebaseAuth.js.map +1 -0
- package/dist/module/internal/web/firebaseDatabase.js +24 -0
- package/dist/module/internal/web/firebaseDatabase.js.map +1 -0
- package/dist/module/internal/web/firebaseFirestore.js +24 -0
- package/dist/module/internal/web/firebaseFirestore.js.map +1 -0
- package/dist/module/internal/web/firebaseFunctions.js +24 -0
- package/dist/module/internal/web/firebaseFunctions.js.map +1 -0
- package/dist/module/internal/web/firebaseInstallations.js +26 -0
- package/dist/module/internal/web/firebaseInstallations.js.map +1 -0
- package/dist/module/internal/web/firebaseRemoteConfig.js +26 -0
- package/dist/module/internal/web/firebaseRemoteConfig.js.map +1 -0
- package/dist/module/internal/web/firebaseStorage.js +24 -0
- package/dist/module/internal/web/firebaseStorage.js.map +1 -0
- package/dist/module/internal/web/memidb/FDBCursor.js +474 -0
- package/dist/module/internal/web/memidb/FDBCursor.js.map +1 -0
- package/dist/module/internal/web/memidb/FDBCursorWithValue.js +14 -0
- package/dist/module/internal/web/memidb/FDBCursorWithValue.js.map +1 -0
- package/dist/module/internal/web/memidb/FDBDatabase.js +158 -0
- package/dist/module/internal/web/memidb/FDBDatabase.js.map +1 -0
- package/dist/module/internal/web/memidb/FDBFactory.js +259 -0
- package/dist/module/internal/web/memidb/FDBFactory.js.map +1 -0
- package/dist/module/internal/web/memidb/FDBIndex.js +186 -0
- package/dist/module/internal/web/memidb/FDBIndex.js.map +1 -0
- package/dist/module/internal/web/memidb/FDBKeyRange.js +74 -0
- package/dist/module/internal/web/memidb/FDBKeyRange.js.map +1 -0
- package/dist/module/internal/web/memidb/FDBObjectStore.js +378 -0
- package/dist/module/internal/web/memidb/FDBObjectStore.js.map +1 -0
- package/dist/module/internal/web/memidb/FDBOpenDBRequest.js +12 -0
- package/dist/module/internal/web/memidb/FDBOpenDBRequest.js.map +1 -0
- package/dist/module/internal/web/memidb/FDBRequest.js +36 -0
- package/dist/module/internal/web/memidb/FDBRequest.js.map +1 -0
- package/dist/module/internal/web/memidb/FDBTransaction.js +216 -0
- package/dist/module/internal/web/memidb/FDBTransaction.js.map +1 -0
- package/dist/module/internal/web/memidb/FDBVersionChangeEvent.js +15 -0
- package/dist/module/internal/web/memidb/FDBVersionChangeEvent.js.map +1 -0
- package/dist/module/internal/web/memidb/LICENSE +208 -0
- package/dist/module/internal/web/memidb/index.js +41 -0
- package/dist/module/internal/web/memidb/index.js.map +1 -0
- package/dist/module/internal/web/memidb/lib/Database.js +35 -0
- package/dist/module/internal/web/memidb/lib/Database.js.map +1 -0
- package/dist/module/internal/web/memidb/lib/FakeDOMStringList.js +75 -0
- package/dist/module/internal/web/memidb/lib/FakeDOMStringList.js.map +1 -0
- package/dist/module/internal/web/memidb/lib/FakeEvent.js +41 -0
- package/dist/module/internal/web/memidb/lib/FakeEvent.js.map +1 -0
- package/dist/module/internal/web/memidb/lib/FakeEventTarget.js +107 -0
- package/dist/module/internal/web/memidb/lib/FakeEventTarget.js.map +1 -0
- package/dist/module/internal/web/memidb/lib/Index.js +160 -0
- package/dist/module/internal/web/memidb/lib/Index.js.map +1 -0
- package/dist/module/internal/web/memidb/lib/KeyGenerator.js +25 -0
- package/dist/module/internal/web/memidb/lib/KeyGenerator.js.map +1 -0
- package/dist/module/internal/web/memidb/lib/ObjectStore.js +175 -0
- package/dist/module/internal/web/memidb/lib/ObjectStore.js.map +1 -0
- package/dist/module/internal/web/memidb/lib/RecordStore.js +136 -0
- package/dist/module/internal/web/memidb/lib/RecordStore.js.map +1 -0
- package/dist/module/internal/web/memidb/lib/binarySearch.js +77 -0
- package/dist/module/internal/web/memidb/lib/binarySearch.js.map +1 -0
- package/dist/module/internal/web/memidb/lib/canInjectKey.js +26 -0
- package/dist/module/internal/web/memidb/lib/canInjectKey.js.map +1 -0
- package/dist/module/internal/web/memidb/lib/cmp.js +80 -0
- package/dist/module/internal/web/memidb/lib/cmp.js.map +1 -0
- package/dist/module/internal/web/memidb/lib/enforceRange.js +16 -0
- package/dist/module/internal/web/memidb/lib/enforceRange.js.map +1 -0
- package/dist/module/internal/web/memidb/lib/errors.js +81 -0
- package/dist/module/internal/web/memidb/lib/errors.js.map +1 -0
- package/dist/module/internal/web/memidb/lib/extractKey.js +42 -0
- package/dist/module/internal/web/memidb/lib/extractKey.js.map +1 -0
- package/dist/module/internal/web/memidb/lib/scheduling.js +32 -0
- package/dist/module/internal/web/memidb/lib/scheduling.js.map +1 -0
- package/dist/module/internal/web/memidb/lib/types.js +4 -0
- package/dist/module/internal/web/memidb/lib/types.js.map +1 -0
- package/dist/module/internal/web/memidb/lib/validateKeyPath.js +47 -0
- package/dist/module/internal/web/memidb/lib/validateKeyPath.js.map +1 -0
- package/dist/module/internal/web/memidb/lib/valueToKey.js +58 -0
- package/dist/module/internal/web/memidb/lib/valueToKey.js.map +1 -0
- package/dist/module/internal/web/memidb/lib/valueToKeyRange.js +22 -0
- package/dist/module/internal/web/memidb/lib/valueToKeyRange.js.map +1 -0
- package/dist/module/internal/web/structuredClone/index.js +235 -0
- package/dist/module/internal/web/structuredClone/index.js.map +1 -0
- package/{lib → dist/module}/internal/web/utils.js +24 -5
- package/dist/module/internal/web/utils.js.map +1 -0
- package/dist/module/modular.js +172 -0
- package/dist/module/modular.js.map +1 -0
- package/dist/module/namespaced.js +25 -0
- package/dist/module/namespaced.js.map +1 -0
- package/dist/module/package.json +1 -0
- package/dist/module/types/app.js +135 -0
- package/dist/module/types/app.js.map +1 -0
- package/dist/module/types/internal.js +4 -0
- package/dist/module/types/internal.js.map +1 -0
- package/dist/module/utils/UtilsStatics.js +55 -0
- package/dist/module/utils/UtilsStatics.js.map +1 -0
- package/{lib → dist/module}/utils/index.js +13 -15
- package/dist/module/utils/index.js.map +1 -0
- package/dist/module/version.js +5 -0
- package/dist/module/version.js.map +1 -0
- package/dist/typescript/commonjs/lib/FirebaseApp.d.ts +21 -0
- package/dist/typescript/commonjs/lib/FirebaseApp.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/common/Base64.d.ts +23 -0
- package/dist/typescript/commonjs/lib/common/Base64.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/common/MutatableParams.d.ts +10 -0
- package/dist/typescript/commonjs/lib/common/MutatableParams.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/common/ReferenceBase.d.ts +12 -0
- package/dist/typescript/commonjs/lib/common/ReferenceBase.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/common/deeps.d.ts +19 -0
- package/dist/typescript/commonjs/lib/common/deeps.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/common/id.d.ts +12 -0
- package/dist/typescript/commonjs/lib/common/id.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/common/index.d.ts +33 -0
- package/dist/typescript/commonjs/lib/common/index.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/common/path.d.ts +51 -0
- package/dist/typescript/commonjs/lib/common/path.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/common/promise.d.ts +12 -0
- package/dist/typescript/commonjs/lib/common/promise.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/common/serialize.d.ts +4 -0
- package/dist/typescript/commonjs/lib/common/serialize.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/common/unitTestUtils.d.ts +4 -0
- package/dist/typescript/commonjs/lib/common/unitTestUtils.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/common/validate.d.ts +100 -0
- package/dist/typescript/commonjs/lib/common/validate.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/index.d.ts +4 -0
- package/dist/typescript/commonjs/lib/index.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/internal/FirebaseModule.d.ts +17 -0
- package/dist/typescript/commonjs/lib/internal/FirebaseModule.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/internal/NativeFirebaseError.d.ts +20 -0
- package/dist/typescript/commonjs/lib/internal/NativeFirebaseError.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/internal/NativeModules.d.ts +83 -0
- package/dist/typescript/commonjs/lib/internal/NativeModules.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/internal/RNFBNativeEventEmitter.d.ts +13 -0
- package/dist/typescript/commonjs/lib/internal/RNFBNativeEventEmitter.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/internal/SharedEventEmitter.d.ts +4 -0
- package/dist/typescript/commonjs/lib/internal/SharedEventEmitter.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/internal/asyncStorage.d.ts +10 -0
- package/dist/typescript/commonjs/lib/internal/asyncStorage.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/internal/constants.d.ts +5 -0
- package/dist/typescript/commonjs/lib/internal/constants.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/internal/index.d.ts +12 -0
- package/dist/typescript/commonjs/lib/internal/index.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/internal/logger.d.ts +83 -0
- package/dist/typescript/commonjs/lib/internal/logger.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/internal/nativeModule.android.d.ts +3 -0
- package/dist/typescript/commonjs/lib/internal/nativeModule.android.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/internal/nativeModule.d.ts +3 -0
- package/dist/typescript/commonjs/lib/internal/nativeModule.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/internal/nativeModule.ios.d.ts +3 -0
- package/dist/typescript/commonjs/lib/internal/nativeModule.ios.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/internal/nativeModuleAndroidIos.d.ts +10 -0
- package/dist/typescript/commonjs/lib/internal/nativeModuleAndroidIos.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/internal/nativeModuleWeb.d.ts +3 -0
- package/dist/typescript/commonjs/lib/internal/nativeModuleWeb.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/internal/nullSerialization.d.ts +16 -0
- package/dist/typescript/commonjs/lib/internal/nullSerialization.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/internal/registry/app.d.ts +47 -0
- package/dist/typescript/commonjs/lib/internal/registry/app.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/internal/registry/namespace.d.ts +26 -0
- package/dist/typescript/commonjs/lib/internal/registry/namespace.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/internal/registry/nativeModule.d.ts +17 -0
- package/dist/typescript/commonjs/lib/internal/registry/nativeModule.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/internal/web/RNFBAppModule.d.ts +139 -0
- package/dist/typescript/commonjs/lib/internal/web/RNFBAppModule.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/internal/web/firebaseApp.d.ts +2 -0
- package/dist/typescript/commonjs/lib/internal/web/firebaseApp.d.ts.map +1 -0
- package/{lib/internal/web/firebaseAppCheck.js → dist/typescript/commonjs/lib/internal/web/firebaseAppCheck.d.ts} +1 -2
- package/dist/typescript/commonjs/lib/internal/web/firebaseAppCheck.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/internal/web/firebaseAuth.d.ts +3 -0
- package/dist/typescript/commonjs/lib/internal/web/firebaseAuth.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/internal/web/firebaseDatabase.d.ts +3 -0
- package/dist/typescript/commonjs/lib/internal/web/firebaseDatabase.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/internal/web/firebaseFirestore.d.ts +3 -0
- package/dist/typescript/commonjs/lib/internal/web/firebaseFirestore.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/internal/web/firebaseFunctions.d.ts +3 -0
- package/dist/typescript/commonjs/lib/internal/web/firebaseFunctions.d.ts.map +1 -0
- package/{lib/internal/web/firebaseInstallations.js → dist/typescript/commonjs/lib/internal/web/firebaseInstallations.d.ts} +1 -2
- package/dist/typescript/commonjs/lib/internal/web/firebaseInstallations.d.ts.map +1 -0
- package/{lib/internal/web/firebaseRemoteConfig.js → dist/typescript/commonjs/lib/internal/web/firebaseRemoteConfig.d.ts} +1 -2
- package/dist/typescript/commonjs/lib/internal/web/firebaseRemoteConfig.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/internal/web/firebaseStorage.d.ts +3 -0
- package/dist/typescript/commonjs/lib/internal/web/firebaseStorage.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/internal/web/utils.d.ts +13 -0
- package/dist/typescript/commonjs/lib/internal/web/utils.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/modular.d.ts +95 -0
- package/dist/typescript/commonjs/lib/modular.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/namespaced.d.ts +5 -0
- package/dist/typescript/commonjs/lib/namespaced.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/types/app.d.ts +561 -0
- package/dist/typescript/commonjs/lib/types/app.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/types/internal.d.ts +101 -0
- package/dist/typescript/commonjs/lib/types/internal.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/utils/UtilsStatics.d.ts +4 -0
- package/dist/typescript/commonjs/lib/utils/UtilsStatics.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/utils/index.d.ts +4 -0
- package/dist/typescript/commonjs/lib/utils/index.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/version.d.ts +2 -0
- package/dist/typescript/commonjs/lib/version.d.ts.map +1 -0
- package/dist/typescript/commonjs/package.json +1 -0
- package/dist/typescript/module/lib/FirebaseApp.d.ts +21 -0
- package/dist/typescript/module/lib/FirebaseApp.d.ts.map +1 -0
- package/dist/typescript/module/lib/common/Base64.d.ts +23 -0
- package/dist/typescript/module/lib/common/Base64.d.ts.map +1 -0
- package/dist/typescript/module/lib/common/MutatableParams.d.ts +10 -0
- package/dist/typescript/module/lib/common/MutatableParams.d.ts.map +1 -0
- package/dist/typescript/module/lib/common/ReferenceBase.d.ts +12 -0
- package/dist/typescript/module/lib/common/ReferenceBase.d.ts.map +1 -0
- package/dist/typescript/module/lib/common/deeps.d.ts +19 -0
- package/dist/typescript/module/lib/common/deeps.d.ts.map +1 -0
- package/dist/typescript/module/lib/common/id.d.ts +12 -0
- package/dist/typescript/module/lib/common/id.d.ts.map +1 -0
- package/dist/typescript/module/lib/common/index.d.ts +33 -0
- package/dist/typescript/module/lib/common/index.d.ts.map +1 -0
- package/dist/typescript/module/lib/common/path.d.ts +51 -0
- package/dist/typescript/module/lib/common/path.d.ts.map +1 -0
- package/dist/typescript/module/lib/common/promise.d.ts +12 -0
- package/dist/typescript/module/lib/common/promise.d.ts.map +1 -0
- package/dist/typescript/module/lib/common/serialize.d.ts +4 -0
- package/dist/typescript/module/lib/common/serialize.d.ts.map +1 -0
- package/dist/typescript/module/lib/common/unitTestUtils.d.ts +4 -0
- package/dist/typescript/module/lib/common/unitTestUtils.d.ts.map +1 -0
- package/dist/typescript/module/lib/common/validate.d.ts +100 -0
- package/dist/typescript/module/lib/common/validate.d.ts.map +1 -0
- package/dist/typescript/module/lib/index.d.ts +4 -0
- package/dist/typescript/module/lib/index.d.ts.map +1 -0
- package/dist/typescript/module/lib/internal/FirebaseModule.d.ts +17 -0
- package/dist/typescript/module/lib/internal/FirebaseModule.d.ts.map +1 -0
- package/dist/typescript/module/lib/internal/NativeFirebaseError.d.ts +20 -0
- package/dist/typescript/module/lib/internal/NativeFirebaseError.d.ts.map +1 -0
- package/dist/typescript/module/lib/internal/NativeModules.d.ts +83 -0
- package/dist/typescript/module/lib/internal/NativeModules.d.ts.map +1 -0
- package/dist/typescript/module/lib/internal/RNFBNativeEventEmitter.d.ts +13 -0
- package/dist/typescript/module/lib/internal/RNFBNativeEventEmitter.d.ts.map +1 -0
- package/dist/typescript/module/lib/internal/SharedEventEmitter.d.ts +4 -0
- package/dist/typescript/module/lib/internal/SharedEventEmitter.d.ts.map +1 -0
- package/dist/typescript/module/lib/internal/asyncStorage.d.ts +10 -0
- package/dist/typescript/module/lib/internal/asyncStorage.d.ts.map +1 -0
- package/dist/typescript/module/lib/internal/constants.d.ts +5 -0
- package/dist/typescript/module/lib/internal/constants.d.ts.map +1 -0
- package/dist/typescript/module/lib/internal/index.d.ts +12 -0
- package/dist/typescript/module/lib/internal/index.d.ts.map +1 -0
- package/dist/typescript/module/lib/internal/logger.d.ts +83 -0
- package/dist/typescript/module/lib/internal/logger.d.ts.map +1 -0
- package/dist/typescript/module/lib/internal/nativeModule.android.d.ts +3 -0
- package/dist/typescript/module/lib/internal/nativeModule.android.d.ts.map +1 -0
- package/dist/typescript/module/lib/internal/nativeModule.d.ts +3 -0
- package/dist/typescript/module/lib/internal/nativeModule.d.ts.map +1 -0
- package/dist/typescript/module/lib/internal/nativeModule.ios.d.ts +3 -0
- package/dist/typescript/module/lib/internal/nativeModule.ios.d.ts.map +1 -0
- package/dist/typescript/module/lib/internal/nativeModuleAndroidIos.d.ts +10 -0
- package/dist/typescript/module/lib/internal/nativeModuleAndroidIos.d.ts.map +1 -0
- package/dist/typescript/module/lib/internal/nativeModuleWeb.d.ts +3 -0
- package/dist/typescript/module/lib/internal/nativeModuleWeb.d.ts.map +1 -0
- package/dist/typescript/module/lib/internal/nullSerialization.d.ts +16 -0
- package/dist/typescript/module/lib/internal/nullSerialization.d.ts.map +1 -0
- package/dist/typescript/module/lib/internal/registry/app.d.ts +47 -0
- package/dist/typescript/module/lib/internal/registry/app.d.ts.map +1 -0
- package/dist/typescript/module/lib/internal/registry/namespace.d.ts +26 -0
- package/dist/typescript/module/lib/internal/registry/namespace.d.ts.map +1 -0
- package/dist/typescript/module/lib/internal/registry/nativeModule.d.ts +17 -0
- package/dist/typescript/module/lib/internal/registry/nativeModule.d.ts.map +1 -0
- package/dist/typescript/module/lib/internal/web/RNFBAppModule.d.ts +139 -0
- package/dist/typescript/module/lib/internal/web/RNFBAppModule.d.ts.map +1 -0
- package/dist/typescript/module/lib/internal/web/firebaseApp.d.ts +2 -0
- package/dist/typescript/module/lib/internal/web/firebaseApp.d.ts.map +1 -0
- package/dist/typescript/module/lib/internal/web/firebaseAppCheck.d.ts +5 -0
- package/dist/typescript/module/lib/internal/web/firebaseAppCheck.d.ts.map +1 -0
- package/dist/typescript/module/lib/internal/web/firebaseAuth.d.ts +3 -0
- package/dist/typescript/module/lib/internal/web/firebaseAuth.d.ts.map +1 -0
- package/dist/typescript/module/lib/internal/web/firebaseDatabase.d.ts +3 -0
- package/dist/typescript/module/lib/internal/web/firebaseDatabase.d.ts.map +1 -0
- package/dist/typescript/module/lib/internal/web/firebaseFirestore.d.ts +3 -0
- package/dist/typescript/module/lib/internal/web/firebaseFirestore.d.ts.map +1 -0
- package/dist/typescript/module/lib/internal/web/firebaseFunctions.d.ts +3 -0
- package/dist/typescript/module/lib/internal/web/firebaseFunctions.d.ts.map +1 -0
- package/dist/typescript/module/lib/internal/web/firebaseInstallations.d.ts +5 -0
- package/dist/typescript/module/lib/internal/web/firebaseInstallations.d.ts.map +1 -0
- package/dist/typescript/module/lib/internal/web/firebaseRemoteConfig.d.ts +5 -0
- package/dist/typescript/module/lib/internal/web/firebaseRemoteConfig.d.ts.map +1 -0
- package/dist/typescript/module/lib/internal/web/firebaseStorage.d.ts +3 -0
- package/dist/typescript/module/lib/internal/web/firebaseStorage.d.ts.map +1 -0
- package/dist/typescript/module/lib/internal/web/utils.d.ts +13 -0
- package/dist/typescript/module/lib/internal/web/utils.d.ts.map +1 -0
- package/dist/typescript/module/lib/modular.d.ts +95 -0
- package/dist/typescript/module/lib/modular.d.ts.map +1 -0
- package/dist/typescript/module/lib/namespaced.d.ts +5 -0
- package/dist/typescript/module/lib/namespaced.d.ts.map +1 -0
- package/dist/typescript/module/lib/types/app.d.ts +561 -0
- package/dist/typescript/module/lib/types/app.d.ts.map +1 -0
- package/dist/typescript/module/lib/types/internal.d.ts +101 -0
- package/dist/typescript/module/lib/types/internal.d.ts.map +1 -0
- package/dist/typescript/module/lib/utils/UtilsStatics.d.ts +4 -0
- package/dist/typescript/module/lib/utils/UtilsStatics.d.ts.map +1 -0
- package/dist/typescript/module/lib/utils/index.d.ts +4 -0
- package/dist/typescript/module/lib/utils/index.d.ts.map +1 -0
- package/dist/typescript/module/lib/version.d.ts +2 -0
- package/dist/typescript/module/lib/version.d.ts.map +1 -0
- package/dist/typescript/module/package.json +1 -0
- package/ios/RNFBApp/RNFBNullSentinelInterceptor.h +47 -0
- package/ios/RNFBApp/RNFBNullSentinelInterceptor.m +74 -0
- package/ios/RNFBApp/RNFBSharedUtils.h +2 -0
- package/ios/RNFBApp/RNFBSharedUtils.m +118 -0
- package/ios/RNFBApp/RNFBVersion.m +1 -1
- package/ios/RNFBApp.xcodeproj/project.pbxproj +6 -0
- package/lib/FirebaseApp.ts +98 -0
- package/lib/common/{Base64.js → Base64.ts} +19 -11
- package/lib/common/MutatableParams.ts +50 -0
- package/lib/common/ReferenceBase.ts +45 -0
- package/lib/common/deeps.ts +92 -0
- package/lib/common/id.ts +91 -0
- package/lib/common/{index.js → index.ts} +60 -38
- package/lib/common/path.ts +124 -0
- package/lib/common/promise.ts +68 -0
- package/lib/common/{serialize.js → serialize.ts} +3 -2
- package/lib/common/unitTestUtils.ts +5 -4
- package/lib/common/validate.ts +232 -0
- package/lib/index.ts +27 -0
- package/lib/internal/FirebaseModule.ts +78 -0
- package/lib/internal/NativeFirebaseError.ts +111 -0
- package/lib/internal/NativeModules.ts +116 -0
- package/lib/internal/RNFBNativeEventEmitter.ts +139 -0
- package/lib/internal/asyncStorage.ts +76 -0
- package/lib/internal/{constants.js → constants.ts} +3 -1
- package/lib/internal/global.d.ts +33 -0
- package/lib/internal/{index.js → index.ts} +2 -0
- package/lib/internal/logger.ts +270 -0
- package/lib/internal/nativeModuleAndroidIos.ts +55 -0
- package/lib/internal/nativeModuleWeb.ts +60 -0
- package/lib/internal/nullSerialization.ts +186 -0
- package/lib/internal/registry/app.ts +278 -0
- package/lib/internal/registry/{namespace.js → namespace.ts} +93 -54
- package/lib/internal/registry/nativeModule.ts +282 -0
- package/lib/internal/web/RNFBAppModule.ts +318 -0
- package/lib/internal/web/firebaseApp.ts +20 -0
- package/lib/internal/web/firebaseAppCheck.ts +23 -0
- package/lib/internal/web/firebaseAuth.ts +21 -0
- package/lib/internal/web/firebaseDatabase.ts +21 -0
- package/lib/internal/web/firebaseFirestore.ts +21 -0
- package/lib/internal/web/firebaseFunctions.ts +21 -0
- package/lib/internal/web/firebaseInstallations.ts +23 -0
- package/lib/internal/web/firebaseRemoteConfig.ts +23 -0
- package/lib/internal/web/firebaseStorage.ts +21 -0
- package/lib/internal/web/memidb/index.d.ts +21 -0
- package/lib/internal/web/memidb/lib/errors.js +17 -0
- package/lib/internal/web/utils.ts +57 -0
- package/lib/modular.ts +219 -0
- package/lib/{index.js → namespaced.ts} +2 -2
- package/lib/{index.d.ts → types/app.ts} +81 -40
- package/lib/types/internal.ts +142 -0
- package/lib/utils/{UtilsStatics.js → UtilsStatics.ts} +20 -12
- package/lib/utils/index.ts +94 -0
- package/lib/version.ts +2 -0
- package/package.json +99 -9
- package/tsconfig.json +10 -0
- package/lib/internal/asyncStorage.js +0 -47
- package/lib/internal/logger.d.ts +0 -85
- package/lib/internal/nativeModuleAndroidIos.js +0 -45
- package/lib/internal/nativeModuleWeb.js +0 -49
- package/lib/internal/web/firebaseApp.js +0 -3
- package/lib/internal/web/firebaseAuth.js +0 -4
- package/lib/internal/web/firebaseDatabase.js +0 -4
- package/lib/internal/web/firebaseFirestore.js +0 -4
- package/lib/internal/web/firebaseFunctions.js +0 -4
- package/lib/internal/web/firebaseStorage.js +0 -4
- package/lib/modular/index.d.ts +0 -131
- package/lib/modular/index.js +0 -150
- package/lib/version.js +0 -2
- /package/lib/internal/{SharedEventEmitter.js → SharedEventEmitter.ts} +0 -0
- /package/lib/internal/{nativeModule.android.js → nativeModule.android.ts} +0 -0
- /package/lib/internal/{nativeModule.ios.js → nativeModule.ios.ts} +0 -0
- /package/lib/internal/{nativeModule.js → nativeModule.ts} +0 -0
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2016-present Invertase Limited & Contributors
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this library except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
import {
|
|
19
|
+
isIOS,
|
|
20
|
+
isOther,
|
|
21
|
+
isNull,
|
|
22
|
+
warnIfNotModularCall,
|
|
23
|
+
isObject,
|
|
24
|
+
isFunction,
|
|
25
|
+
isString,
|
|
26
|
+
isUndefined,
|
|
27
|
+
} from '../../common';
|
|
28
|
+
import FirebaseApp from '../../FirebaseApp';
|
|
29
|
+
import { DEFAULT_APP_NAME } from '../constants';
|
|
30
|
+
import { setReactNativeAsyncStorageInternal } from '../asyncStorage';
|
|
31
|
+
import { getAppModule } from './nativeModule';
|
|
32
|
+
import { setLogLevelInternal } from '../logger';
|
|
33
|
+
import type { ReactNativeFirebase } from '../../types/app';
|
|
34
|
+
|
|
35
|
+
type FirebaseAppConfig = ReactNativeFirebase.FirebaseAppConfig;
|
|
36
|
+
type FirebaseAppOptions = ReactNativeFirebase.FirebaseAppOptions;
|
|
37
|
+
type ReactNativeAsyncStorage = ReactNativeFirebase.ReactNativeAsyncStorage;
|
|
38
|
+
|
|
39
|
+
const APP_REGISTRY: Record<string, FirebaseApp> = {};
|
|
40
|
+
let onAppCreateFn: ((app: FirebaseApp) => void) | null = null;
|
|
41
|
+
let onAppDestroyFn: ((app: FirebaseApp) => void) | null = null;
|
|
42
|
+
let initializedNativeApps = false;
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* This was needed to avoid metro require cycles...
|
|
46
|
+
* @param fn
|
|
47
|
+
*/
|
|
48
|
+
export function setOnAppCreate(fn: (app: FirebaseApp) => void): void {
|
|
49
|
+
onAppCreateFn = fn;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* This was needed to avoid metro require cycles...
|
|
54
|
+
* @param fn
|
|
55
|
+
*/
|
|
56
|
+
export function setOnAppDestroy(fn: (app: FirebaseApp) => void): void {
|
|
57
|
+
onAppDestroyFn = fn;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Initializes all apps that were created natively (android/ios),
|
|
62
|
+
* e.g. the Default firebase app from plist/json google services file.
|
|
63
|
+
*/
|
|
64
|
+
export function initializeNativeApps(): void {
|
|
65
|
+
const nativeModule = getAppModule();
|
|
66
|
+
const { NATIVE_FIREBASE_APPS } = nativeModule;
|
|
67
|
+
|
|
68
|
+
if (NATIVE_FIREBASE_APPS && NATIVE_FIREBASE_APPS.length) {
|
|
69
|
+
for (let i = 0; i < NATIVE_FIREBASE_APPS.length; i++) {
|
|
70
|
+
const nativeApp = NATIVE_FIREBASE_APPS[i];
|
|
71
|
+
if (!nativeApp) continue;
|
|
72
|
+
const { appConfig, options } = nativeApp;
|
|
73
|
+
const name = appConfig.name as string;
|
|
74
|
+
APP_REGISTRY[name] = new FirebaseApp(
|
|
75
|
+
options as FirebaseAppOptions,
|
|
76
|
+
appConfig as FirebaseAppConfig,
|
|
77
|
+
true,
|
|
78
|
+
deleteApp.bind(null, name, true),
|
|
79
|
+
);
|
|
80
|
+
onAppCreateFn?.(APP_REGISTRY[name]);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
initializedNativeApps = true;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Get an app by name; or the default app.
|
|
89
|
+
*
|
|
90
|
+
* On first call of this method it will initialize any
|
|
91
|
+
* natively created apps in JS. This makes this 'lazy load'.
|
|
92
|
+
*
|
|
93
|
+
* @param name
|
|
94
|
+
*/
|
|
95
|
+
export function getApp(name: string = DEFAULT_APP_NAME): ReactNativeFirebase.FirebaseApp {
|
|
96
|
+
warnIfNotModularCall(arguments, 'getApp()');
|
|
97
|
+
if (!initializedNativeApps) {
|
|
98
|
+
initializeNativeApps();
|
|
99
|
+
}
|
|
100
|
+
const app = APP_REGISTRY[name];
|
|
101
|
+
|
|
102
|
+
if (!app) {
|
|
103
|
+
throw new Error(`No Firebase App '${name}' has been created - call firebase.initializeApp()`);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
return app as unknown as ReactNativeFirebase.FirebaseApp;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Gets all app instances, used for `firebase.apps`
|
|
111
|
+
*/
|
|
112
|
+
export function getApps(): ReactNativeFirebase.FirebaseApp[] {
|
|
113
|
+
warnIfNotModularCall(arguments, 'getApps()');
|
|
114
|
+
if (!initializedNativeApps) {
|
|
115
|
+
initializeNativeApps();
|
|
116
|
+
}
|
|
117
|
+
return Object.values(APP_REGISTRY) as unknown as ReactNativeFirebase.FirebaseApp[];
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
*
|
|
122
|
+
* @param options
|
|
123
|
+
* @param configOrName
|
|
124
|
+
*/
|
|
125
|
+
export function initializeApp(
|
|
126
|
+
options: Partial<FirebaseAppOptions> = {},
|
|
127
|
+
configOrName?: string | FirebaseAppConfig,
|
|
128
|
+
): Promise<ReactNativeFirebase.FirebaseApp> {
|
|
129
|
+
warnIfNotModularCall(arguments, 'initializeApp()');
|
|
130
|
+
let appConfig: FirebaseAppConfig = configOrName as FirebaseAppConfig;
|
|
131
|
+
|
|
132
|
+
if (!isObject(configOrName) || isNull(configOrName)) {
|
|
133
|
+
appConfig = {
|
|
134
|
+
name: configOrName as string,
|
|
135
|
+
automaticResourceManagement: false,
|
|
136
|
+
automaticDataCollectionEnabled: true,
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
if (isUndefined(appConfig.name)) {
|
|
141
|
+
appConfig.name = DEFAULT_APP_NAME;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
const { name } = appConfig;
|
|
145
|
+
|
|
146
|
+
if (!name || !isString(name)) {
|
|
147
|
+
return Promise.reject(new Error(`Illegal App name: '${name}'`));
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
if (APP_REGISTRY[name]) {
|
|
151
|
+
return Promise.reject(new Error(`Firebase App named '${name}' already exists`));
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
// VALIDATE OPTIONS
|
|
155
|
+
if (!isObject(options)) {
|
|
156
|
+
return Promise.reject(
|
|
157
|
+
new Error(`firebase.initializeApp(options, <- expects an Object but got '${typeof options}'`),
|
|
158
|
+
);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
if (!isString(options.apiKey)) {
|
|
162
|
+
return Promise.reject(new Error("Missing or invalid FirebaseOptions property 'apiKey'."));
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
if (!isString(options.appId)) {
|
|
166
|
+
return Promise.reject(new Error("Missing or invalid FirebaseOptions property 'appId'."));
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
// TODO - make required only if database module exists - init app on native ios&android needs changing also
|
|
170
|
+
if (!isString(options.databaseURL)) {
|
|
171
|
+
return Promise.reject(new Error("Missing or invalid FirebaseOptions property 'databaseURL'."));
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
// TODO - make required only if messaging/notifications module exists - init app on native ios&android needs changing also
|
|
175
|
+
if (!isString(options.messagingSenderId)) {
|
|
176
|
+
return Promise.reject(
|
|
177
|
+
new Error("Missing or invalid FirebaseOptions property 'messagingSenderId'."),
|
|
178
|
+
);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
if (!isString(options.projectId)) {
|
|
182
|
+
return Promise.reject(new Error("Missing or invalid FirebaseOptions property 'projectId'."));
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
// TODO - make required only if database module exists - init app on native ios&android needs changing also
|
|
186
|
+
if (!isString(options.storageBucket)) {
|
|
187
|
+
return Promise.reject(
|
|
188
|
+
new Error("Missing or invalid FirebaseOptions property 'storageBucket'."),
|
|
189
|
+
);
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
const app = new FirebaseApp(
|
|
193
|
+
options as FirebaseAppOptions,
|
|
194
|
+
appConfig,
|
|
195
|
+
false,
|
|
196
|
+
deleteApp.bind(null, name, true),
|
|
197
|
+
);
|
|
198
|
+
|
|
199
|
+
// Note these initialization actions with side effects are performed prior to knowledge of
|
|
200
|
+
// successful initialization in the native code. Native code *may* throw an error.
|
|
201
|
+
APP_REGISTRY[name] = app;
|
|
202
|
+
onAppCreateFn?.(APP_REGISTRY[name]);
|
|
203
|
+
|
|
204
|
+
return getAppModule()
|
|
205
|
+
.initializeApp(options as FirebaseAppOptions, appConfig)
|
|
206
|
+
.then(() => {
|
|
207
|
+
app._initialized = true;
|
|
208
|
+
return app as unknown as ReactNativeFirebase.FirebaseApp;
|
|
209
|
+
})
|
|
210
|
+
.catch((e: any) => {
|
|
211
|
+
// we need to clean the app entry from registry as the app does not actually exist
|
|
212
|
+
// There are still possible side effects from `onAppCreateFn` to consider but as existing
|
|
213
|
+
// code may rely on that function running prior to native create, re-ordering it is a semantic change
|
|
214
|
+
// and will be avoided
|
|
215
|
+
delete APP_REGISTRY[name];
|
|
216
|
+
|
|
217
|
+
// Now allow calling code to handle the initialization issue
|
|
218
|
+
throw e;
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
export function setLogLevel(logLevel: ReactNativeFirebase.LogLevelString): void {
|
|
223
|
+
warnIfNotModularCall(arguments, 'setLogLevel()');
|
|
224
|
+
if (!['error', 'warn', 'info', 'debug', 'verbose'].includes(logLevel)) {
|
|
225
|
+
throw new Error('LogLevel must be one of "error", "warn", "info", "debug", "verbose"');
|
|
226
|
+
}
|
|
227
|
+
// This is setting LogLevel for VertexAI which does not wrap around native SDK
|
|
228
|
+
setLogLevelInternal(logLevel);
|
|
229
|
+
|
|
230
|
+
if (isIOS || isOther) {
|
|
231
|
+
getAppModule().setLogLevel(logLevel);
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
export function setReactNativeAsyncStorage(asyncStorage: ReactNativeAsyncStorage): void {
|
|
236
|
+
warnIfNotModularCall(arguments, 'setReactNativeAsyncStorage()');
|
|
237
|
+
|
|
238
|
+
if (!isObject(asyncStorage)) {
|
|
239
|
+
throw new Error("setReactNativeAsyncStorage(*) 'asyncStorage' must be an object.");
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
if (!isFunction(asyncStorage.setItem)) {
|
|
243
|
+
throw new Error("setReactNativeAsyncStorage(*) 'asyncStorage.setItem' must be a function.");
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
if (!isFunction(asyncStorage.getItem)) {
|
|
247
|
+
throw new Error("setReactNativeAsyncStorage(*) 'asyncStorage.getItem' must be a function.");
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
if (!isFunction(asyncStorage.removeItem)) {
|
|
251
|
+
throw new Error("setReactNativeAsyncStorage(*) 'asyncStorage.removeItem' must be a function.");
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
setReactNativeAsyncStorageInternal(asyncStorage as any);
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
/**
|
|
258
|
+
*
|
|
259
|
+
*/
|
|
260
|
+
export function deleteApp(name: string, nativeInitialized: boolean): Promise<void> {
|
|
261
|
+
if (name === DEFAULT_APP_NAME && nativeInitialized) {
|
|
262
|
+
return Promise.reject(new Error('Unable to delete the default native firebase app instance.'));
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
const app = APP_REGISTRY[name];
|
|
266
|
+
|
|
267
|
+
if (app === undefined) {
|
|
268
|
+
throw new Error(`Firebase App named '${name}' already deleted`);
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
const nativeModule = getAppModule();
|
|
272
|
+
|
|
273
|
+
return nativeModule.deleteApp(name).then(() => {
|
|
274
|
+
(app as any)._deleted = true;
|
|
275
|
+
onAppDestroyFn?.(app);
|
|
276
|
+
delete APP_REGISTRY[name];
|
|
277
|
+
});
|
|
278
|
+
}
|
|
@@ -17,9 +17,10 @@
|
|
|
17
17
|
|
|
18
18
|
import { isString, createDeprecationProxy } from '../../common';
|
|
19
19
|
import FirebaseApp from '../../FirebaseApp';
|
|
20
|
-
import SDK_VERSION from '../../version';
|
|
21
|
-
import { DEFAULT_APP_NAME, KNOWN_NAMESPACES } from '../constants';
|
|
20
|
+
import { version as SDK_VERSION } from '../../version';
|
|
21
|
+
import { DEFAULT_APP_NAME, KNOWN_NAMESPACES, type KnownNamespace } from '../constants';
|
|
22
22
|
import FirebaseModule from '../FirebaseModule';
|
|
23
|
+
import type { ModuleGetter, FirebaseRoot, NamespaceConfig } from '../../types/internal';
|
|
23
24
|
import {
|
|
24
25
|
getApp,
|
|
25
26
|
getApps,
|
|
@@ -31,12 +32,12 @@ import {
|
|
|
31
32
|
} from './app';
|
|
32
33
|
|
|
33
34
|
// firebase.X
|
|
34
|
-
let FIREBASE_ROOT = null;
|
|
35
|
+
let FIREBASE_ROOT: FirebaseRoot | null = null;
|
|
35
36
|
|
|
36
|
-
const NAMESPACE_REGISTRY = {};
|
|
37
|
-
const APP_MODULE_INSTANCE = {};
|
|
38
|
-
const MODULE_GETTER_FOR_APP = {};
|
|
39
|
-
const MODULE_GETTER_FOR_ROOT = {};
|
|
37
|
+
const NAMESPACE_REGISTRY: Record<string, NamespaceConfig | undefined> = {};
|
|
38
|
+
const APP_MODULE_INSTANCE: Record<string, Record<string, FirebaseModule<any>>> = {};
|
|
39
|
+
const MODULE_GETTER_FOR_APP: Record<string, Record<string, ModuleGetter>> = {};
|
|
40
|
+
const MODULE_GETTER_FOR_ROOT: Record<string, ModuleGetter> = {};
|
|
40
41
|
|
|
41
42
|
/**
|
|
42
43
|
* Attaches module namespace getters on every newly created app.
|
|
@@ -46,10 +47,12 @@ const MODULE_GETTER_FOR_ROOT = {};
|
|
|
46
47
|
setOnAppCreate(app => {
|
|
47
48
|
for (let i = 0; i < KNOWN_NAMESPACES.length; i++) {
|
|
48
49
|
const moduleNamespace = KNOWN_NAMESPACES[i];
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
50
|
+
if (moduleNamespace) {
|
|
51
|
+
Object.defineProperty(app, moduleNamespace, {
|
|
52
|
+
enumerable: false,
|
|
53
|
+
get: firebaseAppModuleProxy.bind(null, app, moduleNamespace),
|
|
54
|
+
});
|
|
55
|
+
}
|
|
53
56
|
}
|
|
54
57
|
});
|
|
55
58
|
|
|
@@ -70,17 +73,20 @@ setOnAppDestroy(app => {
|
|
|
70
73
|
* @param moduleNamespace
|
|
71
74
|
* @returns {*}
|
|
72
75
|
*/
|
|
73
|
-
function getOrCreateModuleForApp(app, moduleNamespace) {
|
|
74
|
-
if (MODULE_GETTER_FOR_APP[app.name] && MODULE_GETTER_FOR_APP[app.name][moduleNamespace]) {
|
|
75
|
-
return MODULE_GETTER_FOR_APP[app.name][moduleNamespace]
|
|
76
|
+
function getOrCreateModuleForApp(app: FirebaseApp, moduleNamespace: KnownNamespace): ModuleGetter {
|
|
77
|
+
if (MODULE_GETTER_FOR_APP[app.name] && MODULE_GETTER_FOR_APP[app.name]?.[moduleNamespace]) {
|
|
78
|
+
return MODULE_GETTER_FOR_APP[app.name]![moduleNamespace]!;
|
|
76
79
|
}
|
|
77
80
|
|
|
78
81
|
if (!MODULE_GETTER_FOR_APP[app.name]) {
|
|
79
82
|
MODULE_GETTER_FOR_APP[app.name] = {};
|
|
80
83
|
}
|
|
81
84
|
|
|
82
|
-
const
|
|
83
|
-
|
|
85
|
+
const config = NAMESPACE_REGISTRY[moduleNamespace];
|
|
86
|
+
if (!config) {
|
|
87
|
+
throw new Error(`Module namespace '${moduleNamespace}' is not registered.`);
|
|
88
|
+
}
|
|
89
|
+
const { hasCustomUrlOrRegionSupport, hasMultiAppSupport, ModuleClass } = config;
|
|
84
90
|
|
|
85
91
|
// modules such as analytics only run on the default app
|
|
86
92
|
if (!hasMultiAppSupport && app.name !== DEFAULT_APP_NAME) {
|
|
@@ -94,7 +100,7 @@ function getOrCreateModuleForApp(app, moduleNamespace) {
|
|
|
94
100
|
}
|
|
95
101
|
|
|
96
102
|
// e.g. firebase.storage(customUrlOrRegion), firebase.functions(customUrlOrRegion), firebase.firestore(databaseId), firebase.database(url)
|
|
97
|
-
function firebaseModuleWithArgs(customUrlOrRegionOrDatabaseId) {
|
|
103
|
+
function firebaseModuleWithArgs(customUrlOrRegionOrDatabaseId?: string): FirebaseModule<any> {
|
|
98
104
|
if (customUrlOrRegionOrDatabaseId !== undefined) {
|
|
99
105
|
if (!hasCustomUrlOrRegionSupport) {
|
|
100
106
|
// TODO throw Module does not support arguments error
|
|
@@ -113,19 +119,24 @@ function getOrCreateModuleForApp(app, moduleNamespace) {
|
|
|
113
119
|
APP_MODULE_INSTANCE[app.name] = {};
|
|
114
120
|
}
|
|
115
121
|
|
|
116
|
-
if (!APP_MODULE_INSTANCE[app.name][key]) {
|
|
122
|
+
if (!APP_MODULE_INSTANCE[app.name]?.[key]) {
|
|
123
|
+
const moduleConfig = NAMESPACE_REGISTRY[moduleNamespace];
|
|
124
|
+
if (!moduleConfig) {
|
|
125
|
+
throw new Error(`Module namespace '${moduleNamespace}' is not registered.`);
|
|
126
|
+
}
|
|
117
127
|
const module = createDeprecationProxy(
|
|
118
|
-
new ModuleClass(app,
|
|
119
|
-
)
|
|
128
|
+
new ModuleClass(app, moduleConfig, customUrlOrRegionOrDatabaseId),
|
|
129
|
+
) as unknown as FirebaseModule<any>;
|
|
120
130
|
|
|
121
|
-
APP_MODULE_INSTANCE[app.name][key] = module;
|
|
131
|
+
APP_MODULE_INSTANCE[app.name]![key] = module;
|
|
122
132
|
}
|
|
123
133
|
|
|
124
|
-
return APP_MODULE_INSTANCE[app.name][key]
|
|
134
|
+
return APP_MODULE_INSTANCE[app.name]![key]!;
|
|
125
135
|
}
|
|
126
136
|
|
|
127
|
-
MODULE_GETTER_FOR_APP[app.name][moduleNamespace] =
|
|
128
|
-
|
|
137
|
+
MODULE_GETTER_FOR_APP[app.name]![moduleNamespace] =
|
|
138
|
+
firebaseModuleWithArgs as unknown as ModuleGetter;
|
|
139
|
+
return MODULE_GETTER_FOR_APP[app.name]![moduleNamespace]!;
|
|
129
140
|
}
|
|
130
141
|
|
|
131
142
|
/**
|
|
@@ -133,18 +144,29 @@ function getOrCreateModuleForApp(app, moduleNamespace) {
|
|
|
133
144
|
* @param moduleNamespace
|
|
134
145
|
* @returns {*}
|
|
135
146
|
*/
|
|
136
|
-
function getOrCreateModuleForRoot(moduleNamespace) {
|
|
147
|
+
function getOrCreateModuleForRoot(moduleNamespace: KnownNamespace): ModuleGetter {
|
|
137
148
|
if (MODULE_GETTER_FOR_ROOT[moduleNamespace]) {
|
|
138
149
|
return MODULE_GETTER_FOR_ROOT[moduleNamespace];
|
|
139
150
|
}
|
|
140
151
|
|
|
141
|
-
const
|
|
152
|
+
const config = NAMESPACE_REGISTRY[moduleNamespace];
|
|
153
|
+
if (!config) {
|
|
154
|
+
throw new Error(`Module namespace '${moduleNamespace}' is not registered.`);
|
|
155
|
+
}
|
|
156
|
+
const { statics, hasMultiAppSupport, ModuleClass } = config;
|
|
142
157
|
|
|
143
158
|
// e.g. firebase.storage(app)
|
|
144
|
-
function firebaseModuleWithApp(app) {
|
|
159
|
+
function firebaseModuleWithApp(app?: FirebaseApp): FirebaseModule<any> {
|
|
145
160
|
const _app = app || getApp();
|
|
146
161
|
|
|
147
|
-
|
|
162
|
+
// Duck-type check for FirebaseApp (checking for required properties)
|
|
163
|
+
if (
|
|
164
|
+
!_app ||
|
|
165
|
+
typeof _app !== 'object' ||
|
|
166
|
+
!('name' in _app) ||
|
|
167
|
+
!('options' in _app) ||
|
|
168
|
+
typeof _app.name !== 'string'
|
|
169
|
+
) {
|
|
148
170
|
throw new Error(
|
|
149
171
|
[
|
|
150
172
|
`"firebase.${moduleNamespace}(app)" arg expects a FirebaseApp instance or undefined.`,
|
|
@@ -169,22 +191,28 @@ function getOrCreateModuleForRoot(moduleNamespace) {
|
|
|
169
191
|
APP_MODULE_INSTANCE[_app.name] = {};
|
|
170
192
|
}
|
|
171
193
|
|
|
172
|
-
if (!APP_MODULE_INSTANCE[_app.name][moduleNamespace]) {
|
|
194
|
+
if (!APP_MODULE_INSTANCE[_app.name]?.[moduleNamespace]) {
|
|
195
|
+
const moduleConfig = NAMESPACE_REGISTRY[moduleNamespace];
|
|
196
|
+
if (!moduleConfig) {
|
|
197
|
+
throw new Error(`Module namespace '${moduleNamespace}' is not registered.`);
|
|
198
|
+
}
|
|
173
199
|
const module = createDeprecationProxy(
|
|
174
|
-
new ModuleClass(_app,
|
|
175
|
-
)
|
|
176
|
-
APP_MODULE_INSTANCE[_app.name][moduleNamespace] = module;
|
|
200
|
+
new ModuleClass(_app, moduleConfig),
|
|
201
|
+
) as unknown as FirebaseModule<any>;
|
|
202
|
+
APP_MODULE_INSTANCE[_app.name]![moduleNamespace] = module;
|
|
177
203
|
}
|
|
178
204
|
|
|
179
|
-
return APP_MODULE_INSTANCE[_app.name][moduleNamespace]
|
|
205
|
+
return APP_MODULE_INSTANCE[_app.name]![moduleNamespace]!;
|
|
180
206
|
}
|
|
181
207
|
|
|
182
208
|
Object.assign(firebaseModuleWithApp, statics || {});
|
|
183
209
|
// Object.freeze(firebaseModuleWithApp);
|
|
184
210
|
// Wrap around statics, e.g. firebase.firestore.FieldValue, removed freeze as it stops proxy working. it is deprecated anyway
|
|
185
|
-
MODULE_GETTER_FOR_ROOT[moduleNamespace] = createDeprecationProxy(
|
|
211
|
+
MODULE_GETTER_FOR_ROOT[moduleNamespace] = createDeprecationProxy(
|
|
212
|
+
firebaseModuleWithApp,
|
|
213
|
+
) as unknown as ModuleGetter;
|
|
186
214
|
|
|
187
|
-
return MODULE_GETTER_FOR_ROOT[moduleNamespace]
|
|
215
|
+
return MODULE_GETTER_FOR_ROOT[moduleNamespace]!;
|
|
188
216
|
}
|
|
189
217
|
|
|
190
218
|
/**
|
|
@@ -193,12 +221,15 @@ function getOrCreateModuleForRoot(moduleNamespace) {
|
|
|
193
221
|
* @param moduleNamespace
|
|
194
222
|
* @returns {*}
|
|
195
223
|
*/
|
|
196
|
-
function firebaseRootModuleProxy(
|
|
224
|
+
function firebaseRootModuleProxy(
|
|
225
|
+
_firebaseNamespace: FirebaseRoot,
|
|
226
|
+
moduleNamespace: string,
|
|
227
|
+
): ModuleGetter {
|
|
197
228
|
if (NAMESPACE_REGISTRY[moduleNamespace]) {
|
|
198
|
-
return getOrCreateModuleForRoot(moduleNamespace);
|
|
229
|
+
return getOrCreateModuleForRoot(moduleNamespace as KnownNamespace);
|
|
199
230
|
}
|
|
200
231
|
|
|
201
|
-
moduleWithDashes = moduleNamespace
|
|
232
|
+
const moduleWithDashes = moduleNamespace
|
|
202
233
|
.split(/(?=[A-Z])/)
|
|
203
234
|
.join('-')
|
|
204
235
|
.toLowerCase();
|
|
@@ -218,13 +249,14 @@ function firebaseRootModuleProxy(_firebaseNamespace, moduleNamespace) {
|
|
|
218
249
|
* @param moduleNamespace
|
|
219
250
|
* @returns {*}
|
|
220
251
|
*/
|
|
221
|
-
export function firebaseAppModuleProxy(app, moduleNamespace) {
|
|
252
|
+
export function firebaseAppModuleProxy(app: FirebaseApp, moduleNamespace: string): ModuleGetter {
|
|
222
253
|
if (NAMESPACE_REGISTRY[moduleNamespace]) {
|
|
223
|
-
|
|
224
|
-
|
|
254
|
+
// Call private _checkDestroyed method
|
|
255
|
+
(app as unknown as { _checkDestroyed: () => void })._checkDestroyed();
|
|
256
|
+
return getOrCreateModuleForApp(app, moduleNamespace as KnownNamespace);
|
|
225
257
|
}
|
|
226
258
|
|
|
227
|
-
moduleWithDashes = moduleNamespace
|
|
259
|
+
const moduleWithDashes = moduleNamespace
|
|
228
260
|
.split(/(?=[A-Z])/)
|
|
229
261
|
.join('-')
|
|
230
262
|
.toLowerCase();
|
|
@@ -242,8 +274,9 @@ export function firebaseAppModuleProxy(app, moduleNamespace) {
|
|
|
242
274
|
*
|
|
243
275
|
* @returns {*}
|
|
244
276
|
*/
|
|
245
|
-
export function createFirebaseRoot() {
|
|
246
|
-
|
|
277
|
+
export function createFirebaseRoot(): FirebaseRoot {
|
|
278
|
+
// Create partial root object - module namespaces like 'utils' are added dynamically below
|
|
279
|
+
const root = {
|
|
247
280
|
initializeApp,
|
|
248
281
|
setReactNativeAsyncStorage,
|
|
249
282
|
get app() {
|
|
@@ -254,24 +287,27 @@ export function createFirebaseRoot() {
|
|
|
254
287
|
},
|
|
255
288
|
SDK_VERSION,
|
|
256
289
|
setLogLevel,
|
|
257
|
-
};
|
|
290
|
+
} as FirebaseRoot;
|
|
258
291
|
|
|
259
292
|
for (let i = 0; i < KNOWN_NAMESPACES.length; i++) {
|
|
260
293
|
const namespace = KNOWN_NAMESPACES[i];
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
294
|
+
if (namespace) {
|
|
295
|
+
Object.defineProperty(root, namespace, {
|
|
296
|
+
enumerable: false,
|
|
297
|
+
get: firebaseRootModuleProxy.bind(null, root, namespace),
|
|
298
|
+
});
|
|
299
|
+
}
|
|
265
300
|
}
|
|
266
301
|
|
|
267
|
-
|
|
302
|
+
FIREBASE_ROOT = root;
|
|
303
|
+
return root;
|
|
268
304
|
}
|
|
269
305
|
|
|
270
306
|
/**
|
|
271
307
|
*
|
|
272
308
|
* @returns {*}
|
|
273
309
|
*/
|
|
274
|
-
export function getFirebaseRoot() {
|
|
310
|
+
export function getFirebaseRoot(): FirebaseRoot {
|
|
275
311
|
if (FIREBASE_ROOT) {
|
|
276
312
|
return FIREBASE_ROOT;
|
|
277
313
|
}
|
|
@@ -283,17 +319,20 @@ export function getFirebaseRoot() {
|
|
|
283
319
|
* @param options
|
|
284
320
|
* @returns {*}
|
|
285
321
|
*/
|
|
286
|
-
export function createModuleNamespace(options
|
|
322
|
+
export function createModuleNamespace(options: NamespaceConfig): ModuleGetter {
|
|
287
323
|
const { namespace, ModuleClass } = options;
|
|
288
324
|
|
|
289
325
|
if (!NAMESPACE_REGISTRY[namespace]) {
|
|
290
326
|
// validation only for internal / module dev usage
|
|
291
|
-
|
|
327
|
+
const firebaseModuleExtended = (FirebaseModule as unknown as { __extended__: object })
|
|
328
|
+
.__extended__;
|
|
329
|
+
const moduleClassExtended = (ModuleClass as unknown as { __extended__: object }).__extended__;
|
|
330
|
+
if (firebaseModuleExtended !== moduleClassExtended) {
|
|
292
331
|
throw new Error('INTERNAL ERROR: ModuleClass must be an instance of FirebaseModule.');
|
|
293
332
|
}
|
|
294
333
|
|
|
295
334
|
NAMESPACE_REGISTRY[namespace] = Object.assign({}, options);
|
|
296
335
|
}
|
|
297
336
|
|
|
298
|
-
return getFirebaseRoot()[namespace];
|
|
337
|
+
return getFirebaseRoot()[namespace] as ModuleGetter;
|
|
299
338
|
}
|