@dereekb/firebase 1.2.0 → 3.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 (255) hide show
  1. package/CHANGELOG.md +45 -2
  2. package/README.md +1 -1
  3. package/package.json +18 -8
  4. package/src/index.js +2 -2
  5. package/src/index.js.map +1 -1
  6. package/src/lib/client/firestore/driver.accessor.batch.d.ts +31 -0
  7. package/src/lib/{firestore/accessor.batch.js → client/firestore/driver.accessor.batch.js} +22 -4
  8. package/src/lib/client/firestore/driver.accessor.batch.js.map +1 -0
  9. package/src/lib/client/firestore/driver.accessor.d.ts +2 -0
  10. package/src/lib/{firestore/accessor.default.d.ts → client/firestore/driver.accessor.default.d.ts} +4 -11
  11. package/src/lib/{firestore/accessor.default.js → client/firestore/driver.accessor.default.js} +17 -13
  12. package/src/lib/client/firestore/driver.accessor.default.js.map +1 -0
  13. package/src/lib/client/firestore/driver.accessor.js +23 -0
  14. package/src/lib/client/firestore/driver.accessor.js.map +1 -0
  15. package/src/lib/client/firestore/driver.accessor.transaction.d.ts +31 -0
  16. package/src/lib/{firestore/accessor.transaction.js → client/firestore/driver.accessor.transaction.js} +22 -4
  17. package/src/lib/client/firestore/driver.accessor.transaction.js.map +1 -0
  18. package/src/lib/client/firestore/driver.d.ts +4 -0
  19. package/src/lib/client/firestore/driver.js +15 -0
  20. package/src/lib/client/firestore/driver.js.map +1 -0
  21. package/src/lib/client/firestore/driver.query.d.ts +13 -0
  22. package/src/lib/client/firestore/driver.query.js +47 -0
  23. package/src/lib/client/firestore/driver.query.js.map +1 -0
  24. package/src/lib/client/firestore/firestore.d.ts +5 -0
  25. package/src/lib/client/firestore/firestore.js +10 -0
  26. package/src/lib/client/firestore/firestore.js.map +1 -0
  27. package/src/lib/client/firestore/index.d.ts +4 -0
  28. package/src/lib/client/firestore/index.js +8 -0
  29. package/src/lib/client/firestore/index.js.map +1 -0
  30. package/src/lib/client/function/function.d.ts +28 -0
  31. package/src/lib/client/function/function.factory.d.ts +40 -0
  32. package/src/lib/client/function/function.factory.js +36 -0
  33. package/src/lib/client/function/function.factory.js.map +1 -0
  34. package/src/lib/client/function/function.js +3 -0
  35. package/src/lib/client/function/function.js.map +1 -0
  36. package/src/lib/client/function/index.d.ts +2 -0
  37. package/src/lib/client/function/index.js +6 -0
  38. package/src/lib/client/function/index.js.map +1 -0
  39. package/src/lib/client/index.d.ts +2 -0
  40. package/src/lib/client/index.js +6 -0
  41. package/src/lib/client/index.js.map +1 -0
  42. package/src/lib/common/auth/auth.d.ts +4 -0
  43. package/src/lib/common/auth/auth.js +3 -0
  44. package/src/lib/common/auth/auth.js.map +1 -0
  45. package/src/lib/common/auth/index.d.ts +1 -0
  46. package/src/lib/common/auth/index.js +5 -0
  47. package/src/lib/common/auth/index.js.map +1 -0
  48. package/src/lib/common/firestore/accessor/accessor.batch.d.ts +3 -0
  49. package/src/lib/common/firestore/accessor/accessor.batch.js +3 -0
  50. package/src/lib/common/firestore/accessor/accessor.batch.js.map +1 -0
  51. package/src/lib/common/firestore/accessor/accessor.d.ts +87 -0
  52. package/src/lib/common/firestore/accessor/accessor.default.d.ts +2 -0
  53. package/src/lib/common/firestore/accessor/accessor.default.js +3 -0
  54. package/src/lib/common/firestore/accessor/accessor.default.js.map +1 -0
  55. package/src/lib/{firestore → common/firestore/accessor}/accessor.js +17 -1
  56. package/src/lib/common/firestore/accessor/accessor.js.map +1 -0
  57. package/src/lib/common/firestore/accessor/accessor.transaction.d.ts +3 -0
  58. package/src/lib/common/firestore/accessor/accessor.transaction.js +3 -0
  59. package/src/lib/common/firestore/accessor/accessor.transaction.js.map +1 -0
  60. package/src/lib/common/firestore/accessor/context.batch.d.ts +7 -0
  61. package/src/lib/common/firestore/accessor/context.batch.js +3 -0
  62. package/src/lib/common/firestore/accessor/context.batch.js.map +1 -0
  63. package/src/lib/{firestore → common/firestore/accessor}/context.d.ts +0 -0
  64. package/src/lib/common/firestore/accessor/context.default.d.ts +5 -0
  65. package/src/lib/common/firestore/accessor/context.default.js +3 -0
  66. package/src/lib/common/firestore/accessor/context.default.js.map +1 -0
  67. package/src/lib/{firestore → common/firestore/accessor}/context.js +0 -0
  68. package/src/lib/common/firestore/accessor/context.js.map +1 -0
  69. package/src/lib/common/firestore/accessor/context.transaction.d.ts +7 -0
  70. package/src/lib/common/firestore/accessor/context.transaction.js +3 -0
  71. package/src/lib/common/firestore/accessor/context.transaction.js.map +1 -0
  72. package/src/lib/common/firestore/accessor/document.d.ts +121 -0
  73. package/src/lib/common/firestore/accessor/document.js +106 -0
  74. package/src/lib/common/firestore/accessor/document.js.map +1 -0
  75. package/src/lib/common/firestore/accessor/document.utility.d.ts +43 -0
  76. package/src/lib/common/firestore/accessor/document.utility.js +74 -0
  77. package/src/lib/common/firestore/accessor/document.utility.js.map +1 -0
  78. package/src/lib/{firestore → common/firestore/accessor}/index.d.ts +3 -5
  79. package/src/lib/common/firestore/accessor/index.js +14 -0
  80. package/src/lib/common/firestore/accessor/index.js.map +1 -0
  81. package/src/lib/common/firestore/collection/collection.d.ts +27 -0
  82. package/src/lib/common/firestore/collection/collection.js +26 -0
  83. package/src/lib/common/firestore/collection/collection.js.map +1 -0
  84. package/src/lib/common/firestore/collection/collection.query.d.ts +36 -0
  85. package/src/lib/common/firestore/collection/collection.query.js +27 -0
  86. package/src/lib/common/firestore/collection/collection.query.js.map +1 -0
  87. package/src/lib/common/firestore/collection/index.d.ts +3 -0
  88. package/src/lib/common/firestore/collection/index.js +7 -0
  89. package/src/lib/common/firestore/collection/index.js.map +1 -0
  90. package/src/lib/common/firestore/collection/subcollection.d.ts +25 -0
  91. package/src/lib/common/firestore/collection/subcollection.js +14 -0
  92. package/src/lib/common/firestore/collection/subcollection.js.map +1 -0
  93. package/src/lib/common/firestore/collection/subcollection.single.d.ts +12 -0
  94. package/src/lib/common/firestore/collection/subcollection.single.js +14 -0
  95. package/src/lib/common/firestore/collection/subcollection.single.js.map +1 -0
  96. package/src/lib/common/firestore/context.d.ts +36 -0
  97. package/src/lib/common/firestore/context.js +36 -0
  98. package/src/lib/common/firestore/context.js.map +1 -0
  99. package/src/lib/common/firestore/driver/accessor.d.ts +26 -0
  100. package/src/lib/common/firestore/driver/accessor.js +3 -0
  101. package/src/lib/common/firestore/driver/accessor.js.map +1 -0
  102. package/src/lib/common/firestore/driver/batch.d.ts +22 -0
  103. package/src/lib/common/firestore/driver/batch.js +3 -0
  104. package/src/lib/common/firestore/driver/batch.js.map +1 -0
  105. package/src/lib/common/firestore/driver/driver.d.ts +11 -0
  106. package/src/lib/common/firestore/driver/driver.js +3 -0
  107. package/src/lib/common/firestore/driver/driver.js.map +1 -0
  108. package/src/lib/common/firestore/driver/index.d.ts +6 -0
  109. package/src/lib/common/firestore/driver/index.js +10 -0
  110. package/src/lib/common/firestore/driver/index.js.map +1 -0
  111. package/src/lib/common/firestore/driver/query.d.ts +31 -0
  112. package/src/lib/common/firestore/driver/query.handler.d.ts +9 -0
  113. package/src/lib/common/firestore/driver/query.handler.js +26 -0
  114. package/src/lib/common/firestore/driver/query.handler.js.map +1 -0
  115. package/src/lib/common/firestore/driver/query.js +3 -0
  116. package/src/lib/common/firestore/driver/query.js.map +1 -0
  117. package/src/lib/common/firestore/driver/transaction.d.ts +23 -0
  118. package/src/lib/common/firestore/driver/transaction.js +3 -0
  119. package/src/lib/common/firestore/driver/transaction.js.map +1 -0
  120. package/src/lib/common/firestore/index.d.ts +8 -0
  121. package/src/lib/common/firestore/index.js +12 -0
  122. package/src/lib/common/firestore/index.js.map +1 -0
  123. package/src/lib/common/firestore/query/accumulator.d.ts +24 -0
  124. package/src/lib/common/firestore/query/accumulator.js +22 -0
  125. package/src/lib/common/firestore/query/accumulator.js.map +1 -0
  126. package/src/lib/common/firestore/query/constraint.d.ts +112 -0
  127. package/src/lib/common/firestore/query/constraint.js +133 -0
  128. package/src/lib/common/firestore/query/constraint.js.map +1 -0
  129. package/src/lib/common/firestore/query/index.d.ts +6 -0
  130. package/src/lib/common/firestore/query/index.js +10 -0
  131. package/src/lib/common/firestore/query/index.js.map +1 -0
  132. package/src/lib/{firestore → common/firestore/query}/iterator.d.ts +37 -11
  133. package/src/lib/common/firestore/query/iterator.js +108 -0
  134. package/src/lib/common/firestore/query/iterator.js.map +1 -0
  135. package/src/lib/common/firestore/query/query.d.ts +49 -0
  136. package/src/lib/common/firestore/query/query.js +37 -0
  137. package/src/lib/common/firestore/query/query.js.map +1 -0
  138. package/src/lib/common/firestore/query/query.util.d.ts +16 -0
  139. package/src/lib/common/firestore/query/query.util.js +27 -0
  140. package/src/lib/common/firestore/query/query.util.js.map +1 -0
  141. package/src/lib/common/firestore/query/watcher.d.ts +34 -0
  142. package/src/lib/common/firestore/query/watcher.js +58 -0
  143. package/src/lib/common/firestore/query/watcher.js.map +1 -0
  144. package/src/lib/common/firestore/reference.d.ts +20 -0
  145. package/src/lib/{firestore → common/firestore}/reference.js +0 -0
  146. package/src/lib/common/firestore/reference.js.map +1 -0
  147. package/src/lib/common/firestore/snapshot/index.d.ts +2 -0
  148. package/src/lib/common/firestore/snapshot/index.js +6 -0
  149. package/src/lib/common/firestore/snapshot/index.js.map +1 -0
  150. package/src/lib/common/firestore/snapshot/snapshot.d.ts +13 -0
  151. package/src/lib/common/firestore/snapshot/snapshot.field.d.ts +25 -0
  152. package/src/lib/common/firestore/snapshot/snapshot.field.js +57 -0
  153. package/src/lib/common/firestore/snapshot/snapshot.field.js.map +1 -0
  154. package/src/lib/common/firestore/snapshot/snapshot.js +35 -0
  155. package/src/lib/common/firestore/snapshot/snapshot.js.map +1 -0
  156. package/src/lib/common/firestore/types.d.ts +145 -0
  157. package/src/lib/common/firestore/types.js +23 -0
  158. package/src/lib/common/firestore/types.js.map +1 -0
  159. package/src/lib/common/function/action.d.ts +3 -0
  160. package/src/lib/common/function/action.js +3 -0
  161. package/src/lib/common/function/action.js.map +1 -0
  162. package/src/lib/common/function/index.d.ts +1 -0
  163. package/src/lib/common/function/index.js +5 -0
  164. package/src/lib/common/function/index.js.map +1 -0
  165. package/src/lib/common/index.d.ts +3 -0
  166. package/src/lib/common/index.js +7 -0
  167. package/src/lib/common/index.js.map +1 -0
  168. package/src/lib/index.d.ts +3 -1
  169. package/src/lib/index.js +3 -1
  170. package/src/lib/index.js.map +1 -1
  171. package/src/lib/model/index.d.ts +1 -0
  172. package/src/lib/model/index.js +5 -0
  173. package/src/lib/model/index.js.map +1 -0
  174. package/src/lib/model/user.d.ts +12 -0
  175. package/src/lib/model/user.js +3 -0
  176. package/src/lib/model/user.js.map +1 -0
  177. package/src/test/client/firestore.authorized.d.ts +5 -0
  178. package/src/test/{firebase.context.js → client/firestore.authorized.js} +4 -4
  179. package/src/test/client/firestore.authorized.js.map +1 -0
  180. package/src/test/client/firestore.d.ts +39 -0
  181. package/src/test/client/firestore.js +91 -0
  182. package/src/test/client/firestore.js.map +1 -0
  183. package/src/test/client/firestore.mock.item.fixture.authorized.d.ts +6 -0
  184. package/src/test/client/firestore.mock.item.fixture.authorized.js +12 -0
  185. package/src/test/client/firestore.mock.item.fixture.authorized.js.map +1 -0
  186. package/src/test/client/index.d.ts +3 -0
  187. package/src/test/client/index.js +7 -0
  188. package/src/test/client/index.js.map +1 -0
  189. package/src/test/common/firestore.d.ts +35 -0
  190. package/src/test/common/firestore.js +50 -0
  191. package/src/test/common/firestore.js.map +1 -0
  192. package/src/test/common/firestore.mock.d.ts +14 -0
  193. package/src/test/common/firestore.mock.item.d.ts +95 -0
  194. package/src/test/common/firestore.mock.item.fixture.d.ts +21 -0
  195. package/src/test/common/firestore.mock.item.fixture.js +43 -0
  196. package/src/test/common/firestore.mock.item.fixture.js.map +1 -0
  197. package/src/test/common/firestore.mock.item.js +138 -0
  198. package/src/test/common/firestore.mock.item.js.map +1 -0
  199. package/src/test/common/firestore.mock.item.query.d.ts +3 -0
  200. package/src/test/common/firestore.mock.item.query.js +13 -0
  201. package/src/test/common/firestore.mock.item.query.js.map +1 -0
  202. package/src/test/common/firestore.mock.js +29 -0
  203. package/src/test/common/firestore.mock.js.map +1 -0
  204. package/src/test/common/index.d.ts +8 -0
  205. package/src/test/common/index.js +12 -0
  206. package/src/test/common/index.js.map +1 -0
  207. package/src/test/common/test.driver.accessor.d.ts +20 -0
  208. package/src/test/common/test.driver.accessor.js +278 -0
  209. package/src/test/common/test.driver.accessor.js.map +1 -0
  210. package/src/test/common/test.driver.query.d.ts +7 -0
  211. package/src/test/common/test.driver.query.js +190 -0
  212. package/src/test/common/test.driver.query.js.map +1 -0
  213. package/src/test/common/test.iterator.d.ts +7 -0
  214. package/src/test/common/test.iterator.js +223 -0
  215. package/src/test/common/test.iterator.js.map +1 -0
  216. package/src/test/index.d.ts +2 -3
  217. package/src/test/index.js +2 -3
  218. package/src/test/index.js.map +1 -1
  219. package/src/lib/firestore/accessor.batch.d.ts +0 -23
  220. package/src/lib/firestore/accessor.batch.js.map +0 -1
  221. package/src/lib/firestore/accessor.d.ts +0 -62
  222. package/src/lib/firestore/accessor.default.js.map +0 -1
  223. package/src/lib/firestore/accessor.js.map +0 -1
  224. package/src/lib/firestore/accessor.transaction.d.ts +0 -23
  225. package/src/lib/firestore/accessor.transaction.js.map +0 -1
  226. package/src/lib/firestore/context.batch.d.ts +0 -9
  227. package/src/lib/firestore/context.batch.js +0 -19
  228. package/src/lib/firestore/context.batch.js.map +0 -1
  229. package/src/lib/firestore/context.default.d.ts +0 -2
  230. package/src/lib/firestore/context.default.js +0 -13
  231. package/src/lib/firestore/context.default.js.map +0 -1
  232. package/src/lib/firestore/context.js.map +0 -1
  233. package/src/lib/firestore/context.transaction.d.ts +0 -9
  234. package/src/lib/firestore/context.transaction.js +0 -19
  235. package/src/lib/firestore/context.transaction.js.map +0 -1
  236. package/src/lib/firestore/document.d.ts +0 -69
  237. package/src/lib/firestore/document.js +0 -49
  238. package/src/lib/firestore/document.js.map +0 -1
  239. package/src/lib/firestore/firestore.d.ts +0 -29
  240. package/src/lib/firestore/firestore.js +0 -37
  241. package/src/lib/firestore/firestore.js.map +0 -1
  242. package/src/lib/firestore/index.js +0 -16
  243. package/src/lib/firestore/index.js.map +0 -1
  244. package/src/lib/firestore/iterator.js +0 -91
  245. package/src/lib/firestore/iterator.js.map +0 -1
  246. package/src/lib/firestore/reference.d.ts +0 -13
  247. package/src/lib/firestore/reference.js.map +0 -1
  248. package/src/test/firebase.context.d.ts +0 -5
  249. package/src/test/firebase.context.item.d.ts +0 -41
  250. package/src/test/firebase.context.item.js +0 -75
  251. package/src/test/firebase.context.item.js.map +0 -1
  252. package/src/test/firebase.context.js.map +0 -1
  253. package/src/test/firebase.d.ts +0 -29
  254. package/src/test/firebase.js +0 -67
  255. package/src/test/firebase.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -2,11 +2,54 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
