@dereekb/firebase 5.0.0 → 5.2.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 (112) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/package.json +5 -5
  3. package/src/lib/client/firestore/driver.accessor.batch.d.ts +3 -3
  4. package/src/lib/client/firestore/driver.accessor.batch.js +1 -1
  5. package/src/lib/client/firestore/driver.accessor.batch.js.map +1 -1
  6. package/src/lib/client/firestore/driver.accessor.d.ts +1 -1
  7. package/src/lib/client/firestore/driver.accessor.default.d.ts +3 -3
  8. package/src/lib/client/firestore/driver.accessor.default.js +1 -1
  9. package/src/lib/client/firestore/driver.accessor.default.js.map +1 -1
  10. package/src/lib/client/firestore/driver.accessor.js +1 -0
  11. package/src/lib/client/firestore/driver.accessor.js.map +1 -1
  12. package/src/lib/client/firestore/driver.accessor.transaction.d.ts +3 -3
  13. package/src/lib/client/firestore/driver.accessor.transaction.js +1 -1
  14. package/src/lib/client/firestore/driver.accessor.transaction.js.map +1 -1
  15. package/src/lib/client/firestore/driver.query.d.ts +3 -3
  16. package/src/lib/client/firestore/driver.query.js +2 -2
  17. package/src/lib/client/firestore/driver.query.js.map +1 -1
  18. package/src/lib/client/firestore/firestore.d.ts +1 -1
  19. package/src/lib/client/function/function.factory.d.ts +1 -1
  20. package/src/lib/client/function/function.factory.js.map +1 -1
  21. package/src/lib/common/firestore/accessor/accessor.batch.d.ts +2 -2
  22. package/src/lib/common/firestore/accessor/accessor.d.ts +2 -2
  23. package/src/lib/common/firestore/accessor/accessor.default.d.ts +1 -1
  24. package/src/lib/common/firestore/accessor/accessor.js.map +1 -1
  25. package/src/lib/common/firestore/accessor/accessor.transaction.d.ts +2 -2
  26. package/src/lib/common/firestore/accessor/context.batch.d.ts +2 -2
  27. package/src/lib/common/firestore/accessor/context.d.ts +1 -1
  28. package/src/lib/common/firestore/accessor/context.default.d.ts +1 -1
  29. package/src/lib/common/firestore/accessor/context.transaction.d.ts +2 -2
  30. package/src/lib/common/firestore/accessor/document.d.ts +56 -27
  31. package/src/lib/common/firestore/accessor/document.js +40 -23
  32. package/src/lib/common/firestore/accessor/document.js.map +1 -1
  33. package/src/lib/common/firestore/accessor/document.utility.d.ts +5 -5
  34. package/src/lib/common/firestore/accessor/document.utility.js +4 -4
  35. package/src/lib/common/firestore/accessor/document.utility.js.map +1 -1
  36. package/src/lib/common/firestore/collection/collection.d.ts +20 -13
  37. package/src/lib/common/firestore/collection/collection.group.d.ts +20 -0
  38. package/src/lib/common/firestore/collection/collection.group.js +31 -0
  39. package/src/lib/common/firestore/collection/collection.group.js.map +1 -0
  40. package/src/lib/common/firestore/collection/collection.js +6 -5
  41. package/src/lib/common/firestore/collection/collection.js.map +1 -1
  42. package/src/lib/common/firestore/collection/collection.query.d.ts +7 -7
  43. package/src/lib/common/firestore/collection/collection.query.js +3 -3
  44. package/src/lib/common/firestore/collection/collection.query.js.map +1 -1
  45. package/src/lib/common/firestore/collection/index.d.ts +1 -0
  46. package/src/lib/common/firestore/collection/index.js +1 -0
  47. package/src/lib/common/firestore/collection/index.js.map +1 -1
  48. package/src/lib/common/firestore/collection/subcollection.d.ts +1 -1
  49. package/src/lib/common/firestore/collection/subcollection.js +1 -0
  50. package/src/lib/common/firestore/collection/subcollection.js.map +1 -1
  51. package/src/lib/common/firestore/collection/subcollection.single.d.ts +1 -1
  52. package/src/lib/common/firestore/collection/subcollection.single.js.map +1 -1
  53. package/src/lib/common/firestore/context.d.ts +7 -3
  54. package/src/lib/common/firestore/context.js +7 -1
  55. package/src/lib/common/firestore/context.js.map +1 -1
  56. package/src/lib/common/firestore/driver/accessor.d.ts +3 -1
  57. package/src/lib/common/firestore/driver/driver.d.ts +2 -2
  58. package/src/lib/common/firestore/driver/query.d.ts +2 -2
  59. package/src/lib/common/firestore/driver/query.handler.d.ts +1 -1
  60. package/src/lib/common/firestore/driver/query.handler.js.map +1 -1
  61. package/src/lib/common/firestore/query/accumulator.d.ts +4 -4
  62. package/src/lib/common/firestore/query/accumulator.js +1 -1
  63. package/src/lib/common/firestore/query/accumulator.js.map +1 -1
  64. package/src/lib/common/firestore/query/constraint.d.ts +1 -1
  65. package/src/lib/common/firestore/query/constraint.js +2 -2
  66. package/src/lib/common/firestore/query/constraint.js.map +1 -1
  67. package/src/lib/common/firestore/query/iterator.d.ts +4 -4
  68. package/src/lib/common/firestore/query/iterator.js +10 -9
  69. package/src/lib/common/firestore/query/iterator.js.map +1 -1
  70. package/src/lib/common/firestore/query/query.d.ts +5 -5
  71. package/src/lib/common/firestore/query/query.js +2 -2
  72. package/src/lib/common/firestore/query/query.js.map +1 -1
  73. package/src/lib/common/firestore/query/query.util.d.ts +1 -1
  74. package/src/lib/common/firestore/query/query.util.js +2 -3
  75. package/src/lib/common/firestore/query/query.util.js.map +1 -1
  76. package/src/lib/common/firestore/query/watcher.d.ts +1 -1
  77. package/src/lib/common/firestore/query/watcher.js +1 -1
  78. package/src/lib/common/firestore/query/watcher.js.map +1 -1
  79. package/src/lib/common/firestore/reference.d.ts +8 -2
  80. package/src/lib/common/firestore/snapshot/snapshot.d.ts +2 -2
  81. package/src/lib/common/firestore/snapshot/snapshot.field.js +12 -12
  82. package/src/lib/common/firestore/snapshot/snapshot.field.js.map +1 -1
  83. package/src/lib/common/firestore/snapshot/snapshot.js.map +1 -1
  84. package/src/lib/common/firestore/types.d.ts +7 -2
  85. package/src/lib/common/firestore/types.js +0 -3
  86. package/src/lib/common/firestore/types.js.map +1 -1
  87. package/src/lib/common/function/action.d.ts +1 -1
  88. package/src/lib/model/user.d.ts +1 -1
  89. package/test/CHANGELOG.md +18 -0
  90. package/test/package.json +7 -7
  91. package/test/src/lib/client/firestore.d.ts +1 -1
  92. package/test/src/lib/client/firestore.js.map +1 -1
  93. package/test/src/lib/common/firestore.d.ts +3 -0
  94. package/test/src/lib/common/firestore.js +15 -6
  95. package/test/src/lib/common/firestore.js.map +1 -1
  96. package/test/src/lib/common/firestore.mock.d.ts +2 -2
  97. package/test/src/lib/common/firestore.mock.item.d.ts +5 -1
  98. package/test/src/lib/common/firestore.mock.item.fixture.d.ts +1 -0
  99. package/test/src/lib/common/firestore.mock.item.fixture.js +4 -1
  100. package/test/src/lib/common/firestore.mock.item.fixture.js.map +1 -1
  101. package/test/src/lib/common/firestore.mock.item.js +16 -2
  102. package/test/src/lib/common/firestore.mock.item.js.map +1 -1
  103. package/test/src/lib/common/firestore.mock.js.map +1 -1
  104. package/test/src/lib/common/test.driver.accessor.d.ts +1 -1
  105. package/test/src/lib/common/test.driver.accessor.js +6 -6
  106. package/test/src/lib/common/test.driver.accessor.js.map +1 -1
  107. package/test/src/lib/common/test.driver.query.d.ts +1 -1
  108. package/test/src/lib/common/test.driver.query.js +126 -13
  109. package/test/src/lib/common/test.driver.query.js.map +1 -1
  110. package/test/src/lib/common/test.iterator.d.ts +1 -1
  111. package/test/src/lib/common/test.iterator.js +8 -8
  112. package/test/src/lib/common/test.iterator.js.map +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,29 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ # [5.2.0](https://github.com/dereekb/dbx-components/compare/v5.1.0-dev...v5.2.0) (2022-05-29)
