firetender-admin 0.12.0 → 0.12.2

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.
@@ -260,12 +260,19 @@ class FiretenderDoc {
260
260
  snapshot = await (0, firestore_deps_1.getDoc)(this.ref);
261
261
  }
262
262
  catch (error) {
263
- (0, errors_1.addContextToError)(error, "getDoc", this.ref);
264
- throw error;
263
+ if ((error instanceof firestore_deps_1.FirestoreError || error instanceof firestore_deps_1.FirebaseError) &&
264
+ (error.code === "not-found" || error.code === "permission-denied")) {
265
+ // Not found and permission errors are handled below; snapshot is left
266
+ // undefined.
267
+ }
268
+ else {
269
+ (0, errors_1.addContextToError)(error, "getDoc", this.ref);
270
+ throw error;
271
+ }
265
272
  }
266
273
  }
267
- if (!(0, firestore_deps_1.snapshotExists)(snapshot)) {
268
- const error = new errors_1.FiretenderIOError(`Document does not exist: "${this.ref.path}"`);
274
+ if (!snapshot || !(0, firestore_deps_1.snapshotExists)(snapshot)) {
275
+ const error = new errors_1.FiretenderIOError(`Document does not exist or insufficient permissions: "${this.ref.path}"`);
269
276
  this.resolvesWaitingForLoad.forEach((wait) => wait.reject(error));
270
277
  throw error;
271
278
  }
@@ -391,7 +398,9 @@ class FiretenderDoc {
391
398
  */
392
399
  async update(mutator) {
393
400
  this.throwIfReadonly();
394
- await this.load();
401
+ if (!this.data) {
402
+ await this.load();
403
+ }
395
404
  mutator(this.w);
396
405
  await this.write();
397
406
  return this;
@@ -429,7 +438,22 @@ class FiretenderDoc {
429
438
  }
430
439
  }
431
440
  }
432
- this.data = this.schema.parse(data);
441
+ let parsedData;
442
+ try {
443
+ parsedData = this.schema.parse(data);
444
+ }
445
+ catch (error) {
446
+ if (error instanceof errors_1.NullTimestampError) {
447
+ // We are almost certainly in a listener, receiving the first snapshot
448
+ // update of a timestamp being set to serverTimestamp(). Ignore it.
449
+ // There will be another snapshot momentarily with the proper time.
450
+ //
451
+ // See https://stackoverflow.com/questions/64287252/ for background.
452
+ return false;
453
+ }
454
+ throw error; // Rethrow otherwise.
455
+ }
456
+ this.data = parsedData;
433
457
  // Dereference the old proxy to force a recapture of data.
434
458
  this.dataProxy = undefined;
435
459
  return true;
@@ -1 +1 @@
1
- {"version":3,"file":"FiretenderDoc.js","sourceRoot":"","sources":["../src/FiretenderDoc.ts"],"names":[],"mappings":";;;AAEA,qCAKkB;AAClB,qDAa0B;AAC1B,mCAA0C;AAuF1C;;GAEG;AACH,MAAa,aAAa;IA6CxB;;;;;;;OAOG;IACH,YACE,MAAkB,EAClB,GAA4C,EAC5C,UAAmC,EAAE;QAjDvC,yEAAyE;QACjE,UAAK,GAAuB,SAAS,CAAC;QAiB9C,gEAAgE;QACxD,SAAI,GAAoC,SAAS,CAAC;QAE1D,6EAA6E;QACrE,cAAS,GAAkD,SAAS,CAAC;QAE7E,2EAA2E;QACnE,YAAO,GAAG,IAAI,GAAG,EAAe,CAAC;QA0BvC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC;QAC5C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC;QAC3C,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,EAAE;YACpC,MAAM,IAAI,6BAAoB,CAC5B,0CAA0C,CAC3C,CAAC;SACH;QACD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC1C,IAAI,OAAO,CAAC,WAAW,EAAE;YACvB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;SAC/C;aAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;YACxB,MAAM,IAAI,6BAAoB,CAC5B,qDAAqD,CACtD,CAAC;SACH;QACD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,IAAI,GAAG,CAAC;QAC9D,IAAI,IAAI,CAAC,GAAG,YAAY,kCAAiB,EAAE;YACzC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;SAC7C;aAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACzB,MAAM,SAAS,CACb,+HAA+H,CAChI,CAAC;SACH;IACH,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,YAAY,CACjB,MAAmB,EACnB,GAA4C,EAC5C,WAAiC,EACjC,UAAgC,EAAE;QAElC,MAAM,aAAa,GAA4B;YAC7C,GAAG,OAAO;YACV,SAAS,EAAE,IAAI;YACf,WAAW;SACZ,CAAC;QACF,OAAO,IAAI,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;IACvD,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,IAAI,CACF,OAKgB,SAAS,EACzB,UAAmC,EAAE;QAErC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACd,MAAM,IAAI,6BAAoB,CAC5B,4CAA4C,CAC7C,CAAC;SACH;QACD,IAAI,GAA4C,CAAC;QACjD,IACE,IAAI,YAAY,kCAAiB;YACjC,IAAI,YAAY,oCAAmB,EACnC;YACA,GAAG,GAAG,IAAI,CAAC;SACZ;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACtC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE;gBACzB,qEAAqE;gBACrE,2CAA2C;gBAC3C,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;aAClB;YACD,MAAM,eAAe,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAC9C,IAAI,IAAI,CAAC,MAAM,GAAG,eAAe,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,eAAe,EAAE;gBACtE,MAAM,IAAI,6BAAoB,CAC5B,6GAA6G,CAC9G,CAAC;aACH;YACD,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;gBACzB,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;YAC3B,CAAC,CAAC,CAAC;YACH,GAAG;gBACD,IAAI,CAAC,MAAM,KAAK,eAAe;oBAC7B,CAAC,CAAC,IAAA,oBAAG,EAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBACpD,CAAC,CAAC,IAAA,2BAAU,EAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;SACjE;aAAM;YACL,gCAAgC;YAChC,MAAM,aAAa,GACjB,IAAI,CAAC,GAAG,YAAY,kCAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;YACrE,IAAI,IAAI,EAAE;gBACR,GAAG,GAAG,IAAA,oBAAG,EAAC,aAAa,EAAE,IAAI,CAAC,CAAC;aAChC;iBAAM;gBACL,GAAG,GAAG,aAAa,CAAC;aACrB;SACF;QACD,MAAM,aAAa,GAA4B;YAC7C,GAAG,OAAO;YACV,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,IAAI;SACvB,CAAC;QACF,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;IAC5D,CAAC;IAED;;;;OAIG;IACH,IAAI,EAAE;QACJ,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,MAAM,IAAI,6BAAoB,CAC5B,6DAA6D,CAC9D,CAAC;SACH;QACD,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACH,IAAI,MAAM;QACR,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,YAAY,kCAAiB,CAAC,EAAE;YAC5C,MAAM,IAAI,6BAAoB,CAC5B,iEAAiE,CAClE,CAAC;SACH;QACD,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;;OAGG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACH,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,cAAc,KAAK,SAAS,CAAC;IAC3C,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,IAAI,CACR,UAAkD,EAAE;QAEpD,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,YAAY,oCAAmB,EAAE;YAC5D,MAAM,IAAI,6BAAoB,CAC5B,gDAAgD,CACjD,CAAC;SACH;QACD,IACE,IAAI,CAAC,IAAI;YACT,CAAC,OAAO,CAAC,KAAK;YACd,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,cAAc,CAAC,EACxC;YACA,mEAAmE;YACnE,OAAO,IAAI,CAAC;SACb;QACD,IAAI,IAAI,CAAC,sBAAsB,KAAK,SAAS,EAAE;YAC7C,uEAAuE;YACvE,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC1C,IAAI,CAAC,sBAAuB,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YACzD,CAAC,CAAC,CAAC;YACH,qEAAqE;YACrE,2BAA2B;YAC3B,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,cAAc,EAAE;gBAC1C,OAAO,IAAI,CAAC;aACb;SACF;QACD,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAC;QACjC,IAAI,QAA0B,CAAC;QAC/B,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,MAAM,QAAQ,GACZ,OAAO,OAAO,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YACpE,MAAM,QAAQ,GAAG,CACf,WAA6B,EAC7B,cAA8C,EAC9C,EAAE;gBACF,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;oBACxB,cAAc,CAAC,WAAW,CAAC,CAAC;oBAC5B,OAAO;iBACR;gBACD,IAAI,IAAI,CAAC,cAAc,EAAE;oBACvB,sEAAsE;oBACtE,oEAAoE;oBACpE,sDAAsD;oBACtD,OAAO;iBACR;gBACD,IAAI,CAAC,IAAA,+BAAc,EAAC,WAAW,CAAC,EAAE;oBAChC,oEAAoE;oBACpE,uBAAuB;oBACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;oBACrB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;oBACjC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;oBAC3B,QAAQ,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;oBAC9B,OAAO;iBACR;gBACD,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC;oBAAE,OAAO;gBACtD,QAAQ,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YAChC,CAAC,CAAC;YACF,IAAI,MAA+B,CAAC;YACpC,QAAQ,GAAG,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBACvC,IAAI;oBACF,MAAM,GAAG,IAAA,2BAAU,EAAC,IAAI,CAAC,GAAwB,EAAE,CAAC,WAAW,EAAE,EAAE,CACjE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAC/B,CAAC;iBACH;gBAAC,OAAO,KAAK,EAAE;oBACd,IAAA,0BAAiB,EAAC,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;oBACjD,MAAM,KAAK,CAAC;iBACb;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;SAC9B;aAAM;YACL,IAAI;gBACF,QAAQ,GAAG,MAAM,IAAA,uBAAM,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aACnC;YAAC,OAAO,KAAK,EAAE;gBACd,IAAA,0BAAiB,EAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC7C,MAAM,KAAK,CAAC;aACb;SACF;QACD,IAAI,CAAC,IAAA,+BAAc,EAAC,QAAQ,CAAC,EAAE;YAC7B,MAAM,KAAK,GAAG,IAAI,0BAAiB,CACjC,6BAA6B,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAC9C,CAAC;YACF,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAClE,MAAM,KAAK,CAAC;SACb;QACD,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9D,IAAI,CAAC,sBAAsB,GAAG,SAAS,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,aAAa;QACX,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;SACjC;IACH,CAAC;IAED;;OAEG;IACH,IAAI,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACd,MAAM,IAAI,6BAAoB,CAC5B,oDAAoD,CACrD,CAAC;SACH;QACD,OAAO,IAAI,CAAC,IAAyC,CAAC;IACxD,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC;QACH,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC7B,oEAAoE;YACpE,OAAO,IAAI,CAAC,IAA2B,CAAC;SACzC;QACD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACnB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBACd,oEAAoE;gBACpE,MAAM,IAAI,6BAAoB,CAC5B,qDAAqD,CACtD,CAAC;aACH;YACD,IAAI,CAAC,SAAS,GAAG,IAAA,uBAAe,EAC9B,EAAE,EACF,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAChC,CAAC;SACH;QACD,OAAO,IAAI,CAAC,SAAgC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,CAAC,OAA4B;QAChC,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,4DAA4D;QAC5D,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBACd,MAAM,KAAK,CAAC,0DAA0D,CAAC,CAAC;aACzE;YACD,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC;YAChC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,IAAI,CAAC,GAAG,YAAY,kCAAiB,EAAE;gBACzC,IAAI;oBACF,MAAM,IAAA,uBAAM,EAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;iBACnC;gBAAC,OAAO,KAAK,EAAE;oBACd,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC,kCAAkC;oBACpE,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;oBAC1B,IAAA,0BAAiB,EAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;oBACxD,MAAM,KAAK,CAAC;iBACb;aACF;iBAAM;gBACL,IAAI;oBACF,IAAI,CAAC,GAAG,GAAG,MAAM,IAAA,uBAAM,EAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;iBAC9C;gBAAC,OAAO,KAAU,EAAE;oBACnB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC,kCAAkC;oBACpE,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;oBAC1B,IAAA,0BAAiB,EAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;oBACxD,MAAM,KAAK,CAAC;iBACb;gBACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,2BAA2B;aACzE;SACF;QACD,oEAAoE;aAC/D;YACH,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,YAAY,kCAAiB,CAAC,EAAE;gBAC5C,4BAA4B;gBAC5B,MAAM,IAAI,gCAAuB,CAC/B,sGAAsG,CACvG,CAAC;aACH;YACD,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE;gBACzB,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACpD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBACrB,IAAI;oBACF,MAAM,IAAA,0BAAS,EAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;iBACvC;gBAAC,OAAO,KAAU,EAAE;oBACnB,IAAA,0BAAiB,EAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;oBAC5D,MAAM,KAAK,CAAC;iBACb;aACF;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,MAAM,CAAC,OAA4C;QACvD,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChB,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,8EAA8E;IAC9E,oBAAoB;IAEZ,eAAe;QACrB,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,MAAM,IAAI,6BAAoB,CAC5B,2DAA2D,IAAI,CAAC,KAAK,EAAE,CACxE,CAAC;SACH;IACH,CAAC;IAED;;;;OAIG;IACK,gBAAgB,CAAC,QAA0B,EAAE,UAAU,GAAG,KAAK;QACrE,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,IAAI,EAAE;YACT,uEAAuE;YACvE,oEAAoE;YACpE,wDAAwD;YACxD,OAAO,KAAK,CAAC;SACd;QACD,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CACrC,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,UAAU,EACpD,KAAK,CACN,CAAC;YACF,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACjC,IAAI,UAAU,EAAE;gBACd,uEAAuE;gBACvE,6DAA6D;gBAC7D,IACE,CAAC,UAAU;oBACX,CAAC,IAAI,CAAC,UAAU;oBAChB,IAAI,CAAC,mBAAmB,KAAK,KAAK,EAClC;oBACA,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;iBAC1D;aACF;SACF;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACpC,0DAA0D;QAC1D,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACK,eAAe,CACrB,SAAmB,EACnB,QAAkC;QAElC,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE;YACzB,yEAAyE;YACzE,oEAAoE;YACpE,oEAAoE;YACpE,mEAAmE;YACnE,IACE,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;gBAC1B,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;gBAC3D,OAAO,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAClE,CAAC,CAAC,EACF;gBACA,OAAO;aACR;YACD,wDAAwD;YACxD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;gBAClC,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;oBAC9B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;iBAC1B;YACH,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,8DAA8D;YAC9D,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAClC;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACzC,CAAC;CACF;AA1jBD,sCA0jBC"}
1
+ {"version":3,"file":"FiretenderDoc.js","sourceRoot":"","sources":["../src/FiretenderDoc.ts"],"names":[],"mappings":"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"}
package/dist/errors.d.ts CHANGED
@@ -18,6 +18,15 @@ export declare class FiretenderUsageError extends FiretenderError {
18
18
  */
19
19
  export declare class FiretenderInternalError extends FiretenderError {
20
20
  }
21
+ /**
22
+ * Thrown to signal that a `timestampSchema` field was set to null. This
23
+ * happens when listening to a timestamp being set to the server time. See
24
+ * https://stackoverflow.com/questions/64287252/ for background.
25
+ *
26
+ * This error is only used internally.
27
+ */
28
+ export declare class NullTimestampError extends FiretenderError {
29
+ }
21
30
  /**
22
31
  * Adds a "firetenderContext" property to the given error.
23
32
  *
package/dist/errors.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addContextToError = exports.FiretenderInternalError = exports.FiretenderUsageError = exports.FiretenderIOError = exports.FiretenderError = void 0;
3
+ exports.addContextToError = exports.NullTimestampError = exports.FiretenderInternalError = exports.FiretenderUsageError = exports.FiretenderIOError = exports.FiretenderError = void 0;
4
4
  class FiretenderError extends Error {
5
5
  }
6
6
  exports.FiretenderError = FiretenderError;
@@ -24,6 +24,16 @@ exports.FiretenderUsageError = FiretenderUsageError;
24
24
  class FiretenderInternalError extends FiretenderError {
25
25
  }
26
26
  exports.FiretenderInternalError = FiretenderInternalError;
27
+ /**
28
+ * Thrown to signal that a `timestampSchema` field was set to null. This
29
+ * happens when listening to a timestamp being set to the server time. See
30
+ * https://stackoverflow.com/questions/64287252/ for background.
31
+ *
32
+ * This error is only used internally.
33
+ */
34
+ class NullTimestampError extends FiretenderError {
35
+ }
36
+ exports.NullTimestampError = NullTimestampError;
27
37
  /**
28
38
  * Adds a "firetenderContext" property to the given error.
29
39
  *
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AAEA,MAAa,eAAgB,SAAQ,KAAK;CAAG;AAA7C,0CAA6C;AAE7C;;;GAGG;AACH,MAAa,iBAAkB,SAAQ,eAAe;CAAG;AAAzD,8CAAyD;AAEzD;;;GAGG;AACH,MAAa,oBAAqB,SAAQ,eAAe;CAAG;AAA5D,oDAA4D;AAE5D;;GAEG;AACH,MAAa,uBAAwB,SAAQ,eAAe;CAAG;AAA/D,0DAA+D;AAE/D;;;;;;;;GAQG;AACH,SAAgB,iBAAiB,CAC/B,KAAU,EACV,IAAY,EACZ,GAA6C,EAC7C,IAAU;IAEV,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,OAAO;KACR;IACD,KAAK,CAAC,iBAAiB,GAAG,EAAE,IAAI,EAAE,CAAC;IACnC,IAAI,GAAG,EAAE;QACP,KAAK,CAAC,iBAAiB,CAAC,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC;KACxC;IACD,IAAI,IAAI,KAAK,SAAS,EAAE;QACtB,KAAK,CAAC,iBAAiB,CAAC,IAAI,GAAG,IAAI,CAAC;KACrC;AACH,CAAC;AAhBD,8CAgBC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AAEA,MAAa,eAAgB,SAAQ,KAAK;CAAG;AAA7C,0CAA6C;AAE7C;;;GAGG;AACH,MAAa,iBAAkB,SAAQ,eAAe;CAAG;AAAzD,8CAAyD;AAEzD;;;GAGG;AACH,MAAa,oBAAqB,SAAQ,eAAe;CAAG;AAA5D,oDAA4D;AAE5D;;GAEG;AACH,MAAa,uBAAwB,SAAQ,eAAe;CAAG;AAA/D,0DAA+D;AAE/D;;;;;;GAMG;AACH,MAAa,kBAAmB,SAAQ,eAAe;CAAG;AAA1D,gDAA0D;AAE1D;;;;;;;;GAQG;AACH,SAAgB,iBAAiB,CAC/B,KAAU,EACV,IAAY,EACZ,GAA6C,EAC7C,IAAU;IAEV,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,OAAO;KACR;IACD,KAAK,CAAC,iBAAiB,GAAG,EAAE,IAAI,EAAE,CAAC;IACnC,IAAI,GAAG,EAAE;QACP,KAAK,CAAC,iBAAiB,CAAC,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC;KACxC;IACD,IAAI,IAAI,KAAK,SAAS,EAAE;QACtB,KAAK,CAAC,iBAAiB,CAAC,IAAI,GAAG,IAAI,CAAC;KACrC;AACH,CAAC;AAhBD,8CAgBC"}
@@ -4,9 +4,11 @@
4
4
  * For the server client API, we need to wrap the namespaced calls so they are
5
5
  * compatible with the v9 modular calls used by the web version.
6
6
  */
7
+ import { FirebaseError } from "@firebase/util";
7
8
  import { CollectionGroup, CollectionReference, DocumentReference, DocumentSnapshot, FieldValue, Filter, Firestore, Query, QuerySnapshot, Timestamp, UpdateData, WithFieldValue } from "@google-cloud/firestore";
9
+ import { FirestoreError } from "firebase/firestore";
8
10
  export declare const FIRESTORE_DEPS_TYPE: "web" | "admin";
9
- export { CollectionReference, DocumentReference, DocumentSnapshot, Firestore, Query, QuerySnapshot, Timestamp, };
11
+ export { CollectionReference, DocumentReference, DocumentSnapshot, FirebaseError, Firestore, FirestoreError, Query, QuerySnapshot, Timestamp, };
10
12
  export type QueryConstraint = Filter;
11
13
  export type Unsubscribe = () => void;
12
14
  export declare const where: typeof Filter.where;
@@ -6,7 +6,9 @@
6
6
  * compatible with the v9 modular calls used by the web version.
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.updateDoc = exports.setDoc = exports.query = exports.onSnapshot = exports.getDocs = exports.getDoc = exports.doc = exports.deleteDoc = exports.collectionGroup = exports.collection = exports.addDoc = exports.snapshotExists = exports.isServerTimestamp = exports.serverTimestamp = exports.deleteField = exports.arrayRemove = exports.where = exports.Timestamp = exports.QuerySnapshot = exports.Query = exports.Firestore = exports.DocumentSnapshot = exports.DocumentReference = exports.CollectionReference = exports.FIRESTORE_DEPS_TYPE = void 0;
9
+ exports.updateDoc = exports.setDoc = exports.query = exports.onSnapshot = exports.getDocs = exports.getDoc = exports.doc = exports.deleteDoc = exports.collectionGroup = exports.collection = exports.addDoc = exports.snapshotExists = exports.isServerTimestamp = exports.serverTimestamp = exports.deleteField = exports.arrayRemove = exports.where = exports.Timestamp = exports.QuerySnapshot = exports.Query = exports.FirestoreError = exports.Firestore = exports.FirebaseError = exports.DocumentSnapshot = exports.DocumentReference = exports.CollectionReference = exports.FIRESTORE_DEPS_TYPE = void 0;
10
+ const util_1 = require("@firebase/util");
11
+ Object.defineProperty(exports, "FirebaseError", { enumerable: true, get: function () { return util_1.FirebaseError; } });
10
12
  const firestore_1 = require("@google-cloud/firestore");
11
13
  Object.defineProperty(exports, "CollectionReference", { enumerable: true, get: function () { return firestore_1.CollectionReference; } });
12
14
  Object.defineProperty(exports, "DocumentReference", { enumerable: true, get: function () { return firestore_1.DocumentReference; } });
@@ -15,6 +17,8 @@ Object.defineProperty(exports, "Firestore", { enumerable: true, get: function ()
15
17
  Object.defineProperty(exports, "Query", { enumerable: true, get: function () { return firestore_1.Query; } });
16
18
  Object.defineProperty(exports, "QuerySnapshot", { enumerable: true, get: function () { return firestore_1.QuerySnapshot; } });
17
19
  Object.defineProperty(exports, "Timestamp", { enumerable: true, get: function () { return firestore_1.Timestamp; } });
20
+ const firestore_2 = require("firebase/firestore");
21
+ Object.defineProperty(exports, "FirestoreError", { enumerable: true, get: function () { return firestore_2.FirestoreError; } });
18
22
  exports.FIRESTORE_DEPS_TYPE = "admin";
19
23
  exports.where = firestore_1.Filter.where;
20
24
  exports.arrayRemove = firestore_1.FieldValue.arrayRemove;
@@ -1 +1 @@
1
- {"version":3,"file":"firestore-deps-admin.js","sourceRoot":"","sources":["../src/firestore-deps-admin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"firestore-deps-admin.js","sourceRoot":"","sources":["../src/firestore-deps-admin.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,yCAA+C;AAuB7C,8FAvBO,oBAAa,OAuBP;AAtBf,uDAaiC;AAM/B,oGAjBA,+BAAmB,OAiBA;AACnB,kGAjBA,6BAAiB,OAiBA;AACjB,iGAjBA,4BAAgB,OAiBA;AAEhB,0FAhBA,qBAAS,OAgBA;AAET,sFAjBA,iBAAK,OAiBA;AACL,8FAjBA,yBAAa,OAiBA;AACb,0FAjBA,qBAAS,OAiBA;AAbX,kDAAoD;AAUlD,+FAVO,0BAAc,OAUP;AARH,QAAA,mBAAmB,GAAoB,OAAO,CAAC;AAgB/C,QAAA,KAAK,GAAG,kBAAM,CAAC,KAAK,CAAC;AACrB,QAAA,WAAW,GAAG,sBAAU,CAAC,WAAW,CAAC;AACrC,QAAA,WAAW,GAAG,sBAAU,CAAC,MAAM,CAAC;AAChC,QAAA,eAAe,GAAG,sBAAU,CAAC,eAAe,CAAC;AAEnD,MAAM,iBAAiB,GAAG,CAAC,CAAM,EAAW,EAAE,CAAC,CAAC,YAAY,sBAAU,CAAC;AAAjE,QAAA,iBAAiB,qBAAgD;AAE9E,+EAA+E;AAC/E,4CAA4C;AACrC,MAAM,cAAc,GAAG,CAAC,QAA0B,EAAW,EAAE,CACpE,QAAQ,CAAC,MAAM,CAAC;AADL,QAAA,cAAc,kBACT;AAEX,MAAM,MAAM,GAAG,CACpB,GAA2B,EAC3B,IAAuB,EACQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAHrC,QAAA,MAAM,UAG+B;AAE3C,MAAM,UAAU,GAAG,CACxB,cAA+C,EAC/C,IAAY,EACZ,GAAG,YAAsB,EACJ,EAAE,CACvB,cAAc,YAAY,qBAAS;IACjC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,GAAG,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9D,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,UAAU,CACjC,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CACvD,CAAC;AATK,QAAA,UAAU,cASf;AAED,MAAM,eAAe,GAAG,CAC7B,SAAoB,EACpB,YAAoB,EACH,EAAE,CAAC,SAAS,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;AAHjD,QAAA,eAAe,mBAGkC;AAEvD,MAAM,SAAS,GAAG,KAAK,EAC5B,GAA+B,EAChB,EAAE;IACjB,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC;AACrB,CAAC,CAAC;AAJW,QAAA,SAAS,aAIpB;AAEK,MAAM,GAAG,GAAG,CACjB,cAA+C,EAC/C,IAAa,EACb,GAAG,YAAsB,EACN,EAAE,CACrB,cAAc,YAAY,qBAAS;IACjC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvD,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvD,CAAC,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;AATd,QAAA,GAAG,OASW;AAEpB,MAAM,MAAM,GAAG,CACpB,GAAyB,EACK,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;AAFhC,QAAA,MAAM,UAE0B;AAEtC,MAAM,OAAO,GAAG,CAAI,KAAe,EAA6B,EAAE,CACvE,KAAK,CAAC,GAAG,EAAE,CAAC;AADD,QAAA,OAAO,WACN;AAEP,MAAM,UAAU,GAAG,CACxB,GAAsB,EACtB,QAA8C,EACjC,EAAE;IACf,OAAO,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AAClC,CAAC,CAAC;AALW,QAAA,UAAU,cAKrB;AAEK,MAAM,KAAK,GAAG,CACnB,GAAa,EACb,GAAG,gBAAmC,EAC5B,EAAE,CACZ,gBAAgB,CAAC,MAAM,KAAK,CAAC;IAC3B,CAAC,CAAC,GAAG;IACL,CAAC,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC;QAC/B,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,kBAAM,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC;AARpC,QAAA,KAAK,SAQ+B;AAE1C,MAAM,MAAM,GAAG,KAAK,EACzB,GAAyB,EACzB,IAAuB,EACR,EAAE;IACjB,MAAM,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACtB,CAAC,CAAC;AALW,QAAA,MAAM,UAKjB;AAEK,MAAM,SAAS,GAAG,KAAK,EAC5B,GAAyB,EACzB,IAAmB,EACJ,EAAE;IACjB,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC,CAAC;AALW,QAAA,SAAS,aAKpB"}
@@ -4,6 +4,7 @@
4
4
  * For web clients, the "firebase/firestore" API is simply re-exported.
5
5
  */
6
6
  import { DocumentSnapshot } from "firebase/firestore";
7
+ export { FirebaseError } from "firebase/app";
7
8
  export * from "firebase/firestore";
8
9
  export declare const FIRESTORE_DEPS_TYPE: "web" | "admin";
9
10
  export declare const snapshotExists: (snapshot: DocumentSnapshot) => boolean;
@@ -19,13 +19,15 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
19
19
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
20
20
  };
21
21
  Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.isServerTimestamp = exports.snapshotExists = exports.FIRESTORE_DEPS_TYPE = void 0;
22
+ exports.isServerTimestamp = exports.snapshotExists = exports.FIRESTORE_DEPS_TYPE = exports.FirebaseError = void 0;
23
+ var app_1 = require("firebase/app");
24
+ Object.defineProperty(exports, "FirebaseError", { enumerable: true, get: function () { return app_1.FirebaseError; } });
23
25
  __exportStar(require("firebase/firestore"), exports);
24
26
  exports.FIRESTORE_DEPS_TYPE = "web";
25
27
  // DocumentSnapshot.prototype.exists is a function for "firebase/firestore" and
26
28
  // a boolean for "firebase-admin/firestore".
27
29
  const snapshotExists = (snapshot) => snapshot.exists();
28
30
  exports.snapshotExists = snapshotExists;
29
- const isServerTimestamp = (data) => data._methodName === "serverTimestamp";
31
+ const isServerTimestamp = (data) => !!data && data._methodName === "serverTimestamp";
30
32
  exports.isServerTimestamp = isServerTimestamp;
31
33
  //# sourceMappingURL=firestore-deps-web.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"firestore-deps-web.js","sourceRoot":"","sources":["../src/firestore-deps-web.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;AAIH,qDAAmC;AAEtB,QAAA,mBAAmB,GAAoB,KAAK,CAAC;AAE1D,+EAA+E;AAC/E,4CAA4C;AACrC,MAAM,cAAc,GAAG,CAAC,QAA0B,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;AAAnE,QAAA,cAAc,kBAAqD;AAEzE,MAAM,iBAAiB,GAAG,CAAC,IAAS,EAAE,EAAE,CAC7C,IAAI,CAAC,WAAW,KAAK,iBAAiB,CAAC;AAD5B,QAAA,iBAAiB,qBACW"}
1
+ {"version":3,"file":"firestore-deps-web.js","sourceRoot":"","sources":["../src/firestore-deps-web.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;AAIH,oCAA6C;AAApC,oGAAA,aAAa,OAAA;AACtB,qDAAmC;AAEtB,QAAA,mBAAmB,GAAoB,KAAK,CAAC;AAE1D,+EAA+E;AAC/E,4CAA4C;AACrC,MAAM,cAAc,GAAG,CAAC,QAA0B,EAAW,EAAE,CACpE,QAAQ,CAAC,MAAM,EAAE,CAAC;AADP,QAAA,cAAc,kBACP;AAEb,MAAM,iBAAiB,GAAG,CAAC,IAAS,EAAW,EAAE,CACtD,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,KAAK,iBAAiB,CAAC;AADtC,QAAA,iBAAiB,qBACqB"}
@@ -4,9 +4,11 @@
4
4
  * For the server client API, we need to wrap the namespaced calls so they are
5
5
  * compatible with the v9 modular calls used by the web version.
6
6
  */
7
+ import { FirebaseError } from "@firebase/util";
7
8
  import { CollectionGroup, CollectionReference, DocumentReference, DocumentSnapshot, FieldValue, Filter, Firestore, Query, QuerySnapshot, Timestamp, UpdateData, WithFieldValue } from "@google-cloud/firestore";
9
+ import { FirestoreError } from "firebase/firestore";
8
10
  export declare const FIRESTORE_DEPS_TYPE: "web" | "admin";
9
- export { CollectionReference, DocumentReference, DocumentSnapshot, Firestore, Query, QuerySnapshot, Timestamp, };
11
+ export { CollectionReference, DocumentReference, DocumentSnapshot, FirebaseError, Firestore, FirestoreError, Query, QuerySnapshot, Timestamp, };
10
12
  export type QueryConstraint = Filter;
11
13
  export type Unsubscribe = () => void;
12
14
  export declare const where: typeof Filter.where;
@@ -6,7 +6,9 @@
6
6
  * compatible with the v9 modular calls used by the web version.
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.updateDoc = exports.setDoc = exports.query = exports.onSnapshot = exports.getDocs = exports.getDoc = exports.doc = exports.deleteDoc = exports.collectionGroup = exports.collection = exports.addDoc = exports.snapshotExists = exports.isServerTimestamp = exports.serverTimestamp = exports.deleteField = exports.arrayRemove = exports.where = exports.Timestamp = exports.QuerySnapshot = exports.Query = exports.Firestore = exports.DocumentSnapshot = exports.DocumentReference = exports.CollectionReference = exports.FIRESTORE_DEPS_TYPE = void 0;
9
+ exports.updateDoc = exports.setDoc = exports.query = exports.onSnapshot = exports.getDocs = exports.getDoc = exports.doc = exports.deleteDoc = exports.collectionGroup = exports.collection = exports.addDoc = exports.snapshotExists = exports.isServerTimestamp = exports.serverTimestamp = exports.deleteField = exports.arrayRemove = exports.where = exports.Timestamp = exports.QuerySnapshot = exports.Query = exports.FirestoreError = exports.Firestore = exports.FirebaseError = exports.DocumentSnapshot = exports.DocumentReference = exports.CollectionReference = exports.FIRESTORE_DEPS_TYPE = void 0;
10
+ const util_1 = require("@firebase/util");
11
+ Object.defineProperty(exports, "FirebaseError", { enumerable: true, get: function () { return util_1.FirebaseError; } });
10
12
  const firestore_1 = require("@google-cloud/firestore");
11
13
  Object.defineProperty(exports, "CollectionReference", { enumerable: true, get: function () { return firestore_1.CollectionReference; } });
12
14
  Object.defineProperty(exports, "DocumentReference", { enumerable: true, get: function () { return firestore_1.DocumentReference; } });
@@ -15,6 +17,8 @@ Object.defineProperty(exports, "Firestore", { enumerable: true, get: function ()
15
17
  Object.defineProperty(exports, "Query", { enumerable: true, get: function () { return firestore_1.Query; } });
16
18
  Object.defineProperty(exports, "QuerySnapshot", { enumerable: true, get: function () { return firestore_1.QuerySnapshot; } });
17
19
  Object.defineProperty(exports, "Timestamp", { enumerable: true, get: function () { return firestore_1.Timestamp; } });
20
+ const firestore_2 = require("firebase/firestore");
21
+ Object.defineProperty(exports, "FirestoreError", { enumerable: true, get: function () { return firestore_2.FirestoreError; } });
18
22
  exports.FIRESTORE_DEPS_TYPE = "admin";
19
23
  exports.where = firestore_1.Filter.where;
20
24
  exports.arrayRemove = firestore_1.FieldValue.arrayRemove;
@@ -1 +1 @@
1
- {"version":3,"file":"firestore-deps.js","sourceRoot":"","sources":["../src/firestore-deps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"firestore-deps.js","sourceRoot":"","sources":["../src/firestore-deps.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,yCAA+C;AAuB7C,8FAvBO,oBAAa,OAuBP;AAtBf,uDAaiC;AAM/B,oGAjBA,+BAAmB,OAiBA;AACnB,kGAjBA,6BAAiB,OAiBA;AACjB,iGAjBA,4BAAgB,OAiBA;AAEhB,0FAhBA,qBAAS,OAgBA;AAET,sFAjBA,iBAAK,OAiBA;AACL,8FAjBA,yBAAa,OAiBA;AACb,0FAjBA,qBAAS,OAiBA;AAbX,kDAAoD;AAUlD,+FAVO,0BAAc,OAUP;AARH,QAAA,mBAAmB,GAAoB,OAAO,CAAC;AAgB/C,QAAA,KAAK,GAAG,kBAAM,CAAC,KAAK,CAAC;AACrB,QAAA,WAAW,GAAG,sBAAU,CAAC,WAAW,CAAC;AACrC,QAAA,WAAW,GAAG,sBAAU,CAAC,MAAM,CAAC;AAChC,QAAA,eAAe,GAAG,sBAAU,CAAC,eAAe,CAAC;AAEnD,MAAM,iBAAiB,GAAG,CAAC,CAAM,EAAW,EAAE,CAAC,CAAC,YAAY,sBAAU,CAAC;AAAjE,QAAA,iBAAiB,qBAAgD;AAE9E,+EAA+E;AAC/E,4CAA4C;AACrC,MAAM,cAAc,GAAG,CAAC,QAA0B,EAAW,EAAE,CACpE,QAAQ,CAAC,MAAM,CAAC;AADL,QAAA,cAAc,kBACT;AAEX,MAAM,MAAM,GAAG,CACpB,GAA2B,EAC3B,IAAuB,EACQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAHrC,QAAA,MAAM,UAG+B;AAE3C,MAAM,UAAU,GAAG,CACxB,cAA+C,EAC/C,IAAY,EACZ,GAAG,YAAsB,EACJ,EAAE,CACvB,cAAc,YAAY,qBAAS;IACjC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,GAAG,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9D,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,UAAU,CACjC,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CACvD,CAAC;AATK,QAAA,UAAU,cASf;AAED,MAAM,eAAe,GAAG,CAC7B,SAAoB,EACpB,YAAoB,EACH,EAAE,CAAC,SAAS,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;AAHjD,QAAA,eAAe,mBAGkC;AAEvD,MAAM,SAAS,GAAG,KAAK,EAC5B,GAA+B,EAChB,EAAE;IACjB,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC;AACrB,CAAC,CAAC;AAJW,QAAA,SAAS,aAIpB;AAEK,MAAM,GAAG,GAAG,CACjB,cAA+C,EAC/C,IAAa,EACb,GAAG,YAAsB,EACN,EAAE,CACrB,cAAc,YAAY,qBAAS;IACjC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvD,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvD,CAAC,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;AATd,QAAA,GAAG,OASW;AAEpB,MAAM,MAAM,GAAG,CACpB,GAAyB,EACK,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;AAFhC,QAAA,MAAM,UAE0B;AAEtC,MAAM,OAAO,GAAG,CAAI,KAAe,EAA6B,EAAE,CACvE,KAAK,CAAC,GAAG,EAAE,CAAC;AADD,QAAA,OAAO,WACN;AAEP,MAAM,UAAU,GAAG,CACxB,GAAsB,EACtB,QAA8C,EACjC,EAAE;IACf,OAAO,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AAClC,CAAC,CAAC;AALW,QAAA,UAAU,cAKrB;AAEK,MAAM,KAAK,GAAG,CACnB,GAAa,EACb,GAAG,gBAAmC,EAC5B,EAAE,CACZ,gBAAgB,CAAC,MAAM,KAAK,CAAC;IAC3B,CAAC,CAAC,GAAG;IACL,CAAC,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC;QAC/B,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,kBAAM,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC;AARpC,QAAA,KAAK,SAQ+B;AAE1C,MAAM,MAAM,GAAG,KAAK,EACzB,GAAyB,EACzB,IAAuB,EACR,EAAE;IACjB,MAAM,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACtB,CAAC,CAAC;AALW,QAAA,MAAM,UAKjB;AAEK,MAAM,SAAS,GAAG,KAAK,EAC5B,GAAyB,EACzB,IAAmB,EACJ,EAAE;IACjB,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC,CAAC;AALW,QAAA,SAAS,aAKpB"}
package/dist/proxy.js CHANGED
@@ -198,7 +198,8 @@ function getPropertySchema(parent, parentSchema, propertyKey) {
198
198
  case zod_1.z.ZodFirstPartyTypeKind.ZodObject:
199
199
  return schema.shape[propertyKey];
200
200
  case zod_1.z.ZodFirstPartyTypeKind.ZodDiscriminatedUnion:
201
- return schema.optionsMap.get(parent[schema.discriminator]);
201
+ schema = schema.optionsMap.get(parent[schema.discriminator]);
202
+ continue;
202
203
  // If the parent is of type ZodAny, so are its properties.
203
204
  case zod_1.z.ZodFirstPartyTypeKind.ZodAny:
204
205
  return zod_1.z.any();
package/dist/proxy.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":"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"}
@@ -2,12 +2,18 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.serverTimestampWithClientTime = exports.serverTimestamp = exports.futureTimestamp = exports.timestampSchema = void 0;
4
4
  const zod_1 = require("zod");
5
+ const errors_1 = require("./errors");
5
6
  const firestore_deps_1 = require("./firestore-deps");
6
7
  /**
7
8
  * Timestamp representation used by Firestore: seconds and nanoseconds since the
8
9
  * epoch.
9
10
  */
10
- exports.timestampSchema = zod_1.z.custom((data) => data instanceof firestore_deps_1.Timestamp || (0, firestore_deps_1.isServerTimestamp)(data));
11
+ exports.timestampSchema = zod_1.z.custom((data) => {
12
+ if (data === null) {
13
+ throw new errors_1.NullTimestampError();
14
+ }
15
+ return data instanceof firestore_deps_1.Timestamp || (0, firestore_deps_1.isServerTimestamp)(data);
16
+ });
11
17
  /**
12
18
  * Returns a Firestore Timestamp for some future date. The result is typically
13
19
  * used for writing TTLs.
@@ -1 +1 @@
1
- {"version":3,"file":"timestamps.js","sourceRoot":"","sources":["../src/timestamps.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,qDAI0B;AAE1B;;;GAGG;AACU,QAAA,eAAe,GAAG,OAAC,CAAC,MAAM,CACrC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,YAAY,0BAAS,IAAI,IAAA,kCAAiB,EAAC,IAAI,CAAC,CACpE,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,SAAgB,eAAe,CAAC,QAM/B;IACC,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC3B,IAAI,QAAQ,CAAC,IAAI;QAAE,SAAS,IAAI,QAAQ,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACpE,IAAI,QAAQ,CAAC,KAAK;QAAE,SAAS,IAAI,QAAQ,CAAC,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACjE,IAAI,QAAQ,CAAC,OAAO;QAAE,SAAS,IAAI,QAAQ,CAAC,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC;IAChE,IAAI,QAAQ,CAAC,OAAO;QAAE,SAAS,IAAI,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;IAC3D,IAAI,QAAQ,CAAC,MAAM;QAAE,SAAS,IAAI,QAAQ,CAAC,MAAM,CAAC;IAClD,OAAO,0BAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AACzC,CAAC;AAdD,0CAcC;AAED;;;;;;;GAOG;AACH,SAAgB,eAAe;IAC7B,OAAO,IAAA,gCAAwB,GAAe,CAAC;AACjD,CAAC;AAFD,0CAEC;AAED;;;;;;;;GAQG;AACH,SAAgB,6BAA6B;IAC3C,MAAM,QAAQ,GAAG,IAAA,gCAAwB,GAAE,CAAC;IAC5C,MAAM,SAAS,GAAG,0BAAS,CAAC,GAAG,EAAE,CAAC;IAClC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAClC,QAAgB,CAAC,OAAO,GAAG,CAAC,KAAgB,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC1E,QAAgB,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;IACnD,QAAgB,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;IACvD,QAAgB,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;IACvD,QAAgB,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IACtD,+DAA+D;IAC/D,iFAAiF;IACjF,sEAAsE;IACtE,OAAO,QAAqB,CAAC;AAC/B,CAAC;AAbD,sEAaC"}
1
+ {"version":3,"file":"timestamps.js","sourceRoot":"","sources":["../src/timestamps.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,qCAA8C;AAC9C,qDAI0B;AAE1B;;;GAGG;AACU,QAAA,eAAe,GAAG,OAAC,CAAC,MAAM,CAAY,CAAC,IAAS,EAAE,EAAE;IAC/D,IAAI,IAAI,KAAK,IAAI,EAAE;QACjB,MAAM,IAAI,2BAAkB,EAAE,CAAC;KAChC;IACD,OAAO,IAAI,YAAY,0BAAS,IAAI,IAAA,kCAAiB,EAAC,IAAI,CAAC,CAAC;AAC9D,CAAC,CAAC,CAAC;AAEH;;;;;;;;;;;;GAYG;AACH,SAAgB,eAAe,CAAC,QAM/B;IACC,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC3B,IAAI,QAAQ,CAAC,IAAI;QAAE,SAAS,IAAI,QAAQ,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACpE,IAAI,QAAQ,CAAC,KAAK;QAAE,SAAS,IAAI,QAAQ,CAAC,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACjE,IAAI,QAAQ,CAAC,OAAO;QAAE,SAAS,IAAI,QAAQ,CAAC,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC;IAChE,IAAI,QAAQ,CAAC,OAAO;QAAE,SAAS,IAAI,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;IAC3D,IAAI,QAAQ,CAAC,MAAM;QAAE,SAAS,IAAI,QAAQ,CAAC,MAAM,CAAC;IAClD,OAAO,0BAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AACzC,CAAC;AAdD,0CAcC;AAED;;;;;;;GAOG;AACH,SAAgB,eAAe;IAC7B,OAAO,IAAA,gCAAwB,GAAe,CAAC;AACjD,CAAC;AAFD,0CAEC;AAED;;;;;;;;GAQG;AACH,SAAgB,6BAA6B;IAC3C,MAAM,QAAQ,GAAG,IAAA,gCAAwB,GAAE,CAAC;IAC5C,MAAM,SAAS,GAAG,0BAAS,CAAC,GAAG,EAAE,CAAC;IAClC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAClC,QAAgB,CAAC,OAAO,GAAG,CAAC,KAAgB,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC1E,QAAgB,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;IACnD,QAAgB,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;IACvD,QAAgB,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;IACvD,QAAgB,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IACtD,+DAA+D;IAC/D,iFAAiF;IACjF,sEAAsE;IACtE,OAAO,QAAqB,CAAC;AAC/B,CAAC;AAbD,sEAaC"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "firetender-admin",
3
3
  "displayName": "Firetender (for firebase-admin/firestore)",
4
4
  "description": "Typescript wrapper for Firestore documents",
5
- "version": "0.12.0",
5
+ "version": "0.12.2",
6
6
  "author": "Jake Hartman",
7
7
  "license": "MIT",
8
8
  "homepage": "https://github.com/jakes-space/firetender",
@@ -38,35 +38,36 @@
38
38
  "prettier:fix": "prettier --write src/*.ts src/**/*.ts",
39
39
  "check": "npm run lint:check && npm run prettier:check",
40
40
  "fix": "npm run lint:fix && npm run prettier:fix",
41
- "emulate-db": "firebase emulators:start --project=firetender",
42
- "test": "jest --forceExit --detectOpenHandles",
41
+ "start-emulator": "firebase --config=./src/__tests__/firebase.json --project=firetender --only=firestore emulators:start",
42
+ "test": "firebase --config=./src/__tests__/firebase.json --project=firetender --only=firestore emulators:exec ./src/__tests__/run-tests.sh",
43
+ "test:manual": "./src/__tests__/run-tests.sh",
43
44
  "prepare": "husky install",
44
45
  "clean": "rm -rf dist/*",
45
46
  "build": "npm run clean && tsc && rm -rf dist/__tests__",
46
47
  "prepublishOnly": "npm run check && npm run test && npm run build"
47
48
  },
48
49
  "dependencies": {
49
- "firebase-admin": "^11.6.0",
50
- "zod": "^3.20.6"
50
+ "firebase-admin": "^11.10.1",
51
+ "zod": "^3.21.4"
51
52
  },
52
53
  "devDependencies": {
53
- "@firebase/rules-unit-testing": "^2.0.7",
54
- "@rushstack/eslint-patch": "^1.2.0",
55
- "@types/jest": "^29.4.0",
56
- "@typescript-eslint/eslint-plugin": "^5.54.0",
57
- "@typescript-eslint/parser": "^5.54.0",
58
- "eslint": "^8.35.0",
59
- "eslint-config-prettier": "^8.6.0",
60
- "eslint-import-resolver-typescript": "^3.5.3",
54
+ "@firebase/rules-unit-testing": "^3.0.0",
55
+ "@rushstack/eslint-patch": "^1.3.2",
56
+ "@types/jest": "^29.5.3",
57
+ "@typescript-eslint/eslint-plugin": "^6.1.0",
58
+ "@typescript-eslint/parser": "^6.1.0",
59
+ "eslint": "^8.45.0",
60
+ "eslint-config-prettier": "^8.8.0",
61
+ "eslint-import-resolver-typescript": "^3.5.5",
61
62
  "eslint-plugin-import": "^2.27.5",
62
- "eslint-plugin-prettier": "^4.2.1",
63
+ "eslint-plugin-prettier": "^5.0.0",
63
64
  "eslint-plugin-simple-import-sort": "^10.0.0",
64
- "firebase-admin": "^11.6.0",
65
+ "firebase-admin": "^11.10.1",
65
66
  "husky": "^8.0.3",
66
- "jest": "^29.4.3",
67
- "prettier": "^2.8.4",
68
- "ts-jest": "^29.0.5",
69
- "tslib": "^2.5.0",
70
- "typescript": "^4.9.5"
67
+ "jest": "^29.6.1",
68
+ "prettier": "^3.0.0",
69
+ "ts-jest": "^29.1.1",
70
+ "tslib": "^2.6.0",
71
+ "typescript": "^5.1.6"
71
72
  }
72
- }
73
+ }
@@ -273,7 +273,7 @@ export class FiretenderCollection<SchemaType extends z.SomeZodObject> {
273
273
  * collection's documents. Patchers can also be passed in the options
274
274
  * argument of this class's constructor.
275
275
  */
276
- patch(patcher: (data: DeepPartial<z.input<SchemaType>>) => boolean) {
276
+ patch(patcher: (data: DeepPartial<z.input<SchemaType>>) => boolean): void {
277
277
  if (!this.defaultDocOptions.patchers) {
278
278
  this.defaultDocOptions.patchers = [patcher];
279
279
  } else {
@@ -5,6 +5,7 @@ import {
5
5
  FiretenderInternalError,
6
6
  FiretenderIOError,
7
7
  FiretenderUsageError,
8
+ NullTimestampError,
8
9
  } from "./errors";
9
10
  import {
10
11
  addDoc,
@@ -13,6 +14,8 @@ import {
13
14
  doc,
14
15
  DocumentReference,
15
16
  DocumentSnapshot,
17
+ FirebaseError,
18
+ FirestoreError,
16
19
  getDoc,
17
20
  onSnapshot,
18
21
  setDoc,
@@ -399,14 +402,14 @@ export class FiretenderDoc<SchemaType extends z.SomeZodObject> {
399
402
  }
400
403
  }
401
404
  this.resolvesWaitingForLoad = [];
402
- let snapshot: DocumentSnapshot;
405
+ let snapshot: DocumentSnapshot | undefined;
403
406
  if (options.listen) {
404
407
  const callback =
405
408
  typeof options.listen === "function" ? options.listen : undefined;
406
409
  const listener = (
407
410
  newSnapshot: DocumentSnapshot,
408
411
  initialResolve: (ns: DocumentSnapshot) => void
409
- ) => {
412
+ ): void => {
410
413
  if (!this.detachListener) {
411
414
  initialResolve(newSnapshot);
412
415
  return;
@@ -445,13 +448,21 @@ export class FiretenderDoc<SchemaType extends z.SomeZodObject> {
445
448
  try {
446
449
  snapshot = await getDoc(this.ref);
447
450
  } catch (error) {
448
- addContextToError(error, "getDoc", this.ref);
449
- throw error;
451
+ if (
452
+ (error instanceof FirestoreError || error instanceof FirebaseError) &&
453
+ (error.code === "not-found" || error.code === "permission-denied")
454
+ ) {
455
+ // Not found and permission errors are handled below; snapshot is left
456
+ // undefined.
457
+ } else {
458
+ addContextToError(error, "getDoc", this.ref);
459
+ throw error;
460
+ }
450
461
  }
451
462
  }
452
- if (!snapshotExists(snapshot)) {
463
+ if (!snapshot || !snapshotExists(snapshot)) {
453
464
  const error = new FiretenderIOError(
454
- `Document does not exist: "${this.ref.path}"`
465
+ `Document does not exist or insufficient permissions: "${this.ref.path}"`
455
466
  );
456
467
  this.resolvesWaitingForLoad.forEach((wait) => wait.reject(error));
457
468
  throw error;
@@ -465,7 +476,7 @@ export class FiretenderDoc<SchemaType extends z.SomeZodObject> {
465
476
  /**
466
477
  * Stops listening to the remote doc for changes.
467
478
  */
468
- stopListening() {
479
+ stopListening(): void {
469
480
  if (this.detachListener) {
470
481
  this.detachListener();
471
482
  this.detachListener = undefined;
@@ -591,7 +602,9 @@ export class FiretenderDoc<SchemaType extends z.SomeZodObject> {
591
602
  */
592
603
  async update(mutator: (data: z.infer<SchemaType>) => void): Promise<this> {
593
604
  this.throwIfReadonly();
594
- await this.load();
605
+ if (!this.data) {
606
+ await this.load();
607
+ }
595
608
  mutator(this.w);
596
609
  await this.write();
597
610
  return this;
@@ -600,7 +613,7 @@ export class FiretenderDoc<SchemaType extends z.SomeZodObject> {
600
613
  //////////////////////////////////////////////////////////////////////////////
601
614
  // Private functions
602
615
 
603
- private throwIfReadonly() {
616
+ private throwIfReadonly(): void {
604
617
  if (this.isReadonly) {
605
618
  throw new FiretenderUsageError(
606
619
  `An attempt was made to modify or write a read-only doc: ${this.docID}`
@@ -613,7 +626,10 @@ export class FiretenderDoc<SchemaType extends z.SomeZodObject> {
613
626
  * not called from a listener, the patched data may be written to Firestore
614
627
  * after a delay.
615
628
  */
616
- private loadFromSnapshot(snapshot: DocumentSnapshot, isListener = false) {
629
+ private loadFromSnapshot(
630
+ snapshot: DocumentSnapshot,
631
+ isListener = false
632
+ ): boolean {
617
633
  const data = snapshot.data();
618
634
  if (!data) {
619
635
  // I'm not sure why this ever happens given that the snapshot claims to
@@ -639,7 +655,21 @@ export class FiretenderDoc<SchemaType extends z.SomeZodObject> {
639
655
  }
640
656
  }
641
657
  }
642
- this.data = this.schema.parse(data);
658
+ let parsedData: z.infer<SchemaType>;
659
+ try {
660
+ parsedData = this.schema.parse(data);
661
+ } catch (error) {
662
+ if (error instanceof NullTimestampError) {
663
+ // We are almost certainly in a listener, receiving the first snapshot
664
+ // update of a timestamp being set to serverTimestamp(). Ignore it.
665
+ // There will be another snapshot momentarily with the proper time.
666
+ //
667
+ // See https://stackoverflow.com/questions/64287252/ for background.
668
+ return false;
669
+ }
670
+ throw error; // Rethrow otherwise.
671
+ }
672
+ this.data = parsedData;
643
673
  // Dereference the old proxy to force a recapture of data.
644
674
  this.dataProxy = undefined;
645
675
  return true;
package/src/errors.ts CHANGED
@@ -19,6 +19,15 @@ export class FiretenderUsageError extends FiretenderError {}
19
19
  */
20
20
  export class FiretenderInternalError extends FiretenderError {}
21
21
 
22
+ /**
23
+ * Thrown to signal that a `timestampSchema` field was set to null. This
24
+ * happens when listening to a timestamp being set to the server time. See
25
+ * https://stackoverflow.com/questions/64287252/ for background.
26
+ *
27
+ * This error is only used internally.
28
+ */
29
+ export class NullTimestampError extends FiretenderError {}
30
+
22
31
  /**
23
32
  * Adds a "firetenderContext" property to the given error.
24
33
  *
@@ -33,7 +42,7 @@ export function addContextToError(
33
42
  call: string,
34
43
  ref?: DocumentReference | CollectionReference,
35
44
  data?: any
36
- ) {
45
+ ): void {
37
46
  if (typeof error !== "object") {
38
47
  return;
39
48
  }
@@ -5,6 +5,7 @@
5
5
  * compatible with the v9 modular calls used by the web version.
6
6
  */
7
7
 
8
+ import { FirebaseError } from "@firebase/util";
8
9
  import {
9
10
  CollectionGroup,
10
11
  CollectionReference,
@@ -19,6 +20,7 @@ import {
19
20
  UpdateData,
20
21
  WithFieldValue,
21
22
  } from "@google-cloud/firestore";
23
+ import { FirestoreError } from "firebase/firestore";
22
24
 
23
25
  export const FIRESTORE_DEPS_TYPE: "web" | "admin" = "admin";
24
26
 
@@ -26,7 +28,9 @@ export {
26
28
  CollectionReference,
27
29
  DocumentReference,
28
30
  DocumentSnapshot,
31
+ FirebaseError,
29
32
  Firestore,
33
+ FirestoreError,
30
34
  Query,
31
35
  QuerySnapshot,
32
36
  Timestamp,
@@ -39,11 +43,12 @@ export const arrayRemove = FieldValue.arrayRemove;
39
43
  export const deleteField = FieldValue.delete;
40
44
  export const serverTimestamp = FieldValue.serverTimestamp;
41
45
 
42
- export const isServerTimestamp = (x: any) => x instanceof FieldValue;
46
+ export const isServerTimestamp = (x: any): boolean => x instanceof FieldValue;
43
47
 
44
48
  // DocumentSnapshot.prototype.exists is a function for "firebase/firestore" and
45
49
  // a boolean for "firebase-admin/firestore".
46
- export const snapshotExists = (snapshot: DocumentSnapshot) => snapshot.exists;
50
+ export const snapshotExists = (snapshot: DocumentSnapshot): boolean =>
51
+ snapshot.exists;
47
52
 
48
53
  export const addDoc = <T>(
49
54
  ref: CollectionReference<T>,
@@ -6,13 +6,15 @@
6
6
 
7
7
  import { DocumentSnapshot } from "firebase/firestore";
8
8
 
9
+ export { FirebaseError } from "firebase/app";
9
10
  export * from "firebase/firestore";
10
11
 
11
12
  export const FIRESTORE_DEPS_TYPE: "web" | "admin" = "web";
12
13
 
13
14
  // DocumentSnapshot.prototype.exists is a function for "firebase/firestore" and
14
15
  // a boolean for "firebase-admin/firestore".
15
- export const snapshotExists = (snapshot: DocumentSnapshot) => snapshot.exists();
16
+ export const snapshotExists = (snapshot: DocumentSnapshot): boolean =>
17
+ snapshot.exists();
16
18
 
17
- export const isServerTimestamp = (data: any) =>
18
- data._methodName === "serverTimestamp";
19
+ export const isServerTimestamp = (data: any): boolean =>
20
+ !!data && data._methodName === "serverTimestamp";
@@ -5,6 +5,7 @@
5
5
  * compatible with the v9 modular calls used by the web version.
6
6
  */
7
7
 
8
+ import { FirebaseError } from "@firebase/util";
8
9
  import {
9
10
  CollectionGroup,
10
11
  CollectionReference,
@@ -19,6 +20,7 @@ import {
19
20
  UpdateData,
20
21
  WithFieldValue,
21
22
  } from "@google-cloud/firestore";
23
+ import { FirestoreError } from "firebase/firestore";
22
24
 
23
25
  export const FIRESTORE_DEPS_TYPE: "web" | "admin" = "admin";
24
26
 
@@ -26,7 +28,9 @@ export {
26
28
  CollectionReference,
27
29
  DocumentReference,
28
30
  DocumentSnapshot,
31
+ FirebaseError,
29
32
  Firestore,
33
+ FirestoreError,
30
34
  Query,
31
35
  QuerySnapshot,
32
36
  Timestamp,
@@ -39,11 +43,12 @@ export const arrayRemove = FieldValue.arrayRemove;
39
43
  export const deleteField = FieldValue.delete;
40
44
  export const serverTimestamp = FieldValue.serverTimestamp;
41
45
 
42
- export const isServerTimestamp = (x: any) => x instanceof FieldValue;
46
+ export const isServerTimestamp = (x: any): boolean => x instanceof FieldValue;
43
47
 
44
48
  // DocumentSnapshot.prototype.exists is a function for "firebase/firestore" and
45
49
  // a boolean for "firebase-admin/firestore".
46
- export const snapshotExists = (snapshot: DocumentSnapshot) => snapshot.exists;
50
+ export const snapshotExists = (snapshot: DocumentSnapshot): boolean =>
51
+ snapshot.exists;
47
52
 
48
53
  export const addDoc = <T>(
49
54
  ref: CollectionReference<T>,
package/src/proxy.ts CHANGED
@@ -38,7 +38,7 @@ const PROXY_TARGET_SYMBOL = Symbol("proxy_target");
38
38
  */
39
39
  export function watchForChanges<
40
40
  FieldSchemaType extends z.ZodTypeAny,
41
- ArrayElementType
41
+ ArrayElementType,
42
42
  >(
43
43
  updatePath: string[],
44
44
  fieldSchema: FieldSchemaType,
@@ -50,7 +50,7 @@ export function watchForChanges<
50
50
  get(target, propertyKey): any {
51
51
  const property = target[propertyKey];
52
52
  if (property instanceof Function) {
53
- const result = (...args: any[]) => property.apply(field, args);
53
+ const result = (...args: any[]): any => property.apply(field, args);
54
54
  if (arrayAncestor) {
55
55
  // All methods of an array or its children are presumed to make
56
56
  // modifications, thus triggering an update of the full array.
@@ -220,9 +220,10 @@ function getPropertySchema(
220
220
  case z.ZodFirstPartyTypeKind.ZodObject:
221
221
  return schema.shape[propertyKey];
222
222
  case z.ZodFirstPartyTypeKind.ZodDiscriminatedUnion:
223
- return (schema as any).optionsMap.get(
223
+ schema = (schema as any).optionsMap.get(
224
224
  parent[(schema as any).discriminator]
225
225
  );
226
+ continue;
226
227
  // If the parent is of type ZodAny, so are its properties.
227
228
  case z.ZodFirstPartyTypeKind.ZodAny:
228
229
  return z.any();
package/src/timestamps.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { z } from "zod";
2
2
 
3
+ import { NullTimestampError } from "./errors";
3
4
  import {
4
5
  isServerTimestamp,
5
6
  serverTimestamp as firestoreServerTimestamp,
@@ -10,9 +11,12 @@ import {
10
11
  * Timestamp representation used by Firestore: seconds and nanoseconds since the
11
12
  * epoch.
12
13
  */
13
- export const timestampSchema = z.custom<Timestamp>(
14
- (data: any) => data instanceof Timestamp || isServerTimestamp(data)
15
- );
14
+ export const timestampSchema = z.custom<Timestamp>((data: any) => {
15
+ if (data === null) {
16
+ throw new NullTimestampError();
17
+ }
18
+ return data instanceof Timestamp || isServerTimestamp(data);
19
+ });
16
20
 
17
21
  /**
18
22
  * Returns a Firestore Timestamp for some future date. The result is typically
@@ -33,7 +37,7 @@ export function futureTimestamp(interval: {
33
37
  minutes?: number;
34
38
  seconds?: number;
35
39
  millis?: number;
36
- }) {
40
+ }): Timestamp {
37
41
  let utcMillis = Date.now();
38
42
  if (interval.days) utcMillis += interval.days * 24 * 60 * 60 * 1000;
39
43
  if (interval.hours) utcMillis += interval.hours * 60 * 60 * 1000;