- # [1.2.0](https://github.com/dereekb/dbcomponents/compare/v1.1.0...v1.2.0) (2022-03-04)
5
+ # [3.0.0](https://github.com/dereekb/dbx-components/compare/v2.1.0...v3.0.0) (2022-05-13)
6
6
 
7
7
 
8
+ ### Bug Fixes
8
9
 
9
- # [1.1.0](https://github.com/dereekb/dbcomponents/compare/v1.0.0...v1.1.0) (2022-03-02)
10
+ * fixed createOrUpdateWithAccessor ([243d0d3](https://github.com/dereekb/dbx-components/commit/243d0d3dd83c49171b2f7bea68142c9155f3723d))
11
+
12
+
13
+ ### Code Refactoring
14
+
15
+ * renamed conversionFunction to mapFunction ([6aeba77](https://github.com/dereekb/dbx-components/commit/6aeba7721dfd2721d5fe41216a1b81117be80aff))
16
+
17
+
18
+ ### Features
19
+
20
+ * added dbxFirebaseCollectionChangeDirective ([93a38a2](https://github.com/dereekb/dbx-components/commit/93a38a2be5da3ab5d1bf7905467441fc8b2d563e))
21
+ * added dbxFirebaseCollectionWithParentStore ([b7045e7](https://github.com/dereekb/dbx-components/commit/b7045e7612326a8fee301a298654f221e3668ab0))
22
+ * added dbxFirebaseDocumentStore ([43da785](https://github.com/dereekb/dbx-components/commit/43da785b1b271549f65273a56a0c333a0a23bb2e))
23
+ * added dbxFirebaseFunctionsModule ([3d1bc69](https://github.com/dereekb/dbx-components/commit/3d1bc69552e0a3cede0261d4819ad35199a03fa3))
24
+ * added dbxFirebaseModelLoaderModule ([15a8052](https://github.com/dereekb/dbx-components/commit/15a8052e057fa6e5691915ab81b5fe8b4afdfa95))
25
+ * added firebase-server ([676cf9e](https://github.com/dereekb/dbx-components/commit/676cf9e6c44aab5ca993b5a1a9c347c021b41a4a))
26
+ * added firebaseQueryItemAccumulator ([1e4e0f3](https://github.com/dereekb/dbx-components/commit/1e4e0f367a4bdc9dac7366ae9421e9ec48279b92))
27
+ * added IterationQueryChangeWatcher ([f5b2474](https://github.com/dereekb/dbx-components/commit/f5b2474f9a2cf659cdebf19ba49055e5bd2f1c90))
28
+ * added modelConversionOptions to modelMapFunction ([2de30e0](https://github.com/dereekb/dbx-components/commit/2de30e07527bbaf27c51a8472054a35e73d2ae2b))
29
+ * added modelTestContextFactory ([0a96442](https://github.com/dereekb/dbx-components/commit/0a9644252ffc670cb2e861a4c02ace6790eeae52))
30
+ * added snapshotConverter, firestoreField ([e986026](https://github.com/dereekb/dbx-components/commit/e986026a4a4700c734fe1534778945df189c518d))
31
+
32
+
33
+ ### BREAKING CHANGES
34
+
35
+ * - renamed flattenIterationResultItemArray to flattenAccumulatorResultItemArray since the input is an accumulator and not an iteration
36
+ * renamed ConversionFunction (and related types) to MapFunction
37
+
38
+
39
+
40
+ # [2.1.0](https://github.com/dereekb/dbx-components/compare/v2.0.0...v2.1.0) (2022-03-17)
41
+
42
+
43
+
44
+ # [2.0.0](https://github.com/dereekb/dbx-components/compare/v1.2.0...v2.0.0) (2022-03-13)
45
+
46
+
47
+
48
+ # [1.2.0](https://github.com/dereekb/dbx-components/compare/v1.1.0...v1.2.0) (2022-03-04)
49
+
50
+
51
+
52
+ # [1.1.0](https://github.com/dereekb/dbx-components/compare/v1.0.0...v1.1.0) (2022-03-02)
10
53
 
11
54
 
12
55
 
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  @dereekb/firebase
2
2
  =======
3
3
 
4
- The sources for this package are in the main [@dereekb/dbcomponents](https://github.com/dereekb/dbcomponents) repo. Please file issues and pull requests against that repo.
4
+ The sources for this package are in the main [@dereekb/dbx-components](https://github.com/dereekb/dbx-components) repo. Please file issues and pull requests against that repo.
5
5
 
6
6
  License: MIT
package/package.json CHANGED
@@ -1,16 +1,26 @@
1
1
  {
2
2
  "name": "@dereekb/firebase",
3
- "version": "1.2.0",
3
+ "version": "3.0.0",
4
4
  "main": "./src/index.js",
5
5
  "typings": "./src/index.d.ts",
6
- "dependencies": {
7
- "rxjs": "^7.5.2",
6
+ "dependencies": {},
7
+ "peerDependencies": {
8
+ "rxjs": "^7.0.0",
8
9
  "rxfire": "^6.0.3",
9
- "@dereekb/rxjs": "1.2.0",
10
- "@dereekb/util": "1.2.0",
10
+ "firebase": "^9.8.0",
11
+ "@dereekb/util": "3.0.0",
12
+ "make-error": "^1.3.0",
11
13
  "extra-set": "^2.2.11",
14
+ "change-case": "^4.1.2",
15
+ "@dereekb/rxjs": "3.0.0",
12
16
  "ms": "^3.0.0-canary.1",
13
- "firebase": "^9.6.4"
14
- },
15
- "peerDependencies": {}
17
+ "@dereekb/date": "3.0.0",
18
+ "class-transformer": "^0.5.1",
19
+ "date-fns": "^2.28.0",
20
+ "class-validator": "^0.13.2",
21
+ "date-fns-tz": "^1.3.0",
22
+ "rrule": "git+https://git@github.com/dereekb/rrule.git#17adf5708d6567b4d01a3a8afd106261421ea492",
23
+ "@dereekb/model": "3.0.0",
24
+ "tslib": "^2.0.0"
25
+ }
16
26
  }
package/src/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- (0, tslib_1.__exportStar)(require("./lib"), exports);
5
- (0, tslib_1.__exportStar)(require("./test"), exports);
4
+ tslib_1.__exportStar(require("./lib"), exports);
5
+ tslib_1.__exportStar(require("./test"), exports);
6
6
  //# sourceMappingURL=index.js.map
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/firebase/src/index.ts"],"names":[],"mappings":";;;AAAA,qDAAsB;AACtB,sDAAuB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/firebase/src/index.ts"],"names":[],"mappings":";;;AAAA,gDAAsB;AACtB,iDAAuB"}
@@ -0,0 +1,31 @@
1
+ import { DocumentReference, DocumentSnapshot, WriteBatch as FirebaseFirestoreWriteBatch } from "@firebase/firestore";
2
+ import { Observable } from "rxjs";
3
+ import { FirestoreDocumentContext, UpdateData, WithFieldValue, FirestoreDocumentContextType, FirestoreDocumentDataAccessor, FirestoreDocumentDataAccessorFactory, SetOptions } from "../../common/firestore";
4
+ /**
5
+ * FirestoreDocumentDataAccessor implementation for a batch.
6
+ */
7
+ export declare class WriteBatchFirestoreDocumentDataAccessor<T> implements FirestoreDocumentDataAccessor<T> {
8
+ readonly batch: FirebaseFirestoreWriteBatch;
9
+ readonly documentRef: DocumentReference<T>;
10
+ constructor(batch: FirebaseFirestoreWriteBatch, documentRef: DocumentReference<T>);
11
+ stream(): Observable<DocumentSnapshot<T>>;
12
+ exists(): Promise<boolean>;
13
+ get(): Promise<DocumentSnapshot<T>>;
14
+ delete(): Promise<void>;
15
+ set(data: WithFieldValue<T>, options?: SetOptions): Promise<void>;
16
+ update(data: UpdateData<T>): Promise<void>;
17
+ }
18
+ /**
19
+ * Creates a new FirestoreDocumentDataAccessorFactory for a Batch.
20
+ *
21
+ * @param batch
22
+ * @returns
23
+ */
24
+ export declare function writeBatchAccessorFactory<T>(writeBatch: FirebaseFirestoreWriteBatch): FirestoreDocumentDataAccessorFactory<T>;
25
+ export declare class WriteBatchFirestoreDocumentContext<T> implements FirestoreDocumentContext<T> {
26
+ readonly batch: FirebaseFirestoreWriteBatch;
27
+ readonly contextType = FirestoreDocumentContextType.BATCH;
28
+ readonly accessorFactory: FirestoreDocumentDataAccessorFactory<T>;
29
+ constructor(batch: FirebaseFirestoreWriteBatch);
30
+ }
31
+ export declare function writeBatchDocumentContext<T>(batch: FirebaseFirestoreWriteBatch): WriteBatchFirestoreDocumentContext<T>;
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.writeBatchAccessorFactory = exports.WriteBatchFirestoreDocumentDataAccessor = void 0;
3
+ exports.writeBatchDocumentContext = exports.WriteBatchFirestoreDocumentContext = exports.writeBatchAccessorFactory = exports.WriteBatchFirestoreDocumentDataAccessor = void 0;
4
4
  const firestore_1 = require("@firebase/firestore");
5
5
  const rxjs_1 = require("rxjs");
6
+ const firestore_2 = require("../../common/firestore");
7
+ // MARK: Accessor
6
8
  /**
7
9
  * FirestoreDocumentDataAccessor implementation for a batch.
8
10
  */
@@ -14,6 +16,9 @@ class WriteBatchFirestoreDocumentDataAccessor {
14
16
  stream() {
15
17
  return (0, rxjs_1.from)(this.get());
16
18
  }
19
+ exists() {
20
+ return this.get().then(x => x.exists());
21
+ }
17
22
  get() {
18
23
  return (0, firestore_1.getDoc)(this.documentRef);
19
24
  }
@@ -21,8 +26,8 @@ class WriteBatchFirestoreDocumentDataAccessor {
21
26
  this.batch.delete(this.documentRef);
22
27
  return Promise.resolve();
23
28
  }
24
- set(data) {
25
- this.batch.set(this.documentRef, data);
29
+ set(data, options) {
30
+ this.batch.set(this.documentRef, data, options);
26
31
  return Promise.resolve();
27
32
  }
28
33
  update(data) {
@@ -43,4 +48,17 @@ function writeBatchAccessorFactory(writeBatch) {
43
48
  };
44
49
  }
45
50
  exports.writeBatchAccessorFactory = writeBatchAccessorFactory;
46
- //# sourceMappingURL=accessor.batch.js.map
51
+ // MARK: Context
52
+ class WriteBatchFirestoreDocumentContext {
53
+ constructor(batch) {
54
+ this.batch = batch;
55
+ this.contextType = firestore_2.FirestoreDocumentContextType.BATCH;
56
+ this.accessorFactory = writeBatchAccessorFactory(this.batch);
57
+ }
58
+ }
59
+ exports.WriteBatchFirestoreDocumentContext = WriteBatchFirestoreDocumentContext;
60
+ function writeBatchDocumentContext(batch) {
61
+ return new WriteBatchFirestoreDocumentContext(batch);
62
+ }
63
+ exports.writeBatchDocumentContext = writeBatchDocumentContext;
64
+ //# sourceMappingURL=driver.accessor.batch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"driver.accessor.batch.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/client/firestore/driver.accessor.batch.ts"],"names":[],"mappings":";;;AAAA,mDAA6H;AAC7H,+BAAwC;AACxC,sDAA6M;AAE7M,iBAAiB;AACjB;;GAEG;AACH,MAAa,uCAAuC;IAElD,YAAqB,KAAkC,EAAW,WAAiC;QAA9E,UAAK,GAAL,KAAK,CAA6B;QAAW,gBAAW,GAAX,WAAW,CAAsB;IAAI,CAAC;IAExG,MAAM;QACJ,OAAO,IAAA,WAAI,EAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,GAAG;QACD,OAAO,IAAA,kBAAM,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAClC,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACpC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,GAAG,CAAC,IAAuB,EAAE,OAAoB;QAC/C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,OAAqB,CAAC,CAAC;QAC9D,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,IAAmB;QACxB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,IAAW,CAAC,CAAC;QACjD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CAEF;AA/BD,0FA+BC;AAED;;;;;GAKG;AACH,SAAgB,yBAAyB,CAAI,UAAuC;IAClF,OAAO;QACL,WAAW,EAAE,CAAC,GAAyB,EAAE,EAAE,CAAC,IAAI,uCAAuC,CAAC,UAAU,EAAE,GAAG,CAAC;KACzG,CAAC;AACJ,CAAC;AAJD,8DAIC;AAED,gBAAgB;AAChB,MAAa,kCAAkC;IAK7C,YAAqB,KAAkC;QAAlC,UAAK,GAAL,KAAK,CAA6B;QAH9C,gBAAW,GAAG,wCAA4B,CAAC,KAAK,CAAC;QACjD,oBAAe,GAAG,yBAAyB,CAAI,IAAI,CAAC,KAAK,CAAC,CAAC;IAET,CAAC;CAE7D;AAPD,gFAOC;AAED,SAAgB,yBAAyB,CAAI,KAAkC;IAC7E,OAAO,IAAI,kCAAkC,CAAI,KAAK,CAAC,CAAC;AAC1D,CAAC;AAFD,8DAEC"}
@@ -0,0 +1,2 @@
1
+ import { FirestoreAccessorDriver } from "../../common/firestore/driver/accessor";
2
+ export declare function firestoreClientAccessorDriver(): FirestoreAccessorDriver;
@@ -1,22 +1,15 @@
1
1
  import { DocumentReference, DocumentSnapshot, UpdateData, WithFieldValue } from "@firebase/firestore";
2
2
  import { Observable } from "rxjs";
3
- import { FirestoreDocumentDataAccessor, FirestoreDocumentDataAccessorFactory } from "./accessor";
4
- /**
5
- * FirestoreDocumentDataAccessor implementation for a batch.
6
- */
3
+ import { FirestoreDocumentContext, FirestoreDocumentDataAccessor, FirestoreDocumentDataAccessorFactory, SetOptions } from "../../common/firestore";
7
4
  export declare class DefaultFirestoreDocumentDataAccessor<T> implements FirestoreDocumentDataAccessor<T> {
8
5
  readonly documentRef: DocumentReference<T>;
9
6
  constructor(documentRef: DocumentReference<T>);
10
7
  stream(): Observable<DocumentSnapshot<T>>;
8
+ exists(): Promise<boolean>;
11
9
  get(): Promise<DocumentSnapshot<T>>;
12
10
  delete(): Promise<void>;
13
- set(data: WithFieldValue<T>): Promise<void>;
11
+ set(data: WithFieldValue<T>, options?: SetOptions): Promise<void>;
14
12
  update(data: UpdateData<T>): Promise<void>;
15
13
  }
16
- /**
17
- * Creates a new FirestoreDocumentDataAccessorFactory for a Batch.
18
- *
19
- * @param batch
20
- * @returns
21
- */
22
14
  export declare function defaultFirestoreAccessorFactory<T>(): FirestoreDocumentDataAccessorFactory<T>;
15
+ export declare function defaultFirestoreDocumentContext<T>(): FirestoreDocumentContext<T>;
@@ -1,11 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.defaultFirestoreAccessorFactory = exports.DefaultFirestoreDocumentDataAccessor = void 0;
3
+ exports.defaultFirestoreDocumentContext = exports.defaultFirestoreAccessorFactory = exports.DefaultFirestoreDocumentDataAccessor = void 0;
4
4
  const firestore_1 = require("@firebase/firestore");
5
5
  const firestore_2 = require("rxfire/firestore");
6
- /**
7
- * FirestoreDocumentDataAccessor implementation for a batch.
8
- */
6
+ const firestore_3 = require("../../common/firestore");
7
+ // MARK: Accessor
9
8
  class DefaultFirestoreDocumentDataAccessor {
10
9
  constructor(documentRef) {
11
10
  this.documentRef = documentRef;
@@ -13,30 +12,35 @@ class DefaultFirestoreDocumentDataAccessor {
13
12
  stream() {
14
13
  return (0, firestore_2.fromRef)(this.documentRef);
15
14
  }
15
+ exists() {
16
+ return this.get().then(x => x.exists());
17
+ }
16
18
  get() {
17
19
  return (0, firestore_1.getDoc)(this.documentRef);
18
20
  }
19
21
  delete() {
20
22
  return (0, firestore_1.deleteDoc)(this.documentRef);
21
23
  }
22
- set(data) {
23
- return (0, firestore_1.setDoc)(this.documentRef, data);
24
+ set(data, options) {
25
+ return (0, firestore_1.setDoc)(this.documentRef, data, options);
24
26
  }
25
27
  update(data) {
26
28
  return (0, firestore_1.updateDoc)(this.documentRef, data);
27
29
  }
28
30
  }
29
31
  exports.DefaultFirestoreDocumentDataAccessor = DefaultFirestoreDocumentDataAccessor;
30
- /**
31
- * Creates a new FirestoreDocumentDataAccessorFactory for a Batch.
32
- *
33
- * @param batch
34
- * @returns
35
- */
36
32
  function defaultFirestoreAccessorFactory() {
37
33
  return {
38
34
  accessorFor: (ref) => new DefaultFirestoreDocumentDataAccessor(ref)
39
35
  };
40
36
  }
41
37
  exports.defaultFirestoreAccessorFactory = defaultFirestoreAccessorFactory;
42
- //# sourceMappingURL=accessor.default.js.map
38
+ // MARK: Context
39
+ function defaultFirestoreDocumentContext() {
40
+ return {
41
+ contextType: firestore_3.FirestoreDocumentContextType.NONE,
42
+ accessorFactory: defaultFirestoreAccessorFactory()
43
+ };
44
+ }
45
+ exports.defaultFirestoreDocumentContext = defaultFirestoreDocumentContext;
46
+ //# sourceMappingURL=driver.accessor.default.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"driver.accessor.default.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/client/firestore/driver.accessor.default.ts"],"names":[],"mappings":";;;AAAA,mDAA4I;AAC5I,gDAA2C;AAE3C,sDAAiL;AAEjL,iBAAiB;AACjB,MAAa,oCAAoC;IAE/C,YAAqB,WAAiC;QAAjC,gBAAW,GAAX,WAAW,CAAsB;IAAI,CAAC;IAE3D,MAAM;QACJ,OAAO,IAAA,mBAAO,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACnC,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,GAAG;QACD,OAAO,IAAA,kBAAM,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAClC,CAAC;IAED,MAAM;QACJ,OAAO,IAAA,qBAAS,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACrC,CAAC;IAED,GAAG,CAAC,IAAuB,EAAE,OAAoB;QAC/C,OAAO,IAAA,kBAAM,EAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,OAAqB,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,CAAC,IAAmB;QACxB,OAAO,IAAA,qBAAS,EAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;CAEF;AA5BD,oFA4BC;AAED,SAAgB,+BAA+B;IAC7C,OAAO;QACL,WAAW,EAAE,CAAC,GAAyB,EAAE,EAAE,CAAC,IAAI,oCAAoC,CAAC,GAAG,CAAC;KAC1F,CAAC;AACJ,CAAC;AAJD,0EAIC;AAED,gBAAgB;AAChB,SAAgB,+BAA+B;IAC7C,OAAO;QACL,WAAW,EAAE,wCAA4B,CAAC,IAAI;QAC9C,eAAe,EAAE,+BAA+B,EAAK;KACtD,CAAA;AACH,CAAC;AALD,0EAKC"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.firestoreClientAccessorDriver = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const firestore_1 = require("@firebase/firestore");
6
+ const firestore_2 = require("firebase/firestore");
7
+ const driver_accessor_batch_1 = require("./driver.accessor.batch");
8
+ const driver_accessor_default_1 = require("./driver.accessor.default");
9
+ const driver_accessor_transaction_1 = require("./driver.accessor.transaction");
10
+ function firestoreClientAccessorDriver() {
11
+ return {
12
+ doc: firestore_2.doc,
13
+ collection: firestore_2.collection,
14
+ subcollection: firestore_2.collection,
15
+ transactionFactoryForFirestore: (firestore) => (fn) => tslib_1.__awaiter(this, void 0, void 0, function* () { return yield (0, firestore_1.runTransaction)(firestore, fn); }),
16
+ writeBatchFactoryForFirestore: (firestore) => () => (0, firestore_2.writeBatch)(firestore),
17
+ defaultContextFactory: driver_accessor_default_1.defaultFirestoreDocumentContext,
18
+ transactionContextFactory: driver_accessor_transaction_1.transactionDocumentContext,
19
+ writeBatchContextFactory: driver_accessor_batch_1.writeBatchDocumentContext
20
+ };
21
+ }
22
+ exports.firestoreClientAccessorDriver = firestoreClientAccessorDriver;
23
+ //# sourceMappingURL=driver.accessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"driver.accessor.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/client/firestore/driver.accessor.ts"],"names":[],"mappings":";;;;AAAA,mDAAgE;AAChE,kDAA8E;AAG9E,mEAAoE;AACpE,uEAA4E;AAC5E,+EAA2E;AAE3E,SAAgB,6BAA6B;IAC3C,OAAO;QACL,GAAG,EAAE,eAAU;QACf,UAAU,EAAE,sBAAiB;QAC7B,aAAa,EAAE,sBAAiB;QAChC,8BAA8B,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,CAAU,EAA0B,EAAE,EAAE,wDAAC,OAAA,MAAM,IAAA,0BAAc,EAAC,SAAsB,EAAE,EAA8C,CAAC,CAAA,GAAA;QACpL,6BAA6B,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,IAAA,sBAAU,EAAC,SAAsB,CAAC;QACtF,qBAAqB,EAAE,yDAA+B;QACtD,yBAAyB,EAAE,wDAAiC;QAC5D,wBAAwB,EAAE,iDAAgC;KAC3D,CAAC;AACJ,CAAC;AAXD,sEAWC"}
@@ -0,0 +1,31 @@
1
+ import { DocumentReference, DocumentSnapshot, Transaction as FirebaseFirestoreTransaction, UpdateData, WithFieldValue } from "@firebase/firestore";
2
+ import { Observable } from "rxjs";
3
+ import { FirestoreDocumentDataAccessor, FirestoreDocumentDataAccessorFactory, FirestoreDocumentContext, FirestoreDocumentContextType, SetOptions } from "../../common/firestore";
4
+ /**
5
+ * FirestoreDocumentDataAccessor implementation for a transaction.
6
+ */
7
+ export declare class TransactionFirestoreDocumentDataAccessor<T> implements FirestoreDocumentDataAccessor<T> {
8
+ readonly transaction: FirebaseFirestoreTransaction;
9
+ readonly documentRef: DocumentReference<T>;
10
+ constructor(transaction: FirebaseFirestoreTransaction, documentRef: DocumentReference<T>);
11
+ stream(): Observable<DocumentSnapshot<T>>;
12
+ exists(): Promise<boolean>;
13
+ get(): Promise<DocumentSnapshot<T>>;
14
+ delete(): Promise<void>;
15
+ set(data: WithFieldValue<T>, options?: SetOptions): Promise<void>;
16
+ update(data: UpdateData<T>): Promise<void>;
17
+ }
18
+ /**
19
+ * Creates a new FirestoreDocumentDataAccessorFactory for a Transaction.
20
+ *
21
+ * @param transaction
22
+ * @returns
23
+ */
24
+ export declare function transactionAccessorFactory<T>(transaction: FirebaseFirestoreTransaction): FirestoreDocumentDataAccessorFactory<T>;
25
+ export declare class TransactionFirestoreDocumentContext<T> implements FirestoreDocumentContext<T> {
26
+ readonly transaction: FirebaseFirestoreTransaction;
27
+ readonly contextType = FirestoreDocumentContextType.TRANSACTION;
28
+ readonly accessorFactory: FirestoreDocumentDataAccessorFactory<T>;
29
+ constructor(transaction: FirebaseFirestoreTransaction);
30
+ }
31
+ export declare function transactionDocumentContext<T>(transaction: FirebaseFirestoreTransaction): TransactionFirestoreDocumentContext<T>;
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.transactionAccessorFactory = exports.TransactionFirestoreDocumentDataAccessor = void 0;
3
+ exports.transactionDocumentContext = exports.TransactionFirestoreDocumentContext = exports.transactionAccessorFactory = exports.TransactionFirestoreDocumentDataAccessor = void 0;
4
4
  const rxjs_1 = require("rxjs");
5
+ const firestore_1 = require("../../common/firestore");
6
+ // MARK: Accessor
5
7
  /**
6
8
  * FirestoreDocumentDataAccessor implementation for a transaction.
7
9
  */
@@ -13,6 +15,9 @@ class TransactionFirestoreDocumentDataAccessor {
13
15
  stream() {
14
16
  return (0, rxjs_1.from)(this.get());
15
17
  }
18
+ exists() {
19
+ return this.get().then(x => x.exists());
20
+ }
16
21
  get() {
17
22
  return this.transaction.get(this.documentRef);
18
23
  }
@@ -20,8 +25,8 @@ class TransactionFirestoreDocumentDataAccessor {
20
25
  this.transaction.delete(this.documentRef);
21
26
  return Promise.resolve();
22
27
  }
23
- set(data) {
24
- this.transaction.set(this.documentRef, data);
28
+ set(data, options) {
29
+ this.transaction.set(this.documentRef, data, options);
25
30
  return Promise.resolve();
26
31
  }
27
32
  update(data) {
@@ -42,4 +47,17 @@ function transactionAccessorFactory(transaction) {
42
47
  };
43
48
  }
44
49
  exports.transactionAccessorFactory = transactionAccessorFactory;
45
- //# sourceMappingURL=accessor.transaction.js.map
50
+ // MARK: Context
51
+ class TransactionFirestoreDocumentContext {
52
+ constructor(transaction) {
53
+ this.transaction = transaction;
54
+ this.contextType = firestore_1.FirestoreDocumentContextType.TRANSACTION;
55
+ this.accessorFactory = transactionAccessorFactory(this.transaction);
56
+ }
57
+ }
58
+ exports.TransactionFirestoreDocumentContext = TransactionFirestoreDocumentContext;
59
+ function transactionDocumentContext(transaction) {
60
+ return new TransactionFirestoreDocumentContext(transaction);
61
+ }
62
+ exports.transactionDocumentContext = transactionDocumentContext;
63
+ //# sourceMappingURL=driver.accessor.transaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"driver.accessor.transaction.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/client/firestore/driver.accessor.transaction.ts"],"names":[],"mappings":";;;AACA,+BAAwC;AACxC,sDAAiL;AAEjL,iBAAiB;AACjB;;GAEG;AACH,MAAa,wCAAwC;IAEnD,YAAqB,WAAyC,EAAW,WAAiC;QAArF,gBAAW,GAAX,WAAW,CAA8B;QAAW,gBAAW,GAAX,WAAW,CAAsB;IAAI,CAAC;IAE/G,MAAM;QACJ,OAAO,IAAA,WAAI,EAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAChD,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1C,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,GAAG,CAAC,IAAuB,EAAE,OAAoB;QAC/C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,OAAqB,CAAC,CAAC;QACpE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,IAAmB;QACxB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAChD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CAEF;AA/BD,4FA+BC;AAED;;;;;GAKG;AACH,SAAgB,0BAA0B,CAAI,WAAyC;IACrF,OAAO;QACL,WAAW,EAAE,CAAC,GAAyB,EAAE,EAAE,CAAC,IAAI,wCAAwC,CAAC,WAAW,EAAE,GAAG,CAAC;KAC3G,CAAC;AACJ,CAAC;AAJD,gEAIC;AAED,gBAAgB;AAChB,MAAa,mCAAmC;IAK9C,YAAqB,WAAyC;QAAzC,gBAAW,GAAX,WAAW,CAA8B;QAHrD,gBAAW,GAAG,wCAA4B,CAAC,WAAW,CAAC;QACvD,oBAAe,GAAG,0BAA0B,CAAI,IAAI,CAAC,WAAW,CAAC,CAAC;IAET,CAAC;CAEpE;AAPD,kFAOC;AAED,SAAgB,0BAA0B,CAAI,WAAyC;IACrF,OAAO,IAAI,mCAAmC,CAAI,WAAW,CAAC,CAAC;AACjE,CAAC;AAFD,gEAEC"}
@@ -0,0 +1,4 @@
1
+ import { FirestoreDrivers } from '../../common/firestore/driver/driver';
2
+ export interface FirebaseFirestoreClientDrivers extends FirestoreDrivers {
3
+ }
4
+ export declare function firebaseFirestoreClientDrivers(): FirebaseFirestoreClientDrivers;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.firebaseFirestoreClientDrivers = void 0;
4
+ const driver_accessor_1 = require("./driver.accessor");
5
+ const driver_query_1 = require("./driver.query");
6
+ function firebaseFirestoreClientDrivers() {
7
+ return {
8
+ driverIdentifier: '@firebase/firestore',
9
+ driverType: 'production',
10
+ firestoreAccessorDriver: (0, driver_accessor_1.firestoreClientAccessorDriver)(),
11
+ firestoreQueryDriver: (0, driver_query_1.firebaseFirestoreQueryDriver)()
12
+ };
13
+ }
14
+ exports.firebaseFirestoreClientDrivers = firebaseFirestoreClientDrivers;
15
+ //# sourceMappingURL=driver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"driver.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/client/firestore/driver.ts"],"names":[],"mappings":";;;AACA,uDAAkE;AAClE,iDAA8D;AAI9D,SAAgB,8BAA8B;IAC5C,OAAO;QACL,gBAAgB,EAAE,qBAAqB;QACvC,UAAU,EAAE,YAAY;QACxB,uBAAuB,EAAE,IAAA,+CAA6B,GAAE;QACxD,oBAAoB,EAAE,IAAA,2CAA4B,GAAE;KACrD,CAAC;AACJ,CAAC;AAPD,wEAOC"}
@@ -0,0 +1,13 @@
1
+ import { ArrayOrValue } from '@dereekb/util';
2
+ import { QueryConstraint } from "firebase/firestore";
3
+ import { FullFirestoreQueryConstraintHandlersMapping } from './../../common/firestore/query/constraint';
4
+ import { FirestoreQueryConstraintFunctionsDriver, FirestoreQueryDriver } from "../../common/firestore/driver/query";
5
+ import { Query } from "../../common/firestore/types";
6
+ export interface FirebaseFirestoreQueryBuilder<T = any> {
7
+ query: Query<T>;
8
+ constraints: QueryConstraint[];
9
+ }
10
+ export declare function addConstraintToBuilder<T>(builder: FirebaseFirestoreQueryBuilder<T>, constraint: ArrayOrValue<QueryConstraint>): FirebaseFirestoreQueryBuilder<T>;
11
+ export declare const FIRESTORE_CLIENT_QUERY_CONSTRAINT_HANDLER_MAPPING: FullFirestoreQueryConstraintHandlersMapping<FirebaseFirestoreQueryBuilder>;
12
+ export declare function firebaseFirestoreQueryConstraintFunctionsDriver(): FirestoreQueryConstraintFunctionsDriver;
13
+ export declare function firebaseFirestoreQueryDriver(): FirestoreQueryDriver;
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.firebaseFirestoreQueryDriver = exports.firebaseFirestoreQueryConstraintFunctionsDriver = exports.FIRESTORE_CLIENT_QUERY_CONSTRAINT_HANDLER_MAPPING = exports.addConstraintToBuilder = void 0;
4
+ const firestore_1 = require("firebase/firestore");
5
+ const constraint_1 = require("./../../common/firestore/query/constraint");
6
+ const query_handler_1 = require("../../common/firestore/driver/query.handler");
7
+ const query_util_1 = require("../../common/firestore/query/query.util");
8
+ function addConstraintToBuilder(builder, constraint) {
9
+ return {
10
+ query: builder.query,
11
+ constraints: builder.constraints.concat(constraint)
12
+ };
13
+ }
14
+ exports.addConstraintToBuilder = addConstraintToBuilder;
15
+ exports.FIRESTORE_CLIENT_QUERY_CONSTRAINT_HANDLER_MAPPING = {
16
+ [constraint_1.FIRESTORE_LIMIT_QUERY_CONSTRAINT_TYPE]: (builder, data) => addConstraintToBuilder(builder, (0, firestore_1.limit)(data.limit)),
17
+ [constraint_1.FIRESTORE_LIMIT_TO_LAST_QUERY_CONSTRAINT_TYPE]: (builder, data) => addConstraintToBuilder(builder, (0, firestore_1.limitToLast)(data.limit)),
18
+ [constraint_1.FIRESTORE_ORDER_BY_QUERY_CONSTRAINT_TYPE]: (builder, data) => addConstraintToBuilder(builder, (0, firestore_1.orderBy)(data.fieldPath, data.directionStr)),
19
+ [constraint_1.FIRESTORE_WHERE_QUERY_CONSTRAINT_TYPE]: (builder, data) => addConstraintToBuilder(builder, (0, firestore_1.where)(data.fieldPath, data.opStr, data.value)),
20
+ [constraint_1.FIRESTORE_OFFSET_QUERY_CONSTRAINT_TYPE]: undefined,
21
+ [constraint_1.FIRESTORE_START_AT_QUERY_CONSTRAINT_TYPE]: (builder, data) => addConstraintToBuilder(builder, (0, firestore_1.startAt)(data.snapshot)),
22
+ [constraint_1.FIRESTORE_START_AFTER_QUERY_CONSTRAINT_TYPE]: (builder, data) => addConstraintToBuilder(builder, (0, firestore_1.startAfter)(data.snapshot)),
23
+ [constraint_1.FIRESTORE_END_AT_QUERY_CONSTRAINT_TYPE]: (builder, data) => addConstraintToBuilder(builder, (0, firestore_1.endAt)(data.snapshot)),
24
+ [constraint_1.FIRESTORE_END_BEFORE_QUERY_CONSTRAINT_TYPE]: (builder, data) => addConstraintToBuilder(builder, (0, firestore_1.endBefore)(data.snapshot)),
25
+ };
26
+ function firebaseFirestoreQueryConstraintFunctionsDriver() {
27
+ return (0, query_handler_1.makeFirestoreQueryConstraintFunctionsDriver)({
28
+ mapping: exports.FIRESTORE_CLIENT_QUERY_CONSTRAINT_HANDLER_MAPPING,
29
+ init: (query) => ({ query, constraints: [] }),
30
+ build: ({ query: initialQuery, constraints }) => (0, firestore_1.query)(initialQuery, ...constraints)
31
+ });
32
+ }
33
+ exports.firebaseFirestoreQueryConstraintFunctionsDriver = firebaseFirestoreQueryConstraintFunctionsDriver;
34
+ function firebaseFirestoreQueryDriver() {
35
+ return Object.assign(Object.assign({}, firebaseFirestoreQueryConstraintFunctionsDriver()), { getDocs(query, transaction) {
36
+ if (transaction) {
37
+ // TODO: Decide if by design we should log an error, or throw an exception like this.
38
+ throw new Error('The firebaseFirestoreQueryDriver does not support transactions with queries.');
39
+ }
40
+ return (0, firestore_1.getDocs)(query);
41
+ },
42
+ streamDocs(query, options) {
43
+ return (0, query_util_1.streamFromOnSnapshot)((obs) => (options) ? (0, firestore_1.onSnapshot)(query, options, obs) : (0, firestore_1.onSnapshot)(query, obs));
44
+ } });
45
+ }
46
+ exports.firebaseFirestoreQueryDriver = firebaseFirestoreQueryDriver;
47
+ //# sourceMappingURL=driver.query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"driver.query.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/client/firestore/driver.query.ts"],"names":[],"mappings":";;;AAEA,kDAA+M;AAC/M,0EAAke;AACle,+EAA0G;AAG1G,wEAA+E;AAO/E,SAAgB,sBAAsB,CAAI,OAAyC,EAAE,UAAyC;IAC5H,OAAO;QACL,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC;KACpD,CAAC;AACJ,CAAC;AALD,wDAKC;AAEY,QAAA,iDAAiD,GAA+E;IAC3I,CAAC,kDAAqC,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,OAAO,EAAE,IAAA,iBAAK,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9G,CAAC,0DAA6C,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,OAAO,EAAE,IAAA,uBAAW,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5H,CAAC,qDAAwC,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,OAAO,EAAE,IAAA,mBAAO,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAC1I,CAAC,kDAAqC,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,OAAO,EAAE,IAAA,iBAAK,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1I,CAAC,mDAAsC,CAAC,EAAE,SAAS;IACnD,CAAC,qDAAwC,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,OAAO,EAAE,IAAA,mBAAO,EAAC,IAAI,CAAC,QAA4B,CAAC,CAAC;IAC1I,CAAC,wDAA2C,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,OAAO,EAAE,IAAA,sBAAU,EAAC,IAAI,CAAC,QAA4B,CAAC,CAAC;IAChJ,CAAC,mDAAsC,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,OAAO,EAAE,IAAA,iBAAK,EAAC,IAAI,CAAC,QAA4B,CAAC,CAAC;IACtI,CAAC,uDAA0C,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,OAAO,EAAE,IAAA,qBAAS,EAAC,IAAI,CAAC,QAA4B,CAAC,CAAC;CAC/I,CAAC;AAEF,SAAgB,+CAA+C;IAC7D,OAAO,IAAA,2DAA2C,EAAC;QACjD,OAAO,EAAE,yDAAiD;QAC1D,IAAI,EAAE,CAAI,KAAe,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;QAC1D,KAAK,EAAE,CAAI,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAoC,EAAE,EAAE,CAAC,IAAA,iBAAK,EAAC,YAAyC,EAAE,GAAG,WAAW,CAAC;KACvJ,CAAC,CAAC;AACL,CAAC;AAND,0GAMC;AAED,SAAgB,4BAA4B;IAC1C,uCACK,+CAA+C,EAAE,KACpD,OAAO,CAAI,KAAe,EAAE,WAAyB;YACnD,IAAI,WAAW,EAAE;gBACf,qFAAqF;gBACrF,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC;aACjG;YAED,OAAO,IAAA,mBAAO,EAAC,KAAkC,CAAC,CAAC;QACrD,CAAC;QACD,UAAU,CAAI,KAAe,EAAE,OAAsC;YACnE,OAAO,IAAA,iCAAoB,EAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAA,sBAAU,EAAE,KAAmC,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAA,sBAAU,EAAE,KAAmC,EAAE,GAAG,CAAC,CAAC,CAAC;QAC3K,CAAC,IACD;AACJ,CAAC;AAfD,oEAeC"}
@@ -0,0 +1,5 @@
1
+ import { FirestoreContextFactory } from "../../common/firestore/context";
2
+ /**
3
+ * Creates a FirestoreContextFactory that uses the @firebase/firebase package.
4
+ */
5
+ export declare const firebaseFirestoreContextFactory: FirestoreContextFactory;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.firebaseFirestoreContextFactory = void 0;
4
+ const context_1 = require("../../common/firestore/context");
5
+ const driver_1 = require("./driver");
6
+ /**
7
+ * Creates a FirestoreContextFactory that uses the @firebase/firebase package.
8
+ */
9
+ exports.firebaseFirestoreContextFactory = (0, context_1.firestoreContextFactory)((0, driver_1.firebaseFirestoreClientDrivers)());
10
+ //# sourceMappingURL=firestore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"firestore.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/client/firestore/firestore.ts"],"names":[],"mappings":";;;AAAA,4DAAkG;AAClG,qCAA0D;AAE1D;;GAEG;AACU,QAAA,+BAA+B,GAA4B,IAAA,iCAAuB,EAAC,IAAA,uCAA8B,GAAE,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './driver';
2
+ export * from './driver.accessor';
3
+ export * from './driver.query';
4
+ export * from './firestore';
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./driver"), exports);
5
+ tslib_1.__exportStar(require("./driver.accessor"), exports);
6
+ tslib_1.__exportStar(require("./driver.query"), exports);
7
+ tslib_1.__exportStar(require("./firestore"), exports);
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/client/firestore/index.ts"],"names":[],"mappings":";;;AAAA,mDAAyB;AACzB,4DAAkC;AAClC,yDAA+B;AAC/B,sDAA4B"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Key that corresponds with a function on the server.
3
+ */
4
+ export declare type FirebaseFunctionKey = string;
5
+ /**
6
+ * Typings tuple for a FirebaseFunction. Denotes the expected input and output values.
7
+ */
8
+ export declare type FirebaseFunctionType<I = any, O = any> = [I, O];
9
+ /**
10
+ * An asynchronous function that calls a function on the Firebase server.
11
+ */
12
+ export declare type FirebaseFunction<I = any, O = any> = (input: I) => Promise<O>;
13
+ /**
14
+ * Type with keys corresponding to functions on the corresponding server for a client.
15
+ */
16
+ export declare type FirebaseFunctionTypeMap = {
17
+ [key: FirebaseFunctionKey]: FirebaseFunctionType;
18
+ };
19
+ /**
20
+ * A FirebaseFunction map. Its types are relative to a FirebaseFunctionTypeMap.
21
+ */
22
+ export declare type FirebaseFunctionMap<M extends FirebaseFunctionTypeMap> = {
23
+ [K in keyof M]: FirebaseFunctionMapFunction<M, K>;
24
+ };
25
+ /**
26
+ * Typings for a function within a FirebaseFunctionMap.
27
+ */
28
+ export declare type FirebaseFunctionMapFunction<M extends FirebaseFunctionTypeMap, K extends keyof M = keyof M> = FirebaseFunction<M[K][0], M[K][1]>;
@@ -0,0 +1,40 @@
1
+ import { ClassLikeType, Getter, Maybe } from '@dereekb/util';
2
+ import { Functions, HttpsCallableOptions } from "firebase/functions";
3
+ import { FirebaseFunctionMap, FirebaseFunctionTypeMap } from './function';
4
+ export interface FirebaseFunctionTypeConfig {
5
+ options?: HttpsCallableOptions;
6
+ }
7
+ export declare type FirebaseFunctionTypeConfigMap<M extends FirebaseFunctionTypeMap> = {
8
+ [K in keyof M]: Maybe<FirebaseFunctionTypeConfig>;
9
+ };
10
+ /**
11
+ * Used for building a FirebaseFunctionMap<M> for a specific Functions instance.
12
+ */
13
+ export declare type FirebaseFunctionMapFactory<M extends FirebaseFunctionTypeMap> = (functionsInstance: Functions) => FirebaseFunctionMap<M>;
14
+ export declare function firebaseFunctionMapFactory<M extends FirebaseFunctionTypeMap>(configMap: FirebaseFunctionTypeConfigMap<M>): FirebaseFunctionMapFactory<M>;
15
+ export declare type FirebaseFunctionMapKey = string;
16
+ export declare type FirebaseFunctionGetter<T> = Getter<T> & {
17
+ _type: ClassLikeType<T>;
18
+ _key: FirebaseFunctionMapKey;
19
+ };
20
+ /**
21
+ * Map of all firebase functions in the app.
22
+ */
23
+ export declare type FirebaseFunctionsMap = {
24
+ [key: FirebaseFunctionMapKey]: FirebaseFunctionTypeMap;
25
+ };
26
+ export declare type FirebaseFunctionsConfigMap<M extends FirebaseFunctionsMap> = {
27
+ [K in keyof M]: FirebaseFunctionsConfigMapEntry<M[K]>;
28
+ };
29
+ export declare type FirebaseFunctionsConfigMapEntry<M extends FirebaseFunctionTypeMap = any> = [ClassLikeType<any>, FirebaseFunctionMapFactory<M>];
30
+ /**
31
+ * Factory function for creating a FirebaseFunctionsMap for a given Functions instance.
32
+ */
33
+ export declare type LazyFirebaseFunctionsFactory<M extends FirebaseFunctionsMap> = (functions: Functions) => LazyFirebaseFunctions<M>;
34
+ /**
35
+ * Map of FirebaseFunctionGetter values that are lazy-loaded via the getter.
36
+ */
37
+ export declare type LazyFirebaseFunctions<M extends FirebaseFunctionsMap> = {
38
+ [K in keyof M]: FirebaseFunctionGetter<FirebaseFunctionMap<M[K]>>;
39
+ };
40
+ export declare function lazyFirebaseFunctionsFactory<M extends FirebaseFunctionsMap, C extends FirebaseFunctionsConfigMap<M> = FirebaseFunctionsConfigMap<M>>(configMap: C): LazyFirebaseFunctionsFactory<M>;