6
+
7
+
8
+ ### Features
9
+
10
+ * added collection group support to dbx-firebase components ([9f746c1](https://github.com/dereekb/dbx-components/commit/9f746c12a0e219970dcde12d920f1ef540514ce9))
11
+ * added firestore collection group support ([3b4c4cf](https://github.com/dereekb/dbx-components/commit/3b4c4cfa1dd860604c347ade69acdc2fea1063f8))
12
+
13
+
14
+
15
+ # [5.1.0](https://github.com/dereekb/dbx-components/compare/v5.0.1-dev...v5.1.0) (2022-05-27)
16
+
17
+
18
+
19
+ ## [5.0.1](https://github.com/dereekb/dbx-components/compare/v5.0.0-dev...v5.0.1) (2022-05-26)
20
+
21
+
22
+ ### Bug Fixes
23
+
24
+ * setup-project fixes ([d700370](https://github.com/dereekb/dbx-components/commit/d700370301483b64cf561ab3fe9b0492c697cd45))
25
+
26
+
27
+
5
28
  # [5.0.0](https://github.com/dereekb/dbx-components/compare/v4.1.0-dev...v5.0.0) (2022-05-25)
6
29
 
7
30
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dereekb/firebase",
3
- "version": "5.0.0",
3
+ "version": "5.2.0",
4
4
  "devDependencies": {
5
5
  "@firebase/rules-unit-testing": "^2.0.0"
6
6
  },
@@ -22,18 +22,18 @@
22
22
  "rxjs": "^7.0.0",
23
23
  "rxfire": "^6.0.3",
24
24
  "firebase": "^9.8.0",
25
- "@dereekb/util": "5.0.0",
25
+ "@dereekb/util": "5.2.0",
26
26
  "make-error": "^1.3.0",
27
27
  "extra-set": "^2.2.11",
28
- "@dereekb/rxjs": "5.0.0",
28
+ "@dereekb/rxjs": "5.2.0",
29
29
  "ms": "^3.0.0-canary.1",
30
- "@dereekb/date": "5.0.0",
30
+ "@dereekb/date": "5.2.0",
31
31
  "class-transformer": "^0.5.1",
32
32
  "date-fns": "^2.28.0",
33
33
  "class-validator": "^0.13.2",
34
34
  "date-fns-tz": "^1.3.0",
35
35
  "rrule": "git+https://git@github.com/dereekb/rrule.git#17adf5708d6567b4d01a3a8afd106261421ea492",
36
- "@dereekb/model": "5.0.0",
36
+ "@dereekb/model": "5.2.0",
37
37
  "tslib": "^2.0.0"
38
38
  }
39
39
  }
@@ -1,6 +1,6 @@
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";
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
4
  /**
5
5
  * FirestoreDocumentDataAccessor implementation for a batch.
6
6
  */
@@ -17,7 +17,7 @@ class WriteBatchFirestoreDocumentDataAccessor {
17
17
  return (0, rxjs_1.from)(this.get());
18
18
  }
19
19
  exists() {
20
- return this.get().then(x => x.exists());
20
+ return this.get().then((x) => x.exists());
21
21
  }
22
22
  get() {
23
23
  return (0, firestore_1.getDoc)(this.documentRef);
@@ -1 +1 @@
1
- {"version":3,"file":"driver.accessor.batch.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/client/firestore/driver.accessor.batch.ts"],"names":[],"mappings":";;;AAAA,mDAAgK;AAChK,+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,IAAyB;QAC9B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,IAA8B,CAAC,CAAC;QACpE,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"}
1
+ {"version":3,"file":"driver.accessor.batch.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/client/firestore/driver.accessor.batch.ts"],"names":[],"mappings":";;;AAAA,mDAAgK;AAChK,+BAAwC;AACxC,sDAA6M;AAE7M,iBAAiB;AACjB;;GAEG;AACH,MAAa,uCAAuC;IAClD,YAAqB,KAAkC,EAAW,WAAiC;QAA9E,UAAK,GAAL,KAAK,CAA6B;QAAW,gBAAW,GAAX,WAAW,CAAsB;IAAG,CAAC;IAEvG,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,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,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,IAAyB;QAC9B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,IAA8B,CAAC,CAAC;QACpE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CACF;AA7BD,0FA6BC;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;IAI7C,YAAqB,KAAkC;QAAlC,UAAK,GAAL,KAAK,CAA6B;QAH9C,gBAAW,GAAG,wCAA4B,CAAC,KAAK,CAAC;QACjD,oBAAe,GAAG,yBAAyB,CAAI,IAAI,CAAC,KAAK,CAAC,CAAC;IAEV,CAAC;CAC5D;AALD,gFAKC;AAED,SAAgB,yBAAyB,CAAI,KAAkC;IAC7E,OAAO,IAAI,kCAAkC,CAAI,KAAK,CAAC,CAAC;AAC1D,CAAC;AAFD,8DAEC"}
@@ -1,2 +1,2 @@
1
- import { FirestoreAccessorDriver } from "../../common/firestore/driver/accessor";
1
+ import { FirestoreAccessorDriver } from '../../common/firestore/driver/accessor';
2
2
  export declare function firestoreClientAccessorDriver(): FirestoreAccessorDriver;
@@ -1,6 +1,6 @@
1
- import { DocumentReference, DocumentSnapshot, UpdateData, WithFieldValue } from "@firebase/firestore";
2
- import { Observable } from "rxjs";
3
- import { FirestoreDocumentContext, FirestoreDocumentDataAccessor, FirestoreDocumentDataAccessorFactory, SetOptions } from "../../common/firestore";
1
+ import { DocumentReference, DocumentSnapshot, UpdateData, WithFieldValue } from '@firebase/firestore';
2
+ import { Observable } from 'rxjs';
3
+ import { FirestoreDocumentContext, FirestoreDocumentDataAccessor, FirestoreDocumentDataAccessorFactory, SetOptions } from '../../common/firestore';
4
4
  export declare class DefaultFirestoreDocumentDataAccessor<T> implements FirestoreDocumentDataAccessor<T> {
5
5
  readonly documentRef: DocumentReference<T>;
6
6
  constructor(documentRef: DocumentReference<T>);
@@ -13,7 +13,7 @@ class DefaultFirestoreDocumentDataAccessor {
13
13
  return (0, firestore_2.fromRef)(this.documentRef);
14
14
  }
15
15
  exists() {
16
- return this.get().then(x => x.exists());
16
+ return this.get().then((x) => x.exists());
17
17
  }
18
18
  get() {
19
19
  return (0, firestore_1.getDoc)(this.documentRef);
@@ -1 +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,IAAyB;QAC9B,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"}
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;IAC/C,YAAqB,WAAiC;QAAjC,gBAAW,GAAX,WAAW,CAAsB;IAAG,CAAC;IAE1D,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,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,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,IAAyB;QAC9B,OAAO,IAAA,qBAAS,EAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;CACF;AA1BD,oFA0BC;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,CAAC;AACJ,CAAC;AALD,0EAKC"}
@@ -10,6 +10,7 @@ const driver_accessor_transaction_1 = require("./driver.accessor.transaction");
10
10
  function firestoreClientAccessorDriver() {
11
11
  return {
12
12
  doc: firestore_2.doc,
13
+ collectionGroup: firestore_2.collectionGroup,
13
14
  collection: firestore_2.collection,
14
15
  subcollection: firestore_2.collection,
15
16
  transactionFactoryForFirestore: (firestore) => (fn) => tslib_1.__awaiter(this, void 0, void 0, function* () { return yield (0, firestore_1.runTransaction)(firestore, fn); }),
@@ -1 +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;AAI3E,SAAgB,6BAA6B;IAC3C,OAAO;QACL,GAAG,EAAE,eAA4D;QACjE,UAAU,EAAE,sBAAqE;QACjF,aAAa,EAAE,sBAAwE;QACvF,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,wDAAwE;QACnG,wBAAwB,EAAE,iDAAiF;KAC5G,CAAC;AACJ,CAAC;AAXD,sEAWC"}
1
+ {"version":3,"file":"driver.accessor.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/client/firestore/driver.accessor.ts"],"names":[],"mappings":";;;;AAAA,mDAAgE;AAChE,kDAA+F;AAG/F,mEAAoE;AACpE,uEAA4E;AAC5E,+EAA2E;AAI3E,SAAgB,6BAA6B;IAC3C,OAAO;QACL,GAAG,EAAE,eAA4D;QACjE,eAAe,EAAE,2BAA4E;QAC7F,UAAU,EAAE,sBAAqE;QACjF,aAAa,EAAE,sBAAwE;QACvF,8BAA8B,EAC5B,CAAC,SAAS,EAAE,EAAE,CACd,CAAU,EAA0B,EAAE,EAAE,wDACtC,OAAA,MAAM,IAAA,0BAAc,EAAC,SAAsB,EAAE,EAA8C,CAAC,CAAA,GAAA;QAChG,6BAA6B,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,IAAA,sBAAU,EAAC,SAAsB,CAAC;QACtF,qBAAqB,EAAE,yDAA+B;QACtD,yBAAyB,EAAE,wDAAwE;QACnG,wBAAwB,EAAE,iDAAiF;KAC5G,CAAC;AACJ,CAAC;AAfD,sEAeC"}
@@ -1,6 +1,6 @@
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";
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
4
  /**
5
5
  * FirestoreDocumentDataAccessor implementation for a transaction.
6
6
  */
@@ -16,7 +16,7 @@ class TransactionFirestoreDocumentDataAccessor {
16
16
  return (0, rxjs_1.from)(this.get());
17
17
  }
18
18
  exists() {
19
- return this.get().then(x => x.exists());
19
+ return this.get().then((x) => x.exists());
20
20
  }
21
21
  get() {
22
22
  return this.transaction.get(this.documentRef);
@@ -1 +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,IAAyB;QAC9B,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"}
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;IACnD,YAAqB,WAAyC,EAAW,WAAiC;QAArF,gBAAW,GAAX,WAAW,CAA8B;QAAW,gBAAW,GAAX,WAAW,CAAsB;IAAG,CAAC;IAE9G,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,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,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,IAAyB;QAC9B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAChD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CACF;AA7BD,4FA6BC;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;IAI9C,YAAqB,WAAyC;QAAzC,gBAAW,GAAX,WAAW,CAA8B;QAHrD,gBAAW,GAAG,wCAA4B,CAAC,WAAW,CAAC;QACvD,oBAAe,GAAG,0BAA0B,CAAI,IAAI,CAAC,WAAW,CAAC,CAAC;IAEV,CAAC;CACnE;AALD,kFAKC;AAED,SAAgB,0BAA0B,CAAI,WAAyC;IACrF,OAAO,IAAI,mCAAmC,CAAI,WAAW,CAAC,CAAC;AACjE,CAAC;AAFD,gEAEC"}
@@ -1,8 +1,8 @@
1
1
  import { ArrayOrValue } from '@dereekb/util';
2
- import { QueryConstraint } from "firebase/firestore";
2
+ import { QueryConstraint } from 'firebase/firestore';
3
3
  import { FullFirestoreQueryConstraintHandlersMapping } from './../../common/firestore/query/constraint';
4
- import { FirestoreQueryConstraintFunctionsDriver, FirestoreQueryDriver } from "../../common/firestore/driver/query";
5
- import { Query } from "../../common/firestore/types";
4
+ import { FirestoreQueryConstraintFunctionsDriver, FirestoreQueryDriver } from '../../common/firestore/driver/query';
5
+ import { Query } from '../../common/firestore/types';
6
6
  export interface FirebaseFirestoreQueryBuilder {
7
7
  query: Query;
8
8
  constraints: QueryConstraint[];
@@ -21,7 +21,7 @@ exports.FIRESTORE_CLIENT_QUERY_CONSTRAINT_HANDLER_MAPPING = {
21
21
  [constraint_1.FIRESTORE_START_AT_QUERY_CONSTRAINT_TYPE]: (builder, data) => addConstraintToBuilder(builder, (0, firestore_1.startAt)(data.snapshot)),
22
22
  [constraint_1.FIRESTORE_START_AFTER_QUERY_CONSTRAINT_TYPE]: (builder, data) => addConstraintToBuilder(builder, (0, firestore_1.startAfter)(data.snapshot)),
23
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)),
24
+ [constraint_1.FIRESTORE_END_BEFORE_QUERY_CONSTRAINT_TYPE]: (builder, data) => addConstraintToBuilder(builder, (0, firestore_1.endBefore)(data.snapshot))
25
25
  };
26
26
  function firebaseFirestoreQueryConstraintFunctionsDriver() {
27
27
  return (0, query_handler_1.makeFirestoreQueryConstraintFunctionsDriver)({
@@ -40,7 +40,7 @@ function firebaseFirestoreQueryDriver() {
40
40
  return (0, firestore_1.getDocs)(query);
41
41
  },
42
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));
43
+ return (0, query_util_1.streamFromOnSnapshot)((obs) => (options ? (0, firestore_1.onSnapshot)(query, options, obs) : (0, firestore_1.onSnapshot)(query, obs)));
44
44
  } });
45
45
  }
46
46
  exports.firebaseFirestoreQueryDriver = firebaseFirestoreQueryDriver;
@@ -1 +1 @@
1
- {"version":3,"file":"driver.query.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/client/firestore/driver.query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"driver.query.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/client/firestore/driver.query.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { FirestoreContextFactory } from "../../common/firestore/context";
1
+ import { FirestoreContextFactory } from '../../common/firestore/context';
2
2
  /**
3
3
  * Creates a FirestoreContextFactory that uses the @firebase/firebase package.
4
4
  */
@@ -1,5 +1,5 @@
1
1
  import { ClassLikeType, Getter, Maybe } from '@dereekb/util';
2
- import { Functions, HttpsCallableOptions } from "firebase/functions";
2
+ import { Functions, HttpsCallableOptions } from 'firebase/functions';
3
3
  import { FirebaseFunctionMap, FirebaseFunctionTypeMap } from './function';
4
4
  export interface FirebaseFunctionTypeConfig {
5
5
  options?: HttpsCallableOptions;
@@ -1 +1 @@
1
- {"version":3,"file":"function.factory.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/client/function/function.factory.ts"],"names":[],"mappings":";;;AAAA,wCAAyF;AACzF,kDAAoF;AAiBpF,SAAgB,0BAA0B,CAAoC,SAA2C;IACvH,OAAO,CAAC,iBAA4B,EAAE,EAAE;QACtC,MAAM,KAAK,GAAG,CAAoB,MAA2C,EAAE,GAAM,EAAE,EAAE;YACvF,IAAI,mBAAqD,CAAC;YAE1D,IAAI,MAAM,EAAE;gBACV,mBAAmB,GAAG,MAAM,CAAC,OAAO,CAAC;aACtC;YAED,MAAM,EAAE,GAAsC,IAAA,yBAAa,EAAC,iBAAiB,EAAE,GAAa,EAAE,mBAAmB,CAAC,CAAC;YACnH,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;QAEF,MAAM,MAAM,GAAG,IAAA,mBAAY,EAAmC,SAAS,EAAE,KAAK,CAA2B,CAAC;QAC1G,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAhBD,gEAgBC;AA+BD,SAAgB,4BAA4B,CAA0G,SAAY;IAChK,OAAO,CAAC,SAAoB,EAAE,EAAE;QAE9B,MAAM,KAAK,GAAG,CAAoB,MAA6C,EAAE,GAAM,EAAE,EAAE;YACzF,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACvB,MAAM,OAAO,GAAqC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC5D,MAAM,MAAM,GAAG,IAAA,mBAAY,EAAC,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAA4C,CAAC;YACjG,MAAM,CAAC,KAAK,GAAG,IAA2B,CAAC;YAC3C,MAAM,CAAC,IAAI,GAAG,GAAa,CAAC;YAC5B,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;QAEF,MAAM,MAAM,GAA6B,IAAA,mBAAY,EAAC,SAAS,EAAE,KAAY,CAAC,CAAC;QAC/E,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAfD,oEAeC"}
1
+ {"version":3,"file":"function.factory.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/client/function/function.factory.ts"],"names":[],"mappings":";;;AAAA,wCAAyF;AACzF,kDAAoF;AAiBpF,SAAgB,0BAA0B,CAAoC,SAA2C;IACvH,OAAO,CAAC,iBAA4B,EAAE,EAAE;QACtC,MAAM,KAAK,GAAG,CAAoB,MAA2C,EAAE,GAAM,EAAE,EAAE;YACvF,IAAI,mBAAqD,CAAC;YAE1D,IAAI,MAAM,EAAE;gBACV,mBAAmB,GAAG,MAAM,CAAC,OAAO,CAAC;aACtC;YAED,MAAM,EAAE,GAAsC,IAAA,yBAAa,EAAC,iBAAiB,EAAE,GAAa,EAAE,mBAAmB,CAAC,CAAC;YACnH,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;QAEF,MAAM,MAAM,GAAG,IAAA,mBAAY,EAAmC,SAAS,EAAE,KAAK,CAA2B,CAAC;QAC1G,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAhBD,gEAgBC;AA+BD,SAAgB,4BAA4B,CAA0G,SAAY;IAChK,OAAO,CAAC,SAAoB,EAAE,EAAE;QAC9B,MAAM,KAAK,GAAG,CAAoB,MAA6C,EAAE,GAAM,EAAE,EAAE;YACzF,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACvB,MAAM,OAAO,GAAqC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC5D,MAAM,MAAM,GAAG,IAAA,mBAAY,EAAC,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAA4C,CAAC;YACjG,MAAM,CAAC,KAAK,GAAG,IAA2B,CAAC;YAC3C,MAAM,CAAC,IAAI,GAAG,GAAa,CAAC;YAC5B,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;QAEF,MAAM,MAAM,GAA6B,IAAA,mBAAY,EAAC,SAAS,EAAE,KAAY,CAAC,CAAC;QAC/E,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAdD,oEAcC"}
@@ -1,3 +1,3 @@
1
- import { WriteBatch } from "../types";
2
- import { FirestoreDocumentDataAccessorFactory } from "./accessor";
1
+ import { WriteBatch } from '../types';
2
+ import { FirestoreDocumentDataAccessorFactory } from './accessor';
3
3
  export declare type WriteBatchAccessorFactory = <T>(writeBatch: WriteBatch) => FirestoreDocumentDataAccessorFactory<T>;
@@ -1,5 +1,5 @@
1
- import { Maybe } from "@dereekb/util";
2
- import { WriteResult, SnapshotOptions, DocumentReference, DocumentSnapshot, UpdateData, WithFieldValue, PartialWithFieldValue, SetOptions, Precondition, DocumentData } from "../types";
1
+ import { Maybe } from '@dereekb/util';
2
+ import { WriteResult, SnapshotOptions, DocumentReference, DocumentSnapshot, UpdateData, WithFieldValue, PartialWithFieldValue, SetOptions, Precondition, DocumentData } from '../types';
3
3
  import { Observable, OperatorFunction } from 'rxjs';
4
4
  import { DocumentReferenceRef } from '../reference';
5
5
  export interface FirestoreDocumentDeleteParams {
@@ -1,2 +1,2 @@
1
- import { FirestoreDocumentDataAccessorFactory } from "./accessor";
1
+ import { FirestoreDocumentDataAccessorFactory } from './accessor';
2
2
  export declare type DefaultFirestoreAccessorFactory<T> = () => FirestoreDocumentDataAccessorFactory<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"accessor.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/accessor/accessor.ts"],"names":[],"mappings":";;;AAAA,wCAA4C;AAC5C,wCAA6D;AAE7D,+BAAyD;AAgEzD,gBAAgB;AAChB;;;;;;;;GAQG;AACH,SAAgB,sBAAsB,CAAI,MAAuC,EAAE,OAAyB;IAC1G,OAAO,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,IAAA,kBAAW,GAAE,CAAC,CAAC;AAClE,CAAC;AAFD,wDAEC;AAED;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAI,OAAyB;IAC9D,OAAO,IAAA,UAAG,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AACrC,CAAC;AAFD,kDAEC;AAcD,SAAgB,6BAA6B,CAAI,QAA0C;IACzF,OAAO,CAAC,IAAgB,EAAE,EAAE;QAC1B,OAAO,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACvC,IAAI,MAAM,EAAE;gBACV,MAAM,MAAM,GAAG,IAAA,4BAAqB,EAAC,IAAI,CAAC,CAAC;gBAC3C,OAAO,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAyB,CAAC,CAAC;aAChD;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAXD,sEAWC"}
1
+ {"version":3,"file":"accessor.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/accessor/accessor.ts"],"names":[],"mappings":";;;AAAA,wCAA4C;AAC5C,wCAA6D;AAE7D,+BAAyD;AA8DzD,gBAAgB;AAChB;;;;;;;;GAQG;AACH,SAAgB,sBAAsB,CAAI,MAAuC,EAAE,OAAyB;IAC1G,OAAO,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,IAAA,kBAAW,GAAE,CAAC,CAAC;AAClE,CAAC;AAFD,wDAEC;AAED;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAI,OAAyB;IAC9D,OAAO,IAAA,UAAG,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AACrC,CAAC;AAFD,kDAEC;AAcD,SAAgB,6BAA6B,CAAI,QAA0C;IACzF,OAAO,CAAC,IAAgB,EAAE,EAAE;QAC1B,OAAO,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACvC,IAAI,MAAM,EAAE;gBACV,MAAM,MAAM,GAAG,IAAA,4BAAqB,EAAC,IAAI,CAAC,CAAC;gBAC3C,OAAO,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAyB,CAAC,CAAC;aAChD;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAXD,sEAWC"}
@@ -1,3 +1,3 @@
1
- import { Transaction } from "../types";
2
- import { FirestoreDocumentDataAccessorFactory } from "./accessor";
1
+ import { Transaction } from '../types';
2
+ import { FirestoreDocumentDataAccessorFactory } from './accessor';
3
3
  export declare type TransactionAccessorFactory<T = unknown> = (transaction: Transaction) => FirestoreDocumentDataAccessorFactory<T>;
@@ -1,5 +1,5 @@
1
- import { WriteBatch } from "../types";
2
- import { FirestoreDocumentContext, FirestoreDocumentContextType } from "./context";
1
+ import { WriteBatch } from '../types';
2
+ import { FirestoreDocumentContext, FirestoreDocumentContextType } from './context';
3
3
  export declare type WriteBatchFirestoreDocumentContextFactory = <T>(writeBatch: WriteBatch) => WriteBatchFirestoreDocumentContext<T>;
4
4
  export interface WriteBatchFirestoreDocumentContext<T> extends FirestoreDocumentContext<T> {
5
5
  readonly contextType: FirestoreDocumentContextType.BATCH;
@@ -1,4 +1,4 @@
1
- import { FirestoreDocumentDataAccessorFactory } from "./accessor";
1
+ import { FirestoreDocumentDataAccessorFactory } from './accessor';
2
2
  /**
3
3
  * A specific document context type.
4
4
  *
@@ -1,4 +1,4 @@
1
- import { FirestoreDocumentContext, FirestoreDocumentContextType } from "./context";
1
+ import { FirestoreDocumentContext, FirestoreDocumentContextType } from './context';
2
2
  export declare type DefaultFirestoreDocumentContextFactory = <T>() => FirestoreDocumentContext<T>;
3
3
  export interface DefaultFirestoreDocumentContext<T> extends FirestoreDocumentContext<T> {
4
4
  readonly contextType: FirestoreDocumentContextType.NONE;
@@ -1,5 +1,5 @@
1
- import { Transaction } from "../types";
2
- import { FirestoreDocumentContext, FirestoreDocumentContextType } from "./context";
1
+ import { Transaction } from '../types';
2
+ import { FirestoreDocumentContext, FirestoreDocumentContextType } from './context';
3
3
  export declare type TransactionFirestoreDocumentContextFactory = <T>(transaction: Transaction) => TransactionFirestoreDocumentContext<T>;
4
4
  export interface TransactionFirestoreDocumentContext<T> extends FirestoreDocumentContext<T> {
5
5
  readonly contextType: FirestoreDocumentContextType.TRANSACTION;
@@ -4,6 +4,7 @@ import { DocumentReference, CollectionReference, Transaction, WriteBatch, Docume
4
4
  import { FirestoreDocumentDataAccessor } from './accessor';
5
5
  import { CollectionReferenceRef, DocumentReferenceRef } from '../reference';
6
6
  import { FirestoreDocumentContext } from './context';
7
+ import { Maybe } from '@dereekb/util';
7
8
  export interface FirestoreDocument<T, A extends FirestoreDocumentDataAccessor<T> = FirestoreDocumentDataAccessor<T>> extends DocumentReferenceRef<T>, CollectionReferenceRef<T> {
8
9
  readonly accessor: A;
9
10
  readonly id: string;
@@ -11,12 +12,12 @@ export interface FirestoreDocument<T, A extends FirestoreDocumentDataAccessor<T>
11
12
  /**
12
13
  * Abstract FirestoreDocument implementation that extends a FirestoreDocumentDataAccessor.
13
14
  */
14
- export declare abstract class AbstractFirestoreDocument<T, D extends AbstractFirestoreDocument<T, any, any>, A extends FirestoreDocumentDataAccessor<T> = FirestoreDocumentDataAccessor<T>> implements FirestoreDocument<T, A>, FirestoreDocumentAccessorRef<T, D>, CollectionReferenceRef<T> {
15
+ export declare abstract class AbstractFirestoreDocument<T, D extends AbstractFirestoreDocument<T, any, any>, A extends FirestoreDocumentDataAccessor<T> = FirestoreDocumentDataAccessor<T>> implements FirestoreDocument<T, A>, LimitedFirestoreDocumentAccessorRef<T, D>, CollectionReferenceRef<T> {
15
16
  readonly accessor: A;
16
- readonly documentAccessor: FirestoreDocumentAccessor<T, D>;
17
+ readonly documentAccessor: LimitedFirestoreDocumentAccessor<T, D>;
17
18
  readonly stream$: Observable<DocumentSnapshot<T>>;
18
19
  readonly data$: Observable<T>;
19
- constructor(accessor: A, documentAccessor: FirestoreDocumentAccessor<T, D>);
20
+ constructor(accessor: A, documentAccessor: LimitedFirestoreDocumentAccessor<T, D>);
20
21
  get id(): string;
21
22
  get documentRef(): DocumentReference<T>;
22
23
  get collection(): CollectionReference<T>;
@@ -24,21 +25,12 @@ export declare abstract class AbstractFirestoreDocument<T, D extends AbstractFir
24
25
  snapshotData(options?: SnapshotOptions): Promise<T | undefined>;
25
26
  createOrUpdate(data: Partial<T>): Promise<WriteResult | void>;
26
27
  }
27
- export interface FirestoreDocumentAccessorRef<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> {
28
- readonly documentAccessor: FirestoreDocumentAccessor<T, D>;
28
+ export interface LimitedFirestoreDocumentAccessorRef<T, D extends FirestoreDocument<T> = FirestoreDocument<T>, A extends LimitedFirestoreDocumentAccessor<T, D> = LimitedFirestoreDocumentAccessor<T, D>> {
29
+ readonly documentAccessor: A;
29
30
  }
30
- export interface FirestoreDocumentAccessor<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> extends CollectionReferenceRef<T>, FirestoreAccessorDriverRef {
31
+ export declare type FirestoreDocumentAccessorRef<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> = LimitedFirestoreDocumentAccessorRef<T, D, FirestoreDocumentAccessor<T, D>>;
32
+ export interface LimitedFirestoreDocumentAccessor<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> extends FirestoreAccessorDriverRef {
31
33
  readonly databaseContext: FirestoreDocumentContext<T>;
32
- /**
33
- * Creates a new document.
34
- */
35
- newDocument(): D;
36
- /**
37
- * Loads a document from the datastore with the given id/path.
38
- *
39
- * @param ref
40
- */
41
- loadDocumentForPath(path: string, ...pathSegments: string[]): D;
42
34
  /**
43
35
  * Loads a document from the datastore.
44
36
  *
@@ -51,6 +43,19 @@ export interface FirestoreDocumentAccessor<T, D extends FirestoreDocument<T> = F
51
43
  * @param document
52
44
  */
53
45
  loadDocumentFrom(document: FirestoreDocument<T>): D;
46
+ }
47
+ export interface FirestoreDocumentAccessor<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> extends LimitedFirestoreDocumentAccessor<T, D>, CollectionReferenceRef<T>, FirestoreAccessorDriverRef {
48
+ readonly databaseContext: FirestoreDocumentContext<T>;
49
+ /**
50
+ * Creates a new document.
51
+ */
52
+ newDocument(): D;
53
+ /**
54
+ * Loads a document from the datastore with the given id/path.
55
+ *
56
+ * @param ref
57
+ */
58
+ loadDocumentForPath(path: string, ...pathSegments: string[]): D;
54
59
  /**
55
60
  *
56
61
  * @param path
@@ -61,22 +66,37 @@ export interface FirestoreDocumentAccessor<T, D extends FirestoreDocument<T> = F
61
66
  /**
62
67
  * Used to generate a FirestoreDocument from an input FirestoreDocumentDataAccessor instance.
63
68
  */
64
- export declare type FirestoreDocumentFactoryFunction<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> = (accessor: FirestoreDocumentDataAccessor<T>, documentAccessor: FirestoreDocumentAccessor<T, D>) => D;
69
+ export declare type FirestoreDocumentFactoryFunction<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> = (accessor: FirestoreDocumentDataAccessor<T>, documentAccessor: LimitedFirestoreDocumentAccessor<T, D>) => D;
65
70
  /**
66
71
  * Factory function used for creating a FirestoreDocumentAccessor.
67
72
  */
68
- export declare type FirestoreDocumentAccessorFactoryFunction<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> = (context?: FirestoreDocumentContext<T>) => FirestoreDocumentAccessor<T, D>;
73
+ export declare type LimitedFirestoreDocumentAccessorFactoryFunction<T, D extends FirestoreDocument<T> = FirestoreDocument<T>, A extends LimitedFirestoreDocumentAccessor<T, D> = LimitedFirestoreDocumentAccessor<T, D>> = (context?: FirestoreDocumentContext<T>) => A;
69
74
  /**
70
75
  * Factory type used for creating a FirestoreDocumentAccessor.
71
76
  */
72
- export interface FirestoreDocumentAccessorFactory<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> {
77
+ export interface LimitedFirestoreDocumentAccessorFactory<T, D extends FirestoreDocument<T> = FirestoreDocument<T>, A extends LimitedFirestoreDocumentAccessor<T, D> = LimitedFirestoreDocumentAccessor<T, D>> {
73
78
  /**
74
79
  * Creates a new FirestoreDocumentAccessor using the given context.
75
80
  *
76
81
  * @param context Optional context to retrieve items from.
77
82
  */
78
- readonly documentAccessor: FirestoreDocumentAccessorFactoryFunction<T, D>;
83
+ readonly documentAccessor: LimitedFirestoreDocumentAccessorFactoryFunction<T, D, A>;
84
+ }
85
+ /**
86
+ * FirestoreDocumentAccessor configuration.
87
+ */
88
+ export interface LimitedFirestoreDocumentAccessorFactoryConfig<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> extends FirestoreAccessorDriverRef {
89
+ readonly makeDocument: FirestoreDocumentFactoryFunction<T, D>;
79
90
  }
91
+ export declare function limitedFirestoreDocumentAccessorFactory<T, D extends FirestoreDocument<T> = FirestoreDocument<T>>(config: LimitedFirestoreDocumentAccessorFactoryConfig<T, D>): LimitedFirestoreDocumentAccessorFactoryFunction<T, D>;
92
+ /**
93
+ * Factory function used for creating a FirestoreDocumentAccessor.
94
+ */
95
+ export declare type FirestoreDocumentAccessorFactoryFunction<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> = LimitedFirestoreDocumentAccessorFactoryFunction<T, D, FirestoreDocumentAccessor<T, D>>;
96
+ /**
97
+ * Factory type used for creating a FirestoreDocumentAccessor.
98
+ */
99
+ export declare type FirestoreDocumentAccessorFactory<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> = LimitedFirestoreDocumentAccessorFactory<T, D, FirestoreDocumentAccessor<T, D>>;
80
100
  /**
81
101
  * FirestoreDocumentAccessor configuration.
82
102
  */
@@ -84,30 +104,39 @@ export interface FirestoreDocumentAccessorFactoryConfig<T, D extends FirestoreDo
84
104
  readonly makeDocument: FirestoreDocumentFactoryFunction<T, D>;
85
105
  }
86
106
  export declare function firestoreDocumentAccessorFactory<T, D extends FirestoreDocument<T> = FirestoreDocument<T>>(config: FirestoreDocumentAccessorFactoryConfig<T, D>): FirestoreDocumentAccessorFactoryFunction<T, D>;
87
- export interface FirestoreDocumentAccessorForTransactionFactory<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> {
107
+ export interface LimitedFirestoreDocumentAccessorForTransactionFactory<T, D extends FirestoreDocument<T> = FirestoreDocument<T>, A extends LimitedFirestoreDocumentAccessor<T, D> = LimitedFirestoreDocumentAccessor<T, D>> {
88
108
  /**
89
109
  * Creates a new FirestoreDocumentAccessor for a Transaction.
90
110
  */
91
- documentAccessorForTransaction(transaction: Transaction): FirestoreDocumentAccessor<T, D>;
111
+ documentAccessorForTransaction(transaction: Transaction): A;
92
112
  }
93
- export interface FirestoreDocumentAccessorForWriteBatchFactory<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> {
113
+ export declare type FirestoreDocumentAccessorForTransactionFactory<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> = LimitedFirestoreDocumentAccessorForTransactionFactory<T, D, FirestoreDocumentAccessor<T, D>>;
114
+ export interface LimitedFirestoreDocumentAccessorForWriteBatchFactory<T, D extends FirestoreDocument<T> = FirestoreDocument<T>, A extends LimitedFirestoreDocumentAccessor<T, D> = LimitedFirestoreDocumentAccessor<T, D>> {
94
115
  /**
95
116
  * Creates a new FirestoreDocumentAccessor for a WriteBatch.
96
117
  */
97
- documentAccessorForWriteBatch(writeBatch: WriteBatch): FirestoreDocumentAccessor<T, D>;
118
+ documentAccessorForWriteBatch(writeBatch: WriteBatch): A;
119
+ }
120
+ export declare type FirestoreDocumentAccessorForWriteBatchFactory<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> = LimitedFirestoreDocumentAccessorForWriteBatchFactory<T, D, FirestoreDocumentAccessor<T, D>>;
121
+ export interface LimitedFirestoreDocumentAccessorContextExtensionConfig<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> extends FirestoreAccessorDriverRef {
122
+ readonly documentAccessor: LimitedFirestoreDocumentAccessorFactoryFunction<T, D>;
98
123
  }
99
- export interface FirestoreDocumentAccessorContextExtensionConfig<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> extends FirestoreAccessorDriverRef {
124
+ export interface FirestoreDocumentAccessorContextExtensionConfig<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> extends LimitedFirestoreDocumentAccessorContextExtensionConfig<T, D> {
100
125
  readonly documentAccessor: FirestoreDocumentAccessorFactoryFunction<T, D>;
101
126
  }
127
+ export interface LimitedFirestoreDocumentAccessorContextExtension<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> extends LimitedFirestoreDocumentAccessorFactory<T, D>, LimitedFirestoreDocumentAccessorForTransactionFactory<T, D>, LimitedFirestoreDocumentAccessorForWriteBatchFactory<T, D> {
128
+ }
102
129
  export interface FirestoreDocumentAccessorContextExtension<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> extends FirestoreDocumentAccessorFactory<T, D>, FirestoreDocumentAccessorForTransactionFactory<T, D>, FirestoreDocumentAccessorForWriteBatchFactory<T, D> {
103
130
  }
104
131
  export declare function firestoreDocumentAccessorContextExtension<T, D extends FirestoreDocument<T> = FirestoreDocument<T>>({ documentAccessor, firestoreAccessorDriver }: FirestoreDocumentAccessorContextExtensionConfig<T, D>): FirestoreDocumentAccessorContextExtension<T, D>;
132
+ export declare function firestoreDocumentAccessorContextExtension<T, D extends FirestoreDocument<T> = FirestoreDocument<T>>({ documentAccessor, firestoreAccessorDriver }: LimitedFirestoreDocumentAccessorContextExtensionConfig<T, D>): LimitedFirestoreDocumentAccessorContextExtension<T, D>;
105
133
  export interface FirestoreDocumentWithParent<P, T, A extends FirestoreDocumentDataAccessor<T> = FirestoreDocumentDataAccessor<T>> extends FirestoreDocument<T, A> {
106
134
  readonly parent: DocumentReference<P>;
107
135
  }
108
136
  export declare abstract class AbstractFirestoreDocumentWithParent<P, T, D extends AbstractFirestoreDocument<T, any, any>, A extends FirestoreDocumentDataAccessor<T> = FirestoreDocumentDataAccessor<T>> extends AbstractFirestoreDocument<T, D, A> implements FirestoreDocumentWithParent<P, T, A> {
109
- readonly parent: DocumentReference<P>;
110
- constructor(parent: DocumentReference<P>, accessor: A, documentAccessor: FirestoreDocumentAccessor<T, D>);
137
+ private _parent;
138
+ get parent(): DocumentReference<P>;
139
+ constructor(parent: Maybe<DocumentReference<P>>, accessor: A, documentAccessor: LimitedFirestoreDocumentAccessor<T, D>);
111
140
  }
112
141
  export interface FirestoreSingleDocumentAccessor<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> {
113
142
  loadDocument(): D;
@@ -2,8 +2,9 @@
2
2
  /*eslint @typescript-eslint/no-explicit-any:"off"*/
3
3
  // any is used with intent here, as the recursive AbstractFirestoreDocument requires its use to terminate.
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.firestoreSingleDocumentAccessor = exports.AbstractFirestoreDocumentWithParent = exports.firestoreDocumentAccessorContextExtension = exports.firestoreDocumentAccessorFactory = exports.AbstractFirestoreDocument = void 0;
5
+ exports.firestoreSingleDocumentAccessor = exports.AbstractFirestoreDocumentWithParent = exports.firestoreDocumentAccessorContextExtension = exports.firestoreDocumentAccessorFactory = exports.limitedFirestoreDocumentAccessorFactory = exports.AbstractFirestoreDocument = void 0;
6
6
  const accessor_1 = require("./accessor");
7
+ const util_1 = require("@dereekb/util");
7
8
  /**
8
9
  * Abstract FirestoreDocument implementation that extends a FirestoreDocumentDataAccessor.
9
10
  */
@@ -21,21 +22,22 @@ class AbstractFirestoreDocument {
21
22
  return this.accessor.documentRef;
22
23
  }
23
24
  get collection() {
24
- return this.documentAccessor.collection;
25
+ // TODO: Only works if the documentRef has access to the parent ref
26
+ return this.accessor.documentRef.parent;
25
27
  }
26
28
  snapshot() {
27
29
  return this.accessor.get();
28
30
  }
29
31
  snapshotData(options) {
30
- return this.snapshot().then(x => x.data(options));
32
+ return this.snapshot().then((x) => x.data(options));
31
33
  }
32
34
  createOrUpdate(data) {
33
35
  return (0, accessor_1.createOrUpdateWithAccessorSet)(this.accessor)(data);
34
36
  }
35
37
  }
36
38
  exports.AbstractFirestoreDocument = AbstractFirestoreDocument;
37
- function firestoreDocumentAccessorFactory(config) {
38
- const { firestoreAccessorDriver, collection } = config;
39
+ function limitedFirestoreDocumentAccessorFactory(config) {
40
+ const { firestoreAccessorDriver } = config;
39
41
  return (context) => {
40
42
  const databaseContext = context !== null && context !== void 0 ? context : config.firestoreAccessorDriver.defaultContextFactory();
41
43
  const dataAccessorFactory = databaseContext.accessorFactory;
@@ -43,33 +45,45 @@ function firestoreDocumentAccessorFactory(config) {
43
45
  const accessor = dataAccessorFactory.accessorFor(ref);
44
46
  return config.makeDocument(accessor, documentAccessor);
45
47
  }
46
- ;
47
- function documentRefForPath(path, ...pathSegments) {
48
- return firestoreAccessorDriver.doc(collection, path, ...pathSegments);
49
- }
50
48
  const documentAccessor = {
51
- newDocument() {
52
- const newDocRef = firestoreAccessorDriver.doc(collection);
53
- return this.loadDocument(newDocRef);
54
- },
55
- loadDocumentForPath(path, ...pathSegments) {
56
- if (!path) {
57
- throw new Error('Path was not provided to loadDocumentForPath(). Use newDocument() for generating an id.');
58
- }
59
- return this.loadDocument(documentRefForPath(path, ...pathSegments));
60
- },
61
49
  loadDocumentFrom(document) {
62
50
  return loadDocument(document.documentRef);
63
51
  },
64
52
  loadDocument,
65
- documentRefForPath,
66
53
  firestoreAccessorDriver,
67
- databaseContext,
68
- collection
54
+ databaseContext
69
55
  };
70
56
  return documentAccessor;
71
57
  };
72
58
  }
59
+ exports.limitedFirestoreDocumentAccessorFactory = limitedFirestoreDocumentAccessorFactory;
60
+ function firestoreDocumentAccessorFactory(config) {
61
+ const { firestoreAccessorDriver, collection } = config;
62
+ const limitedFirestoreDocumentAccessor = limitedFirestoreDocumentAccessorFactory(config);
63
+ function documentRefForPath(path, ...pathSegments) {
64
+ return firestoreAccessorDriver.doc(collection, path, ...pathSegments);
65
+ }
66
+ return (context) => {
67
+ const documentAccessor = (0, util_1.build)({
68
+ base: limitedFirestoreDocumentAccessor(context),
69
+ build: (x) => {
70
+ x.collection = collection;
71
+ x.newDocument = () => {
72
+ const newDocRef = firestoreAccessorDriver.doc(collection);
73
+ return documentAccessor.loadDocument(newDocRef);
74
+ };
75
+ x.documentRefForPath = documentRefForPath;
76
+ x.loadDocumentForPath = (path, ...pathSegments) => {
77
+ if (!path) {
78
+ throw new Error('Path was not provided to loadDocumentForPath(). Use newDocument() for generating an id.');
79
+ }
80
+ return documentAccessor.loadDocument(documentRefForPath(path, ...pathSegments));
81
+ };
82
+ }
83
+ });
84
+ return documentAccessor;
85
+ };
86
+ }
73
87
  exports.firestoreDocumentAccessorFactory = firestoreDocumentAccessorFactory;
74
88
  function firestoreDocumentAccessorContextExtension({ documentAccessor, firestoreAccessorDriver }) {
75
89
  return {
@@ -86,7 +100,10 @@ exports.firestoreDocumentAccessorContextExtension = firestoreDocumentAccessorCon
86
100
  class AbstractFirestoreDocumentWithParent extends AbstractFirestoreDocument {
87
101
  constructor(parent, accessor, documentAccessor) {
88
102
  super(accessor, documentAccessor);
89
- this.parent = parent;
103
+ this._parent = parent !== null && parent !== void 0 ? parent : accessor.documentRef.parent.parent;
104
+ }
105
+ get parent() {
106
+ return this._parent;
90
107
  }
91
108
  }
92
109
  exports.AbstractFirestoreDocumentWithParent = AbstractFirestoreDocumentWithParent;