@react-native-firebase/database 24.1.1 → 25.0.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.
Files changed (126) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/dist/module/DatabaseDataSnapshot.js +144 -0
  3. package/dist/module/DatabaseDataSnapshot.js.map +1 -0
  4. package/dist/module/DatabaseOnDisconnect.js +84 -0
  5. package/dist/module/DatabaseOnDisconnect.js.map +1 -0
  6. package/dist/module/DatabaseQuery.js +298 -0
  7. package/dist/module/DatabaseQuery.js.map +1 -0
  8. package/{lib → dist/module}/DatabaseQueryModifiers.js +49 -98
  9. package/dist/module/DatabaseQueryModifiers.js.map +1 -0
  10. package/dist/module/DatabaseReference.js +169 -0
  11. package/dist/module/DatabaseReference.js.map +1 -0
  12. package/dist/module/DatabaseStatics.js +35 -0
  13. package/dist/module/DatabaseStatics.js.map +1 -0
  14. package/{lib → dist/module}/DatabaseSyncTree.js +74 -156
  15. package/dist/module/DatabaseSyncTree.js.map +1 -0
  16. package/{lib → dist/module}/DatabaseThenableReference.js +12 -12
  17. package/dist/module/DatabaseThenableReference.js.map +1 -0
  18. package/{lib → dist/module}/DatabaseTransaction.js +26 -89
  19. package/dist/module/DatabaseTransaction.js.map +1 -0
  20. package/dist/module/index.js +27 -0
  21. package/dist/module/index.js.map +1 -0
  22. package/dist/module/modular/query.js +138 -0
  23. package/dist/module/modular/query.js.map +1 -0
  24. package/dist/module/modular/transaction.js +24 -0
  25. package/dist/module/modular/transaction.js.map +1 -0
  26. package/dist/module/modular.js +76 -0
  27. package/dist/module/modular.js.map +1 -0
  28. package/dist/module/namespaced.js +147 -0
  29. package/dist/module/namespaced.js.map +1 -0
  30. package/dist/module/package.json +1 -0
  31. package/dist/module/types/database.js +21 -0
  32. package/dist/module/types/database.js.map +1 -0
  33. package/dist/module/types/internal.js +4 -0
  34. package/dist/module/types/internal.js.map +1 -0
  35. package/dist/module/types/namespaced.js +67 -0
  36. package/dist/module/types/namespaced.js.map +1 -0
  37. package/dist/module/version.js +5 -0
  38. package/dist/module/version.js.map +1 -0
  39. package/dist/module/web/RNFBDatabaseModule.android.js +6 -0
  40. package/dist/module/web/RNFBDatabaseModule.android.js.map +1 -0
  41. package/dist/module/web/RNFBDatabaseModule.ios.js +6 -0
  42. package/dist/module/web/RNFBDatabaseModule.ios.js.map +1 -0
  43. package/dist/module/web/RNFBDatabaseModule.js +375 -0
  44. package/dist/module/web/RNFBDatabaseModule.js.map +1 -0
  45. package/{lib → dist/module}/web/query.js +19 -24
  46. package/dist/module/web/query.js.map +1 -0
  47. package/dist/typescript/lib/DatabaseDataSnapshot.d.ts +20 -0
  48. package/dist/typescript/lib/DatabaseDataSnapshot.d.ts.map +1 -0
  49. package/dist/typescript/lib/DatabaseOnDisconnect.d.ts +19 -0
  50. package/dist/typescript/lib/DatabaseOnDisconnect.d.ts.map +1 -0
  51. package/dist/typescript/lib/DatabaseQuery.d.ts +32 -0
  52. package/dist/typescript/lib/DatabaseQuery.d.ts.map +1 -0
  53. package/dist/typescript/lib/DatabaseQueryModifiers.d.ts +55 -0
  54. package/dist/typescript/lib/DatabaseQueryModifiers.d.ts.map +1 -0
  55. package/dist/typescript/lib/DatabaseReference.d.ts +21 -0
  56. package/dist/typescript/lib/DatabaseReference.d.ts.map +1 -0
  57. package/dist/typescript/lib/DatabaseStatics.d.ts +10 -0
  58. package/dist/typescript/lib/DatabaseStatics.d.ts.map +1 -0
  59. package/dist/typescript/lib/DatabaseSyncTree.d.ts +72 -0
  60. package/dist/typescript/lib/DatabaseSyncTree.d.ts.map +1 -0
  61. package/dist/typescript/lib/DatabaseThenableReference.d.ts +13 -0
  62. package/dist/typescript/lib/DatabaseThenableReference.d.ts.map +1 -0
  63. package/dist/typescript/lib/DatabaseTransaction.d.ts +15 -0
  64. package/dist/typescript/lib/DatabaseTransaction.d.ts.map +1 -0
  65. package/dist/typescript/lib/index.d.ts +6 -0
  66. package/dist/typescript/lib/index.d.ts.map +1 -0
  67. package/dist/typescript/lib/modular/query.d.ts +41 -0
  68. package/dist/typescript/lib/modular/query.d.ts.map +1 -0
  69. package/dist/typescript/lib/modular/transaction.d.ts +3 -0
  70. package/dist/typescript/lib/modular/transaction.d.ts.map +1 -0
  71. package/dist/typescript/lib/modular.d.ts +24 -0
  72. package/dist/typescript/lib/modular.d.ts.map +1 -0
  73. package/dist/typescript/lib/namespaced.d.ts +13 -0
  74. package/dist/typescript/lib/namespaced.d.ts.map +1 -0
  75. package/dist/typescript/lib/types/database.d.ts +93 -0
  76. package/dist/typescript/lib/types/database.d.ts.map +1 -0
  77. package/dist/typescript/lib/types/internal.d.ts +189 -0
  78. package/dist/typescript/lib/types/internal.d.ts.map +1 -0
  79. package/dist/typescript/lib/types/namespaced.d.ts +1230 -0
  80. package/dist/typescript/lib/types/namespaced.d.ts.map +1 -0
  81. package/dist/typescript/lib/version.d.ts +2 -0
  82. package/dist/typescript/lib/version.d.ts.map +1 -0
  83. package/dist/typescript/lib/web/RNFBDatabaseModule.android.d.ts +3 -0
  84. package/dist/typescript/lib/web/RNFBDatabaseModule.android.d.ts.map +1 -0
  85. package/dist/typescript/lib/web/RNFBDatabaseModule.d.ts +3 -0
  86. package/dist/typescript/lib/web/RNFBDatabaseModule.d.ts.map +1 -0
  87. package/dist/typescript/lib/web/RNFBDatabaseModule.ios.d.ts +3 -0
  88. package/dist/typescript/lib/web/RNFBDatabaseModule.ios.d.ts.map +1 -0
  89. package/dist/typescript/lib/web/query.d.ts +13 -0
  90. package/dist/typescript/lib/web/query.d.ts.map +1 -0
  91. package/dist/typescript/package.json +1 -0
  92. package/lib/{DatabaseDataSnapshot.js → DatabaseDataSnapshot.ts} +62 -88
  93. package/lib/{DatabaseOnDisconnect.js → DatabaseOnDisconnect.ts} +25 -23
  94. package/lib/{DatabaseQuery.js → DatabaseQuery.ts} +130 -144
  95. package/lib/DatabaseQueryModifiers.ts +283 -0
  96. package/lib/{DatabaseReference.js → DatabaseReference.ts} +103 -85
  97. package/lib/{DatabaseStatics.js → DatabaseStatics.ts} +4 -2
  98. package/lib/DatabaseSyncTree.ts +390 -0
  99. package/lib/DatabaseThenableReference.ts +73 -0
  100. package/lib/DatabaseTransaction.ts +172 -0
  101. package/lib/index.ts +25 -0
  102. package/lib/modular/query.ts +410 -0
  103. package/lib/modular/transaction.ts +34 -0
  104. package/lib/modular.ts +134 -0
  105. package/lib/{index.js → namespaced.ts} +91 -90
  106. package/lib/types/database.ts +144 -0
  107. package/lib/types/internal.ts +317 -0
  108. package/lib/{index.d.ts → types/namespaced.ts} +48 -9
  109. package/lib/version.ts +2 -0
  110. package/lib/web/RNFBDatabaseModule.android.ts +4 -0
  111. package/lib/web/RNFBDatabaseModule.ios.ts +4 -0
  112. package/lib/web/RNFBDatabaseModule.ts +534 -0
  113. package/lib/web/query.ts +97 -0
  114. package/package.json +42 -7
  115. package/tsconfig.json +21 -0
  116. package/typedoc.json +3 -3
  117. package/lib/modular/index.d.ts +0 -246
  118. package/lib/modular/index.js +0 -134
  119. package/lib/modular/query.d.ts +0 -972
  120. package/lib/modular/query.js +0 -305
  121. package/lib/modular/transaction.d.ts +0 -54
  122. package/lib/modular/transaction.js +0 -24
  123. package/lib/version.js +0 -2
  124. package/lib/web/RNFBDatabaseModule.android.js +0 -2
  125. package/lib/web/RNFBDatabaseModule.ios.js +0 -2
  126. package/lib/web/RNFBDatabaseModule.js +0 -558
