@dereekb/firebase 2.0.0 → 4.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 (264) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/package.json +24 -9
  3. package/src/index.d.ts +0 -1
  4. package/src/index.js +1 -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/test/CHANGELOG.md +5 -0
  178. package/test/README.md +11 -0
  179. package/test/package.json +28 -0
  180. package/test/src/index.d.ts +1 -0
  181. package/test/src/index.js +5 -0
  182. package/test/src/index.js.map +1 -0
  183. package/test/src/lib/client/firestore.authorized.d.ts +5 -0
  184. package/{src/test/firebase.context.js → test/src/lib/client/firestore.authorized.js} +4 -4
  185. package/test/src/lib/client/firestore.authorized.js.map +1 -0
  186. package/test/src/lib/client/firestore.d.ts +39 -0
  187. package/test/src/lib/client/firestore.js +90 -0
  188. package/test/src/lib/client/firestore.js.map +1 -0
  189. package/test/src/lib/client/firestore.mock.item.fixture.authorized.d.ts +6 -0
  190. package/test/src/lib/client/firestore.mock.item.fixture.authorized.js +12 -0
  191. package/test/src/lib/client/firestore.mock.item.fixture.authorized.js.map +1 -0
  192. package/test/src/lib/client/index.d.ts +3 -0
  193. package/test/src/lib/client/index.js +7 -0
  194. package/test/src/lib/client/index.js.map +1 -0
  195. package/test/src/lib/common/firestore.d.ts +35 -0
  196. package/test/src/lib/common/firestore.js +50 -0
  197. package/test/src/lib/common/firestore.js.map +1 -0
  198. package/test/src/lib/common/firestore.mock.d.ts +14 -0
  199. package/test/src/lib/common/firestore.mock.item.d.ts +95 -0
  200. package/test/src/lib/common/firestore.mock.item.fixture.d.ts +21 -0
  201. package/test/src/lib/common/firestore.mock.item.fixture.js +43 -0
  202. package/test/src/lib/common/firestore.mock.item.fixture.js.map +1 -0
  203. package/test/src/lib/common/firestore.mock.item.js +138 -0
  204. package/test/src/lib/common/firestore.mock.item.js.map +1 -0
  205. package/test/src/lib/common/firestore.mock.item.query.d.ts +3 -0
  206. package/test/src/lib/common/firestore.mock.item.query.js +13 -0
  207. package/test/src/lib/common/firestore.mock.item.query.js.map +1 -0
  208. package/test/src/lib/common/firestore.mock.js +29 -0
  209. package/test/src/lib/common/firestore.mock.js.map +1 -0
  210. package/test/src/lib/common/index.d.ts +8 -0
  211. package/test/src/lib/common/index.js +12 -0
  212. package/test/src/lib/common/index.js.map +1 -0
  213. package/test/src/lib/common/test.driver.accessor.d.ts +17 -0
  214. package/test/src/lib/common/test.driver.accessor.js +278 -0
  215. package/test/src/lib/common/test.driver.accessor.js.map +1 -0
  216. package/test/src/lib/common/test.driver.query.d.ts +7 -0
  217. package/test/src/lib/common/test.driver.query.js +189 -0
  218. package/test/src/lib/common/test.driver.query.js.map +1 -0
  219. package/test/src/lib/common/test.iterator.d.ts +7 -0
  220. package/test/src/lib/common/test.iterator.js +222 -0
  221. package/test/src/lib/common/test.iterator.js.map +1 -0
  222. package/test/src/lib/index.d.ts +2 -0
  223. package/test/src/lib/index.js +6 -0
  224. package/test/src/lib/index.js.map +1 -0
  225. package/src/lib/firestore/accessor.batch.d.ts +0 -23
  226. package/src/lib/firestore/accessor.batch.js.map +0 -1
  227. package/src/lib/firestore/accessor.d.ts +0 -62
  228. package/src/lib/firestore/accessor.default.js.map +0 -1
  229. package/src/lib/firestore/accessor.js.map +0 -1
  230. package/src/lib/firestore/accessor.transaction.d.ts +0 -23
  231. package/src/lib/firestore/accessor.transaction.js.map +0 -1
  232. package/src/lib/firestore/context.batch.d.ts +0 -9
  233. package/src/lib/firestore/context.batch.js +0 -19
  234. package/src/lib/firestore/context.batch.js.map +0 -1
  235. package/src/lib/firestore/context.default.d.ts +0 -2
  236. package/src/lib/firestore/context.default.js +0 -13
  237. package/src/lib/firestore/context.default.js.map +0 -1
  238. package/src/lib/firestore/context.js.map +0 -1
  239. package/src/lib/firestore/context.transaction.d.ts +0 -9
  240. package/src/lib/firestore/context.transaction.js +0 -19
  241. package/src/lib/firestore/context.transaction.js.map +0 -1
  242. package/src/lib/firestore/document.d.ts +0 -69
  243. package/src/lib/firestore/document.js +0 -49
  244. package/src/lib/firestore/document.js.map +0 -1
  245. package/src/lib/firestore/firestore.d.ts +0 -29
  246. package/src/lib/firestore/firestore.js +0 -37
  247. package/src/lib/firestore/firestore.js.map +0 -1
  248. package/src/lib/firestore/index.js +0 -16
  249. package/src/lib/firestore/index.js.map +0 -1
  250. package/src/lib/firestore/iterator.js +0 -91
  251. package/src/lib/firestore/iterator.js.map +0 -1
  252. package/src/lib/firestore/reference.d.ts +0 -13
  253. package/src/lib/firestore/reference.js.map +0 -1
  254. package/src/test/firebase.context.d.ts +0 -5
  255. package/src/test/firebase.context.item.d.ts +0 -41
  256. package/src/test/firebase.context.item.js +0 -75
  257. package/src/test/firebase.context.item.js.map +0 -1
  258. package/src/test/firebase.context.js.map +0 -1
  259. package/src/test/firebase.d.ts +0 -29
  260. package/src/test/firebase.js +0 -67
  261. package/src/test/firebase.js.map +0 -1
  262. package/src/test/index.d.ts +0 -3
  263. package/src/test/index.js +0 -7
  264. package/src/test/index.js.map +0 -1
