@react-native-firebase/database 25.1.0 → 26.1.0
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 +21 -0
- package/RNFBDatabase.podspec +20 -7
- package/android/build.gradle +19 -0
- package/android/src/main/java/io/invertase/firebase/database/UniversalFirebaseDatabaseModule.java +4 -14
- package/android/src/reactnative/java/io/invertase/firebase/database/DatabaseTurboModuleSupport.java +56 -0
- package/android/src/reactnative/java/io/invertase/firebase/database/{ReactNativeFirebaseDatabaseModule.java → NativeRNFBTurboDatabase.java} +16 -36
- package/android/src/reactnative/java/io/invertase/firebase/database/{ReactNativeFirebaseDatabaseOnDisconnectModule.java → NativeRNFBTurboDatabaseOnDisconnect.java} +19 -14
- package/android/src/reactnative/java/io/invertase/firebase/database/{ReactNativeFirebaseDatabaseQueryModule.java → NativeRNFBTurboDatabaseQuery.java} +41 -105
- package/android/src/reactnative/java/io/invertase/firebase/database/{ReactNativeFirebaseDatabaseReferenceModule.java → NativeRNFBTurboDatabaseReference.java} +27 -20
- package/android/src/reactnative/java/io/invertase/firebase/database/{ReactNativeFirebaseDatabaseTransactionModule.java → NativeRNFBTurboDatabaseTransaction.java} +41 -19
- package/android/src/reactnative/java/io/invertase/firebase/database/ReactNativeFirebaseDatabasePackage.java +5 -5
- package/android/src/reactnative/java/io/invertase/firebase/database/ReactNativeFirebaseDatabaseTransactionHandler.java +11 -0
- package/android/src/reactnative/java/io/invertase/firebase/database/generated/java/com/facebook/fbreact/specs/NativeRNFBTurboDatabaseOnDisconnectSpec.java +55 -0
- package/android/src/reactnative/java/io/invertase/firebase/database/generated/java/com/facebook/fbreact/specs/NativeRNFBTurboDatabaseQuerySpec.java +52 -0
- package/android/src/reactnative/java/io/invertase/firebase/database/generated/java/com/facebook/fbreact/specs/NativeRNFBTurboDatabaseReferenceSpec.java +55 -0
- package/android/src/reactnative/java/io/invertase/firebase/database/generated/java/com/facebook/fbreact/specs/NativeRNFBTurboDatabaseSpec.java +57 -0
- package/android/src/reactnative/java/io/invertase/firebase/database/generated/java/com/facebook/fbreact/specs/NativeRNFBTurboDatabaseTransactionSpec.java +42 -0
- package/android/src/reactnative/java/io/invertase/firebase/database/generated/jni/CMakeLists.txt +36 -0
- package/android/src/reactnative/java/io/invertase/firebase/database/generated/jni/RNFBDatabaseTurboModules-generated.cpp +182 -0
- package/android/src/reactnative/java/io/invertase/firebase/database/generated/jni/RNFBDatabaseTurboModules.h +63 -0
- package/android/src/reactnative/java/io/invertase/firebase/database/generated/jni/react/renderer/components/RNFBDatabaseTurboModules/RNFBDatabaseTurboModulesJSI-generated.cpp +257 -0
- package/android/src/reactnative/java/io/invertase/firebase/database/generated/jni/react/renderer/components/RNFBDatabaseTurboModules/RNFBDatabaseTurboModulesJSI.h +440 -0
- package/dist/module/DatabaseDataSnapshot.js +20 -6
- package/dist/module/DatabaseDataSnapshot.js.map +1 -1
- package/dist/module/DatabaseOnDisconnect.js.map +1 -1
- package/dist/module/DatabaseQuery.js +13 -16
- package/dist/module/DatabaseQuery.js.map +1 -1
- package/dist/module/DatabaseReference.js +16 -15
- package/dist/module/DatabaseReference.js.map +1 -1
- package/dist/module/DatabaseSyncTree.js +5 -4
- package/dist/module/DatabaseSyncTree.js.map +1 -1
- package/dist/module/DatabaseThenableReference.js +1 -2
- package/dist/module/DatabaseThenableReference.js.map +1 -1
- package/dist/module/index.js +210 -5
- package/dist/module/index.js.map +1 -1
- package/dist/module/modular/query.js +14 -15
- package/dist/module/modular/query.js.map +1 -1
- package/dist/module/modular/transaction.js +1 -2
- package/dist/module/modular/transaction.js.map +1 -1
- package/dist/module/version.js +1 -1
- package/dist/module/web/RNFBDatabaseModule.js +4 -8
- package/dist/module/web/RNFBDatabaseModule.js.map +1 -1
- package/dist/typescript/lib/DatabaseDataSnapshot.d.ts +9 -7
- package/dist/typescript/lib/DatabaseDataSnapshot.d.ts.map +1 -1
- package/dist/typescript/lib/DatabaseOnDisconnect.d.ts +3 -3
- package/dist/typescript/lib/DatabaseOnDisconnect.d.ts.map +1 -1
- package/dist/typescript/lib/DatabaseQuery.d.ts +18 -18
- package/dist/typescript/lib/DatabaseQuery.d.ts.map +1 -1
- package/dist/typescript/lib/DatabaseReference.d.ts +8 -8
- package/dist/typescript/lib/DatabaseReference.d.ts.map +1 -1
- package/dist/typescript/lib/DatabaseSyncTree.d.ts +2 -2
- package/dist/typescript/lib/DatabaseSyncTree.d.ts.map +1 -1
- package/dist/typescript/lib/DatabaseThenableReference.d.ts +8 -8
- package/dist/typescript/lib/DatabaseThenableReference.d.ts.map +1 -1
- package/dist/typescript/lib/index.d.ts +57 -4
- package/dist/typescript/lib/index.d.ts.map +1 -1
- package/dist/typescript/lib/modular/query.d.ts.map +1 -1
- package/dist/typescript/lib/modular/transaction.d.ts.map +1 -1
- package/dist/typescript/lib/types/database.d.ts +5 -5
- package/dist/typescript/lib/types/database.d.ts.map +1 -1
- package/dist/typescript/lib/types/internal.d.ts +32 -31
- package/dist/typescript/lib/types/internal.d.ts.map +1 -1
- package/dist/typescript/lib/version.d.ts +1 -1
- package/dist/typescript/lib/web/RNFBDatabaseModule.d.ts.map +1 -1
- package/ios/RNFBDatabase/RNFBDatabaseCommon.h +13 -6
- package/ios/RNFBDatabase/RNFBDatabaseCommon.m +2 -10
- package/ios/RNFBDatabase/RNFBDatabaseConstants.h +25 -0
- package/ios/RNFBDatabase/RNFBDatabaseModule.mm +90 -0
- package/ios/RNFBDatabase/RNFBDatabaseModuleHelper.h +39 -0
- package/ios/RNFBDatabase/RNFBDatabaseModuleHelper.m +64 -0
- package/ios/RNFBDatabase/RNFBDatabaseOnDisconnectHelper.h +59 -0
- package/ios/RNFBDatabase/{RNFBDatabaseOnDisconnectModule.m → RNFBDatabaseOnDisconnectHelper.m} +41 -47
- package/ios/RNFBDatabase/RNFBDatabaseOnDisconnectModule.mm +121 -0
- package/ios/RNFBDatabase/RNFBDatabaseQuery.h +11 -0
- package/ios/RNFBDatabase/RNFBDatabaseQueryHelper.h +49 -0
- package/ios/RNFBDatabase/{RNFBDatabaseQueryModule.m → RNFBDatabaseQueryHelper.m} +77 -91
- package/ios/RNFBDatabase/RNFBDatabaseQueryModule.h +5 -1
- package/ios/RNFBDatabase/RNFBDatabaseQueryModule.mm +105 -0
- package/ios/RNFBDatabase/RNFBDatabaseQueue.h +29 -0
- package/ios/RNFBDatabase/RNFBDatabaseQueue.m +31 -0
- package/ios/RNFBDatabase/RNFBDatabaseReferenceHelper.h +59 -0
- package/ios/RNFBDatabase/{RNFBDatabaseReferenceModule.m → RNFBDatabaseReferenceHelper.m} +42 -48
- package/ios/RNFBDatabase/RNFBDatabaseReferenceModule.mm +125 -0
- package/ios/RNFBDatabase/RNFBDatabaseTransactionHelper.h +38 -0
- package/ios/RNFBDatabase/{RNFBDatabaseTransactionModule.m → RNFBDatabaseTransactionHelper.m} +52 -51
- package/ios/RNFBDatabase/RNFBDatabaseTransactionModule.h +0 -1
- package/ios/RNFBDatabase/RNFBDatabaseTransactionModule.mm +86 -0
- package/ios/RNFBDatabase.xcodeproj/project.pbxproj +24 -24
- package/ios/generated/RCTAppDependencyProvider.h +25 -0
- package/ios/generated/RCTAppDependencyProvider.mm +55 -0
- package/ios/generated/RCTModulesConformingToProtocolsProvider.h +18 -0
- package/ios/generated/RCTModulesConformingToProtocolsProvider.mm +33 -0
- package/ios/generated/RCTThirdPartyComponentsProvider.h +16 -0
- package/ios/generated/RCTThirdPartyComponentsProvider.mm +23 -0
- package/ios/generated/RNFBDatabaseTurboModules/RNFBDatabaseTurboModules-generated.mm +254 -0
- package/ios/generated/RNFBDatabaseTurboModules/RNFBDatabaseTurboModules.h +264 -0
- package/ios/generated/RNFBDatabaseTurboModulesJSI-generated.cpp +257 -0
- package/ios/generated/RNFBDatabaseTurboModulesJSI.h +440 -0
- package/ios/generated/ReactAppDependencyProvider.podspec +34 -0
- package/lib/DatabaseDataSnapshot.ts +43 -38
- package/lib/DatabaseOnDisconnect.ts +3 -3
- package/lib/DatabaseQuery.ts +45 -77
- package/lib/DatabaseReference.ts +37 -66
- package/lib/DatabaseSyncTree.ts +8 -11
- package/lib/DatabaseThenableReference.ts +9 -17
- package/lib/index.ts +325 -6
- package/lib/modular/query.ts +14 -70
- package/lib/modular/transaction.ts +1 -4
- package/lib/types/database.ts +5 -5
- package/lib/types/internal.ts +31 -56
- package/lib/version.ts +1 -1
- package/lib/web/RNFBDatabaseModule.ts +6 -10
- package/package.json +26 -4
- package/react-native.config.js +10 -0
- package/specs/NativeRNFBTurboDatabase.ts +13 -0
- package/specs/NativeRNFBTurboDatabaseOnDisconnect.ts +18 -0
- package/specs/NativeRNFBTurboDatabaseQuery.ts +25 -0
- package/specs/NativeRNFBTurboDatabaseReference.ts +13 -0
- package/specs/NativeRNFBTurboDatabaseTransaction.ts +16 -0
- package/typedoc.json +1 -1
- package/dist/module/modular.js +0 -76
- package/dist/module/modular.js.map +0 -1
- package/dist/module/namespaced.js +0 -147
- package/dist/module/namespaced.js.map +0 -1
- package/dist/module/types/namespaced.js +0 -67
- package/dist/module/types/namespaced.js.map +0 -1
- package/dist/typescript/lib/modular.d.ts +0 -24
- package/dist/typescript/lib/modular.d.ts.map +0 -1
- package/dist/typescript/lib/namespaced.d.ts +0 -13
- package/dist/typescript/lib/namespaced.d.ts.map +0 -1
- package/dist/typescript/lib/types/namespaced.d.ts +0 -1230
- package/dist/typescript/lib/types/namespaced.d.ts.map +0 -1
- package/ios/RNFBDatabase/RNFBDatabaseModule.m +0 -100
- package/lib/modular.ts +0 -134
- package/lib/namespaced.ts +0 -253
- package/lib/types/namespaced.ts +0 -1366
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import type { ReactNativeFirebase } from '@react-native-firebase/app';
|
|
2
2
|
import type { DataSnapshot, Database, DatabaseReference, EventType, EmulatorMockTokenOptions, ListenOptions, OnDisconnect, Query, QueryConstraint, QueryConstraintType, ThenableReference, TransactionResult } from './database';
|
|
3
|
-
import type { FirebaseDatabaseTypes } from './namespaced';
|
|
4
3
|
import type { DatabaseQueryModifier } from '../DatabaseQueryModifiers';
|
|
5
|
-
/** Optional final argument passed by modular API wrappers (MODULAR_DEPRECATION_ARG). */
|
|
6
|
-
export type DatabaseModularDeprecationArg = string;
|
|
7
4
|
/** App instance with database() method (e.g. from getApp() when used for getDatabase()). */
|
|
8
5
|
export interface AppWithDatabaseInternal {
|
|
9
6
|
database(url?: string): Database;
|
|
@@ -12,15 +9,15 @@ export interface AppWithDatabaseInternal {
|
|
|
12
9
|
export interface DatabaseWithMethodsInternal extends Database {
|
|
13
10
|
useEmulator(host: string, port: number, options?: {
|
|
14
11
|
mockUserToken?: EmulatorMockTokenOptions | string;
|
|
15
|
-
}
|
|
16
|
-
goOffline(
|
|
17
|
-
goOnline(
|
|
18
|
-
ref(path?: string
|
|
19
|
-
refFromURL(url: string
|
|
20
|
-
setPersistenceEnabled(enabled: boolean
|
|
21
|
-
setLoggingEnabled(enabled: boolean
|
|
22
|
-
setPersistenceCacheSizeBytes(bytes: number
|
|
23
|
-
getServerTime(
|
|
12
|
+
}): unknown;
|
|
13
|
+
goOffline(): unknown;
|
|
14
|
+
goOnline(): unknown;
|
|
15
|
+
ref(path?: string): DatabaseReference;
|
|
16
|
+
refFromURL(url: string): DatabaseReference;
|
|
17
|
+
setPersistenceEnabled(enabled: boolean): unknown;
|
|
18
|
+
setLoggingEnabled(enabled: boolean): unknown;
|
|
19
|
+
setPersistenceCacheSizeBytes(bytes: number): unknown;
|
|
20
|
+
getServerTime(): Date;
|
|
24
21
|
}
|
|
25
22
|
/** Native emitter subscription returned by addListener. */
|
|
26
23
|
export interface DatabaseEmitterSubscriptionInternal {
|
|
@@ -85,8 +82,8 @@ export interface DatabaseEventEmitterInternal {
|
|
|
85
82
|
}
|
|
86
83
|
/** Wrapped native module interface for database. */
|
|
87
84
|
export interface RNFBDatabaseModule {
|
|
88
|
-
goOnline():
|
|
89
|
-
goOffline():
|
|
85
|
+
goOnline(): void;
|
|
86
|
+
goOffline(): void;
|
|
90
87
|
setPersistenceEnabled(enabled: boolean): Promise<void>;
|
|
91
88
|
setLoggingEnabled(enabled: boolean): Promise<void>;
|
|
92
89
|
setPersistenceCacheSizeBytes(bytes: number): Promise<void>;
|
|
@@ -105,7 +102,7 @@ export interface RNFBDatabaseModule {
|
|
|
105
102
|
setPriority(path: string, props: {
|
|
106
103
|
priority: string | number | null;
|
|
107
104
|
}): Promise<void>;
|
|
108
|
-
once(path: string, modifiers: DatabaseQueryModifier[], eventType:
|
|
105
|
+
once(path: string, modifiers: DatabaseQueryModifier[], eventType: EventType): Promise<DatabaseSnapshotInternal | DatabaseChildSnapshotResultInternal>;
|
|
109
106
|
on(props: DatabaseListenPropsInternal): void;
|
|
110
107
|
off(queryKey: string, eventRegistrationKey: string): void | Promise<void>;
|
|
111
108
|
keepSynced(queryKey: string, path: string, modifiers: DatabaseQueryModifier[], value: boolean): Promise<void>;
|
|
@@ -126,21 +123,25 @@ export interface RNFBDatabaseModule {
|
|
|
126
123
|
}
|
|
127
124
|
declare module '@react-native-firebase/app/dist/module/internal/NativeModules' {
|
|
128
125
|
interface ReactNativeFirebaseNativeModules {
|
|
129
|
-
|
|
126
|
+
NativeRNFBTurboDatabase: RNFBDatabaseModule;
|
|
127
|
+
NativeRNFBTurboDatabaseReference: RNFBDatabaseModule;
|
|
128
|
+
NativeRNFBTurboDatabaseQuery: RNFBDatabaseModule;
|
|
129
|
+
NativeRNFBTurboDatabaseOnDisconnect: RNFBDatabaseModule;
|
|
130
|
+
NativeRNFBTurboDatabaseTransaction: RNFBDatabaseModule;
|
|
130
131
|
}
|
|
131
132
|
}
|
|
132
133
|
/** Legacy DatabaseReference shape needed by namespaced/runtime helpers before full TS port. */
|
|
133
134
|
export interface DatabaseReferenceInternal {
|
|
134
135
|
readonly path: string;
|
|
135
|
-
on(eventType:
|
|
136
|
+
on(eventType: EventType, callback: (data: DataSnapshot, previousChildKey?: string | null) => void, cancelCallbackOrContext?: ((a: Error) => void) | Record<string, any> | null, context?: Record<string, any> | null): (a: DataSnapshot | null, b?: string | null) => void;
|
|
136
137
|
}
|
|
137
138
|
/** Query instance viewed through the chainable query modifier methods. */
|
|
138
139
|
export type QueryWithModifiersInternal = Query & Record<QueryConstraintType, (...args: Array<unknown>) => Query>;
|
|
139
140
|
/** Query instance viewed through the subscription helpers used by modular wrappers. */
|
|
140
141
|
export interface QueryWithSubscriptionMethodsInternal extends Query {
|
|
141
|
-
on(eventType: EventType, callback: (snapshot: DataSnapshot, previousChildName?: string | null) => unknown, cancelCallbackOrContext?: ((error: Error) => unknown) | ListenOptions
|
|
142
|
-
off(eventType?: EventType, callback?: (snapshot: DataSnapshot, previousChildName?: string | null) => unknown, context?: null
|
|
143
|
-
once(eventType: EventType, successCallback?: (snapshot: DataSnapshot, previousChildName?: string | null) => unknown, failureCallbackContext?: ((error: Error) => void) | null, context?: ListenOptions
|
|
142
|
+
on(eventType: EventType, callback: (snapshot: DataSnapshot, previousChildName?: string | null) => unknown, cancelCallbackOrContext?: ((error: Error) => unknown) | ListenOptions, context?: ListenOptions | null): unknown;
|
|
143
|
+
off(eventType?: EventType, callback?: (snapshot: DataSnapshot, previousChildName?: string | null) => unknown, context?: null): void;
|
|
144
|
+
once(eventType: EventType, successCallback?: (snapshot: DataSnapshot, previousChildName?: string | null) => unknown, failureCallbackContext?: ((error: Error) => void) | null, context?: ListenOptions): Promise<DataSnapshot>;
|
|
144
145
|
}
|
|
145
146
|
/** Query constraint instance that can apply itself to a query. */
|
|
146
147
|
export interface QueryConstraintWithApplyInternal extends QueryConstraint {
|
|
@@ -148,15 +149,15 @@ export interface QueryConstraintWithApplyInternal extends QueryConstraint {
|
|
|
148
149
|
}
|
|
149
150
|
/** Database reference viewed through the mutating modular helpers. */
|
|
150
151
|
export interface DatabaseReferenceWithMethodsInternal extends DatabaseReference {
|
|
151
|
-
set(value: unknown, onComplete?: () => void
|
|
152
|
-
setPriority(priority: string | number | null, onComplete?: () => void
|
|
153
|
-
setWithPriority(value: unknown, priority: string | number | null, onComplete?: () => void
|
|
154
|
-
child(path: string
|
|
155
|
-
onDisconnect(
|
|
156
|
-
keepSynced(value: boolean
|
|
157
|
-
push(value?: unknown, onComplete?: undefined
|
|
158
|
-
remove(
|
|
159
|
-
update(values: object
|
|
152
|
+
set(value: unknown, onComplete?: (error: Error | null) => void): Promise<void>;
|
|
153
|
+
setPriority(priority: string | number | null, onComplete?: (error: Error | null) => void): Promise<void>;
|
|
154
|
+
setWithPriority(value: unknown, priority: string | number | null, onComplete?: (error: Error | null) => void): Promise<void>;
|
|
155
|
+
child(path: string): DatabaseReference;
|
|
156
|
+
onDisconnect(): OnDisconnect;
|
|
157
|
+
keepSynced(value: boolean): Promise<void>;
|
|
158
|
+
push(value?: unknown, onComplete?: undefined): ThenableReference;
|
|
159
|
+
remove(): Promise<void>;
|
|
160
|
+
update(values: object): Promise<void>;
|
|
160
161
|
}
|
|
161
162
|
/** Minimal transaction handler contract used by DatabaseReference and namespaced module. */
|
|
162
163
|
export interface DatabaseTransactionInternal {
|
|
@@ -179,11 +180,11 @@ export interface DatabaseInternal extends Database, DatabaseModuleInternal {
|
|
|
179
180
|
}
|
|
180
181
|
/** Database reference viewed through the transaction modular helper. */
|
|
181
182
|
export interface DatabaseReferenceWithTransactionInternal extends DatabaseReference {
|
|
182
|
-
transaction(transactionUpdate: (currentData: any) => unknown, onComplete?: undefined, applyLocally?: boolean
|
|
183
|
+
transaction(transactionUpdate: (currentData: any) => unknown, onComplete?: undefined, applyLocally?: boolean): Promise<TransactionResult>;
|
|
183
184
|
}
|
|
184
185
|
/** Runtime ServerValue object shape used by modular wrappers. */
|
|
185
186
|
export interface ServerValueStaticInternal {
|
|
186
187
|
TIMESTAMP: object;
|
|
187
|
-
increment(delta: number
|
|
188
|
+
increment(delta: number): object;
|
|
188
189
|
}
|
|
189
190
|
//# sourceMappingURL=internal.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../../lib/types/internal.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,KAAK,EACV,YAAY,EACZ,QAAQ,EACR,iBAAiB,EACjB,SAAS,EACT,wBAAwB,EACxB,aAAa,EACb,YAAY,EACZ,KAAK,EACL,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../../lib/types/internal.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const version = "
|
|
1
|
+
export declare const version = "26.1.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RNFBDatabaseModule.d.ts","sourceRoot":"","sources":["../../../../lib/web/RNFBDatabaseModule.ts"],"names":[],"mappings":"AA+HA,QAAA,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"RNFBDatabaseModule.d.ts","sourceRoot":"","sources":["../../../../lib/web/RNFBDatabaseModule.ts"],"names":[],"mappings":"AA+HA,QAAA,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAgZnD,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
|
|
@@ -15,15 +15,26 @@
|
|
|
15
15
|
*
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
|
+
#if __has_include(<Firebase/Firebase.h>)
|
|
18
19
|
#import <Firebase/Firebase.h>
|
|
20
|
+
#elif __has_include(<FirebaseDatabase/FirebaseDatabase-Swift.h>)
|
|
21
|
+
// SPM: the declared product is the thin Swift wrapper `FirebaseDatabase`
|
|
22
|
+
// (which depends on `FirebaseDatabaseInternal`, not exposed to us directly).
|
|
23
|
+
// Its generated ObjC interface header is what's importable here.
|
|
24
|
+
#import <FirebaseCore/FirebaseCore.h>
|
|
25
|
+
#import <FirebaseDatabase/FirebaseDatabase-Swift.h>
|
|
26
|
+
#else
|
|
27
|
+
@import FirebaseCore;
|
|
28
|
+
@import FirebaseDatabaseInternal;
|
|
29
|
+
#endif
|
|
19
30
|
#import <React/RCTBridgeModule.h>
|
|
20
31
|
|
|
32
|
+
#import "RNFBDatabaseConstants.h"
|
|
33
|
+
|
|
21
34
|
@interface RNFBDatabaseCommon : NSObject
|
|
22
35
|
|
|
23
36
|
+ (FIRDatabase *)getDatabaseForApp:(FIRApp *)firebaseApp dbURL:(NSString *)dbURL;
|
|
24
37
|
|
|
25
|
-
+ (dispatch_queue_t)getDispatchQueue;
|
|
26
|
-
|
|
27
38
|
+ (void)setDatabaseConfig:(FIRDatabase *)firDatabase dbURL:(NSString *)dbURL;
|
|
28
39
|
|
|
29
40
|
+ (FIRDatabaseReference *)getReferenceForDatabase:(FIRDatabase *)firebaseDatabase
|
|
@@ -49,7 +60,3 @@
|
|
|
49
60
|
+ (NSMutableArray *)getSnapshotChildKeys:(FIRDataSnapshot *)dataSnapshot;
|
|
50
61
|
|
|
51
62
|
@end
|
|
52
|
-
|
|
53
|
-
extern NSString *const DATABASE_PERSISTENCE_ENABLED;
|
|
54
|
-
extern NSString *const DATABASE_LOGGING_ENABLED;
|
|
55
|
-
extern NSString *const DATABASE_PERSISTENCE_CACHE_SIZE;
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
|
|
18
18
|
#import "RNFBDatabaseCommon.h"
|
|
19
19
|
#import "RNFBApp/RNFBSharedUtils.h"
|
|
20
|
+
#import "RNFBDatabaseQueue.h"
|
|
20
21
|
#import "RNFBPreferences.h"
|
|
21
22
|
|
|
22
23
|
static __strong NSMutableDictionary *references;
|
|
@@ -36,15 +37,6 @@ NSString *const childKeysKey = @"childKeys";
|
|
|
36
37
|
configSettingsLock = [NSMutableDictionary dictionary];
|
|
37
38
|
}
|
|
38
39
|
|
|
39
|
-
+ (dispatch_queue_t)getDispatchQueue {
|
|
40
|
-
static dispatch_once_t once;
|
|
41
|
-
__strong static dispatch_queue_t sharedInstance;
|
|
42
|
-
dispatch_once(&once, ^{
|
|
43
|
-
sharedInstance = dispatch_queue_create("io.invertase.firebase.database", DISPATCH_QUEUE_SERIAL);
|
|
44
|
-
});
|
|
45
|
-
return sharedInstance;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
40
|
+ (FIRDatabase *)getDatabaseForApp:(FIRApp *)firebaseApp dbURL:(NSString *)dbURL {
|
|
49
41
|
FIRDatabase *firDatabase;
|
|
50
42
|
|
|
@@ -75,7 +67,7 @@ NSString *const childKeysKey = @"childKeys";
|
|
|
75
67
|
RNFBPreferences *preferences = [RNFBPreferences shared];
|
|
76
68
|
|
|
77
69
|
@try {
|
|
78
|
-
firDatabase.callbackQueue = [
|
|
70
|
+
firDatabase.callbackQueue = [RNFBDatabaseQueue getDispatchQueue];
|
|
79
71
|
// Persistence enabled
|
|
80
72
|
BOOL *persistenceEnabled = (BOOL *)[preferences getBooleanValue:DATABASE_PERSISTENCE_ENABLED
|
|
81
73
|
defaultValue:false];
|
|
@@ -0,0 +1,25 @@
|
|
|
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 <Foundation/Foundation.h>
|
|
19
|
+
|
|
20
|
+
// Deliberately Firebase-free (see RNFBDatabaseQueue.h) so Objective-C++
|
|
21
|
+
// (.mm) modules can reference these preference keys without importing
|
|
22
|
+
// Firebase Database headers. Defined in RNFBDatabaseCommon.m.
|
|
23
|
+
extern NSString *const DATABASE_PERSISTENCE_ENABLED;
|
|
24
|
+
extern NSString *const DATABASE_LOGGING_ENABLED;
|
|
25
|
+
extern NSString *const DATABASE_PERSISTENCE_CACHE_SIZE;
|
|
@@ -0,0 +1,90 @@
|
|
|
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 <React/RCTUtils.h>
|
|
19
|
+
|
|
20
|
+
#import "RNFBDatabaseConstants.h"
|
|
21
|
+
#import "RNFBDatabaseModule.h"
|
|
22
|
+
#import "RNFBDatabaseModuleHelper.h"
|
|
23
|
+
#import "RNFBDatabaseQueue.h"
|
|
24
|
+
#import "RNFBDatabaseTurboModules.h"
|
|
25
|
+
#import "RNFBPreferences.h"
|
|
26
|
+
|
|
27
|
+
// NOTE: This module deliberately never imports Firebase Database headers -
|
|
28
|
+
// `FirebaseDatabase` is a Swift-only SPM product, and `@import` for
|
|
29
|
+
// Swift-only products cannot be used from Objective-C++ (.mm) files when
|
|
30
|
+
// C++ modules are disabled (required for compatibility with React Native's
|
|
31
|
+
// JSI headers). All Firebase Database calls are delegated to the plain
|
|
32
|
+
// Objective-C `RNFBDatabaseModuleHelper`. See docs/ios-spm.mdx and
|
|
33
|
+
// okf-bundle/ios-spm-native-imports.md for details.
|
|
34
|
+
|
|
35
|
+
@interface RNFBDatabaseModule () <NativeRNFBTurboDatabaseSpec, RCTBridgeModule>
|
|
36
|
+
@end
|
|
37
|
+
|
|
38
|
+
@implementation RNFBDatabaseModule
|
|
39
|
+
#pragma mark -
|
|
40
|
+
#pragma mark Module Setup
|
|
41
|
+
|
|
42
|
+
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
|
|
43
|
+
(const facebook::react::ObjCTurboModule::InitParams &)params {
|
|
44
|
+
return std::make_shared<facebook::react::NativeRNFBTurboDatabaseSpecJSI>(params);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
RCT_EXPORT_MODULE(NativeRNFBTurboDatabase);
|
|
48
|
+
|
|
49
|
+
+ (BOOL)requiresMainQueueSetup {
|
|
50
|
+
return NO;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
- (dispatch_queue_t)methodQueue {
|
|
54
|
+
return [RNFBDatabaseQueue getDispatchQueue];
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
#pragma mark -
|
|
58
|
+
#pragma mark Firebase Database
|
|
59
|
+
|
|
60
|
+
- (void)goOnline:(NSString *)app dbURL:(NSString *)dbURL {
|
|
61
|
+
[RNFBDatabaseModuleHelper goOnline:app dbURL:dbURL];
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
- (void)goOffline:(NSString *)app dbURL:(NSString *)dbURL {
|
|
65
|
+
[RNFBDatabaseModuleHelper goOffline:app dbURL:dbURL];
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
- (void)useEmulator:(NSString *)app
|
|
69
|
+
dbURL:(NSString *)dbURL
|
|
70
|
+
host:(NSString *)host
|
|
71
|
+
port:(double)port {
|
|
72
|
+
[RNFBDatabaseModuleHelper useEmulator:app dbURL:dbURL host:host port:(NSInteger)port];
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
- (void)setPersistenceEnabled:(NSString *)app dbURL:(NSString *)dbURL enabled:(BOOL)enabled {
|
|
76
|
+
[[RNFBPreferences shared] setBooleanValue:DATABASE_PERSISTENCE_ENABLED boolValue:enabled];
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
- (void)setLoggingEnabled:(NSString *)app dbURL:(NSString *)dbURL enabled:(BOOL)enabled {
|
|
80
|
+
[[RNFBPreferences shared] setBooleanValue:DATABASE_LOGGING_ENABLED boolValue:enabled];
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
- (void)setPersistenceCacheSizeBytes:(NSString *)app
|
|
84
|
+
dbURL:(NSString *)dbURL
|
|
85
|
+
cacheSizeBytes:(double)cacheSizeBytes {
|
|
86
|
+
[[RNFBPreferences shared] setIntegerValue:DATABASE_PERSISTENCE_CACHE_SIZE
|
|
87
|
+
integerValue:(NSInteger)cacheSizeBytes];
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
@end
|
|
@@ -0,0 +1,39 @@
|
|
|
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 <Foundation/Foundation.h>
|
|
19
|
+
|
|
20
|
+
// Plain Objective-C helper (see docs/ios-spm.mdx and
|
|
21
|
+
// okf-bundle/ios-spm-native-imports.md) that owns every call touching
|
|
22
|
+
// `FIRDatabase`/`FIRDatabaseReference` for the main database module. This
|
|
23
|
+
// keeps `RNFBDatabaseModule.mm` free of Firebase Database imports, which is
|
|
24
|
+
// required because `FirebaseDatabase` is a Swift-only SPM product and
|
|
25
|
+
// `@import` for Swift-only products is unusable from Objective-C++ (.mm)
|
|
26
|
+
// files when C++ modules are disabled (required by React Native's JSI
|
|
27
|
+
// headers).
|
|
28
|
+
@interface RNFBDatabaseModuleHelper : NSObject
|
|
29
|
+
|
|
30
|
+
+ (void)goOnline:(NSString *)app dbURL:(NSString *)dbURL;
|
|
31
|
+
|
|
32
|
+
+ (void)goOffline:(NSString *)app dbURL:(NSString *)dbURL;
|
|
33
|
+
|
|
34
|
+
+ (void)useEmulator:(NSString *)app
|
|
35
|
+
dbURL:(NSString *)dbURL
|
|
36
|
+
host:(NSString *)host
|
|
37
|
+
port:(NSInteger)port;
|
|
38
|
+
|
|
39
|
+
@end
|
|
@@ -0,0 +1,64 @@
|
|
|
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
|
+
#if __has_include(<Firebase/Firebase.h>)
|
|
19
|
+
#import <Firebase/Firebase.h>
|
|
20
|
+
#else
|
|
21
|
+
@import FirebaseCore;
|
|
22
|
+
@import FirebaseDatabaseInternal;
|
|
23
|
+
#endif
|
|
24
|
+
|
|
25
|
+
#import "RNFBApp/RCTConvert+FIRApp.h"
|
|
26
|
+
#import "RNFBDatabaseCommon.h"
|
|
27
|
+
#import "RNFBDatabaseModuleHelper.h"
|
|
28
|
+
|
|
29
|
+
static __strong NSMutableDictionary *emulatorSettings;
|
|
30
|
+
|
|
31
|
+
@implementation RNFBDatabaseModuleHelper
|
|
32
|
+
|
|
33
|
+
+ (void)goOnline:(NSString *)app dbURL:(NSString *)dbURL {
|
|
34
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:app];
|
|
35
|
+
[[RNFBDatabaseCommon getDatabaseForApp:firebaseApp dbURL:dbURL] goOnline];
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
+ (void)goOffline:(NSString *)app dbURL:(NSString *)dbURL {
|
|
39
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:app];
|
|
40
|
+
[[RNFBDatabaseCommon getDatabaseForApp:firebaseApp dbURL:dbURL] goOffline];
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
+ (void)useEmulator:(NSString *)app
|
|
44
|
+
dbURL:(NSString *)dbURL
|
|
45
|
+
host:(NSString *)host
|
|
46
|
+
port:(NSInteger)port {
|
|
47
|
+
FIRApp *firebaseApp = [RCTConvert firAppFromString:app];
|
|
48
|
+
if (emulatorSettings == nil) {
|
|
49
|
+
emulatorSettings = [NSMutableDictionary dictionary];
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
NSMutableString *configKey = [firebaseApp.name mutableCopy];
|
|
53
|
+
if (dbURL != nil && dbURL.length > 0) {
|
|
54
|
+
[configKey appendString:dbURL];
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
if (!emulatorSettings[configKey]) {
|
|
58
|
+
[[RNFBDatabaseCommon getDatabaseForApp:firebaseApp dbURL:dbURL] useEmulatorWithHost:host
|
|
59
|
+
port:port];
|
|
60
|
+
emulatorSettings[configKey] = @YES;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
@end
|
|
@@ -0,0 +1,59 @@
|
|
|
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 <Foundation/Foundation.h>
|
|
19
|
+
#import <React/RCTBridgeModule.h>
|
|
20
|
+
|
|
21
|
+
// See RNFBDatabaseModuleHelper.h for rationale: plain Objective-C helper
|
|
22
|
+
// that owns all `onDisconnect*` `FIRDatabaseReference` calls for
|
|
23
|
+
// RNFBDatabaseOnDisconnectModule.
|
|
24
|
+
@interface RNFBDatabaseOnDisconnectHelper : NSObject
|
|
25
|
+
|
|
26
|
+
+ (void)onDisconnectCancel:(NSString *)app
|
|
27
|
+
dbURL:(NSString *)dbURL
|
|
28
|
+
path:(NSString *)path
|
|
29
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
30
|
+
reject:(RCTPromiseRejectBlock)reject;
|
|
31
|
+
|
|
32
|
+
+ (void)onDisconnectRemove:(NSString *)app
|
|
33
|
+
dbURL:(NSString *)dbURL
|
|
34
|
+
path:(NSString *)path
|
|
35
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
36
|
+
reject:(RCTPromiseRejectBlock)reject;
|
|
37
|
+
|
|
38
|
+
+ (void)onDisconnectSet:(NSString *)app
|
|
39
|
+
dbURL:(NSString *)dbURL
|
|
40
|
+
path:(NSString *)path
|
|
41
|
+
props:(NSDictionary *)props
|
|
42
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
43
|
+
reject:(RCTPromiseRejectBlock)reject;
|
|
44
|
+
|
|
45
|
+
+ (void)onDisconnectSetWithPriority:(NSString *)app
|
|
46
|
+
dbURL:(NSString *)dbURL
|
|
47
|
+
path:(NSString *)path
|
|
48
|
+
props:(NSDictionary *)props
|
|
49
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
50
|
+
reject:(RCTPromiseRejectBlock)reject;
|
|
51
|
+
|
|
52
|
+
+ (void)onDisconnectUpdate:(NSString *)app
|
|
53
|
+
dbURL:(NSString *)dbURL
|
|
54
|
+
path:(NSString *)path
|
|
55
|
+
props:(NSDictionary *)props
|
|
56
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
57
|
+
reject:(RCTPromiseRejectBlock)reject;
|
|
58
|
+
|
|
59
|
+
@end
|