@@ -0,0 +1,189 @@
1
+ import type { ReactNativeFirebase } from '@react-native-firebase/app';
2
+ import type { DataSnapshot, Database, DatabaseReference, EventType, EmulatorMockTokenOptions, ListenOptions, OnDisconnect, Query, QueryConstraint, QueryConstraintType, ThenableReference, TransactionResult } from './database';
3
+ import type { FirebaseDatabaseTypes } from './namespaced';
4
+ import type { DatabaseQueryModifier } from '../DatabaseQueryModifiers';
5
+ /** Optional final argument passed by modular API wrappers (MODULAR_DEPRECATION_ARG). */
6
+ export type DatabaseModularDeprecationArg = string;
7
+ /** App instance with database() method (e.g. from getApp() when used for getDatabase()). */
8
+ export interface AppWithDatabaseInternal {
9
+ database(url?: string): Database;
10
+ }
11
+ /** Public database instance viewed through the modular wrapper methods. */
12
+ export interface DatabaseWithMethodsInternal extends Database {
13
+ useEmulator(host: string, port: number, options?: {
14
+ mockUserToken?: EmulatorMockTokenOptions | string;
15
+ }, deprecationArg?: DatabaseModularDeprecationArg): unknown;
16
+ goOffline(deprecationArg?: DatabaseModularDeprecationArg): unknown;
17
+ goOnline(deprecationArg?: DatabaseModularDeprecationArg): unknown;
18
+ ref(path?: string, deprecationArg?: DatabaseModularDeprecationArg): DatabaseReference;
19
+ refFromURL(url: string, deprecationArg?: DatabaseModularDeprecationArg): DatabaseReference;
20
+ setPersistenceEnabled(enabled: boolean, deprecationArg?: DatabaseModularDeprecationArg): unknown;
21
+ setLoggingEnabled(enabled: boolean, deprecationArg?: DatabaseModularDeprecationArg): unknown;
22
+ setPersistenceCacheSizeBytes(bytes: number, deprecationArg?: DatabaseModularDeprecationArg): unknown;
23
+ getServerTime(deprecationArg?: DatabaseModularDeprecationArg): Date;
24
+ }
25
+ /** Native emitter subscription returned by addListener. */
26
+ export interface DatabaseEmitterSubscriptionInternal {
27
+ remove(): void;
28
+ }
29
+ /** Serialized database snapshot payload received from native or web fallback modules. */
30
+ export interface DatabaseSnapshotInternal {
31
+ value: unknown;
32
+ key: string | null;
33
+ exists: boolean;
34
+ hasChildren?: boolean;
35
+ childrenCount?: number;
36
+ childKeys: string[];
37
+ priority?: string | number | null;
38
+ childPriorities?: Record<string, string | number | null | undefined>;
39
+ }
40
+ /** Child-event payload received from native once/on listeners. */
41
+ export interface DatabaseChildSnapshotResultInternal {
42
+ snapshot: DatabaseSnapshotInternal;
43
+ previousChildName?: string | null;
44
+ }
45
+ /** Query listener registration bookkeeping passed to native. */
46
+ export interface DatabaseListenRegistrationInternal {
47
+ eventRegistrationKey: string;
48
+ key: string;
49
+ registrationCancellationKey?: string;
50
+ }
51
+ /** Query subscription payload passed to native. */
52
+ export interface DatabaseListenPropsInternal {
53
+ key: string;
54
+ modifiers: DatabaseQueryModifier[];
55
+ path: string;
56
+ eventType: EventType;
57
+ registration: DatabaseListenRegistrationInternal;
58
+ }
59
+ /** Transaction commit payload sent to native. */
60
+ export interface DatabaseTransactionUpdatesInternal {
61
+ value: unknown;
62
+ abort: boolean;
63
+ }
64
+ /** Transaction bridge event payload received from native. */
65
+ export interface DatabaseTransactionEventInternal {
66
+ id: number;
67
+ body: {
68
+ type: 'update';
69
+ value?: unknown;
70
+ } | {
71
+ type: 'error';
72
+ error?: unknown;
73
+ } | {
74
+ type: 'complete';
75
+ committed?: boolean;
76
+ snapshot?: DatabaseSnapshotInternal;
77
+ } | {
78
+ type: string;
79
+ [key: string]: unknown;
80
+ };
81
+ }
82
+ /** Shared emitter shape used by database transaction listeners. */
83
+ export interface DatabaseEventEmitterInternal {
84
+ addListener(eventName: string, listener: (event: DatabaseTransactionEventInternal) => void): DatabaseEmitterSubscriptionInternal;
85
+ }
86
+ /** Wrapped native module interface for database. */
87
+ export interface RNFBDatabaseModule {
88
+ goOnline(): Promise<void>;
89
+ goOffline(): Promise<void>;
90
+ setPersistenceEnabled(enabled: boolean): Promise<void>;
91
+ setLoggingEnabled(enabled: boolean): Promise<void>;
92
+ setPersistenceCacheSizeBytes(bytes: number): Promise<void>;
93
+ useEmulator(host: string, port: number): void | Promise<void>;
94
+ set(path: string, props: {
95
+ value: unknown;
96
+ }): Promise<void>;
97
+ update(path: string, props: {
98
+ values: Record<string, unknown>;
99
+ }): Promise<void>;
100
+ setWithPriority(path: string, props: {
101
+ value: unknown;
102
+ priority: string | number | null;
103
+ }): Promise<void>;
104
+ remove(path: string): Promise<void>;
105
+ setPriority(path: string, props: {
106
+ priority: string | number | null;
107
+ }): Promise<void>;
108
+ once(path: string, modifiers: DatabaseQueryModifier[], eventType: FirebaseDatabaseTypes.EventType): Promise<DatabaseSnapshotInternal | DatabaseChildSnapshotResultInternal>;
109
+ on(props: DatabaseListenPropsInternal): void;
110
+ off(queryKey: string, eventRegistrationKey: string): void | Promise<void>;
111
+ keepSynced(queryKey: string, path: string, modifiers: DatabaseQueryModifier[], value: boolean): Promise<void>;
112
+ onDisconnectCancel(path: string): Promise<void>;
113
+ onDisconnectRemove(path: string): Promise<void>;
114
+ onDisconnectSet(path: string, props: {
115
+ value: unknown;
116
+ }): Promise<void>;
117
+ onDisconnectSetWithPriority(path: string, props: {
118
+ value: unknown;
119
+ priority: string | number | null;
120
+ }): Promise<void>;
121
+ onDisconnectUpdate(path: string, props: {
122
+ values: Record<string, unknown>;
123
+ }): Promise<void>;
124
+ transactionStart(path: string, id: number, applyLocally: boolean, userExecutor?: (currentData: unknown) => unknown): void | Promise<void>;
125
+ transactionTryCommit(id: number, updates: DatabaseTransactionUpdatesInternal): void | Promise<void>;
126
+ }
127
+ declare module '@react-native-firebase/app/dist/module/internal/NativeModules' {
128
+ interface ReactNativeFirebaseNativeModules {
129
+ RNFBDatabaseModule: RNFBDatabaseModule;
130
+ }
131
+ }
132
+ /** Legacy DatabaseReference shape needed by namespaced/runtime helpers before full TS port. */
133
+ export interface DatabaseReferenceInternal {
134
+ readonly path: string;
135
+ on(eventType: FirebaseDatabaseTypes.EventType, callback: (data: FirebaseDatabaseTypes.DataSnapshot, previousChildKey?: string | null) => void, cancelCallbackOrContext?: ((a: Error) => void) | Record<string, any> | DatabaseModularDeprecationArg | null, context?: Record<string, any> | null): (a: FirebaseDatabaseTypes.DataSnapshot | null, b?: string | null) => void;
136
+ }
137
+ /** Query instance viewed through the chainable query modifier methods. */
138
+ export type QueryWithModifiersInternal = Query & Record<QueryConstraintType, (...args: Array<unknown>) => Query>;
139
+ /** Query instance viewed through the subscription helpers used by modular wrappers. */
140
+ export interface QueryWithSubscriptionMethodsInternal extends Query {
141
+ on(eventType: EventType, callback: (snapshot: DataSnapshot, previousChildName?: string | null) => unknown, cancelCallbackOrContext?: ((error: Error) => unknown) | ListenOptions | DatabaseModularDeprecationArg, context?: ListenOptions | null, deprecationArg?: DatabaseModularDeprecationArg): unknown;
142
+ off(eventType?: EventType, callback?: (snapshot: DataSnapshot, previousChildName?: string | null) => unknown, context?: null, deprecationArg?: DatabaseModularDeprecationArg): void;
143
+ once(eventType: EventType, successCallback?: (snapshot: DataSnapshot, previousChildName?: string | null) => unknown, failureCallbackContext?: ((error: Error) => void) | null, context?: ListenOptions, deprecationArg?: DatabaseModularDeprecationArg): Promise<DataSnapshot>;
144
+ }
145
+ /** Query constraint instance that can apply itself to a query. */
146
+ export interface QueryConstraintWithApplyInternal extends QueryConstraint {
147
+ _apply(query: Query): Query;
148
+ }
149
+ /** Database reference viewed through the mutating modular helpers. */
150
+ export interface DatabaseReferenceWithMethodsInternal extends DatabaseReference {
151
+ set(value: unknown, onComplete?: () => void, deprecationArg?: DatabaseModularDeprecationArg): Promise<void>;
152
+ setPriority(priority: string | number | null, onComplete?: () => void, deprecationArg?: DatabaseModularDeprecationArg): Promise<void>;
153
+ setWithPriority(value: unknown, priority: string | number | null, onComplete?: () => void, deprecationArg?: DatabaseModularDeprecationArg): Promise<void>;
154
+ child(path: string, deprecationArg?: DatabaseModularDeprecationArg): DatabaseReference;
155
+ onDisconnect(deprecationArg?: DatabaseModularDeprecationArg): OnDisconnect;
156
+ keepSynced(value: boolean, deprecationArg?: DatabaseModularDeprecationArg): Promise<void>;
157
+ push(value?: unknown, onComplete?: undefined, deprecationArg?: DatabaseModularDeprecationArg): ThenableReference;
158
+ remove(deprecationArg?: DatabaseModularDeprecationArg): Promise<void>;
159
+ update(values: object, deprecationArg?: DatabaseModularDeprecationArg): Promise<void>;
160
+ }
161
+ /** Minimal transaction handler contract used by DatabaseReference and namespaced module. */
162
+ export interface DatabaseTransactionInternal {
163
+ add(reference: DatabaseReferenceInternal, transactionUpdater: (currentData: unknown) => unknown, onComplete: (error: Error | null, committed: boolean, snapshot: unknown | null) => void, applyLocally?: boolean): void;
164
+ }
165
+ /** Namespaced database instance with typed native and transaction bridge. */
166
+ export interface DatabaseModuleInternal {
167
+ readonly native: RNFBDatabaseModule;
168
+ readonly emitter: DatabaseEventEmitterInternal;
169
+ readonly app: ReactNativeFirebase.FirebaseApp;
170
+ readonly type: 'database';
171
+ readonly firebaseJson: Record<string, unknown>;
172
+ eventNameForApp(...args: Array<string | number>): string;
173
+ _serverTimeOffset: number;
174
+ _customUrlOrRegion: string | null;
175
+ _transaction: DatabaseTransactionInternal;
176
+ }
177
+ /** Public database module instance plus internal bridge fields. */
178
+ export interface DatabaseInternal extends Database, DatabaseModuleInternal {
179
+ }
180
+ /** Database reference viewed through the transaction modular helper. */
181
+ export interface DatabaseReferenceWithTransactionInternal extends DatabaseReference {
182
+ transaction(transactionUpdate: (currentData: any) => unknown, onComplete?: undefined, applyLocally?: boolean, deprecationArg?: DatabaseModularDeprecationArg): Promise<TransactionResult>;
183
+ }
184
+ /** Runtime ServerValue object shape used by modular wrappers. */
185
+ export interface ServerValueStaticInternal {
186
+ TIMESTAMP: object;
187
+ increment(delta: number, deprecationArg?: DatabaseModularDeprecationArg): object;
188
+ }
189
+ //# sourceMappingURL=internal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../../lib/types/internal.ts"],"names":[],"mappings":"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"}