@react-native-firebase/firestore 23.8.6 → 24.0.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.
Files changed (359) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/RNFBFirestore.podspec +2 -1
  3. package/android/src/reactnative/java/io/invertase/firebase/firestore/ReactNativeFirebaseFirestoreCollectionModule.java +17 -4
  4. package/android/src/reactnative/java/io/invertase/firebase/firestore/ReactNativeFirebaseFirestoreDocumentModule.java +2 -2
  5. package/android/src/reactnative/java/io/invertase/firebase/firestore/ReactNativeFirebaseFirestorePipelineExecutor.java +1243 -0
  6. package/android/src/reactnative/java/io/invertase/firebase/firestore/ReactNativeFirebaseFirestorePipelineNodeBuilder.java +3919 -0
  7. package/android/src/reactnative/java/io/invertase/firebase/firestore/ReactNativeFirebaseFirestorePipelineParser.java +1735 -0
  8. package/android/src/reactnative/java/io/invertase/firebase/firestore/ReactNativeFirebaseFirestoreSerialize.java +1 -1
  9. package/dist/module/FieldPath.js +59 -0
  10. package/dist/module/FieldPath.js.map +1 -0
  11. package/dist/module/FieldValue.js +82 -0
  12. package/dist/module/FieldValue.js.map +1 -0
  13. package/{lib → dist/module}/FirestoreAggregate.js +31 -43
  14. package/dist/module/FirestoreAggregate.js.map +1 -0
  15. package/dist/module/FirestoreBlob.js +56 -0
  16. package/dist/module/FirestoreBlob.js.map +1 -0
  17. package/dist/module/FirestoreCollectionReference.js +70 -0
  18. package/dist/module/FirestoreCollectionReference.js.map +1 -0
  19. package/{lib → dist/module}/FirestoreDocumentChange.js +12 -15
  20. package/dist/module/FirestoreDocumentChange.js.map +1 -0
  21. package/dist/module/FirestoreDocumentReference.js +170 -0
  22. package/dist/module/FirestoreDocumentReference.js.map +1 -0
  23. package/dist/module/FirestoreDocumentSnapshot.js +88 -0
  24. package/dist/module/FirestoreDocumentSnapshot.js.map +1 -0
  25. package/dist/module/FirestoreFilter.js +146 -0
  26. package/dist/module/FirestoreFilter.js.map +1 -0
  27. package/dist/module/FirestoreGeoPoint.js +80 -0
  28. package/dist/module/FirestoreGeoPoint.js.map +1 -0
  29. package/{lib → dist/module}/FirestorePath.js +5 -12
  30. package/dist/module/FirestorePath.js.map +1 -0
  31. package/{lib → dist/module}/FirestorePersistentCacheIndexManager.js +11 -4
  32. package/dist/module/FirestorePersistentCacheIndexManager.js.map +1 -0
  33. package/dist/module/FirestoreQuery.js +298 -0
  34. package/dist/module/FirestoreQuery.js.map +1 -0
  35. package/{lib → dist/module}/FirestoreQueryModifiers.js +25 -136
  36. package/dist/module/FirestoreQueryModifiers.js.map +1 -0
  37. package/dist/module/FirestoreQuerySnapshot.js +98 -0
  38. package/dist/module/FirestoreQuerySnapshot.js.map +1 -0
  39. package/dist/module/FirestoreSnapshotMetadata.js +38 -0
  40. package/dist/module/FirestoreSnapshotMetadata.js.map +1 -0
  41. package/dist/module/FirestoreStatics.js +50 -0
  42. package/dist/module/FirestoreStatics.js.map +1 -0
  43. package/{lib → dist/module}/FirestoreTimestamp.js +39 -39
  44. package/dist/module/FirestoreTimestamp.js.map +1 -0
  45. package/dist/module/FirestoreTransaction.js +113 -0
  46. package/dist/module/FirestoreTransaction.js.map +1 -0
  47. package/dist/module/FirestoreTransactionHandler.js +137 -0
  48. package/dist/module/FirestoreTransactionHandler.js.map +1 -0
  49. package/dist/module/FirestoreVectorValue.js +75 -0
  50. package/dist/module/FirestoreVectorValue.js.map +1 -0
  51. package/dist/module/FirestoreWriteBatch.js +113 -0
  52. package/dist/module/FirestoreWriteBatch.js.map +1 -0
  53. package/dist/module/LoadBundleTask.js +70 -0
  54. package/dist/module/LoadBundleTask.js.map +1 -0
  55. package/dist/module/index.js +31 -0
  56. package/dist/module/index.js.map +1 -0
  57. package/dist/module/modular/Bytes.js +67 -0
  58. package/dist/module/modular/Bytes.js.map +1 -0
  59. package/dist/module/modular/FieldPath.js +25 -0
  60. package/dist/module/modular/FieldPath.js.map +1 -0
  61. package/dist/module/modular/FieldValue.js +37 -0
  62. package/dist/module/modular/FieldValue.js.map +1 -0
  63. package/dist/module/modular/GeoPoint.js +22 -0
  64. package/dist/module/modular/GeoPoint.js.map +1 -0
  65. package/dist/module/modular/Timestamp.js +22 -0
  66. package/dist/module/modular/Timestamp.js.map +1 -0
  67. package/dist/module/modular/VectorValue.js +25 -0
  68. package/dist/module/modular/VectorValue.js.map +1 -0
  69. package/dist/module/modular/query.js +222 -0
  70. package/dist/module/modular/query.js.map +1 -0
  71. package/dist/module/modular/snapshot.js +32 -0
  72. package/dist/module/modular/snapshot.js.map +1 -0
  73. package/dist/module/modular.js +229 -0
  74. package/dist/module/modular.js.map +1 -0
  75. package/dist/module/namespaced.js +298 -0
  76. package/dist/module/namespaced.js.map +1 -0
  77. package/dist/module/package.json +1 -0
  78. package/dist/module/pipelines/expressions.js +1273 -0
  79. package/dist/module/pipelines/expressions.js.map +1 -0
  80. package/dist/module/pipelines/index.js +32 -0
  81. package/dist/module/pipelines/index.js.map +1 -0
  82. package/dist/module/pipelines/pipeline-result.js +58 -0
  83. package/dist/module/pipelines/pipeline-result.js.map +1 -0
  84. package/dist/module/pipelines/pipeline-source.js +4 -0
  85. package/dist/module/pipelines/pipeline-source.js.map +1 -0
  86. package/dist/module/pipelines/pipeline.js +4 -0
  87. package/dist/module/pipelines/pipeline.js.map +1 -0
  88. package/dist/module/pipelines/pipeline_impl.js +42 -0
  89. package/dist/module/pipelines/pipeline_impl.js.map +1 -0
  90. package/dist/module/pipelines/pipeline_options.js +4 -0
  91. package/dist/module/pipelines/pipeline_options.js.map +1 -0
  92. package/dist/module/pipelines/pipeline_runtime.js +526 -0
  93. package/dist/module/pipelines/pipeline_runtime.js.map +1 -0
  94. package/dist/module/pipelines/pipeline_support.js +71 -0
  95. package/dist/module/pipelines/pipeline_support.js.map +1 -0
  96. package/dist/module/pipelines/pipeline_validate.js +183 -0
  97. package/dist/module/pipelines/pipeline_validate.js.map +1 -0
  98. package/dist/module/pipelines/stage_options.js +4 -0
  99. package/dist/module/pipelines/stage_options.js.map +1 -0
  100. package/dist/module/pipelines/types.js +2 -0
  101. package/dist/module/pipelines/types.js.map +1 -0
  102. package/dist/module/types/firestore.js +4 -0
  103. package/dist/module/types/firestore.js.map +1 -0
  104. package/dist/module/types/internal.js +4 -0
  105. package/dist/module/types/internal.js.map +1 -0
  106. package/dist/module/types/namespaced.js +338 -0
  107. package/dist/module/types/namespaced.js.map +1 -0
  108. package/{lib → dist/module}/utils/index.js +59 -114
  109. package/dist/module/utils/index.js.map +1 -0
  110. package/{lib → dist/module}/utils/serialize.js +58 -116
  111. package/dist/module/utils/serialize.js.map +1 -0
  112. package/{lib → dist/module}/utils/typemap.js +6 -20
  113. package/dist/module/utils/typemap.js.map +1 -0
  114. package/dist/module/version.js +5 -0
  115. package/dist/module/version.js.map +1 -0
  116. package/dist/module/web/RNFBFirestoreModule.android.js +5 -0
  117. package/dist/module/web/RNFBFirestoreModule.android.js.map +1 -0
  118. package/dist/module/web/RNFBFirestoreModule.ios.js +5 -0
  119. package/dist/module/web/RNFBFirestoreModule.ios.js.map +1 -0
  120. package/dist/module/web/RNFBFirestoreModule.js +387 -0
  121. package/dist/module/web/RNFBFirestoreModule.js.map +1 -0
  122. package/{lib → dist/module}/web/convert.js +60 -94
  123. package/dist/module/web/convert.js.map +1 -0
  124. package/dist/module/web/pipelines/pipeline.js +34 -0
  125. package/dist/module/web/pipelines/pipeline.js.map +1 -0
  126. package/dist/module/web/pipelines/pipeline_bridge_factory.js +217 -0
  127. package/dist/module/web/pipelines/pipeline_bridge_factory.js.map +1 -0
  128. package/dist/module/web/pipelines/pipeline_node_builder.js +294 -0
  129. package/dist/module/web/pipelines/pipeline_node_builder.js.map +1 -0
  130. package/dist/module/web/pipelines/pipeline_parser.js +21 -0
  131. package/dist/module/web/pipelines/pipeline_parser.js.map +1 -0
  132. package/dist/module/web/pipelines/pipeline_snapshot_serializer.js +89 -0
  133. package/dist/module/web/pipelines/pipeline_snapshot_serializer.js.map +1 -0
  134. package/dist/module/web/query.js +95 -0
  135. package/dist/module/web/query.js.map +1 -0
  136. package/dist/typescript/lib/FieldPath.d.ts +10 -0
  137. package/dist/typescript/lib/FieldPath.d.ts.map +1 -0
  138. package/dist/typescript/lib/FieldValue.d.ts +17 -0
  139. package/dist/typescript/lib/FieldValue.d.ts.map +1 -0
  140. package/dist/typescript/lib/FirestoreAggregate.d.ts +40 -0
  141. package/dist/typescript/lib/FirestoreAggregate.d.ts.map +1 -0
  142. package/dist/typescript/lib/FirestoreBlob.d.ts +11 -0
  143. package/dist/typescript/lib/FirestoreBlob.d.ts.map +1 -0
  144. package/dist/typescript/lib/FirestoreCollectionReference.d.ts +15 -0
  145. package/dist/typescript/lib/FirestoreCollectionReference.d.ts.map +1 -0
  146. package/dist/typescript/lib/FirestoreDocumentChange.d.ts +27 -0
  147. package/dist/typescript/lib/FirestoreDocumentChange.d.ts.map +1 -0
  148. package/dist/typescript/lib/FirestoreDocumentReference.d.ts +30 -0
  149. package/dist/typescript/lib/FirestoreDocumentReference.d.ts.map +1 -0
  150. package/dist/typescript/lib/FirestoreDocumentSnapshot.d.ts +30 -0
  151. package/dist/typescript/lib/FirestoreDocumentSnapshot.d.ts.map +1 -0
  152. package/dist/typescript/lib/FirestoreFilter.d.ts +52 -0
  153. package/dist/typescript/lib/FirestoreFilter.d.ts.map +1 -0
  154. package/dist/typescript/lib/FirestoreGeoPoint.d.ts +22 -0
  155. package/dist/typescript/lib/FirestoreGeoPoint.d.ts.map +1 -0
  156. package/dist/typescript/lib/FirestorePath.d.ts +12 -0
  157. package/dist/typescript/lib/FirestorePath.d.ts.map +1 -0
  158. package/dist/typescript/lib/FirestorePersistentCacheIndexManager.d.ts +16 -0
  159. package/dist/typescript/lib/FirestorePersistentCacheIndexManager.d.ts.map +1 -0
  160. package/dist/typescript/lib/FirestoreQuery.d.ts +39 -0
  161. package/dist/typescript/lib/FirestoreQuery.d.ts.map +1 -0
  162. package/dist/typescript/lib/FirestoreQueryModifiers.d.ts +59 -0
  163. package/dist/typescript/lib/FirestoreQueryModifiers.d.ts.map +1 -0
  164. package/dist/typescript/lib/FirestoreQuerySnapshot.d.ts +49 -0
  165. package/dist/typescript/lib/FirestoreQuerySnapshot.d.ts.map +1 -0
  166. package/dist/typescript/lib/FirestoreSnapshotMetadata.d.ts +8 -0
  167. package/dist/typescript/lib/FirestoreSnapshotMetadata.d.ts.map +1 -0
  168. package/dist/typescript/lib/FirestoreStatics.d.ts +23 -0
  169. package/dist/typescript/lib/FirestoreStatics.d.ts.map +1 -0
  170. package/dist/typescript/lib/FirestoreTimestamp.d.ts +33 -0
  171. package/dist/typescript/lib/FirestoreTimestamp.d.ts.map +1 -0
  172. package/dist/typescript/lib/FirestoreTransaction.d.ts +42 -0
  173. package/dist/typescript/lib/FirestoreTransaction.d.ts.map +1 -0
  174. package/dist/typescript/lib/FirestoreTransactionHandler.d.ts +26 -0
  175. package/dist/typescript/lib/FirestoreTransactionHandler.d.ts.map +1 -0
  176. package/dist/typescript/lib/FirestoreVectorValue.d.ts +17 -0
  177. package/dist/typescript/lib/FirestoreVectorValue.d.ts.map +1 -0
  178. package/dist/typescript/lib/FirestoreWriteBatch.d.ts +21 -0
  179. package/dist/typescript/lib/FirestoreWriteBatch.d.ts.map +1 -0
  180. package/dist/typescript/lib/LoadBundleTask.d.ts +16 -0
  181. package/dist/typescript/lib/LoadBundleTask.d.ts.map +1 -0
  182. package/dist/typescript/lib/index.d.ts +6 -0
  183. package/dist/typescript/lib/index.d.ts.map +1 -0
  184. package/dist/typescript/lib/modular/Bytes.d.ts +22 -0
  185. package/dist/typescript/lib/modular/Bytes.d.ts.map +1 -0
  186. package/dist/typescript/lib/modular/FieldPath.d.ts +4 -0
  187. package/dist/typescript/lib/modular/FieldPath.d.ts.map +1 -0
  188. package/dist/typescript/lib/modular/FieldValue.d.ts +8 -0
  189. package/dist/typescript/lib/modular/FieldValue.d.ts.map +1 -0
  190. package/dist/typescript/lib/modular/GeoPoint.d.ts +3 -0
  191. package/dist/typescript/lib/modular/GeoPoint.d.ts.map +1 -0
  192. package/dist/typescript/lib/modular/Timestamp.d.ts +3 -0
  193. package/dist/typescript/lib/modular/Timestamp.d.ts.map +1 -0
  194. package/dist/typescript/lib/modular/VectorValue.d.ts +4 -0
  195. package/dist/typescript/lib/modular/VectorValue.d.ts.map +1 -0
  196. package/dist/typescript/lib/modular/query.d.ts +93 -0
  197. package/dist/typescript/lib/modular/query.d.ts.map +1 -0
  198. package/dist/typescript/lib/modular/snapshot.d.ts +30 -0
  199. package/dist/typescript/lib/modular/snapshot.d.ts.map +1 -0
  200. package/dist/typescript/lib/modular.d.ts +69 -0
  201. package/dist/typescript/lib/modular.d.ts.map +1 -0
  202. package/dist/typescript/lib/namespaced.d.ts +13 -0
  203. package/dist/typescript/lib/namespaced.d.ts.map +1 -0
  204. package/dist/typescript/lib/pipelines/expressions.d.ts +723 -0
  205. package/dist/typescript/lib/pipelines/expressions.d.ts.map +1 -0
  206. package/dist/typescript/lib/pipelines/index.d.ts +31 -0
  207. package/dist/typescript/lib/pipelines/index.d.ts.map +1 -0
  208. package/dist/typescript/lib/pipelines/pipeline-result.d.ts +30 -0
  209. package/dist/typescript/lib/pipelines/pipeline-result.d.ts.map +1 -0
  210. package/dist/typescript/lib/pipelines/pipeline-source.d.ts +64 -0
  211. package/dist/typescript/lib/pipelines/pipeline-source.d.ts.map +1 -0
  212. package/dist/typescript/lib/pipelines/pipeline.d.ts +61 -0
  213. package/dist/typescript/lib/pipelines/pipeline.d.ts.map +1 -0
  214. package/dist/typescript/lib/pipelines/pipeline_impl.d.ts +21 -0
  215. package/dist/typescript/lib/pipelines/pipeline_impl.d.ts.map +1 -0
  216. package/dist/typescript/lib/pipelines/pipeline_options.d.ts +17 -0
  217. package/dist/typescript/lib/pipelines/pipeline_options.d.ts.map +1 -0
  218. package/dist/typescript/lib/pipelines/pipeline_runtime.d.ts +10 -0
  219. package/dist/typescript/lib/pipelines/pipeline_runtime.d.ts.map +1 -0
  220. package/dist/typescript/lib/pipelines/pipeline_support.d.ts +7 -0
  221. package/dist/typescript/lib/pipelines/pipeline_support.d.ts.map +1 -0
  222. package/dist/typescript/lib/pipelines/pipeline_validate.d.ts +9 -0
  223. package/dist/typescript/lib/pipelines/pipeline_validate.d.ts.map +1 -0
  224. package/dist/typescript/lib/pipelines/stage_options.d.ts +326 -0
  225. package/dist/typescript/lib/pipelines/stage_options.d.ts.map +1 -0
  226. package/dist/typescript/lib/pipelines/types.d.ts +10 -0
  227. package/dist/typescript/lib/pipelines/types.d.ts.map +1 -0
  228. package/dist/typescript/lib/types/firestore.d.ts +263 -0
  229. package/dist/typescript/lib/types/firestore.d.ts.map +1 -0
  230. package/dist/typescript/lib/types/internal.d.ts +483 -0
  231. package/dist/typescript/lib/types/internal.d.ts.map +1 -0
  232. package/dist/typescript/lib/types/namespaced.d.ts +2285 -0
  233. package/dist/typescript/lib/types/namespaced.d.ts.map +1 -0
  234. package/dist/typescript/lib/utils/index.d.ts +15 -0
  235. package/dist/typescript/lib/utils/index.d.ts.map +1 -0
  236. package/dist/typescript/lib/utils/serialize.d.ts +17 -0
  237. package/dist/typescript/lib/utils/serialize.d.ts.map +1 -0
  238. package/dist/typescript/lib/utils/typemap.d.ts +3 -0
  239. package/dist/typescript/lib/utils/typemap.d.ts.map +1 -0
  240. package/dist/typescript/lib/version.d.ts +2 -0
  241. package/dist/typescript/lib/version.d.ts.map +1 -0
  242. package/dist/typescript/lib/web/RNFBFirestoreModule.android.d.ts +3 -0
  243. package/dist/typescript/lib/web/RNFBFirestoreModule.android.d.ts.map +1 -0
  244. package/dist/typescript/lib/web/RNFBFirestoreModule.d.ts +75 -0
  245. package/dist/typescript/lib/web/RNFBFirestoreModule.d.ts.map +1 -0
  246. package/dist/typescript/lib/web/RNFBFirestoreModule.ios.d.ts +3 -0
  247. package/dist/typescript/lib/web/RNFBFirestoreModule.ios.d.ts.map +1 -0
  248. package/dist/typescript/lib/web/convert.d.ts +14 -0
  249. package/dist/typescript/lib/web/convert.d.ts.map +1 -0
  250. package/dist/typescript/lib/web/pipelines/pipeline.d.ts +4 -0
  251. package/dist/typescript/lib/web/pipelines/pipeline.d.ts.map +1 -0
  252. package/dist/typescript/lib/web/pipelines/pipeline_bridge_factory.d.ts +5 -0
  253. package/dist/typescript/lib/web/pipelines/pipeline_bridge_factory.d.ts.map +1 -0
  254. package/dist/typescript/lib/web/pipelines/pipeline_node_builder.d.ts +5 -0
  255. package/dist/typescript/lib/web/pipelines/pipeline_node_builder.d.ts.map +1 -0
  256. package/dist/typescript/lib/web/pipelines/pipeline_parser.d.ts +3 -0
  257. package/dist/typescript/lib/web/pipelines/pipeline_parser.d.ts.map +1 -0
  258. package/dist/typescript/lib/web/pipelines/pipeline_snapshot_serializer.d.ts +4 -0
  259. package/dist/typescript/lib/web/pipelines/pipeline_snapshot_serializer.d.ts.map +1 -0
  260. package/dist/typescript/lib/web/query.d.ts +23 -0
  261. package/dist/typescript/lib/web/query.d.ts.map +1 -0
  262. package/dist/typescript/package.json +1 -0
  263. package/ios/RNFBFirestore/RNFBFirestoreCollectionModule.m +52 -2
  264. package/ios/RNFBFirestore/RNFBFirestorePipelineBridgeFactory.swift +384 -0
  265. package/ios/RNFBFirestore/RNFBFirestorePipelineCallHandler.swift +86 -0
  266. package/ios/RNFBFirestore/RNFBFirestorePipelineNodeBuilder.swift +1500 -0
  267. package/ios/RNFBFirestore/RNFBFirestorePipelineParser.swift +1352 -0
  268. package/ios/RNFBFirestore/RNFBFirestorePipelineSnapshotSerializer.swift +98 -0
  269. package/lib/{FirestoreFieldPath.js → FieldPath.ts} +10 -12
  270. package/lib/{FirestoreFieldValue.js → FieldValue.ts} +22 -19
  271. package/lib/FirestoreAggregate.ts +124 -0
  272. package/lib/FirestoreBlob.ts +73 -0
  273. package/lib/FirestoreCollectionReference.ts +99 -0
  274. package/lib/FirestoreDocumentChange.ts +71 -0
  275. package/lib/FirestoreDocumentReference.ts +310 -0
  276. package/lib/FirestoreDocumentSnapshot.ts +149 -0
  277. package/lib/FirestoreFilter.ts +232 -0
  278. package/lib/{FirestoreGeoPoint.js → FirestoreGeoPoint.ts} +48 -8
  279. package/lib/FirestorePath.ts +54 -0
  280. package/lib/FirestorePersistentCacheIndexManager.ts +46 -0
  281. package/lib/{FirestoreQuery.js → FirestoreQuery.ts} +208 -100
  282. package/lib/FirestoreQueryModifiers.ts +411 -0
  283. package/lib/{FirestoreQuerySnapshot.js → FirestoreQuerySnapshot.ts} +61 -32
  284. package/lib/{FirestoreSnapshotMetadata.js → FirestoreSnapshotMetadata.ts} +8 -6
  285. package/lib/{FirestoreStatics.js → FirestoreStatics.ts} +18 -11
  286. package/lib/FirestoreTimestamp.ts +161 -0
  287. package/lib/{FirestoreTransaction.js → FirestoreTransaction.ts} +64 -27
  288. package/lib/{FirestoreTransactionHandler.js → FirestoreTransactionHandler.ts} +54 -75
  289. package/lib/{FirestoreVectorValue.js → FirestoreVectorValue.ts} +36 -15
  290. package/lib/{FirestoreWriteBatch.js → FirestoreWriteBatch.ts} +45 -21
  291. package/lib/LoadBundleTask.ts +85 -0
  292. package/lib/index.ts +71 -0
  293. package/lib/modular/Bytes.ts +81 -0
  294. package/lib/modular/FieldPath.ts +24 -0
  295. package/lib/modular/FieldValue.ts +40 -0
  296. package/lib/modular/GeoPoint.ts +20 -0
  297. package/lib/modular/Timestamp.ts +20 -0
  298. package/lib/modular/VectorValue.ts +24 -0
  299. package/lib/modular/query.ts +368 -0
  300. package/lib/modular/snapshot.ts +137 -0
  301. package/lib/modular.ts +552 -0
  302. package/lib/{index.js → namespaced.ts} +170 -80
  303. package/lib/pipelines/expressions.ts +2321 -0
  304. package/lib/pipelines/index.ts +203 -0
  305. package/lib/pipelines/pipeline-result.ts +78 -0
  306. package/lib/pipelines/pipeline-source.ts +83 -0
  307. package/lib/pipelines/pipeline.ts +99 -0
  308. package/lib/pipelines/pipeline_impl.ts +46 -0
  309. package/lib/pipelines/pipeline_options.ts +32 -0
  310. package/lib/pipelines/pipeline_runtime.ts +863 -0
  311. package/lib/pipelines/pipeline_support.ts +134 -0
  312. package/lib/pipelines/pipeline_validate.ts +242 -0
  313. package/lib/pipelines/stage_options.ts +376 -0
  314. package/lib/pipelines/types.ts +26 -0
  315. package/lib/types/firestore.ts +477 -0
  316. package/lib/types/internal.ts +747 -0
  317. package/lib/{index.d.ts → types/namespaced.ts} +280 -79
  318. package/lib/utils/index.ts +244 -0
  319. package/lib/utils/serialize.ts +314 -0
  320. package/lib/utils/typemap.ts +65 -0
  321. package/lib/version.ts +2 -0
  322. package/lib/web/{RNFBFirestoreModule.js → RNFBFirestoreModule.ts} +222 -234
  323. package/lib/web/convert.ts +287 -0
  324. package/lib/web/pipelines/pipeline.ts +47 -0
  325. package/lib/web/pipelines/pipeline_bridge_factory.ts +377 -0
  326. package/lib/web/pipelines/pipeline_node_builder.ts +413 -0
  327. package/lib/web/pipelines/pipeline_parser.ts +23 -0
  328. package/lib/web/pipelines/pipeline_snapshot_serializer.ts +133 -0
  329. package/lib/web/query.ts +150 -0
  330. package/package.json +46 -7
  331. package/tsconfig.json +35 -0
  332. package/lib/FirestoreBlob.js +0 -107
  333. package/lib/FirestoreCollectionReference.js +0 -70
  334. package/lib/FirestoreDocumentReference.js +0 -222
  335. package/lib/FirestoreDocumentSnapshot.js +0 -132
  336. package/lib/FirestoreFilter.js +0 -156
  337. package/lib/modular/Bytes.d.ts +0 -11
  338. package/lib/modular/Bytes.js +0 -62
  339. package/lib/modular/FieldPath.d.ts +0 -20
  340. package/lib/modular/FieldPath.js +0 -7
  341. package/lib/modular/FieldValue.d.ts +0 -67
  342. package/lib/modular/FieldValue.js +0 -41
  343. package/lib/modular/GeoPoint.d.ts +0 -17
  344. package/lib/modular/GeoPoint.js +0 -3
  345. package/lib/modular/Timestamp.d.ts +0 -85
  346. package/lib/modular/Timestamp.js +0 -3
  347. package/lib/modular/VectorValue.d.ts +0 -30
  348. package/lib/modular/VectorValue.js +0 -11
  349. package/lib/modular/index.d.ts +0 -788
  350. package/lib/modular/index.js +0 -410
  351. package/lib/modular/query.d.ts +0 -370
  352. package/lib/modular/query.js +0 -233
  353. package/lib/modular/snapshot.d.ts +0 -256
  354. package/lib/modular/snapshot.js +0 -33
  355. package/lib/modular/utils/observer.js +0 -16
  356. package/lib/version.js +0 -2
  357. package/lib/web/query.js +0 -112
  358. /package/lib/web/{RNFBFirestoreModule.android.js → RNFBFirestoreModule.android.ts} +0 -0
  359. /package/lib/web/{RNFBFirestoreModule.ios.js → RNFBFirestoreModule.ios.ts} +0 -0
