@dereekb/firebase 8.13.0 → 8.13.3

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 (30) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/package.json +7 -8
  3. package/src/lib/client/firestore/driver.accessor.batch.js +1 -0
  4. package/src/lib/client/firestore/driver.accessor.batch.js.map +1 -1
  5. package/src/lib/client/firestore/driver.accessor.default.js +4 -4
  6. package/src/lib/client/firestore/driver.accessor.default.js.map +1 -1
  7. package/src/lib/client/firestore/driver.accessor.transaction.js +1 -0
  8. package/src/lib/client/firestore/driver.accessor.transaction.js.map +1 -1
  9. package/src/lib/common/auth/auth.d.ts +6 -0
  10. package/src/lib/common/firestore/accessor/accessor.d.ts +34 -4
  11. package/src/lib/common/firestore/accessor/accessor.js +31 -1
  12. package/src/lib/common/firestore/accessor/accessor.js.map +1 -1
  13. package/src/lib/common/firestore/accessor/document.d.ts +21 -6
  14. package/src/lib/common/firestore/accessor/document.js +22 -3
  15. package/src/lib/common/firestore/accessor/document.js.map +1 -1
  16. package/src/lib/common/firestore/accessor/document.utility.d.ts +13 -8
  17. package/src/lib/common/firestore/accessor/document.utility.js +5 -1
  18. package/src/lib/common/firestore/accessor/document.utility.js.map +1 -1
  19. package/src/lib/common/firestore/error.d.ts +13 -0
  20. package/src/lib/common/firestore/error.js +22 -1
  21. package/src/lib/common/firestore/error.js.map +1 -1
  22. package/src/lib/common/firestore/snapshot/snapshot.field.d.ts +9 -1
  23. package/src/lib/common/firestore/snapshot/snapshot.field.js +14 -1
  24. package/src/lib/common/firestore/snapshot/snapshot.field.js.map +1 -1
  25. package/src/lib/common/firestore/types.d.ts +3 -0
  26. package/test/CHANGELOG.md +17 -0
  27. package/test/package.json +7 -8
  28. package/test/src/lib/common/firestore/test.driver.accessor.d.ts +4 -3
  29. package/test/src/lib/common/firestore/test.driver.accessor.js +286 -155
  30. package/test/src/lib/common/firestore/test.driver.accessor.js.map +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,23 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [8.13.3](https://github.com/dereekb/dbx-components/compare/v8.13.2-dev...v8.13.3) (2022-07-21)
6
+
7
+
8
+
9
+ ## [8.13.2](https://github.com/dereekb/dbx-components/compare/v8.13.1-dev...v8.13.2) (2022-07-20)
10
+
11
+
12
+ ### Bug Fixes
13
+
14
+ * firebase-server update fix ([38a52ca](https://github.com/dereekb/dbx-components/commit/38a52ca5894cded928127848b7a3b2e7283dbf18))
15
+
16
+
17
+
18
+ ## [8.13.1](https://github.com/dereekb/dbx-components/compare/v8.13.0-dev...v8.13.1) (2022-07-19)
19
+
20
+
21
+
5
22
  # [8.13.0](https://github.com/dereekb/dbx-components/compare/v8.12.13-dev...v8.13.0) (2022-07-16)
6
23
 
7
24
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dereekb/firebase",
3
- "version": "8.13.0",
3
+ "version": "8.13.3",
4
4
  "devDependencies": {
5
5
  "@firebase/rules-unit-testing": "^2.0.0"
6
6
  },
@@ -20,19 +20,18 @@
20
20
  "typings": "./src/index.d.ts",
21
21
  "dependencies": {},
22
22
  "peerDependencies": {
23
- "rxfire": "^6.0.3",
24
- "rxjs": "^7.0.0",
25
- "firebase": "^9.8.0",
26
- "@dereekb/util": "8.13.0",
23
+ "@dereekb/util": "8.13.3",
27
24
  "make-error": "^1.3.0",
28
25
  "ts-essentials": "^9.1.2",
29
26
  "extra-set": "^2.2.11",
30
- "@dereekb/rxjs": "8.13.0",
27
+ "rxjs": "^7.0.0",
28
+ "firebase": "^9.8.0",
29
+ "@dereekb/rxjs": "8.13.3",
31
30
  "ms": "^3.0.0-canary.1",
32
- "@dereekb/model": "8.13.0",
31
+ "@dereekb/model": "8.13.3",
33
32
  "class-transformer": "^0.5.1",
34
33
  "class-validator": "^0.13.2",
35
- "@dereekb/date": "8.13.0",
34
+ "@dereekb/date": "8.13.3",
36
35
  "date-fns": "^2.28.0",
37
36
  "date-fns-tz": "^1.3.0",
38
37
  "rrule": "git+https://git@github.com/dereekb/rrule#2b13b1ea881059ba2ecfec380e12ef244ef54570",
@@ -21,6 +21,7 @@ class WriteBatchFirestoreDocumentDataAccessor extends driver_accessor_default_1.
21
21
  return Promise.resolve();
22
22
  }
23
23
  update(data) {
24
+ (0, firestore_1.assertFirestoreUpdateHasData)(data);
24
25
  this.batch.update(this.documentRef, data);
25
26
  return Promise.resolve();
26
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"driver.accessor.batch.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/client/firestore/driver.accessor.batch.ts"],"names":[],"mappings":";;;AACA,sDAA6M;AAC7M,uEAAiF;AAEjF,iBAAiB;AACjB;;GAEG;AACH,MAAa,uCAA2C,SAAQ,8DAAuC;IACrG,YAAqB,KAAkC,EAAE,WAAiC;QACxF,KAAK,CAAC,WAAW,CAAC,CAAC;QADA,UAAK,GAAL,KAAK,CAA6B;IAEvD,CAAC;IAEQ,MAAM;QACb,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACpC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAEQ,GAAG,CAAC,IAAuB,EAAE,OAAoB;QACxD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,OAAqB,CAAC,CAAC;QAC9D,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAEQ,MAAM,CAAC,IAAyB;QACvC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,IAA8B,CAAC,CAAC;QACpE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CACF;AAnBD,0FAmBC;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
+ {"version":3,"file":"driver.accessor.batch.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/client/firestore/driver.accessor.batch.ts"],"names":[],"mappings":";;;AAEA,sDAA2O;AAC3O,uEAAiF;AAEjF,iBAAiB;AACjB;;GAEG;AACH,MAAa,uCAA2C,SAAQ,8DAAuC;IACrG,YAAqB,KAAkC,EAAE,WAAiC;QACxF,KAAK,CAAC,WAAW,CAAC,CAAC;QADA,UAAK,GAAL,KAAK,CAA6B;IAEvD,CAAC;IAEQ,MAAM;QACb,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACpC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAEQ,GAAG,CAAC,IAAuB,EAAE,OAAoB;QACxD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,OAAqB,CAAC,CAAC;QAC9D,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAEQ,MAAM,CAAC,IAAyB;QACvC,IAAA,wCAA4B,EAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,IAA8B,CAAC,CAAC;QACpE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CACF;AApBD,0FAoBC;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"}
@@ -2,8 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.defaultFirestoreDocumentContext = exports.defaultFirestoreAccessorFactory = exports.DefaultFirestoreDocumentDataAccessor = void 0;
4
4
  const firestore_1 = require("@firebase/firestore");
5
- const firestore_2 = require("rxfire/firestore");
6
- const firestore_3 = require("../../common/firestore");
5
+ const firestore_2 = require("../../common/firestore");
7
6
  const driver_accessor_create_1 = require("./driver.accessor.create");
8
7
  // MARK: Accessor
9
8
  class DefaultFirestoreDocumentDataAccessor {
@@ -11,7 +10,7 @@ class DefaultFirestoreDocumentDataAccessor {
11
10
  this.documentRef = documentRef;
12
11
  }
13
12
  stream() {
14
- return (0, firestore_2.fromRef)(this.documentRef);
13
+ return (0, firestore_2.streamFromOnSnapshot)(({ next, error }) => (0, firestore_1.onSnapshot)(this.documentRef, next, error));
15
14
  }
16
15
  create(data) {
17
16
  return (0, driver_accessor_create_1.createWithAccessor)(this)(data);
@@ -32,6 +31,7 @@ class DefaultFirestoreDocumentDataAccessor {
32
31
  return (0, firestore_1.setDoc)(this.documentRef, data, options);
33
32
  }
34
33
  update(data) {
34
+ (0, firestore_2.assertFirestoreUpdateHasData)(data);
35
35
  return (0, firestore_1.updateDoc)(this.documentRef, data);
36
36
  }
37
37
  }
@@ -45,7 +45,7 @@ exports.defaultFirestoreAccessorFactory = defaultFirestoreAccessorFactory;
45
45
  // MARK: Context
46
46
  function defaultFirestoreDocumentContext() {
47
47
  return {
48
- contextType: firestore_3.FirestoreDocumentContextType.NONE,
48
+ contextType: firestore_2.FirestoreDocumentContextType.NONE,
49
49
  accessorFactory: defaultFirestoreAccessorFactory()
50
50
  };
51
51
  }
@@ -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,sDAAuN;AACvN,qEAA8D;AAE9D,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,CAAC,IAAuB;QAC5B,OAAO,IAAA,2CAAkB,EAAC,IAAI,CAAC,CAAC,IAAI,CAAkB,CAAC;IACzD,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,gBAAgB,CAAmB,SAA2C;QAC5E,OAAO,IAAA,kBAAM,EAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAI,SAAsC,CAAC,CAAiC,CAAC;IAC3H,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;AAlCD,oFAkCC;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"}
1
+ {"version":3,"file":"driver.accessor.default.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/client/firestore/driver.accessor.default.ts"],"names":[],"mappings":";;;AAAA,mDAAwJ;AAExJ,sDAA2Q;AAC3Q,qEAA8D;AAE9D,iBAAiB;AACjB,MAAa,oCAAoC;IAC/C,YAAqB,WAAiC;QAAjC,gBAAW,GAAX,WAAW,CAAsB;IAAG,CAAC;IAE1D,MAAM;QACJ,OAAO,IAAA,gCAAoB,EAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,IAAA,sBAAU,EAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAC9F,CAAC;IAED,MAAM,CAAC,IAAuB;QAC5B,OAAO,IAAA,2CAAkB,EAAC,IAAI,CAAC,CAAC,IAAI,CAAkB,CAAC;IACzD,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,gBAAgB,CAAmB,SAA2C;QAC5E,OAAO,IAAA,kBAAM,EAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAI,SAAsC,CAAC,CAAiC,CAAC;IAC3H,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,IAAA,wCAA4B,EAAC,IAAI,CAAC,CAAC;QACnC,OAAO,IAAA,qBAAS,EAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;CACF;AAnCD,oFAmCC;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"}
@@ -37,6 +37,7 @@ class TransactionFirestoreDocumentDataAccessor {
37
37
  return Promise.resolve();
38
38
  }
39
39
  update(data) {
40
+ (0, firestore_1.assertFirestoreUpdateHasData)(data);
40
41
  this.transaction.update(this.documentRef, data);
41
42
  return Promise.resolve();
42
43
  }
@@ -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,sDAAuN;AACvN,qEAA8D;AAE9D,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,CAAC,IAAuB;QAC5B,OAAO,IAAA,2CAAkB,EAAC,IAAI,CAAC,CAAC,IAAI,CAAkB,CAAC;IACzD,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,gBAAgB,CAAmB,SAA2C;QAC5E,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAI,SAAsC,CAAC,CAAiC,CAAC;IACzI,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;AArCD,4FAqCC;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
+ {"version":3,"file":"driver.accessor.transaction.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/client/firestore/driver.accessor.transaction.ts"],"names":[],"mappings":";;;AACA,+BAAwC;AACxC,sDAAqP;AACrP,qEAA8D;AAE9D,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,CAAC,IAAuB;QAC5B,OAAO,IAAA,2CAAkB,EAAC,IAAI,CAAC,CAAC,IAAI,CAAkB,CAAC;IACzD,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,gBAAgB,CAAmB,SAA2C;QAC5E,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAI,SAAsC,CAAC,CAAiC,CAAC;IACzI,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,IAAA,wCAA4B,EAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAChD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CACF;AAtCD,4FAsCC;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"}
@@ -11,3 +11,9 @@ export declare type FirebaseAuthToken = {
11
11
  emailVerified?: Maybe<boolean>;
12
12
  phoneNumber?: Maybe<string>;
13
13
  };
14
+ /**
15
+ * A string key used to test for ownership of a particular set of objects.
16
+ *
17
+ * For instance, a database model (or its parent) may have an ownership key associated with it that is compared with the user's current claims.
18
+ */
19
+ export declare type FirebaseAuthOwnershipKey = string;
@@ -47,12 +47,11 @@ export interface FirestoreDocumentDataAccessor<T, D = DocumentData> extends Docu
47
47
  set(data: PartialWithFieldValue<T>, options: SetOptions): Promise<WriteResult | void>;
48
48
  set(data: WithFieldValue<T>): Promise<WriteResult | void>;
49
49
  /**
50
- * Directly updates the data in the database, skipping any conversions, etc.
50
+ * Directly updates the data in the database, skipping the use of the converter, etc.
51
51
  *
52
+ * If the input data is undefined or an empty object, it will fail.
52
53
  * If the document doesn't exist, it will fail.
53
54
  *
54
- * NOTE: If you rely on the converter/conversion functionality, use set() with merge: true instead of update.
55
- *
56
55
  * @param data
57
56
  */
58
57
  update(data: UpdateData<D>, params?: FirestoreDocumentUpdateParams): Promise<WriteResult | void>;
@@ -95,11 +94,18 @@ export declare function mapDataFromSnapshot<T>(options?: SnapshotOptions): Opera
95
94
  * If it does exist, update is done using set + merge on all defined values.
96
95
  *
97
96
  * @param data
97
+ * @deprecated See createOrUpdateWithAccessorSet()
98
98
  */
99
99
  export declare type CreateOrUpdateWithAccessorSetFunction<T> = (data: Partial<T>) => Promise<WriteResult | void>;
100
+ /**
101
+ *
102
+ * @param accessor
103
+ * @returns
104
+ * @deprecated Use either create or update. Behavior of this function is undesirable, and it can trip up transactions since it will perform a read.
105
+ */
100
106
  export declare function createOrUpdateWithAccessorSet<T>(accessor: FirestoreDocumentDataAccessor<T>): CreateOrUpdateWithAccessorSetFunction<T>;
101
107
  /**
102
- * Updates the target object using the input data.
108
+ * Updates the target object using the input data after checking existence.
103
109
  *
104
110
  * Calls accessor's set configured for updating/merging, and filters all undefined values from the input data.
105
111
  * If it does exist, update will fail.
@@ -107,4 +113,28 @@ export declare function createOrUpdateWithAccessorSet<T>(accessor: FirestoreDocu
107
113
  * @param data
108
114
  */
109
115
  export declare type UpdateWithAccessorSetFunction<T> = (data: Partial<T>, forceUpdate?: boolean) => Promise<WriteResult | void>;
116
+ /**
117
+ * @deprecated This does not behave well within transactions.
118
+ *
119
+ * @param accessor
120
+ * @returns
121
+ */
110
122
  export declare function updateWithAccessorSet<T>(accessor: FirestoreDocumentDataAccessor<T>): UpdateWithAccessorSetFunction<T>;
123
+ /**
124
+ * Updates the target object using the input data that uses the input converter to build data suitable for the update function.
125
+ *
126
+ * If the input data after conversion is empty then returns void.
127
+ *
128
+ * If the target object does not exist, this will fail.
129
+ *
130
+ * @param data
131
+ */
132
+ export declare type UpdateWithAccessorUpdateAndConverterFunction<T> = (data: Partial<T>, params?: FirestoreDocumentUpdateParams) => Promise<WriteResult | void>;
133
+ /**
134
+ * Creates an UpdateWithAccessorUpdateAndConverterFunction.
135
+ *
136
+ * @param accessor
137
+ * @param converter
138
+ * @returns
139
+ */
140
+ export declare function updateWithAccessorUpdateAndConverterFunction<T>(accessor: FirestoreDocumentDataAccessor<T>, converter: FirestoreDataConverter<T>): UpdateWithAccessorUpdateAndConverterFunction<T>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.updateWithAccessorSet = exports.createOrUpdateWithAccessorSet = exports.mapDataFromSnapshot = exports.dataFromSnapshotStream = void 0;
3
+ exports.updateWithAccessorUpdateAndConverterFunction = exports.updateWithAccessorSet = exports.createOrUpdateWithAccessorSet = exports.mapDataFromSnapshot = exports.dataFromSnapshotStream = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const rxjs_1 = require("@dereekb/rxjs");
6
6
  const util_1 = require("@dereekb/util");
@@ -29,6 +29,12 @@ function mapDataFromSnapshot(options) {
29
29
  return (0, rxjs_2.map)((x) => x.data(options));
30
30
  }
31
31
  exports.mapDataFromSnapshot = mapDataFromSnapshot;
32
+ /**
33
+ *
34
+ * @param accessor
35
+ * @returns
36
+ * @deprecated Use either create or update. Behavior of this function is undesirable, and it can trip up transactions since it will perform a read.
37
+ */
32
38
  function createOrUpdateWithAccessorSet(accessor) {
33
39
  return (data) => {
34
40
  return accessor.exists().then((exists) => {
@@ -42,6 +48,12 @@ function createOrUpdateWithAccessorSet(accessor) {
42
48
  };
43
49
  }
44
50
  exports.createOrUpdateWithAccessorSet = createOrUpdateWithAccessorSet;
51
+ /**
52
+ * @deprecated This does not behave well within transactions.
53
+ *
54
+ * @param accessor
55
+ * @returns
56
+ */
45
57
  function updateWithAccessorSet(accessor) {
46
58
  return (data, forceUpdate) => tslib_1.__awaiter(this, void 0, void 0, function* () {
47
59
  const exists = forceUpdate || (yield accessor.exists());
@@ -53,4 +65,22 @@ function updateWithAccessorSet(accessor) {
53
65
  });
54
66
  }
55
67
  exports.updateWithAccessorSet = updateWithAccessorSet;
68
+ /**
69
+ * Creates an UpdateWithAccessorUpdateAndConverterFunction.
70
+ *
71
+ * @param accessor
72
+ * @param converter
73
+ * @returns
74
+ */
75
+ function updateWithAccessorUpdateAndConverterFunction(accessor, converter) {
76
+ return (data, params) => tslib_1.__awaiter(this, void 0, void 0, function* () {
77
+ const updateInput = (0, util_1.filterUndefinedValues)(data);
78
+ const updateData = converter.toFirestore(updateInput, { merge: true }); // treat it as a merge
79
+ // Only update
80
+ if (!(0, util_1.objectHasNoKeys)(updateData)) {
81
+ return params != null ? accessor.update(updateData, params) : accessor.update(updateData);
82
+ }
83
+ });
84
+ }
85
+ exports.updateWithAccessorUpdateAndConverterFunction = updateWithAccessorUpdateAndConverterFunction;
56
86
  //# sourceMappingURL=accessor.js.map
@@ -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;AA2EzD,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,OAAO,qBAAqB,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;aACpD;iBAAM;gBACL,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAyB,CAAC,CAAC;aAChD;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAVD,sEAUC;AAYD,SAAgB,qBAAqB,CAAI,QAA0C;IACjF,OAAO,CAAO,IAAgB,EAAE,WAAqB,EAAE,EAAE;QACvD,MAAM,MAAM,GAAY,WAAW,IAAI,CAAC,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAEjE,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,IAAI,KAAK,CAAC,UAAU,QAAQ,CAAC,WAAW,CAAC,IAAI,mBAAmB,CAAC,CAAC;SACzE;QAED,MAAM,MAAM,GAAG,IAAA,4BAAqB,EAAC,IAAI,CAAC,CAAC;QAC3C,OAAO,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAA,CAAC;AACJ,CAAC;AAXD,sDAWC"}
1
+ {"version":3,"file":"accessor.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/accessor/accessor.ts"],"names":[],"mappings":";;;;AAAA,wCAA4C;AAC5C,wCAA8E;AAE9E,+BAAyD;AA0EzD,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;AAeD;;;;;GAKG;AACH,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,OAAO,qBAAqB,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;aACpD;iBAAM;gBACL,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAyB,CAAC,CAAC;aAChD;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAVD,sEAUC;AAYD;;;;;GAKG;AACH,SAAgB,qBAAqB,CAAI,QAA0C;IACjF,OAAO,CAAO,IAAgB,EAAE,WAAqB,EAAE,EAAE;QACvD,MAAM,MAAM,GAAY,WAAW,IAAI,CAAC,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAEjE,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,IAAI,KAAK,CAAC,UAAU,QAAQ,CAAC,WAAW,CAAC,IAAI,mBAAmB,CAAC,CAAC;SACzE;QAED,MAAM,MAAM,GAAG,IAAA,4BAAqB,EAAC,IAAI,CAAC,CAAC;QAC3C,OAAO,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAA,CAAC;AACJ,CAAC;AAXD,sDAWC;AAaD;;;;;;GAMG;AACH,SAAgB,4CAA4C,CAAI,QAA0C,EAAE,SAAoC;IAC9I,OAAO,CAAO,IAAgB,EAAE,MAAsC,EAAE,EAAE;QACxE,MAAM,WAAW,GAAG,IAAA,4BAAqB,EAAC,IAAI,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,SAAS,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,sBAAsB;QAE9F,cAAc;QACd,IAAI,CAAC,IAAA,sBAAe,EAAC,UAAU,CAAC,EAAE;YAChC,OAAO,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;SAC3F;IACH,CAAC,CAAA,CAAC;AACJ,CAAC;AAVD,oGAUC"}
@@ -1,18 +1,19 @@
1
1
  import { Observable } from 'rxjs';
2
2
  import { FirestoreAccessorDriverRef } from '../driver/accessor';
3
3
  import { FirestoreCollectionNameRef, FirestoreModelId, FirestoreModelIdentityCollectionName, FirestoreModelIdentityModelType, FirestoreModelIdentityRef, FirestoreModelIdRef, FirestoreModelKey, FirestoreModelKeyRef } from './../collection/collection';
4
- import { DocumentReference, CollectionReference, Transaction, WriteBatch, DocumentSnapshot, SnapshotOptions, WriteResult } from '../types';
5
- import { FirestoreDocumentDataAccessor } from './accessor';
4
+ import { DocumentReference, CollectionReference, Transaction, WriteBatch, DocumentSnapshot, SnapshotOptions, WriteResult, FirestoreDataConverter } from '../types';
5
+ import { FirestoreDocumentDataAccessor, FirestoreDocumentUpdateParams } from './accessor';
6
6
  import { CollectionReferenceRef, DocumentReferenceRef, FirestoreContextReference, FirestoreDataConverterRef } from '../reference';
7
7
  import { FirestoreDocumentContext } from './context';
8
8
  import { Maybe } from '@dereekb/util';
9
9
  import { FirestoreModelTypeRef, FirestoreModelIdentity, FirestoreModelTypeModelIdentityRef } from '../collection/collection';
10
10
  import { InterceptAccessorFactoryFunction } from './accessor.wrap';
11
- export interface FirestoreDocument<T, I extends FirestoreModelIdentity = FirestoreModelIdentity> extends DocumentReferenceRef<T>, CollectionReferenceRef<T>, FirestoreModelIdentityRef<I>, FirestoreModelTypeRef<FirestoreModelIdentityModelType<I>>, FirestoreCollectionNameRef<FirestoreModelIdentityCollectionName<I>>, FirestoreModelKeyRef, FirestoreModelIdRef {
11
+ export interface FirestoreDocument<T, I extends FirestoreModelIdentity = FirestoreModelIdentity> extends FirestoreDataConverterRef<T>, DocumentReferenceRef<T>, CollectionReferenceRef<T>, FirestoreModelIdentityRef<I>, FirestoreModelTypeRef<FirestoreModelIdentityModelType<I>>, FirestoreCollectionNameRef<FirestoreModelIdentityCollectionName<I>>, FirestoreModelKeyRef, FirestoreModelIdRef {
12
12
  readonly accessor: FirestoreDocumentDataAccessor<T>;
13
13
  readonly id: string;
14
14
  snapshot(): Promise<DocumentSnapshot<T>>;
15
15
  snapshotData(options?: SnapshotOptions): Promise<T | undefined>;
16
+ exists(): Promise<boolean>;
16
17
  create(data: T): Promise<WriteResult | void>;
17
18
  update(data: Partial<T>): Promise<WriteResult | void>;
18
19
  createOrUpdate(data: Partial<T>): Promise<WriteResult | void>;
@@ -37,6 +38,7 @@ export declare abstract class AbstractFirestoreDocument<T, D extends AbstractFir
37
38
  get key(): FirestoreModelKey;
38
39
  get documentRef(): DocumentReference<T>;
39
40
  get collection(): CollectionReference<T>;
41
+ get converter(): FirestoreDataConverter<T>;
40
42
  /**
41
43
  * Retrieves a DocumentSnapshot of the document.
42
44
  * @returns
@@ -48,6 +50,13 @@ export declare abstract class AbstractFirestoreDocument<T, D extends AbstractFir
48
50
  * @returns
49
51
  */
50
52
  snapshotData(options?: SnapshotOptions): Promise<T | undefined>;
53
+ /**
54
+ * Returns true if the model exists.
55
+ *
56
+ * @param data
57
+ * @returns
58
+ */
59
+ exists(): Promise<boolean>;
51
60
  /**
52
61
  * Creates the document if it does not exist, using the accessor's create functionality.
53
62
  *
@@ -56,17 +65,23 @@ export declare abstract class AbstractFirestoreDocument<T, D extends AbstractFir
56
65
  */
57
66
  create(data: T): Promise<WriteResult | void>;
58
67
  /**
59
- * Updates the document if it exists using the accessor's set functionalty.
68
+ * Updates the document using the accessor's update functionalty if the document exists. This differs from Firestore's default
69
+ * update implementation which does not use the configured converter. This update function will, allowing the use of
70
+ * snapshotConverterFunctions().
71
+ *
72
+ * Throws an exception when it does not exist.
60
73
  *
61
74
  * @param data
62
75
  * @returns
63
76
  */
64
- update(data: Partial<T>): Promise<WriteResult | void>;
77
+ update(data: Partial<T>, params?: FirestoreDocumentUpdateParams): Promise<WriteResult | void>;
65
78
  /**
66
79
  * Creates or updates the existing document using the accessor's set functionality.
67
80
  *
68
81
  * @param data
69
82
  * @returns
83
+ *
84
+ * @deprecated Use either create or update. Behavior of this function is undesirable, and it can trip up transactions since it will perform a read.
70
85
  */
71
86
  createOrUpdate(data: Partial<T>): Promise<WriteResult | void>;
72
87
  }
@@ -74,7 +89,7 @@ export interface LimitedFirestoreDocumentAccessorRef<T, D extends FirestoreDocum
74
89
  readonly documentAccessor: A;
75
90
  }
76
91
  export declare type FirestoreDocumentAccessorRef<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> = LimitedFirestoreDocumentAccessorRef<T, D, FirestoreDocumentAccessor<T, D>>;
77
- export interface LimitedFirestoreDocumentAccessor<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> extends FirestoreModelTypeModelIdentityRef, FirestoreAccessorDriverRef {
92
+ export interface LimitedFirestoreDocumentAccessor<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> extends FirestoreDataConverterRef<T>, FirestoreModelTypeModelIdentityRef, FirestoreAccessorDriverRef {
78
93
  readonly databaseContext: FirestoreDocumentContext<T>;
79
94
  /**
80
95
  * Loads a document from the datastore.
@@ -33,6 +33,9 @@ class AbstractFirestoreDocument {
33
33
  get collection() {
34
34
  return this.accessor.documentRef.parent;
35
35
  }
36
+ get converter() {
37
+ return this.documentAccessor.converter;
38
+ }
36
39
  /**
37
40
  * Retrieves a DocumentSnapshot of the document.
38
41
  * @returns
@@ -48,6 +51,15 @@ class AbstractFirestoreDocument {
48
51
  snapshotData(options) {
49
52
  return this.snapshot().then((x) => x.data(options));
50
53
  }
54
+ /**
55
+ * Returns true if the model exists.
56
+ *
57
+ * @param data
58
+ * @returns
59
+ */
60
+ exists() {
61
+ return this.accessor.exists();
62
+ }
51
63
  /**
52
64
  * Creates the document if it does not exist, using the accessor's create functionality.
53
65
  *
@@ -58,19 +70,25 @@ class AbstractFirestoreDocument {
58
70
  return this.accessor.create(data);
59
71
  }
60
72
  /**
61
- * Updates the document if it exists using the accessor's set functionalty.
73
+ * Updates the document using the accessor's update functionalty if the document exists. This differs from Firestore's default
74
+ * update implementation which does not use the configured converter. This update function will, allowing the use of
75
+ * snapshotConverterFunctions().
76
+ *
77
+ * Throws an exception when it does not exist.
62
78
  *
63
79
  * @param data
64
80
  * @returns
65
81
  */
66
- update(data) {
67
- return (0, accessor_1.updateWithAccessorSet)(this.accessor)(data);
82
+ update(data, params) {
83
+ return (0, accessor_1.updateWithAccessorUpdateAndConverterFunction)(this.accessor, this.converter)(data, params);
68
84
  }
69
85
  /**
70
86
  * Creates or updates the existing document using the accessor's set functionality.
71
87
  *
72
88
  * @param data
73
89
  * @returns
90
+ *
91
+ * @deprecated Use either create or update. Behavior of this function is undesirable, and it can trip up transactions since it will perform a read.
74
92
  */
75
93
  createOrUpdate(data) {
76
94
  return (0, accessor_1.createOrUpdateWithAccessorSet)(this.accessor)(data);
@@ -103,6 +121,7 @@ function limitedFirestoreDocumentAccessorFactory(config) {
103
121
  return loadDocument(ref);
104
122
  }
105
123
  const documentAccessor = {
124
+ converter,
106
125
  modelIdentity,
107
126
  loadDocumentFrom(document) {
108
127
  return loadDocument(document.documentRef);
@@ -1 +1 @@
1
- {"version":3,"file":"document.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/accessor/document.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/accessor/document.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { AsyncGetterOrValue, Maybe, UseAsync } from '@dereekb/util';
2
2
  import { FirestoreModelId, FirestoreModelKey } from '../collection';
3
3
  import { DocumentDataWithId, DocumentReference, DocumentSnapshot, QuerySnapshot, Transaction } from '../types';
4
- import { FirestoreDocument, FirestoreDocumentAccessor, LimitedFirestoreDocumentAccessor, LimitedFirestoreDocumentAccessorContextExtension } from './document';
4
+ import { FirestoreDocumentData, FirestoreDocument, FirestoreDocumentAccessor, LimitedFirestoreDocumentAccessor, LimitedFirestoreDocumentAccessorContextExtension } from './document';
5
5
  export declare function newDocuments<T, D extends FirestoreDocument<T>>(documentAccessor: FirestoreDocumentAccessor<T, D>, count: number): D[];
6
6
  export interface MakeDocumentsParams<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> {
7
7
  count: number;
@@ -24,11 +24,16 @@ export interface MakeDocumentsParams<T, D extends FirestoreDocument<T> = Firesto
24
24
  * @returns
25
25
  */
26
26
  export declare function makeDocuments<T, D extends FirestoreDocument<T>>(documentAccessor: FirestoreDocumentAccessor<T, D>, make: MakeDocumentsParams<T, D>): Promise<D[]>;
27
- export declare function getDocumentSnapshots<T, D extends FirestoreDocument<T>>(documents: D[]): Promise<DocumentSnapshot<T>[]>;
28
- export declare function getDocumentSnapshotsData<T, D extends FirestoreDocument<T>>(documents: D[]): Promise<DocumentDataWithId<T>[]>;
29
- export declare function getDocumentSnapshotsData<T, D extends FirestoreDocument<T>>(documents: D[], withId: true): Promise<DocumentDataWithId<T>[]>;
30
- export declare function getDocumentSnapshotsData<T, D extends FirestoreDocument<T>>(documents: D[], withId: false): Promise<T[]>;
31
- export declare function getDocumentSnapshotsData<T, D extends FirestoreDocument<T>>(documents: D[], withId?: boolean): Promise<DocumentDataWithId<T>[] | T[]>;
27
+ export declare function getDocumentSnapshots<D extends FirestoreDocument<any>>(documents: D[]): Promise<DocumentSnapshot<FirestoreDocumentData<D>>[]>;
28
+ export declare type FirestoreDocumentSnapshotPair<D extends FirestoreDocument<any>> = {
29
+ document: D;
30
+ snapshot: DocumentSnapshot<FirestoreDocumentData<D>>;
31
+ };
32
+ export declare function getDocumentSnapshotPairs<D extends FirestoreDocument<any>>(documents: D[]): Promise<FirestoreDocumentSnapshotPair<D>[]>;
33
+ export declare function getDocumentSnapshotsData<D extends FirestoreDocument<any>>(documents: D[]): Promise<DocumentDataWithId<FirestoreDocumentData<D>>[]>;
34
+ export declare function getDocumentSnapshotsData<D extends FirestoreDocument<any>>(documents: D[], withId: true): Promise<DocumentDataWithId<FirestoreDocumentData<D>>[]>;
35
+ export declare function getDocumentSnapshotsData<D extends FirestoreDocument<any>>(documents: D[], withId: false): Promise<FirestoreDocumentData<D>[]>;
36
+ export declare function getDocumentSnapshotsData<D extends FirestoreDocument<any>>(documents: D[], withId?: boolean): Promise<DocumentDataWithId<FirestoreDocumentData<D>>[] | FirestoreDocumentData<D>[]>;
32
37
  export declare function getDataFromDocumentSnapshots<T>(snapshots: DocumentSnapshot<T>[]): DocumentDataWithId<T>[];
33
38
  export declare function getDataFromDocumentSnapshots<T>(snapshots: DocumentSnapshot<T>[], withId: true): DocumentDataWithId<T>[];
34
39
  export declare function getDataFromDocumentSnapshots<T>(snapshots: DocumentSnapshot<T>[], withId: false): T[];
@@ -81,11 +86,11 @@ export declare function documentDataWithId<T>(snapshot: DocumentSnapshot<T>): Ma
81
86
  * @param defaultValue
82
87
  * @returns
83
88
  */
84
- export declare function useDocumentSnapshot<T, D extends FirestoreDocument<T>, O = void>(document: Maybe<D>, use: UseAsync<DocumentSnapshot<T>, O>, defaultValue?: Maybe<AsyncGetterOrValue<O>>): Promise<Maybe<O>>;
89
+ export declare function useDocumentSnapshot<D extends FirestoreDocument<any>, O = void>(document: Maybe<D>, use: UseAsync<DocumentSnapshot<FirestoreDocumentData<D>>, O>, defaultValue?: Maybe<AsyncGetterOrValue<O>>): Promise<Maybe<O>>;
85
90
  /**
86
91
  * MappedUseAsyncFunction to load snapshot data from the input document and use it.
87
92
  */
88
- export declare const useDocumentSnapshotData: import("@dereekb/util").MappedUseAsyncFunction<FirestoreDocument<unknown, import("../collection").FirestoreModelIdentity<string, string>>, unknown>;
93
+ export declare const useDocumentSnapshotData: <D extends FirestoreDocument<any, import("../collection").FirestoreModelIdentity<string, string>>, O = void>(document: Maybe<D>, use: UseAsync<FirestoreDocumentData<D>, O>, defaultValue?: Maybe<AsyncGetterOrValue<O>>) => Promise<Maybe<O>>;
89
94
  export declare function firestoreModelIdFromDocument<T, D extends FirestoreDocument<T>>(document: D): FirestoreModelId;
90
95
  export declare function firestoreModelIdsFromDocuments<T, D extends FirestoreDocument<T>>(documents: D[]): FirestoreModelId[];
91
96
  export declare function firestoreModelKeyFromDocument<T, D extends FirestoreDocument<T>>(document: D): FirestoreModelKey;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.documentReferencesFromDocuments = exports.documentReferenceFromDocument = exports.firestoreModelKeysFromDocuments = exports.firestoreModelKeyFromDocument = exports.firestoreModelIdsFromDocuments = exports.firestoreModelIdFromDocument = exports.useDocumentSnapshotData = exports.useDocumentSnapshot = exports.documentDataWithId = exports.documentDataFunction = exports.documentData = exports.firestoreDocumentLoader = exports.loadDocumentsForIds = exports.loadDocumentsForIdsFromValues = exports.loadDocumentsForKeys = exports.loadDocumentsForKeysFromValues = exports.loadDocumentsForDocumentReferences = exports.loadDocumentsForValues = exports.loadDocumentsForDocumentReferencesFromValues = exports.loadDocumentsForSnapshots = exports.getDataFromDocumentSnapshots = exports.getDocumentSnapshotsData = exports.getDocumentSnapshots = exports.makeDocuments = exports.newDocuments = void 0;
3
+ exports.documentReferencesFromDocuments = exports.documentReferenceFromDocument = exports.firestoreModelKeysFromDocuments = exports.firestoreModelKeyFromDocument = exports.firestoreModelIdsFromDocuments = exports.firestoreModelIdFromDocument = exports.useDocumentSnapshotData = exports.useDocumentSnapshot = exports.documentDataWithId = exports.documentDataFunction = exports.documentData = exports.firestoreDocumentLoader = exports.loadDocumentsForIds = exports.loadDocumentsForIdsFromValues = exports.loadDocumentsForKeys = exports.loadDocumentsForKeysFromValues = exports.loadDocumentsForDocumentReferences = exports.loadDocumentsForValues = exports.loadDocumentsForDocumentReferencesFromValues = exports.loadDocumentsForSnapshots = exports.getDataFromDocumentSnapshots = exports.getDocumentSnapshotsData = exports.getDocumentSnapshotPairs = exports.getDocumentSnapshots = exports.makeDocuments = exports.newDocuments = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const util_1 = require("@dereekb/util");
6
6
  function newDocuments(documentAccessor, count) {
@@ -34,6 +34,10 @@ function getDocumentSnapshots(documents) {
34
34
  return util_1.PromiseUtility.runTasksForValues(documents, (x) => x.accessor.get());
35
35
  }
36
36
  exports.getDocumentSnapshots = getDocumentSnapshots;
37
+ function getDocumentSnapshotPairs(documents) {
38
+ return util_1.PromiseUtility.runTasksForValues(documents, (document) => document.accessor.get().then((snapshot) => ({ document, snapshot })));
39
+ }
40
+ exports.getDocumentSnapshotPairs = getDocumentSnapshotPairs;
37
41
  function getDocumentSnapshotsData(documents, withId = true) {
38
42
  return getDocumentSnapshots(documents).then((x) => getDataFromDocumentSnapshots(x, withId));
39
43
  }
@@ -1 +1 @@
1
- {"version":3,"file":"document.utility.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/accessor/document.utility.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document.utility.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/accessor/document.utility.ts"],"names":[],"mappings":";;;;AAAA,wCAAyK;AAKzK,SAAgB,YAAY,CAAoC,gBAAiD,EAAE,KAAa;IAC9H,OAAO,IAAA,sBAAe,EAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,CAAC;AACtE,CAAC;AAFD,oCAEC;AAkBD;;;;;;GAMG;AACH,SAAgB,aAAa,CAAoC,gBAAiD,EAAE,IAA+B;;IACjJ,MAAM,aAAa,GAAG,MAAA,IAAI,CAAC,WAAW,mCAAI,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAC;IACjF,OAAO,IAAA,sBAAe,EAAC;QACrB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,IAAI,EAAE,CAAO,CAAS,EAAE,EAAE;YACxB,MAAM,QAAQ,GAAM,aAAa,CAAC,gBAAgB,CAAC,CAAC;YACpD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;YAE1C,IAAI,IAAI,IAAI,IAAI,EAAE;gBAChB,MAAM,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;aACnC;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAA;KACF,CAAC,CAAC;AACL,CAAC;AAfD,sCAeC;AAED,SAAgB,oBAAoB,CAAmC,SAAc;IACnF,OAAO,qBAAc,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;AAC9E,CAAC;AAFD,oDAEC;AAOD,SAAgB,wBAAwB,CAAmC,SAAc;IACvF,OAAO,qBAAc,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;AACzI,CAAC;AAFD,4DAEC;AAMD,SAAgB,wBAAwB,CAAmC,SAAc,EAAE,MAAM,GAAG,IAAI;IACtG,OAAO,oBAAoB,CAAI,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAA0B,EAAE,EAAE,CAAC,4BAA4B,CAA2B,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AACpJ,CAAC;AAFD,4DAEC;AAMD,SAAgB,4BAA4B,CAAI,SAAgC,EAAE,SAAkB,IAAI;IACtG,MAAM,KAAK,GAAG,oBAAoB,CAAI,MAAM,CAAC,CAAC;IAC9C,OAAO,IAAA,wBAAiB,EAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AACpD,CAAC;AAHD,oEAGC;AAED,SAAgB,yBAAyB,CAAoC,QAAgD,EAAE,SAA2B;IACxJ,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACjE,CAAC;AAFD,8DAEC;AAED,SAAgB,4CAA4C,CAAuC,QAAgD,EAAE,MAAW,EAAE,MAA0C;IAC1M,OAAO,kCAAkC,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAC1E,CAAC;AAFD,oGAEC;AAEY,QAAA,sBAAsB,GAAG,4CAA4C,CAAC;AAEnF,SAAgB,kCAAkC,CAAoC,QAAgD,EAAE,IAA4B;IAClK,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC;AAFD,gFAEC;AAED,SAAgB,8BAA8B,CAAuC,QAAgD,EAAE,MAAW,EAAE,MAAuC;IACzL,OAAO,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAC5D,CAAC;AAFD,wEAEC;AAED,SAAgB,oBAAoB,CAAoC,QAAgD,EAAE,IAAyB;IACjJ,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC;AAFD,oDAEC;AAED,SAAgB,6BAA6B,CAAuC,QAAgD,EAAE,MAAW,EAAE,KAAqC;IACtL,OAAO,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAC3D,CAAC;AAFD,sEAEC;AAED,SAAgB,mBAAmB,CAAoC,QAAyC,EAAE,GAAuB;IACvI,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AACvD,CAAC;AAFD,kDAEC;AAOD;;;;;GAKG;AACH,SAAgB,uBAAuB,CAAoC,eAAuE;IAChJ,OAAO,CAAC,UAAkC,EAAE,WAAyB,EAAE,EAAE;QACvE,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,8BAA8B,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,gBAAgB,EAAE,CAAC;QAChI,OAAO,kCAAkC,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAClE,CAAC,CAAC;AACJ,CAAC;AALD,0DAKC;AAWD,SAAgB,YAAY,CAAI,QAA6B,EAAE,MAAM,GAAG,KAAK;IAC3E,IAAI,MAAM,EAAE;QACV,OAAO,kBAAkB,CAAC,QAAQ,CAAC,CAAC;KACrC;SAAM;QACL,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;KACxB;AACH,CAAC;AAND,oCAMC;AAQD,SAAgB,oBAAoB,CAAI,MAAe;IACrD,OAAO,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;AACrE,CAAC;AAFD,oDAEC;AAED;;;;;GAKG;AACH,SAAgB,kBAAkB,CAAI,QAA6B;IACjE,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,EAA2B,CAAC;IAEtD,IAAI,IAAI,EAAE;QACR,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,wBAAwB;KAChD;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AARD,gDAQC;AAED;;;;;;;GAOG;AACH,SAAsB,mBAAmB,CAA6C,QAAkB,EAAE,GAA4D,EAAE,YAA2C;;QACjN,MAAM,QAAQ,GAAG,MAAM,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,CAAC,GAAG,EAAE,CAAA,CAAC;QAChD,OAAO,IAAA,eAAQ,EAAC,QAAQ,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;IAC/C,CAAC;CAAA;AAHD,kDAGC;AAED;;GAEG;AACU,QAAA,uBAAuB,GAAG,IAAA,2BAAoB,EAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAmL,CAAC;AAEpR,sBAAsB;AACtB,SAAgB,4BAA4B,CAAoC,QAAW;IACzF,OAAO,QAAQ,CAAC,EAAE,CAAC;AACrB,CAAC;AAFD,oEAEC;AAED,SAAgB,8BAA8B,CAAoC,SAAc;IAC9F,OAAO,SAAS,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;AACrD,CAAC;AAFD,wEAEC;AAED,SAAgB,6BAA6B,CAAoC,QAAW;IAC1F,OAAO,QAAQ,CAAC,GAAG,CAAC;AACtB,CAAC;AAFD,sEAEC;AAED,SAAgB,+BAA+B,CAAoC,SAAc;IAC/F,OAAO,SAAS,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;AACtD,CAAC;AAFD,0EAEC;AAED,SAAgB,6BAA6B,CAAoC,QAAW;IAC1F,OAAO,QAAQ,CAAC,WAAW,CAAC;AAC9B,CAAC;AAFD,sEAEC;AAED,SAAgB,+BAA+B,CAAoC,SAAc;IAC/F,OAAO,SAAS,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;AACtD,CAAC;AAFD,0EAEC"}
@@ -1 +1,14 @@
1
+ import { UpdateData } from '@firebase/firestore';
1
2
  export declare function unsupportedFirestoreDriverFunctionError(message?: string): void;
3
+ /**
4
+ * Asserts that the input data is not an empty object and has keys.
5
+ *
6
+ * Used to help bring pairity to update(), as google-cloud/firestore will throw an error if the input data has no keys defined.
7
+ *
8
+ * @param data
9
+ */
10
+ export declare function assertFirestoreUpdateHasData(data: UpdateData<unknown>): void;
11
+ /**
12
+ * Throws an error related to an empty object being passed to a FirestoreDocumentDataAccessor's update() function.
13
+ */
14
+ export declare function firestoreUpdateWithNoDataError(): void;
@@ -1,8 +1,29 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.unsupportedFirestoreDriverFunctionError = void 0;
3
+ exports.firestoreUpdateWithNoDataError = exports.assertFirestoreUpdateHasData = exports.unsupportedFirestoreDriverFunctionError = void 0;
4
+ const util_1 = require("@dereekb/util");
4
5
  function unsupportedFirestoreDriverFunctionError(message) {
5
6
  throw new Error(message !== null && message !== void 0 ? message : 'This function is not supported by this Firestore driver.');
6
7
  }
7
8
  exports.unsupportedFirestoreDriverFunctionError = unsupportedFirestoreDriverFunctionError;
9
+ /**
10
+ * Asserts that the input data is not an empty object and has keys.
11
+ *
12
+ * Used to help bring pairity to update(), as google-cloud/firestore will throw an error if the input data has no keys defined.
13
+ *
14
+ * @param data
15
+ */
16
+ function assertFirestoreUpdateHasData(data) {
17
+ if ((0, util_1.objectHasNoKeys)(data)) {
18
+ throw firestoreUpdateWithNoDataError();
19
+ }
20
+ }
21
+ exports.assertFirestoreUpdateHasData = assertFirestoreUpdateHasData;
22
+ /**
23
+ * Throws an error related to an empty object being passed to a FirestoreDocumentDataAccessor's update() function.
24
+ */
25
+ function firestoreUpdateWithNoDataError() {
26
+ throw new Error('No data or an empty object was passed to update().');
27
+ }
28
+ exports.firestoreUpdateWithNoDataError = firestoreUpdateWithNoDataError;
8
29
  //# sourceMappingURL=error.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"error.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/common/firestore/error.ts"],"names":[],"mappings":";;;AAAA,SAAgB,uCAAuC,CAAC,OAAgB;IACtE,MAAM,IAAI,KAAK,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,0DAA0D,CAAC,CAAC;AACzF,CAAC;AAFD,0FAEC"}
1
+ {"version":3,"file":"error.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/common/firestore/error.ts"],"names":[],"mappings":";;;AAAA,wCAAgD;AAGhD,SAAgB,uCAAuC,CAAC,OAAgB;IACtE,MAAM,IAAI,KAAK,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,0DAA0D,CAAC,CAAC;AACzF,CAAC;AAFD,0FAEC;AAED;;;;;;GAMG;AACH,SAAgB,4BAA4B,CAAC,IAAyB;IACpE,IAAI,IAAA,sBAAe,EAAC,IAAI,CAAC,EAAE;QACzB,MAAM,8BAA8B,EAAE,CAAC;KACxC;AACH,CAAC;AAJD,oEAIC;AAED;;GAEG;AACH,SAAgB,8BAA8B;IAC5C,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;AACxE,CAAC;AAFD,wEAEC"}