@@ -1,2 +0,0 @@
1
- import { FirestoreDocumentContext } from "./context";
2
- export declare function defaultFirestoreDocumentContext<T>(): FirestoreDocumentContext<T>;
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.defaultFirestoreDocumentContext = void 0;
4
- const accessor_default_1 = require("./accessor.default");
5
- const context_1 = require("./context");
6
- function defaultFirestoreDocumentContext() {
7
- return {
8
- contextType: context_1.FirestoreDocumentContextType.NONE,
9
- accessorFactory: (0, accessor_default_1.defaultFirestoreAccessorFactory)()
10
- };
11
- }
12
- exports.defaultFirestoreDocumentContext = defaultFirestoreDocumentContext;
13
- //# sourceMappingURL=context.default.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.default.js","sourceRoot":"","sources":["../../../../../../packages/firebase/src/lib/firestore/context.default.ts"],"names":[],"mappings":";;;AAAA,yDAAqE;AACrE,uCAAmF;AAEnF,SAAgB,+BAA+B;IAC7C,OAAO;QACL,WAAW,EAAE,sCAA4B,CAAC,IAAI;QAC9C,eAAe,EAAE,IAAA,kDAA+B,GAAK;KACtD,CAAA;AACH,CAAC;AALD,0EAKC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../../../packages/firebase/src/lib/firestore/context.ts"],"names":[],"mappings":";;;AAEA;;;;GAIG;AACH,IAAY,4BAIX;AAJD,WAAY,4BAA4B;IACtC,6CAAa,CAAA;IACb,2DAA2B,CAAA;IAC3B,+CAAe,CAAA;AACjB,CAAC,EAJW,4BAA4B,GAA5B,oCAA4B,KAA5B,oCAA4B,QAIvC"}
@@ -1,9 +0,0 @@
1
- import { Transaction } from "@firebase/firestore";
2
- import { FirestoreDocumentContext, FirestoreDocumentContextType } from "./context";
3
- export declare class TransactionFirestoreDocumentContext<T> implements FirestoreDocumentContext<T> {
4
- readonly transaction: Transaction;
5
- readonly contextType = FirestoreDocumentContextType.TRANSACTION;
6
- readonly accessorFactory: import("./accessor").FirestoreDocumentDataAccessorFactory<T>;
7
- constructor(transaction: Transaction);
8
- }
9
- export declare function transactionDocumentContext<T>(transaction: Transaction): TransactionFirestoreDocumentContext<T>;
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.transactionDocumentContext = exports.TransactionFirestoreDocumentContext = void 0;
4
- const accessor_transaction_1 = require("./accessor.transaction");
5
- const context_1 = require("./context");
6
- // MARK: Transaction
7
- class TransactionFirestoreDocumentContext {
8
- constructor(transaction) {
9
- this.transaction = transaction;
10
- this.contextType = context_1.FirestoreDocumentContextType.TRANSACTION;
11
- this.accessorFactory = (0, accessor_transaction_1.transactionAccessorFactory)(this.transaction);
12
- }
13
- }
14
- exports.TransactionFirestoreDocumentContext = TransactionFirestoreDocumentContext;
15
- function transactionDocumentContext(transaction) {
16
- return new TransactionFirestoreDocumentContext(transaction);
17
- }
18
- exports.transactionDocumentContext = transactionDocumentContext;
19
- //# sourceMappingURL=context.transaction.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.transaction.js","sourceRoot":"","sources":["../../../../../../packages/firebase/src/lib/firestore/context.transaction.ts"],"names":[],"mappings":";;;AACA,iEAAoE;AACpE,uCAAmF;AAEnF,oBAAoB;AACpB,MAAa,mCAAmC;IAK9C,YAAqB,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;QAHpC,gBAAW,GAAG,sCAA4B,CAAC,WAAW,CAAC;QACvD,oBAAe,GAAG,IAAA,iDAA0B,EAAI,IAAI,CAAC,WAAW,CAAC,CAAC;IAE1B,CAAC;CAEnD;AAPD,kFAOC;AAED,SAAgB,0BAA0B,CAAI,WAAwB;IACpE,OAAO,IAAI,mCAAmC,CAAI,WAAW,CAAC,CAAC;AACjE,CAAC;AAFD,gEAEC"}
@@ -1,69 +0,0 @@
1
- import { Observable } from 'rxjs';
2
- import { DocumentReference, CollectionReference } from '@firebase/firestore';
3
- import { FirestoreDocumentDataAccessor, FirestoreDocumentDataAccessorFactory } from './accessor';
4
- import { FirestoreCollectionReference, FirestoreDocumentReference } from './reference';
5
- import { FirestoreDocumentContext } from './context';
6
- export interface FirestoreDocument<T> extends FirestoreDocumentReference<T> {
7
- }
8
- /**
9
- * Abstract FirestoreDocument implementation that extends a FirestoreDocumentDataAccessor.
10
- */
11
- export declare abstract class AbstractFirestoreDocument<T, A extends FirestoreDocumentDataAccessor<T> = FirestoreDocumentDataAccessor<T>> {
12
- readonly accessor: A;
13
- readonly stream$: Observable<import("@firebase/firestore").DocumentSnapshot<T>>;
14
- readonly data$: Observable<T>;
15
- constructor(accessor: A);
16
- get documentRef(): DocumentReference<T>;
17
- }
18
- export interface FirestoreDocumentAccessor<T, D extends FirestoreDocument<T>> {
19
- readonly databaseContext: FirestoreDocumentContext<T>;
20
- /**
21
- * Creates a new document.
22
- */
23
- newDocument(): D;
24
- /**
25
- * Loads a document from the datastore.
26
- *
27
- * @param ref
28
- */
29
- loadDocument(ref: DocumentReference<T>): D;
30
- /**
31
- * Loads a document from an existing FirestoreDocument
32
- *
33
- * @param document
34
- */
35
- loadDocumentFrom(document: FirestoreDocument<T>): D;
36
- }
37
- /**
38
- * Factory type used for creating a FirestoreDocumentAccessor.
39
- */
40
- export interface FirestoreDocumentAccessorFactory<T, D extends FirestoreDocument<T>> {
41
- /**
42
- * Creates a new FirestoreDocumentFactory using the given context.
43
- *
44
- * @param context Optional context to retrieve items from.
45
- */
46
- documentAccessor(context?: FirestoreDocumentContext<T>): FirestoreDocumentAccessor<T, D>;
47
- }
48
- /**
49
- * Used to generate a FirestoreDocument from an input FirestoreDocumentDataAccessor instance.
50
- */
51
- export declare type FirestoreDocumentFactoryFunction<T, D extends FirestoreDocument<T>> = (accessor: FirestoreDocumentDataAccessor<T>) => D;
52
- /**
53
- * FirestoreDocumentAccessorInstance configuration.
54
- */
55
- export interface FirestoreDocumentAccessorInstanceConfig<T, D extends FirestoreDocument<T>> extends FirestoreCollectionReference<T> {
56
- readonly makeDocument: FirestoreDocumentFactoryFunction<T, D>;
57
- }
58
- export declare class FirestoreDocumentAccessorInstance<T, D extends FirestoreDocument<T>> implements FirestoreDocumentAccessor<T, D> {
59
- readonly config: FirestoreDocumentAccessorInstanceConfig<T, D>;
60
- readonly databaseContext: FirestoreDocumentContext<T>;
61
- constructor(config: FirestoreDocumentAccessorInstanceConfig<T, D>, databaseContext?: FirestoreDocumentContext<T>);
62
- get collection(): CollectionReference<T>;
63
- get accessorFactory(): FirestoreDocumentDataAccessorFactory<T>;
64
- newDocument(): D;
65
- loadDocument(ref: DocumentReference<T>): D;
66
- loadDocumentFrom(document: FirestoreDocument<T>): D;
67
- }
68
- export declare type FirestoreDocumentAccessorFactoryFunction<T, D extends FirestoreDocument<T>> = (context?: FirestoreDocumentContext<T>) => FirestoreDocumentAccessor<T, D>;
69
- export declare function firestoreDocumentAccessorFactory<T, D extends FirestoreDocument<T>>(config: FirestoreDocumentAccessorInstanceConfig<T, D>): FirestoreDocumentAccessorFactoryFunction<T, D>;
@@ -1,49 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.firestoreDocumentAccessorFactory = exports.FirestoreDocumentAccessorInstance = exports.AbstractFirestoreDocument = void 0;
4
- const firestore_1 = require("@firebase/firestore");
5
- const accessor_1 = require("./accessor");
6
- const context_default_1 = require("./context.default");
7
- /**
8
- * Abstract FirestoreDocument implementation that extends a FirestoreDocumentDataAccessor.
9
- */
10
- class AbstractFirestoreDocument {
11
- constructor(accessor) {
12
- this.accessor = accessor;
13
- this.stream$ = this.accessor.stream();
14
- this.data$ = (0, accessor_1.dataFromSnapshotStream)(this.stream$);
15
- }
16
- get documentRef() {
17
- return this.accessor.documentRef;
18
- }
19
- }
20
- exports.AbstractFirestoreDocument = AbstractFirestoreDocument;
21
- class FirestoreDocumentAccessorInstance {
22
- constructor(config, databaseContext = (0, context_default_1.defaultFirestoreDocumentContext)()) {
23
- this.config = config;
24
- this.databaseContext = databaseContext;
25
- }
26
- get collection() {
27
- return this.config.collection;
28
- }
29
- get accessorFactory() {
30
- return this.databaseContext.accessorFactory;
31
- }
32
- newDocument() {
33
- const newDocRef = (0, firestore_1.doc)(this.collection);
34
- return this.loadDocument(newDocRef);
35
- }
36
- loadDocument(ref) {
37
- const accessor = this.accessorFactory.accessorFor(ref);
38
- return this.config.makeDocument(accessor);
39
- }
40
- loadDocumentFrom(document) {
41
- return this.loadDocument(document.documentRef);
42
- }
43
- }
44
- exports.FirestoreDocumentAccessorInstance = FirestoreDocumentAccessorInstance;
45
- function firestoreDocumentAccessorFactory(config) {
46
- return (context) => new FirestoreDocumentAccessorInstance(config, context);
47
- }
48
- exports.firestoreDocumentAccessorFactory = firestoreDocumentAccessorFactory;
49
- //# sourceMappingURL=document.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"document.js","sourceRoot":"","sources":["../../../../../../packages/firebase/src/lib/firestore/document.ts"],"names":[],"mappings":";;;AACA,mDAAkF;AAClF,yCAAyH;AAGzH,uDAAoE;AAIpE;;GAEG;AACH,MAAsB,yBAAyB;IAK7C,YAAqB,QAAW;QAAX,aAAQ,GAAR,QAAQ,CAAG;QAHvB,YAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACjC,UAAK,GAAkB,IAAA,iCAAsB,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEjC,CAAC;IAErC,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;IACnC,CAAC;CAEF;AAXD,8DAWC;AAsDD,MAAa,iCAAiC;IAE5C,YACW,MAAqD,EACrD,kBAA+C,IAAA,iDAA+B,GAAE;QADhF,WAAM,GAAN,MAAM,CAA+C;QACrD,oBAAe,GAAf,eAAe,CAAiE;IACvF,CAAC;IAEL,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;IAChC,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC;IAC9C,CAAC;IAED,WAAW;QACT,MAAM,SAAS,GAAG,IAAA,eAAG,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAED,YAAY,CAAC,GAAyB;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAED,gBAAgB,CAAC,QAA8B;QAC7C,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACjD,CAAC;CAEF;AA7BD,8EA6BC;AAID,SAAgB,gCAAgC,CAAoC,MAAqD;IACvI,OAAO,CAAC,OAAqC,EAAE,EAAE,CAAC,IAAI,iCAAiC,CAAO,MAAM,EAAE,OAAO,CAAC,CAAC;AACjH,CAAC;AAFD,4EAEC"}
@@ -1,29 +0,0 @@
1
- import { CollectionReference } from "@firebase/firestore";
2
- import { FirestoreDocument, FirestoreDocumentAccessor, FirestoreDocumentAccessorFactory, FirestoreDocumentAccessorFactoryFunction, FirestoreDocumentAccessorInstanceConfig } from "./document";
3
- import { FirestoreItemPageIterationBaseConfig, FirestoreItemPageIterationFactory, FirestoreItemPageIterationFactoryFunction, FirestoreItemPageIterationInstance, FirestoreItemPageIteratorFilter } from "./iterator";
4
- import { FirestoreDocumentContext } from "./context";
5
- import { FirestoreCollectionReference } from "./reference";
6
- /**
7
- * FirestoreCollection configuration
8
- */
9
- export interface FirestoreCollectionConfig<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> extends FirestoreItemPageIterationBaseConfig<T>, FirestoreDocumentAccessorInstanceConfig<T, D> {
10
- }
11
- /**
12
- * Instance that provides several accessors for accessing documents of a collection.
13
- */
14
- export declare class FirestoreCollection<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> implements FirestoreCollectionReference<T>, FirestoreItemPageIterationFactory<T>, FirestoreDocumentAccessorFactory<T, D> {
15
- readonly config: FirestoreCollectionConfig<T, D>;
16
- protected readonly _iterationFactory: FirestoreItemPageIterationFactoryFunction<T>;
17
- protected readonly _documentAccessorFactory: FirestoreDocumentAccessorFactoryFunction<T, D>;
18
- constructor(config: FirestoreCollectionConfig<T, D>);
19
- get collection(): CollectionReference<T>;
20
- firestoreIteration(filter?: FirestoreItemPageIteratorFilter): FirestoreItemPageIterationInstance<T>;
21
- documentAccessor(context?: FirestoreDocumentContext<T>): FirestoreDocumentAccessor<T, D>;
22
- }
23
- /**
24
- * Creates a new FirestoreCollection instance from the input config.
25
- *
26
- * @param config
27
- * @returns
28
- */
29
- export declare function makeFirestoreCollection<T, D extends FirestoreDocument<T>>(config: FirestoreCollectionConfig<T, D>): FirestoreCollection<T, D>;
@@ -1,37 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.makeFirestoreCollection = exports.FirestoreCollection = void 0;
4
- const document_1 = require("./document");
5
- const iterator_1 = require("./iterator");
6
- /**
7
- * Instance that provides several accessors for accessing documents of a collection.
8
- */
9
- class FirestoreCollection {
10
- constructor(config) {
11
- this.config = config;
12
- this._iterationFactory = (0, iterator_1.firestoreItemPageIterationFactory)(this.config);
13
- this._documentAccessorFactory = (0, document_1.firestoreDocumentAccessorFactory)(this.config);
14
- }
15
- get collection() {
16
- return this.config.collection;
17
- }
18
- // MARK: FirestoreItemPageIterationFactory<T>
19
- firestoreIteration(filter) {
20
- return this._iterationFactory(filter);
21
- }
22
- documentAccessor(context) {
23
- return this._documentAccessorFactory(context);
24
- }
25
- }
26
- exports.FirestoreCollection = FirestoreCollection;
27
- /**
28
- * Creates a new FirestoreCollection instance from the input config.
29
- *
30
- * @param config
31
- * @returns
32
- */
33
- function makeFirestoreCollection(config) {
34
- return new FirestoreCollection(config);
35
- }
36
- exports.makeFirestoreCollection = makeFirestoreCollection;
37
- //# sourceMappingURL=firestore.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"firestore.js","sourceRoot":"","sources":["../../../../../../packages/firebase/src/lib/firestore/firestore.ts"],"names":[],"mappings":";;;AACA,yCAAiO;AACjO,yCAAwP;AAUxP;;GAEG;AACH,MAAa,mBAAmB;IAM9B,YAAqB,MAAuC;QAAvC,WAAM,GAAN,MAAM,CAAiC;QAHzC,sBAAiB,GAAiD,IAAA,4CAAiC,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjH,6BAAwB,GAAmD,IAAA,2CAAgC,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE5E,CAAC;IAEjE,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;IAChC,CAAC;IAED,6CAA6C;IAC7C,kBAAkB,CAAC,MAAwC;QACzD,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,gBAAgB,CAAC,OAAqC;QACpD,OAAO,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;CAEF;AArBD,kDAqBC;AAED;;;;;GAKG;AACH,SAAgB,uBAAuB,CAAoC,MAAuC;IAChH,OAAO,IAAI,mBAAmB,CAAC,MAAM,CAAC,CAAC;AACzC,CAAC;AAFD,0DAEC"}
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- (0, tslib_1.__exportStar)(require("./accessor"), exports);
5
- (0, tslib_1.__exportStar)(require("./accessor.batch"), exports);
6
- (0, tslib_1.__exportStar)(require("./accessor.default"), exports);
7
- (0, tslib_1.__exportStar)(require("./accessor.transaction"), exports);
8
- (0, tslib_1.__exportStar)(require("./document"), exports);
9
- (0, tslib_1.__exportStar)(require("./reference"), exports);
10
- (0, tslib_1.__exportStar)(require("./context.batch"), exports);
11
- (0, tslib_1.__exportStar)(require("./context.default"), exports);
12
- (0, tslib_1.__exportStar)(require("./context.transaction"), exports);
13
- (0, tslib_1.__exportStar)(require("./context"), exports);
14
- (0, tslib_1.__exportStar)(require("./firestore"), exports);
15
- (0, tslib_1.__exportStar)(require("./iterator"), exports);
16
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/firebase/src/lib/firestore/index.ts"],"names":[],"mappings":";;;AAAA,0DAA2B;AAC3B,gEAAiC;AACjC,kEAAmC;AACnC,sEAAuC;AACvC,0DAA2B;AAC3B,2DAA4B;AAC5B,+DAAgC;AAChC,iEAAkC;AAClC,qEAAsC;AACtC,yDAA0B;AAC1B,2DAA4B;AAC5B,0DAA2B"}
@@ -1,91 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.firestoreItemPageIteration = exports.FIRESTORE_ITEM_PAGE_ITERATOR = exports.FIRESTORE_ITEM_PAGE_ITERATOR_DELEGATE = exports.firestoreItemPageIterationFactory = exports.FirestoreItemPageIterationInstance = exports.makeFirestoreItemPageIteratorDelegate = void 0;
4
- const rxjs_1 = require("@dereekb/rxjs");
5
- const firestore_1 = require("@firebase/firestore");
6
- const util_1 = require("@dereekb/util");
7
- const rxjs_2 = require("rxjs");
8
- function makeFirestoreItemPageIteratorDelegate() {
9
- return {
10
- loadItemsForPage: (request) => {
11
- const { page, iteratorConfig } = request;
12
- const lastQueryResult$ = (page > 0) ? request.lastItem$ : (0, rxjs_2.of)(undefined);
13
- const { collection, itemsPerPage, filter } = iteratorConfig;
14
- return lastQueryResult$.pipe((0, rxjs_2.exhaustMap)((lastResult) => {
15
- if ((lastResult === null || lastResult === void 0 ? void 0 : lastResult.snapshot.empty) === true) { // TODO: Shouldn't happen. Remove this later.
16
- return (0, rxjs_2.of)({ end: true });
17
- }
18
- else {
19
- const constraints = [];
20
- // Add filter constraints
21
- if (filter === null || filter === void 0 ? void 0 : filter.queryConstraints) {
22
- (0, util_1.mergeIntoArray)(constraints, filter.queryConstraints);
23
- }
24
- // Add cursor
25
- const cursorDocument = (lastResult) ? (0, util_1.lastValue)(lastResult.docs) : undefined;
26
- const startsAtFilter = (cursorDocument) ? (0, firestore_1.startAt)(cursorDocument) : undefined;
27
- if (startsAtFilter) {
28
- constraints.push(startsAtFilter);
29
- }
30
- // Add Limit
31
- constraints.push((0, firestore_1.limit)(itemsPerPage + ((startsAtFilter) ? 1 : 0))); // Add 1 for cursor, since results will start at our cursor.
32
- const batchQuery = (0, firestore_1.query)(collection, ...constraints);
33
- const resultPromise = (0, firestore_1.getDocs)(batchQuery).then((snapshot) => {
34
- let docs = snapshot.docs;
35
- // Remove the cursor document from the results.
36
- if (cursorDocument && docs[0].id === cursorDocument.id) {
37
- docs = docs.slice(1);
38
- }
39
- const result = {
40
- value: {
41
- docs,
42
- snapshot
43
- },
44
- end: snapshot.empty
45
- };
46
- return result;
47
- });
48
- return (0, rxjs_2.from)(resultPromise);
49
- }
50
- }));
51
- }
52
- };
53
- }
54
- exports.makeFirestoreItemPageIteratorDelegate = makeFirestoreItemPageIteratorDelegate;
55
- class FirestoreItemPageIterationInstance extends rxjs_1.MappedPageItemIterationInstance {
56
- constructor(snapshotIteration) {
57
- super(snapshotIteration, {
58
- forwardDestroy: true,
59
- mapValue: (x) => x.docs
60
- });
61
- }
62
- get snapshotIteration() {
63
- return this.itemIterator;
64
- }
65
- }
66
- exports.FirestoreItemPageIterationInstance = FirestoreItemPageIterationInstance;
67
- /**
68
- * Creates a new factory function that can build FirestoreItemPageIterationInstance values from just the input filter.
69
- *
70
- * @param baseConfig
71
- * @returns FirestoreItemPageIterationInstance
72
- */
73
- function firestoreItemPageIterationFactory(baseConfig) {
74
- return (filter) => {
75
- const result = firestoreItemPageIteration({
76
- collection: baseConfig.collection,
77
- itemsPerPage: baseConfig.itemsPerPage,
78
- filter
79
- });
80
- return result;
81
- };
82
- }
83
- exports.firestoreItemPageIterationFactory = firestoreItemPageIterationFactory;
84
- exports.FIRESTORE_ITEM_PAGE_ITERATOR_DELEGATE = makeFirestoreItemPageIteratorDelegate();
85
- exports.FIRESTORE_ITEM_PAGE_ITERATOR = new rxjs_1.ItemPageIterator(exports.FIRESTORE_ITEM_PAGE_ITERATOR_DELEGATE);
86
- function firestoreItemPageIteration(config) {
87
- const iterator = exports.FIRESTORE_ITEM_PAGE_ITERATOR.instance(config);
88
- return new FirestoreItemPageIterationInstance(iterator);
89
- }
90
- exports.firestoreItemPageIteration = firestoreItemPageIteration;
91
- //# sourceMappingURL=iterator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"iterator.js","sourceRoot":"","sources":["../../../../../../packages/firebase/src/lib/firestore/iterator.ts"],"names":[],"mappings":";;;AAAA,wCAAmO;AACnO,mDAA4H;AAC5H,wCAAiE;AACjE,+BAAwD;AA2BxD,SAAgB,qCAAqC;IACnD,OAAO;QACL,gBAAgB,EAAE,CAAC,OAAuI,EAAuE,EAAE;YACjO,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;YACzC,MAAM,gBAAgB,GAAuD,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,SAAE,EAAC,SAAS,CAAC,CAAC;YAE5H,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC;YAE5D,OAAO,gBAAgB,CAAC,IAAI,CAC1B,IAAA,iBAAU,EAAC,CAAC,UAAU,EAAE,EAAE;gBACxB,IAAI,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ,CAAC,KAAK,MAAK,IAAI,EAAE,EAAG,6CAA6C;oBACvF,OAAO,IAAA,SAAE,EAA0D,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;iBACnF;qBAAM;oBACL,MAAM,WAAW,GAAsB,EAAE,CAAC;oBAE1C,yBAAyB;oBACzB,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,gBAAgB,EAAE;wBAC5B,IAAA,qBAAc,EAAC,WAAW,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;qBACtD;oBAED,aAAa;oBACb,MAAM,cAAc,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAA,gBAAS,EAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBAC7E,MAAM,cAAc,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAA,mBAAO,EAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBAE9E,IAAI,cAAc,EAAE;wBAClB,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;qBAClC;oBAED,YAAY;oBACZ,WAAW,CAAC,IAAI,CAAC,IAAA,iBAAK,EAAC,YAAY,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAG,4DAA4D;oBAElI,MAAM,UAAU,GAAG,IAAA,iBAAK,EAAI,UAAU,EAAE,GAAG,WAAW,CAAC,CAAC;oBACxD,MAAM,aAAa,GAAqE,IAAA,mBAAO,EAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;wBAC5H,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;wBAEzB,+CAA+C;wBAC/C,IAAI,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,cAAc,CAAC,EAAE,EAAE;4BACtD,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;yBACtB;wBAED,MAAM,MAAM,GAA4D;4BACtE,KAAK,EAAE;gCACL,IAAI;gCACJ,QAAQ;6BACT;4BACD,GAAG,EAAE,QAAQ,CAAC,KAAK;yBACpB,CAAC;wBAEF,OAAO,MAAM,CAAC;oBAChB,CAAC,CAAC,CAAC;oBACH,OAAO,IAAA,WAAI,EAAC,aAAa,CAAC,CAAC;iBAC5B;YACH,CAAC,CAAC,CACH,CAAC;QACJ,CAAC;KACF,CAAA;AACH,CAAC;AAxDD,sFAwDC;AAED,MAAa,kCAAsC,SAAQ,sCAM1D;IAEC,YAAY,iBAAgE;QAC1E,KAAK,CAAC,iBAAiB,EAAE;YACvB,cAAc,EAAE,IAAI;YACpB,QAAQ,EAAE,CAAC,CAAkC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI;SACzD,CAAC,CAAC;IACL,CAAC;IAED,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;CAEF;AAnBD,gFAmBC;AAeD;;;;;GAKG;AACH,SAAgB,iCAAiC,CAAI,UAAmD;IACtG,OAAO,CAAC,MAAwC,EAAE,EAAE;QAClD,MAAM,MAAM,GAA0C,0BAA0B,CAAI;YAClF,UAAU,EAAE,UAAU,CAAC,UAAU;YACjC,YAAY,EAAE,UAAU,CAAC,YAAY;YACrC,MAAM;SACP,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAVD,8EAUC;AAEY,QAAA,qCAAqC,GAA2C,qCAAqC,EAAS,CAAC;AAC/H,QAAA,4BAA4B,GAAG,IAAI,uBAAgB,CAA4G,6CAAqC,CAAC,CAAC;AAEnN,SAAgB,0BAA0B,CAAI,MAA2C;IACvF,MAAM,QAAQ,GAAkD,oCAA4B,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9G,OAAO,IAAI,kCAAkC,CAAI,QAAQ,CAAC,CAAC;AAC7D,CAAC;AAHD,gEAGC"}
@@ -1,13 +0,0 @@
1
- import { CollectionReference, DocumentReference } from "@firebase/firestore";
2
- /**
3
- * Contains a reference to a CollectionReference.
4
- */
5
- export interface FirestoreCollectionReference<T> {
6
- readonly collection: CollectionReference<T>;
7
- }
8
- /**
9
- * Contains a reference to a DocumentReference.
10
- */
11
- export interface FirestoreDocumentReference<T> {
12
- readonly documentRef: DocumentReference<T>;
13
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"reference.js","sourceRoot":"","sources":["../../../../../../packages/firebase/src/lib/firestore/reference.ts"],"names":[],"mappings":""}
@@ -1,5 +0,0 @@
1
- import { JestTestContextFactory } from '@dereekb/util';
2
- import { FirebaseTestingContextFixture } from './firebase';
3
- export declare const TESTING_AUTHORIZED_FIREBASE_USER_ID = "0";
4
- export declare type FirebaseTestContextFactory = JestTestContextFactory<FirebaseTestingContextFixture>;
5
- export declare const authorizedFirebase: FirebaseTestContextFactory;
@@ -1,41 +0,0 @@
1
- import { AbstractWrappedFixtureWithInstance, JestTestWrappedContextFactoryBuilder, Maybe } from '@dereekb/util';
2
- import { Firestore, CollectionReference } from 'firebase/firestore';
3
- import { FirebaseTestingContextFixture } from './firebase';
4
- import { AbstractFirestoreDocument } from '../lib/firestore/document';
5
- import { FirestoreCollection } from '../lib/firestore/firestore';
6
- /**
7
- * Data for a test item in our firestore collection.
8
- */
9
- export interface TestItem {
10
- test?: boolean;
11
- value?: Maybe<string>;
12
- }
13
- export declare class TestItemDocument extends AbstractFirestoreDocument<TestItem> {
14
- }
15
- export declare const testItemCollectionPath = "test";
16
- /**
17
- * A way to build a testItemCollection from a firestore instance.
18
- *
19
- * @param firestore
20
- * @returns
21
- */
22
- export declare function testItemCollection(firestore: Firestore): CollectionReference<TestItem>;
23
- export declare type TestItemFirestoreCollection = FirestoreCollection<TestItem, TestItemDocument>;
24
- export declare function testItemFirestoreCollection(firestore: Firestore): TestItemFirestoreCollection;
25
- export declare class TestItemCollectionFixtureInstance {
26
- readonly fixture: TestItemCollectionFixture;
27
- readonly testItemCollection: CollectionReference<TestItem>;
28
- constructor(fixture: TestItemCollectionFixture);
29
- }
30
- /**
31
- * Used to expose a CollectionReference to TestItem for simple tests.
32
- */
33
- export declare class TestItemCollectionFixture extends AbstractWrappedFixtureWithInstance<TestItemCollectionFixtureInstance, FirebaseTestingContextFixture> {
34
- }
35
- export interface TestItemCollectionFirebaseContextConfig {
36
- }
37
- export declare function testWithTestItemFixture(config?: TestItemCollectionFirebaseContextConfig): JestTestWrappedContextFactoryBuilder<TestItemCollectionFixture, FirebaseTestingContextFixture>;
38
- /**
39
- * Tests within an authorized context.
40
- */
41
- export declare const authorizedTestWithTestItemCollection: import("@dereekb/util").JestTestContextFactory<TestItemCollectionFixture>;
@@ -1,75 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.authorizedTestWithTestItemCollection = exports.testWithTestItemFixture = exports.TestItemCollectionFixture = exports.TestItemCollectionFixtureInstance = exports.testItemFirestoreCollection = exports.testItemCollection = exports.testItemCollectionPath = exports.TestItemDocument = void 0;
4
- const util_1 = require("@dereekb/util");
5
- const firestore_1 = require("firebase/firestore");
6
- const firebase_context_1 = require("./firebase.context");
7
- const document_1 = require("../lib/firestore/document");
8
- const firestore_2 = require("../lib/firestore/firestore");
9
- class TestItemDocument extends document_1.AbstractFirestoreDocument {
10
- }
11
- exports.TestItemDocument = TestItemDocument;
12
- exports.testItemCollectionPath = 'test';
13
- /**
14
- * A way to build a testItemCollection from a firestore instance.
15
- *
16
- * @param firestore
17
- * @returns
18
- */
19
- function testItemCollection(firestore) {
20
- return (0, firestore_1.collection)(firestore, exports.testItemCollectionPath).withConverter({
21
- toFirestore(modelObject) {
22
- return {
23
- test: modelObject.test || false,
24
- value: modelObject.value || null
25
- };
26
- },
27
- fromFirestore(snapshot, options) {
28
- const data = snapshot.data();
29
- const result = {
30
- test: data['test'] || false,
31
- value: data['value'] || null
32
- };
33
- return result;
34
- }
35
- });
36
- }
37
- exports.testItemCollection = testItemCollection;
38
- function testItemFirestoreCollection(firestore) {
39
- return (0, firestore_2.makeFirestoreCollection)({
40
- itemsPerPage: 50,
41
- collection: testItemCollection(firestore),
42
- makeDocument: (x) => new TestItemDocument(x)
43
- });
44
- }
45
- exports.testItemFirestoreCollection = testItemFirestoreCollection;
46
- // MARK: Test Item Testing Fixture
47
- class TestItemCollectionFixtureInstance {
48
- constructor(fixture) {
49
- this.fixture = fixture;
50
- this.testItemCollection = testItemCollection(this.fixture.parent.firestore);
51
- }
52
- }
53
- exports.TestItemCollectionFixtureInstance = TestItemCollectionFixtureInstance;
54
- /**
55
- * Used to expose a CollectionReference to TestItem for simple tests.
56
- */
57
- class TestItemCollectionFixture extends util_1.AbstractWrappedFixtureWithInstance {
58
- }
59
- exports.TestItemCollectionFixture = TestItemCollectionFixture;
60
- function testWithTestItemFixture(config) {
61
- return (0, util_1.instanceWrapJestTestContextFactory)({
62
- wrapFixture: (fixture) => new TestItemCollectionFixture(fixture),
63
- makeInstance: (wrap) => new TestItemCollectionFixtureInstance(wrap),
64
- teardownInstance: (instance) => {
65
- // instance.fixture.parent.instance.clearFirestore();
66
- }
67
- // TODO: Utilize config here using the setup/teardown later if needed.
68
- });
69
- }
70
- exports.testWithTestItemFixture = testWithTestItemFixture;
71
- /**
72
- * Tests within an authorized context.
73
- */
74
- exports.authorizedTestWithTestItemCollection = testWithTestItemFixture()(firebase_context_1.authorizedFirebase);
75
- //# sourceMappingURL=firebase.context.item.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"firebase.context.item.js","sourceRoot":"","sources":["../../../../../packages/firebase/src/test/firebase.context.item.ts"],"names":[],"mappings":";;;AAAA,wCAAoJ;AACpJ,kDAAsJ;AAEtJ,yDAAwD;AACxD,wDAAsE;AACtE,0DAA0F;AAY1F,MAAa,gBAAiB,SAAQ,oCAAmC;CAAI;AAA7E,4CAA6E;AAEhE,QAAA,sBAAsB,GAAG,MAAM,CAAC;AAE7C;;;;;GAKG;AACH,SAAgB,kBAAkB,CAAC,SAAoB;IACrD,OAAO,IAAA,sBAAU,EAAC,SAAS,EAAE,8BAAsB,CAAC,CAAC,aAAa,CAAW;QAC3E,WAAW,CAAC,WAAqC;YAC/C,OAAO;gBACL,IAAI,EAAE,WAAW,CAAC,IAAI,IAAI,KAAK;gBAC/B,KAAK,EAAE,WAAW,CAAC,KAAK,IAAI,IAAI;aACjC,CAAC;QACJ,CAAC;QACD,aAAa,CAAC,QAA6C,EAAE,OAAyB;YACpF,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAa;gBACvB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK;gBAC3B,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI;aAC7B,CAAC;YACF,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAjBD,gDAiBC;AAID,SAAgB,2BAA2B,CAAC,SAAoB;IAC9D,OAAO,IAAA,mCAAuB,EAAC;QAC7B,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE,kBAAkB,CAAC,SAAS,CAAC;QACzC,YAAY,EAAE,CAAC,CAA0C,EAAE,EAAE,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC;KACtF,CAAC,CAAC;AACL,CAAC;AAND,kEAMC;AAED,kCAAkC;AAClC,MAAa,iCAAiC;IAI5C,YAAqB,OAAkC;QAAlC,YAAO,GAAP,OAAO,CAA2B;QAF9C,uBAAkB,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAErB,CAAC;CAE7D;AAND,8EAMC;AAED;;GAEG;AACH,MAAa,yBAA0B,SAAQ,yCAAoG;CAAI;AAAvJ,8DAAuJ;AAIvJ,SAAgB,uBAAuB,CAAC,MAAgD;IACtF,OAAO,IAAA,yCAAkC,EAAC;QACxC,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,yBAAyB,CAAC,OAAO,CAAC;QAChE,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,iCAAiC,CAAC,IAAI,CAAC;QACnE,gBAAgB,EAAE,CAAC,QAA2C,EAAE,EAAE;YAChE,qDAAqD;QACvD,CAAC;QACD,sEAAsE;KACvE,CAAC,CAAC;AACL,CAAC;AATD,0DASC;AAED;;GAEG;AACU,QAAA,oCAAoC,GAAG,uBAAuB,EAAE,CAAC,qCAAkB,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"firebase.context.js","sourceRoot":"","sources":["../../../../../packages/firebase/src/test/firebase.context.ts"],"names":[],"mappings":";;;AACA,yCAAgF;AAEnE,QAAA,mCAAmC,GAAG,GAAG,CAAC;AAI1C,QAAA,kBAAkB,GAA+B,IAAA,8BAAmB,EAAC;IAChF,eAAe,EAAE;QACf,SAAS,EAAE;YACT,KAAK,EAAE;;;;;;;;;OASN;SACF;KACF;IACD,YAAY,EAAE,EAAE,MAAM,EAAE,2CAAmC,EAAE;CAC9D,CAAC,CAAC"}
@@ -1,29 +0,0 @@
1
- import { Firestore } from '@firebase/firestore';
2
- import { TestEnvironmentConfig, RulesTestEnvironment, RulesTestContext, TokenOptions } from "@firebase/rules-unit-testing";
3
- import { AbstractJestTestContextFixture, Maybe } from "@dereekb/util";
4
- export interface FirebaseTestingRulesContextConfig {
5
- userId: string;
6
- tokenOptions?: Maybe<TokenOptions>;
7
- }
8
- export interface FirebaseTestingConfig {
9
- testEnvironment: TestEnvironmentConfig;
10
- rulesContext?: Maybe<FirebaseTestingRulesContextConfig>;
11
- retainFirestoreBetweenTests?: boolean;
12
- }
13
- export declare class FirebaseTestInstance {
14
- readonly rulesTestEnvironment: RulesTestEnvironment;
15
- readonly rulesTestContext: RulesTestContext;
16
- private readonly _firestore;
17
- constructor(rulesTestEnvironment: RulesTestEnvironment, rulesTestContext: RulesTestContext);
18
- get firestore(): Firestore;
19
- clearFirestore(): Promise<void>;
20
- }
21
- export declare class FirebaseTestingContextFixture extends AbstractJestTestContextFixture<FirebaseTestInstance> {
22
- get firestore(): Firestore;
23
- }
24
- /**
25
- * A JestTestContextBuilderFunction for building firebase test context factories.
26
- *
27
- * This can be used to easily build a testing context that sets up RulesTestEnvironment for tests that sets itself up and tears itself down.
28
- */
29
- export declare const firebaseTestBuilder: import("@dereekb/util").JestTestContextBuilderFunction<FirebaseTestInstance, FirebaseTestingContextFixture, FirebaseTestingConfig>;
@@ -1,67 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.firebaseTestBuilder = exports.FirebaseTestingContextFixture = exports.FirebaseTestInstance = void 0;
4
- const tslib_1 = require("tslib");
5
- const rules_unit_testing_1 = require("@firebase/rules-unit-testing");
6
- const util_1 = require("@dereekb/util");
7
- class FirebaseTestInstance {
8
- constructor(rulesTestEnvironment, rulesTestContext) {
9
- this.rulesTestEnvironment = rulesTestEnvironment;
10
- this.rulesTestContext = rulesTestContext;
11
- this._firestore = this.rulesTestContext.firestore();
12
- }
13
- get firestore() {
14
- return this._firestore;
15
- }
16
- clearFirestore() {
17
- return this.rulesTestEnvironment.clearFirestore();
18
- }
19
- }
20
- exports.FirebaseTestInstance = FirebaseTestInstance;
21
- class FirebaseTestingContextFixture extends util_1.AbstractJestTestContextFixture {
22
- // MARK: From Instance
23
- get firestore() {
24
- return this.instance.firestore;
25
- }
26
- }
27
- exports.FirebaseTestingContextFixture = FirebaseTestingContextFixture;
28
- /**
29
- * A JestTestContextBuilderFunction for building firebase test context factories.
30
- *
31
- * This can be used to easily build a testing context that sets up RulesTestEnvironment for tests that sets itself up and tears itself down.
32
- */
33
- exports.firebaseTestBuilder = (0, util_1.jestTestContextBuilder)({
34
- buildConfig: (input) => {
35
- var _a;
36
- const config = {
37
- testEnvironment: (_a = input === null || input === void 0 ? void 0 : input.testEnvironment) !== null && _a !== void 0 ? _a : {},
38
- rulesContext: input === null || input === void 0 ? void 0 : input.rulesContext
39
- };
40
- return config;
41
- },
42
- buildFixture: () => new FirebaseTestingContextFixture(),
43
- setupInstance: (config) => (0, tslib_1.__awaiter)(void 0, void 0, void 0, function* () {
44
- const rulesTestEnv = yield (0, rules_unit_testing_1.initializeTestEnvironment)(config.testEnvironment);
45
- const rulesTestContext = rulesTestContextForConfig(rulesTestEnv, config.rulesContext);
46
- return new FirebaseTestInstance(rulesTestEnv, rulesTestContext);
47
- }),
48
- teardownInstance: (instance, config) => (0, tslib_1.__awaiter)(void 0, void 0, void 0, function* () {
49
- if (config.retainFirestoreBetweenTests !== true) {
50
- yield instance.clearFirestore(); // Clear the firestore
51
- }
52
- yield instance.rulesTestEnvironment.cleanup(); // Cleanup
53
- })
54
- });
55
- // MARK: Internal
56
- function rulesTestContextForConfig(rulesTestEnv, testingRulesConfig) {
57
- var _a;
58
- let rulesTestContext;
59
- if (testingRulesConfig != null) {
60
- rulesTestContext = rulesTestEnv.authenticatedContext(testingRulesConfig.userId, (_a = testingRulesConfig.tokenOptions) !== null && _a !== void 0 ? _a : undefined);
61
- }
62
- else {
63
- rulesTestContext = rulesTestEnv.unauthenticatedContext();
64
- }
65
- return rulesTestContext;
66
- }
67
- //# sourceMappingURL=firebase.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"firebase.js","sourceRoot":"","sources":["../../../../../packages/firebase/src/test/firebase.ts"],"names":[],"mappings":";;;;AACA,qEAMsC;AAEtC,wCAAsH;AAetH,MAAa,oBAAoB;IAI/B,YAAqB,oBAA0C,EAAW,gBAAkC;QAAvF,yBAAoB,GAApB,oBAAoB,CAAsB;QAAW,qBAAgB,GAAhB,gBAAgB,CAAkB;QAF3F,eAAU,GAAc,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAS,CAAC;IAE8B,CAAC;IAEjH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,oBAAoB,CAAC,cAAc,EAAE,CAAC;IACpD,CAAC;CAIF;AAhBD,oDAgBC;AAED,MAAa,6BAA8B,SAAQ,qCAAoD;IAErG,sBAAsB;IACtB,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;IACjC,CAAC;CAEF;AAPD,sEAOC;AAED;;;;GAIG;AACU,QAAA,mBAAmB,GAAG,IAAA,6BAAsB,EAA6E;IACpI,WAAW,EAAE,CAAC,KAAsC,EAAE,EAAE;;QACtD,MAAM,MAAM,GAA0B;YACpC,eAAe,EAAE,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,eAAe,mCAAI,EAAE;YAC7C,YAAY,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,YAAY;SAClC,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,6BAA6B,EAAE;IACvD,aAAa,EAAE,CAAO,MAAM,EAAE,EAAE;QAC9B,MAAM,YAAY,GAAG,MAAM,IAAA,8CAAyB,EAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAC7E,MAAM,gBAAgB,GAAG,yBAAyB,CAAC,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;QACtF,OAAO,IAAI,oBAAoB,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;IAClE,CAAC,CAAA;IACD,gBAAgB,EAAE,CAAO,QAAQ,EAAE,MAAM,EAAE,EAAE;QAC3C,IAAI,MAAM,CAAC,2BAA2B,KAAK,IAAI,EAAE;YAC/C,MAAM,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAE,sBAAsB;SACzD;QAED,MAAM,QAAQ,CAAC,oBAAoB,CAAC,OAAO,EAAE,CAAC,CAAE,UAAU;IAC5D,CAAC,CAAA;CACF,CAAC,CAAC;AAEH,iBAAiB;AACjB,SAAS,yBAAyB,CAAC,YAAkC,EAAE,kBAA6D;;IAClI,IAAI,gBAAkC,CAAC;IAEvC,IAAI,kBAAkB,IAAI,IAAI,EAAE;QAC9B,gBAAgB,GAAG,YAAY,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAA,kBAAkB,CAAC,YAAY,mCAAI,SAAS,CAAC,CAAC;KAC/H;SAAM;QACL,gBAAgB,GAAG,YAAY,CAAC,sBAAsB,EAAE,CAAC;KAC1D;IAED,OAAO,gBAAgB,CAAC;AAC1B,CAAC"}
@@ -1,3 +0,0 @@
1
- export * from './firebase';
2
- export * from './firebase.context';
3
- export * from './firebase.context.item';