@@ -1,410 +0,0 @@
1
- /**
2
- * @typedef {import('..').FirebaseFirestoreTypes} FirebaseFirestoreTypes
3
- * @typedef {import('..').FirebaseFirestoreTypes.CollectionReference} CollectionReference
4
- * @typedef {import('..').FirebaseFirestoreTypes.DocumentData} DocumentData
5
- * @typedef {import('..').FirebaseFirestoreTypes.DocumentReference} DocumentReference
6
- * @typedef {import('..').FirebaseFirestoreTypes.FieldPath} FieldPath
7
- * @typedef {import('..').FirebaseFirestoreTypes.Module} Firestore
8
- * @typedef {import('..').FirebaseFirestoreTypes.Query} Query
9
- * @typedef {import('..').FirebaseFirestoreTypes.SetOptions} SetOptions
10
- * @typedef {import('..').FirebaseFirestoreTypes.Settings} FirestoreSettings
11
- * @typedef {import('..').FirebaseFirestoreTypes.PersistentCacheIndexManager} PersistentCacheIndexManager
12
- * @typedef {import('@firebase/app').FirebaseApp} FirebaseApp
13
- */
14
-
15
- import { getApp, setLogLevel as appSetLogLevel } from '@react-native-firebase/app';
16
- import { isObject, MODULAR_DEPRECATION_ARG } from '@react-native-firebase/app/dist/module/common';
17
- import {
18
- FirestoreAggregateQuerySnapshot,
19
- AggregateField,
20
- AggregateType,
21
- fieldPathFromArgument,
22
- } from '../FirestoreAggregate';
23
- import FirestoreQuery from '../FirestoreQuery';
24
-
25
- /**
26
- * @param {FirebaseApp?} app
27
- * @param {String?} databaseId
28
- * @returns {Firestore}
29
- */
30
- export function getFirestore(app, databaseId) {
31
- if (app) {
32
- if (databaseId) {
33
- return getApp(app.name).firestore(databaseId);
34
- } else {
35
- return getApp(app.name).firestore();
36
- }
37
- }
38
- if (databaseId) {
39
- return getApp().firestore(databaseId);
40
- }
41
-
42
- return getApp().firestore();
43
- }
44
-
45
- /**
46
- * @param {Firestore | CollectionReference | DocumentReference<unknown>} parent
47
- * @param {string?} path
48
- * @param {string?} pathSegments
49
- * @returns {DocumentReference}
50
- */
51
- export function doc(parent, path, ...pathSegments) {
52
- if (pathSegments && pathSegments.length) {
53
- path = path + '/' + pathSegments.map(e => e.replace(/^\/|\/$/g, '')).join('/');
54
- }
55
-
56
- return parent.doc.call(parent, path, MODULAR_DEPRECATION_ARG);
57
- }
58
-
59
- /**
60
- * @param {Firestore | DocumentReference<unknown> | CollectionReference<unknown>} parent
61
- * @param {string} path
62
- * @param {string?} pathSegments
63
- * @returns {CollectionReference<DocumentData>}
64
- */
65
- export function collection(parent, path, ...pathSegments) {
66
- if (pathSegments && pathSegments.length) {
67
- path = path + '/' + pathSegments.map(e => e.replace(/^\/|\/$/g, '')).join('/');
68
- }
69
-
70
- return parent.collection.call(parent, path, MODULAR_DEPRECATION_ARG);
71
- }
72
-
73
- /**
74
- * @param {DocumentReference<AppModelType, DbModelType> | CollectionReference<AppModelType, DbModelType>} left
75
- * @param {DocumentReference<AppModelType, DbModelType> | CollectionReference<AppModelType, DbModelType>} right
76
- * @return boolean true if the two references are equal
77
- */
78
- export function refEqual(left, right) {
79
- return left.isEqual.call(left, right, MODULAR_DEPRECATION_ARG);
80
- }
81
-
82
- /**
83
- * @param {Firestore} firestore
84
- * @param {string} collectionId
85
- * @returns {Query<DocumentData>}
86
- */
87
- export function collectionGroup(firestore, collectionId) {
88
- return firestore.collectionGroup.call(firestore, collectionId, MODULAR_DEPRECATION_ARG);
89
- }
90
-
91
- let _id_SnapshotInSync = 0;
92
-
93
- export function onSnapshotsInSync(firestore, callback) {
94
- const listenerId = _id_SnapshotInSync++;
95
- firestore.native.addSnapshotsInSync(listenerId);
96
- const onSnapshotsInSyncSubscription = firestore.emitter.addListener(
97
- firestore.eventNameForApp(`firestore_snapshots_in_sync_event:${listenerId}`),
98
- () => {
99
- callback();
100
- },
101
- );
102
-
103
- return () => {
104
- onSnapshotsInSyncSubscription.remove();
105
- firestore.native.removeSnapshotsInSync(listenerId);
106
- };
107
- }
108
-
109
- /**
110
- * @param {DocumentReference} reference
111
- * @param {import('.').PartialWithFieldValue} data
112
- * @param {SetOptions?} options
113
- * @returns {Promise<void>}
114
- */
115
- export function setDoc(reference, data, options) {
116
- return reference.set.call(reference, data, options, MODULAR_DEPRECATION_ARG);
117
- }
118
-
119
- /**
120
- * @param {DocumentReference} reference
121
- * @param {string | FieldPath | import('.').UpdateData} fieldOrUpdateData
122
- * @param {unknown?} value
123
- * @param {unknown} moreFieldsAndValues
124
- * @returns {Promise<void>}
125
- */
126
- export function updateDoc(reference, fieldOrUpdateData, value, ...moreFieldsAndValues) {
127
- if (!fieldOrUpdateData) {
128
- // @ts-ignore
129
- return reference.update.call(reference, MODULAR_DEPRECATION_ARG);
130
- }
131
-
132
- if (!value) {
133
- return reference.update.call(reference, fieldOrUpdateData, MODULAR_DEPRECATION_ARG);
134
- }
135
-
136
- if (!moreFieldsAndValues || !Array.isArray(moreFieldsAndValues)) {
137
- return reference.update.call(reference, fieldOrUpdateData, value, MODULAR_DEPRECATION_ARG);
138
- }
139
-
140
- return reference.update.call(
141
- reference,
142
- fieldOrUpdateData,
143
- value,
144
- ...moreFieldsAndValues,
145
- MODULAR_DEPRECATION_ARG,
146
- );
147
- }
148
-
149
- /**
150
- * @param {CollectionReference} reference
151
- * @param {WithFieldValue} data
152
- * @returns {Promise<DocumentReference>}
153
- */
154
- export function addDoc(reference, data) {
155
- return reference.add.call(reference, data, MODULAR_DEPRECATION_ARG);
156
- }
157
-
158
- /**
159
- * @param {Firestore} firestore
160
- * @returns {Promise<void>}
161
- */
162
- export function enableNetwork(firestore) {
163
- return firestore.enableNetwork.call(firestore, MODULAR_DEPRECATION_ARG);
164
- }
165
-
166
- /**
167
- * @param {Firestore} firestore
168
- * @returns {Promise<void>}
169
- */
170
- export function disableNetwork(firestore) {
171
- return firestore.disableNetwork.call(firestore, MODULAR_DEPRECATION_ARG);
172
- }
173
-
174
- /**
175
- * @param {Firestore} firestore
176
- * @returns {Promise<void>}
177
- */
178
- export function clearPersistence(firestore) {
179
- // this will call deprecation warning as it isn't part of firebase-js-sdk API
180
- return firestore.clearPersistence();
181
- }
182
- /**
183
- * @param {Firestore} firestore
184
- * @returns {Promise<void>}
185
- */
186
- export function clearIndexedDbPersistence(firestore) {
187
- return firestore.clearPersistence.call(firestore, MODULAR_DEPRECATION_ARG);
188
- }
189
-
190
- /**
191
- * @param {Firestore} firestore
192
- * @returns {Promise<void>}
193
- */
194
- export function terminate(firestore) {
195
- return firestore.terminate.call(firestore, MODULAR_DEPRECATION_ARG);
196
- }
197
-
198
- /**
199
- * @param {Firestore} firestore
200
- * @returns {Promise<void>}
201
- */
202
- export function waitForPendingWrites(firestore) {
203
- return firestore.waitForPendingWrites.call(firestore, MODULAR_DEPRECATION_ARG);
204
- }
205
-
206
- /**
207
- * @param {FirebaseApp} app
208
- * @param {FirestoreSettings} settings
209
- * @param {string?} databaseId
210
- * @returns {Promise<Firestore>}
211
- */
212
- export async function initializeFirestore(app, settings, databaseId) {
213
- const firebase = getApp(app.name);
214
- const firestore = firebase.firestore(databaseId);
215
- await firestore.settings.call(firestore, settings, MODULAR_DEPRECATION_ARG);
216
- return firestore;
217
- }
218
-
219
- export function connectFirestoreEmulator(firestore, host, port, options) {
220
- return firestore.useEmulator.call(firestore, host, port, options, MODULAR_DEPRECATION_ARG);
221
- }
222
-
223
- /**
224
- * @param {import('./').LogLevel} logLevel
225
- * @returns {void}
226
- */
227
- export function setLogLevel(logLevel) {
228
- return appSetLogLevel(logLevel);
229
- }
230
-
231
- /**
232
- * @param {Firestore} firestore
233
- * @param {(transaction: FirebaseFirestoreTypes.Transaction) => Promise} updateFunction
234
- * @returns {Promise}
235
- */
236
- export function runTransaction(firestore, updateFunction) {
237
- return firestore.runTransaction.call(firestore, updateFunction, MODULAR_DEPRECATION_ARG);
238
- }
239
-
240
- /**
241
- * @param {Query} query
242
- * @returns {Promise<FirebaseFirestoreTypes.AggregateQuerySnapshot>}
243
- */
244
- export function getCountFromServer(query) {
245
- return query.count.call(query, MODULAR_DEPRECATION_ARG).get();
246
- }
247
-
248
- export function getAggregateFromServer(query, aggregateSpec) {
249
- if (!(query instanceof FirestoreQuery)) {
250
- throw new Error(
251
- '`getAggregateFromServer(*, aggregateSpec)` `query` must be an instance of `FirestoreQuery`',
252
- );
253
- }
254
-
255
- if (!isObject(aggregateSpec)) {
256
- throw new Error('`getAggregateFromServer(query, *)` `aggregateSpec` must be an object');
257
- } else {
258
- const containsOneAggregateField = Object.values(aggregateSpec).find(
259
- value => value instanceof AggregateField,
260
- );
261
-
262
- if (!containsOneAggregateField) {
263
- throw new Error(
264
- '`getAggregateFromServer(query, *)` `aggregateSpec` must contain at least one `AggregateField`',
265
- );
266
- }
267
- }
268
- const aggregateQueries = [];
269
- for (const key in aggregateSpec) {
270
- if (aggregateSpec.hasOwnProperty(key)) {
271
- const aggregateField = aggregateSpec[key];
272
- // we ignore any fields that are not `AggregateField`
273
- if (aggregateField instanceof AggregateField) {
274
- switch (aggregateField.aggregateType) {
275
- case AggregateType.AVG:
276
- case AggregateType.SUM:
277
- case AggregateType.COUNT:
278
- const aggregateQuery = {
279
- aggregateType: aggregateField.aggregateType,
280
- field:
281
- aggregateField._fieldPath === null ? null : aggregateField._fieldPath._toPath(),
282
- key,
283
- };
284
- aggregateQueries.push(aggregateQuery);
285
- break;
286
- default:
287
- throw new Error(
288
- `'AggregateField' has an an unknown 'AggregateType' : ${aggregateField.aggregateType}`,
289
- );
290
- }
291
- }
292
- }
293
- }
294
-
295
- return query._firestore.native
296
- .aggregateQuery(
297
- query._collectionPath.relativeName,
298
- query._modifiers.type,
299
- query._modifiers.filters,
300
- query._modifiers.orders,
301
- query._modifiers.options,
302
- aggregateQueries,
303
- )
304
- .then(data => new FirestoreAggregateQuerySnapshot(query, data, false));
305
- }
306
-
307
- /**
308
- * Create an AggregateField object that can be used to compute the sum of
309
- * a specified field over a range of documents in the result set of a query.
310
- * @param field Specifies the field to sum across the result set.
311
- */
312
- export function sum(field) {
313
- return new AggregateField(AggregateType.SUM, fieldPathFromArgument(field));
314
- }
315
-
316
- /**
317
- * Create an AggregateField object that can be used to compute the average of
318
- * a specified field over a range of documents in the result set of a query.
319
- * @param field Specifies the field to average across the result set.
320
- */
321
- export function average(field) {
322
- return new AggregateField(AggregateType.AVG, fieldPathFromArgument(field));
323
- }
324
-
325
- /**
326
- * Create an AggregateField object that can be used to compute the count of
327
- * documents in the result set of a query.
328
- */
329
- export function count() {
330
- return new AggregateField(AggregateType.COUNT, null);
331
- }
332
-
333
- /**
334
- * @param {Firestore} firestore
335
- * @param {ReadableStream<Uint8Array> | ArrayBuffer | string} bundleData
336
- * @returns {import('.').LoadBundleTask}
337
- */
338
- export function loadBundle(firestore, bundleData) {
339
- return firestore.loadBundle.call(firestore, bundleData, MODULAR_DEPRECATION_ARG);
340
- }
341
-
342
- /**
343
- * @param {Firestore} firestore
344
- * @param {string} name
345
- * @returns {Query<DocumentData>}
346
- */
347
- export function namedQuery(firestore, name) {
348
- return firestore.namedQuery.call(firestore, name, MODULAR_DEPRECATION_ARG);
349
- }
350
-
351
- /**
352
- * @param {Firestore} firestore
353
- * @returns {FirebaseFirestoreTypes.WriteBatch}
354
- */
355
- export function writeBatch(firestore) {
356
- return firestore.batch.call(firestore, MODULAR_DEPRECATION_ARG);
357
- }
358
-
359
- /**
360
- * Gets the `PersistentCacheIndexManager` instance used by this Cloud Firestore instance.
361
- * This is not the same as Cloud Firestore Indexes.
362
- * Persistent cache indexes are optional indexes that only exist within the SDK to assist in local query execution.
363
- * Returns `null` if local persistent storage is not in use.
364
- * @param {Firestore} firestore
365
- * @returns {PersistentCacheIndexManager | null}
366
- */
367
- export function getPersistentCacheIndexManager(firestore) {
368
- return firestore.persistentCacheIndexManager.call(firestore, MODULAR_DEPRECATION_ARG);
369
- }
370
-
371
- /**
372
- * Enables the SDK to create persistent cache indexes automatically for local query
373
- * execution when the SDK believes cache indexes can help improves performance.
374
- * This feature is disabled by default.
375
- * @param {PersistentCacheIndexManager} indexManager
376
- * @returns {Promise<void}
377
- */
378
- export function enablePersistentCacheIndexAutoCreation(indexManager) {
379
- return indexManager.enableIndexAutoCreation.call(indexManager, MODULAR_DEPRECATION_ARG);
380
- }
381
-
382
- /**
383
- * Stops creating persistent cache indexes automatically for local query execution.
384
- * The indexes which have been created by calling `enableIndexAutoCreation()` still take effect.
385
- * @param {PersistentCacheIndexManager} indexManager
386
- * @returns {Promise<void}
387
- */
388
- export function disablePersistentCacheIndexAutoCreation(indexManager) {
389
- return indexManager.disableIndexAutoCreation.call(indexManager, MODULAR_DEPRECATION_ARG);
390
- }
391
-
392
- /**
393
- * Removes all persistent cache indexes. Note this function also deletes indexes
394
- * generated by `setIndexConfiguration()`, which is deprecated.
395
- * @param {PersistentCacheIndexManager} indexManager
396
- * @returns {Promise<void}
397
- */
398
- export function deleteAllPersistentCacheIndexes(indexManager) {
399
- return indexManager.deleteAllIndexes.call(indexManager, MODULAR_DEPRECATION_ARG);
400
- }
401
-
402
- export * from './query';
403
- export * from './snapshot';
404
- export * from './Bytes';
405
- export * from './FieldPath';
406
- export * from './FieldValue';
407
- export * from './GeoPoint';
408
- export * from './Timestamp';
409
- export * from './VectorValue';
410
- export { Filter } from '../FirestoreFilter';