@dereekb/firebase 13.6.17 → 13.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.cjs.js CHANGED
@@ -393,22 +393,14 @@ function _is_native_reflect_construct$9() {
393
393
  case 'set':
394
394
  setFn = function setFn(data, options) {
395
395
  var isSetForNewModel = Boolean(!options);
396
- if (isSetForNewModel) {
397
- return modifyAndSet(data);
398
- } else {
399
- return _get((_assert_this_initialized$9(_this), _get_prototype_of$9(ModifyBeforeSetFirestoreDocumentDataAccessorWrapper.prototype)), "set", _this).call(_this, data, options);
400
- }
396
+ return isSetForNewModel ? modifyAndSet(data) : _get((_assert_this_initialized$9(_this), _get_prototype_of$9(ModifyBeforeSetFirestoreDocumentDataAccessorWrapper.prototype)), "set", _this).call(_this, data, options);
401
397
  };
402
398
  applyToCreateFunction = true;
403
399
  break;
404
400
  case 'update':
405
401
  setFn = function setFn(data, options) {
406
402
  var isUpdateForExistingModel = options && (Boolean(options.mergeFields) || Boolean(options.merge));
407
- if (isUpdateForExistingModel) {
408
- return modifyAndSet(data);
409
- } else {
410
- return _get((_assert_this_initialized$9(_this), _get_prototype_of$9(ModifyBeforeSetFirestoreDocumentDataAccessorWrapper.prototype)), "set", _this).call(_this, data, options);
411
- }
403
+ return isUpdateForExistingModel ? modifyAndSet(data) : _get((_assert_this_initialized$9(_this), _get_prototype_of$9(ModifyBeforeSetFirestoreDocumentDataAccessorWrapper.prototype)), "set", _this).call(_this, data, options);
412
404
  };
413
405
  break;
414
406
  case 'create':
@@ -3393,12 +3385,11 @@ function optionalFirestoreField(config) {
3393
3385
  if (dontStoreIf != null) {
3394
3386
  var dontStoreValue = dontStoreIf;
3395
3387
  toData = function toData(x) {
3396
- if (x != null) {
3397
- var transformedValue = transformTo(x);
3398
- return transformedValue != null && !dontStoreValue(transformedValue) ? transformedValue : null;
3399
- } else {
3388
+ if (x == null) {
3400
3389
  return x;
3401
3390
  }
3391
+ var transformedValue = transformTo(x);
3392
+ return transformedValue != null && !dontStoreValue(transformedValue) ? transformedValue : null;
3402
3393
  };
3403
3394
  } else {
3404
3395
  toData = function toData(x) {
@@ -3411,9 +3402,8 @@ function optionalFirestoreField(config) {
3411
3402
  fromData: fromData,
3412
3403
  toData: toData
3413
3404
  });
3414
- } else {
3415
- return FIRESTORE_PASSTHROUGH_FIELD;
3416
3405
  }
3406
+ return FIRESTORE_PASSTHROUGH_FIELD;
3417
3407
  }
3418
3408
  /**
3419
3409
  * Default value for required Firestore string fields when the field is missing from the document.
@@ -5209,56 +5199,56 @@ function _unsupported_iterable_to_array$e(o, minLen) {
5209
5199
  var _ref = filter !== null && filter !== void 0 ? filter : {}, filterLimit = _ref.limit, filterConstraints = _ref.constraints, inputInferEnd = _ref.inferEndOfResultsFromPageSize;
5210
5200
  var inferEndOfResultsFromPageSize = inputInferEnd !== false; // defaults to true
5211
5201
  return prevQueryResult$.pipe(rxjs$1.exhaustMap(function(prevResult) {
5202
+ var _driver;
5212
5203
  if ((prevResult === null || prevResult === void 0 ? void 0 : prevResult.snapshot.empty) === true) {
5213
5204
  // TODO(REMOVE): Shouldn't happen. Remove this later.
5214
5205
  return rxjs$1.of({
5215
5206
  end: true
5216
5207
  });
5217
- } else {
5218
- var _driver;
5219
- var constraints = [];
5220
- // Add filter constraints
5221
- if (filterConstraints != null) {
5222
- util.mergeArraysIntoArray(constraints, filterDisallowedFirestoreItemPageIteratorInputConstraints(util.asArray(filterConstraints)));
5223
- }
5224
- // Add cursor
5225
- var cursorDocument = prevResult ? util.lastValue(prevResult.docs) : undefined;
5226
- var startAfterFilter = cursorDocument ? startAfter(cursorDocument) : undefined;
5227
- if (startAfterFilter) {
5228
- constraints.push(startAfterFilter);
5229
- }
5230
- // Add Limit
5231
- var limitCount = filterLimit !== null && filterLimit !== void 0 ? filterLimit : itemsPerPage + (startAfterFilter ? 1 : 0); // todo: may not be needed.
5232
- var limitConstraint = limit(limitCount);
5233
- var constraintsWithLimit = _to_consumable_array$a(constraints).concat([
5234
- limitConstraint
5235
- ]);
5236
- // make query
5237
- var batchQuery = (_driver = driver).query.apply(_driver, [
5238
- queryLike
5239
- ].concat(_to_consumable_array$a(constraintsWithLimit)));
5240
- var resultPromise = driver.getDocs(batchQuery).then(function(snapshot) {
5241
- var time = new Date();
5242
- var docs = snapshot.docs;
5243
- var result = {
5244
- value: {
5245
- time: time,
5246
- docs: docs,
5247
- snapshot: snapshot,
5248
- reload: function reload() {
5249
- return driver.getDocs(batchQuery);
5250
- },
5251
- stream: function stream(options) {
5252
- // todo: consider allowing limit to be changed here to stream a subset. This will be useful for detecting collection changes.
5253
- return driver.streamDocs(batchQuery, options === null || options === void 0 ? void 0 : options.options);
5254
- }
5255
- },
5256
- end: snapshot.empty || inferEndOfResultsFromPageSize && docs.length < limitCount
5257
- };
5258
- return result;
5259
- });
5260
- return rxjs$1.from(resultPromise);
5261
5208
  }
5209
+ var constraints = [];
5210
+ // Add filter constraints
5211
+ if (filterConstraints != null) {
5212
+ util.mergeArraysIntoArray(constraints, filterDisallowedFirestoreItemPageIteratorInputConstraints(util.asArray(filterConstraints)));
5213
+ }
5214
+ // Add cursor
5215
+ var cursorDocument = prevResult ? util.lastValue(prevResult.docs) : undefined;
5216
+ var startAfterFilter = cursorDocument ? startAfter(cursorDocument) : undefined;
5217
+ if (startAfterFilter) {
5218
+ constraints.push(startAfterFilter);
5219
+ }
5220
+ // Add Limit
5221
+ var limitCount = filterLimit !== null && filterLimit !== void 0 ? filterLimit : itemsPerPage + (startAfterFilter ? 1 : 0); // todo: may not be needed.
5222
+ var limitConstraint = limit(limitCount);
5223
+ var constraintsWithLimit = _to_consumable_array$a(constraints).concat([
5224
+ limitConstraint
5225
+ ]);
5226
+ // make query
5227
+ var batchQuery = (_driver = driver).query.apply(_driver, [
5228
+ queryLike
5229
+ ].concat(_to_consumable_array$a(constraintsWithLimit)));
5230
+ var resultPromise = driver.getDocs(batchQuery).then(function(snapshot) {
5231
+ var time = new Date();
5232
+ var docs = snapshot.docs;
5233
+ var end = snapshot.empty || inferEndOfResultsFromPageSize && docs.length < limitCount;
5234
+ var result = {
5235
+ value: {
5236
+ time: time,
5237
+ docs: docs,
5238
+ snapshot: snapshot,
5239
+ reload: function reload() {
5240
+ return driver.getDocs(batchQuery);
5241
+ },
5242
+ stream: function stream(options) {
5243
+ // todo: consider allowing limit to be changed here to stream a subset. This will be useful for detecting collection changes.
5244
+ return driver.streamDocs(batchQuery, options === null || options === void 0 ? void 0 : options.options);
5245
+ }
5246
+ },
5247
+ end: end
5248
+ };
5249
+ return result;
5250
+ });
5251
+ return rxjs$1.from(resultPromise);
5262
5252
  }));
5263
5253
  }
5264
5254
  };
@@ -5423,67 +5413,66 @@ function _firestoreItemPageIterationWithSnapshotIteration(snapshotIteration) {
5423
5413
  return rxjs$1.of({
5424
5414
  end: true
5425
5415
  });
5416
+ }
5417
+ var cursorDocument = prevResult ? util.lastValue(prevResult.docs) : undefined;
5418
+ var startAtIndex = cursorDocument ? indexForId(cursorDocument.id) + 1 : 0;
5419
+ var limitCount = filterLimit !== null && filterLimit !== void 0 ? filterLimit : itemsPerPage;
5420
+ var time = new Date();
5421
+ var itemsForThisPage = items.slice(startAtIndex, startAtIndex + limitCount);
5422
+ var lastItemForThisPage = util.lastValue(itemsForThisPage);
5423
+ var end = false;
5424
+ if (lastItemForThisPage) {
5425
+ var lastItemForThisPageItemIndex = startAtIndex + (itemsForThisPage.length - 1);
5426
+ idLookupMap.set(lastItemForThisPage.id, lastItemForThisPageItemIndex);
5427
+ end = lastItemForThisPageItemIndex === items.length - 1;
5426
5428
  } else {
5427
- var cursorDocument = prevResult ? util.lastValue(prevResult.docs) : undefined;
5428
- var startAtIndex = cursorDocument ? indexForId(cursorDocument.id) + 1 : 0;
5429
- var limitCount = filterLimit !== null && filterLimit !== void 0 ? filterLimit : itemsPerPage;
5430
- var time = new Date();
5431
- var itemsForThisPage = items.slice(startAtIndex, startAtIndex + limitCount);
5432
- var lastItemForThisPage = util.lastValue(itemsForThisPage);
5433
- var end = false;
5434
- if (lastItemForThisPage) {
5435
- var lastItemForThisPageItemIndex = startAtIndex + (itemsForThisPage.length - 1);
5436
- idLookupMap.set(lastItemForThisPage.id, lastItemForThisPageItemIndex);
5437
- end = lastItemForThisPageItemIndex === items.length - 1;
5438
- } else {
5439
- end = true;
5440
- }
5441
- var documents = loadDocumentsForDocumentReferences(documentAccessor, itemsForThisPage);
5442
- var _loadFakeQuerySnapshot = function _loadFakeQuerySnapshot() {
5443
- return getDocumentSnapshots(documents).then(function(documentSnapshots) {
5444
- var documentSnapshotsWithData = documentSnapshots.filter(function(x) {
5445
- return x.data() != null;
5446
- });
5447
- var docs = documentSnapshotsWithData;
5448
- var query = {
5449
- withConverter: function withConverter() {
5450
- throw new Error('firestoreFixedItemPageIteration(): Not a real query');
5451
- }
5452
- }; // TODO: No great way to implement this. Not a great way to
5453
- var snapshot = {
5454
- query: query,
5455
- docs: docs,
5456
- size: docs.length,
5457
- empty: docs.length === 0,
5458
- docChanges: function docChanges() {
5459
- return []; // no changes to return in this fake snapshot
5460
- },
5461
- forEach: function forEach(result) {
5462
- docs.forEach(result);
5463
- }
5464
- };
5465
- return snapshot;
5429
+ end = true;
5430
+ }
5431
+ var documents = loadDocumentsForDocumentReferences(documentAccessor, itemsForThisPage);
5432
+ var _loadFakeQuerySnapshot = function _loadFakeQuerySnapshot() {
5433
+ return getDocumentSnapshots(documents).then(function(documentSnapshots) {
5434
+ var documentSnapshotsWithData = documentSnapshots.filter(function(x) {
5435
+ return x.data() != null;
5466
5436
  });
5467
- };
5468
- return _loadFakeQuerySnapshot().then(function(snapshot) {
5469
- var result = {
5470
- value: {
5471
- time: time,
5472
- docs: snapshot.docs,
5473
- snapshot: snapshot,
5474
- reload: function reload() {
5475
- return _loadFakeQuerySnapshot();
5476
- },
5477
- stream: function stream(_options) {
5478
- // TODO: Count potentially stream to fully implement, but might not be used anyways.
5479
- return rxjs$1.of(snapshot);
5480
- }
5437
+ var docs = documentSnapshotsWithData;
5438
+ var query = {
5439
+ withConverter: function withConverter() {
5440
+ throw new Error('firestoreFixedItemPageIteration(): Not a real query');
5441
+ }
5442
+ }; // TODO: No great way to implement this. Not a great way to
5443
+ var snapshot = {
5444
+ query: query,
5445
+ docs: docs,
5446
+ size: docs.length,
5447
+ empty: docs.length === 0,
5448
+ docChanges: function docChanges() {
5449
+ return []; // no changes to return in this fake snapshot
5481
5450
  },
5482
- end: end
5451
+ forEach: function forEach(result) {
5452
+ docs.forEach(result);
5453
+ }
5483
5454
  };
5484
- return result;
5455
+ return snapshot;
5485
5456
  });
5486
- }
5457
+ };
5458
+ return _loadFakeQuerySnapshot().then(function(snapshot) {
5459
+ var result = {
5460
+ value: {
5461
+ time: time,
5462
+ docs: snapshot.docs,
5463
+ snapshot: snapshot,
5464
+ reload: function reload() {
5465
+ return _loadFakeQuerySnapshot();
5466
+ },
5467
+ stream: function stream(_options) {
5468
+ // TODO: Count potentially stream to fully implement, but might not be used anyways.
5469
+ return rxjs$1.of(snapshot);
5470
+ }
5471
+ },
5472
+ end: end
5473
+ };
5474
+ return result;
5475
+ });
5487
5476
  }));
5488
5477
  }
5489
5478
  };
@@ -6241,10 +6230,12 @@ function _ts_generator$f(thisArg, body) {
6241
6230
  return _ts_generator$f(this, function(_state) {
6242
6231
  switch(_state.label){
6243
6232
  case 0:
6244
- if (!(docSnapshots.length > 0)) return [
6245
- 3,
6246
- 2
6247
- ];
6233
+ if (docSnapshots.length === 0) {
6234
+ return [
6235
+ 2,
6236
+ []
6237
+ ];
6238
+ }
6248
6239
  batchSizeForSnapshotsResult = batchSizeForSnapshots(docSnapshots);
6249
6240
  batches = batchSizeForSnapshotsResult === null ? [
6250
6241
  docSnapshots
@@ -6271,15 +6262,6 @@ function _ts_generator$f(thisArg, body) {
6271
6262
  };
6272
6263
  })
6273
6264
  ];
6274
- case 2:
6275
- return [
6276
- 2,
6277
- []
6278
- ];
6279
- case 3:
6280
- return [
6281
- 2
6282
- ];
6283
6265
  }
6284
6266
  });
6285
6267
  })();
@@ -7357,10 +7339,11 @@ function _unsupported_iterable_to_array$a(o, minLen) {
7357
7339
  * This matches Firestore's internal path separator convention.
7358
7340
  */ var FIRESTORE_COLLECTION_NAME_SEPARATOR = '/';
7359
7341
  function firestoreModelIdentity(parentOrModelName, collectionNameOrModelName, inputCollectionName) {
7342
+ var result;
7360
7343
  if ((typeof parentOrModelName === "undefined" ? "undefined" : _type_of$9(parentOrModelName)) === 'object') {
7361
7344
  var collectionName = inputCollectionName !== null && inputCollectionName !== void 0 ? inputCollectionName : collectionNameOrModelName.toLowerCase();
7362
7345
  var collectionType = "".concat(parentOrModelName.collectionType, "/").concat(collectionName);
7363
- return {
7346
+ result = {
7364
7347
  type: 'nested',
7365
7348
  parent: parentOrModelName,
7366
7349
  collectionName: collectionName,
@@ -7370,13 +7353,14 @@ function firestoreModelIdentity(parentOrModelName, collectionNameOrModelName, in
7370
7353
  } else {
7371
7354
  var collectionName1 = collectionNameOrModelName !== null && collectionNameOrModelName !== void 0 ? collectionNameOrModelName : parentOrModelName.toLowerCase();
7372
7355
  var collectionType1 = collectionName1;
7373
- return {
7356
+ result = {
7374
7357
  type: 'root',
7375
7358
  collectionName: collectionName1,
7376
7359
  modelType: parentOrModelName,
7377
7360
  collectionType: collectionType1
7378
7361
  };
7379
7362
  }
7363
+ return result;
7380
7364
  }
7381
7365
  /**
7382
7366
  * Creates a FirestoreModelIdentityTypeMap from the input identities.
@@ -9879,19 +9863,12 @@ function mapHttpsCallable(callable, wrap) {
9879
9863
  ];
9880
9864
  case 4:
9881
9865
  mappedResultData = _state.sent();
9882
- if (directData) {
9883
- return [
9884
- 2,
9885
- mappedResultData
9886
- ];
9887
- } else {
9888
- return [
9889
- 2,
9890
- _object_spread_props$b(_object_spread$d({}, result), {
9891
- data: mappedResultData
9892
- })
9893
- ];
9894
- }
9866
+ return [
9867
+ 2,
9868
+ directData ? mappedResultData : _object_spread_props$b(_object_spread$d({}, result), {
9869
+ data: mappedResultData
9870
+ })
9871
+ ];
9895
9872
  case 5:
9896
9873
  e = _state.sent();
9897
9874
  throw convertHttpsCallableErrorToReadableError(e);
@@ -10076,9 +10053,18 @@ function onCallTypedModelParams(modelTypeInput, data, specifier, call) {
10076
10053
  /**
10077
10054
  * Pre-configured OnCallTypedModelParamsFunctions for 'delete'
10078
10055
  */ var onCallDeleteModelParams = onCallTypedModelParamsFunction('delete');
10056
+ /**
10057
+ * Pre-configured OnCallTypedModelParamsFunctions for 'query'
10058
+ */ var onCallQueryModelParams = onCallTypedModelParamsFunction('query');
10079
10059
  /**
10080
10060
  * Key used on the front-end and backend that refers to the call function.
10081
10061
  */ var CALL_MODEL_APP_FUNCTION_KEY = 'callModel';
10062
+ /**
10063
+ * Default maximum items per page for query operations.
10064
+ */ var DEFAULT_ON_CALL_QUERY_MODEL_LIMIT = 50;
10065
+ /**
10066
+ * Absolute maximum items per page for query operations. Prevents unbounded queries.
10067
+ */ var MAX_ON_CALL_QUERY_MODEL_LIMIT = 200;
10082
10068
  /**
10083
10069
  * Creates an {@link OnCallCreateModelResult} from document references by extracting their paths as model keys.
10084
10070
  *
@@ -10391,17 +10377,10 @@ function _class_call_check$c(instance, Constructor) {
10391
10377
  pathString: input,
10392
10378
  bucketId: undefined
10393
10379
  } : input, pathString = _ref.pathString, inputBucketId = _ref.bucketId;
10394
- if (replaceBucket) {
10395
- return {
10396
- pathString: pathString,
10397
- bucketId: bucketId
10398
- };
10399
- } else {
10400
- return {
10401
- pathString: pathString,
10402
- bucketId: inputBucketId !== null && inputBucketId !== void 0 ? inputBucketId : bucketId
10403
- };
10404
- }
10380
+ return {
10381
+ pathString: pathString,
10382
+ bucketId: replaceBucket ? bucketId : inputBucketId !== null && inputBucketId !== void 0 ? inputBucketId : bucketId
10383
+ };
10405
10384
  };
10406
10385
  }
10407
10386
  /**
@@ -10508,6 +10487,12 @@ var FIREBASE_SERVER_AUTH_CLAIMS_RESET_LAST_COM_DATE_KEY = 'resetCommunicationAt'
10508
10487
  /**
10509
10488
  * Error code when an email address is already in use by another account during linking.
10510
10489
  */ var FIREBASE_AUTH_EMAIL_ALREADY_IN_USE_ERROR = 'auth/email-already-in-use';
10490
+ /**
10491
+ * Error code when the quota for updating account information has been exceeded.
10492
+ *
10493
+ * This typically occurs when too many account update operations (e.g., updateUser, setCustomUserClaims)
10494
+ * are performed in a short time window.
10495
+ */ var FIREBASE_AUTH_QUOTA_EXCEEDED_ERROR = 'auth/quota-exceeded';
10511
10496
  /**
10512
10497
  * Converts a {@link FirebaseAuthError} into a user-friendly {@link ReadableError} with a human-readable message.
10513
10498
  *
@@ -10567,6 +10552,12 @@ var FIREBASE_SERVER_AUTH_CLAIMS_RESET_LAST_COM_DATE_KEY = 'resetCommunicationAt'
10567
10552
  message: 'This email address is already in use by another account.'
10568
10553
  };
10569
10554
  break;
10555
+ case FIREBASE_AUTH_QUOTA_EXCEEDED_ERROR:
10556
+ error = {
10557
+ code: code,
10558
+ message: 'Too many account update requests. Please try again later.'
10559
+ };
10560
+ break;
10570
10561
  default:
10571
10562
  error = {
10572
10563
  code: code,
@@ -10587,6 +10578,19 @@ var FIREBASE_SERVER_AUTH_CLAIMS_RESET_LAST_COM_DATE_KEY = 'resetCommunicationAt'
10587
10578
  *
10588
10579
  * This can happen with anonymous or malformed tokens.
10589
10580
  */ var DBX_FIREBASE_SERVER_NO_UID_ERROR_CODE = 'NO_USER_UID';
10581
+ // MARK: Password Reset
10582
+ /**
10583
+ * Error code used when the provided password reset code is invalid or expired.
10584
+ */ var DBX_FIREBASE_SERVER_PASSWORD_RESET_INVALID_CODE_ERROR_CODE = 'PASSWORD_RESET_INVALID_CODE';
10585
+ /**
10586
+ * Error code used when a password reset is attempted but no active reset exists for the user.
10587
+ */ var DBX_FIREBASE_SERVER_PASSWORD_RESET_NO_CONFIG_ERROR_CODE = 'PASSWORD_RESET_NO_CONFIG';
10588
+ /**
10589
+ * Error code used when a password reset email send is throttled due to a recent send.
10590
+ */ var DBX_FIREBASE_SERVER_PASSWORD_RESET_THROTTLE_ERROR_CODE = 'PASSWORD_RESET_THROTTLE';
10591
+ /**
10592
+ * Error code used when a password reset email has already been sent and the send-once constraint is active.
10593
+ */ var DBX_FIREBASE_SERVER_PASSWORD_RESET_SEND_ONCE_ERROR_CODE = 'PASSWORD_RESET_SEND_ONCE';
10590
10594
 
10591
10595
  function _class_call_check$b(instance, Constructor) {
10592
10596
  if (!(instance instanceof Constructor)) {
@@ -10631,6 +10635,41 @@ function _define_property$f(obj, key, value) {
10631
10635
  * Used as the `specifier` value in {@link OnCallDevelopmentParams}.
10632
10636
  */ var SCHEDULED_FUNCTION_DEV_FUNCTION_SPECIFIER = 'scheduledFunction';
10633
10637
 
10638
+ // MARK: HTTP Error Codes
10639
+ /**
10640
+ * Error code for unauthenticated (401) requests.
10641
+ */ var UNAUTHENTICATED_ERROR_CODE = 'UNAUTHENTICATED';
10642
+ /**
10643
+ * Error code for forbidden (403) requests.
10644
+ */ var FORBIDDEN_ERROR_CODE = 'FORBIDDEN';
10645
+ /**
10646
+ * Error code for permission-denied (403) requests.
10647
+ */ var PERMISSION_DENIED_ERROR_CODE = 'PERMISSION_DENIED';
10648
+ /**
10649
+ * Error code for not-found (404) requests.
10650
+ */ var NOT_FOUND_ERROR_CODE = 'NOT_FOUND';
10651
+ /**
10652
+ * Error code for a Firestore document that does not exist (404).
10653
+ */ var MODEL_NOT_AVAILABLE_ERROR_CODE = 'MODEL_NOT_AVAILABLE';
10654
+ /**
10655
+ * Error code for bad-request (400) responses.
10656
+ */ var BAD_REQUEST_ERROR_CODE = 'BAD_REQUEST';
10657
+ /**
10658
+ * Error code for precondition-conflict (409) responses.
10659
+ */ var CONFLICT_ERROR_CODE = 'CONFLICT';
10660
+ /**
10661
+ * Error code for already-exists (409) responses.
10662
+ */ var ALREADY_EXISTS_ERROR_CODE = 'ALREADY_EXISTS';
10663
+ /**
10664
+ * Error code for unavailable (503) responses.
10665
+ */ var UNAVAILABLE_ERROR_CODE = 'UNAVAILABLE';
10666
+ /**
10667
+ * Error code for deactivated or unavailable functions (501).
10668
+ */ var UNAVAILABLE_OR_DEACTIVATED_FUNCTION_ERROR_CODE = 'UNAVAILABLE_OR_DEACTIVATED_FUNCTION';
10669
+ /**
10670
+ * Error code for internal server errors (500).
10671
+ */ var INTERNAL_SERVER_ERROR_CODE = 'INTERNAL_ERROR';
10672
+
10634
10673
  /**
10635
10674
  * Creates a {@link FirebaseModelLoader} that loads document wrappers from the given collection function.
10636
10675
  *
@@ -11371,11 +11410,7 @@ function _ts_generator$8(thisArg, body) {
11371
11410
  return grantModelRolesIfFunction(function(context) {
11372
11411
  var _context_auth;
11373
11412
  var currentAuthRoles = (_context_auth = context.auth) === null || _context_auth === void 0 ? void 0 : _context_auth.getAuthRoles();
11374
- if (currentAuthRoles) {
11375
- return util.setContainsAllValues(currentAuthRoles, authRoles);
11376
- } else {
11377
- return authRoles.length === 0;
11378
- }
11413
+ return currentAuthRoles ? util.setContainsAllValues(currentAuthRoles, authRoles) : authRoles.length === 0;
11379
11414
  }, rolesToGrantToAdmin);
11380
11415
  }
11381
11416
  /**
@@ -11533,6 +11568,13 @@ function _ts_generator$8(thisArg, body) {
11533
11568
  };
11534
11569
  }
11535
11570
 
11571
+ /**
11572
+ * Error code for a model type string that has no registered handler.
11573
+ */ var UNKNOWN_MODEL_TYPE_ERROR_CODE = 'UNKNOWN_MODEL_TYPE';
11574
+ /**
11575
+ * Error code for an invalid or inaccessible cursor document key in a query request.
11576
+ */ var BAD_DOCUMENT_QUERY_CURSOR_ERROR_CODE = 'BAD_DOCUMENT_QUERY_CURSOR';
11577
+
11536
11578
  function _define_property$c(obj, key, value) {
11537
11579
  if (key in obj) {
11538
11580
  Object.defineProperty(obj, key, {
@@ -12770,12 +12812,7 @@ function _ts_generator$5(thisArg, body) {
12770
12812
  upload: function upload(input, options) {
12771
12813
  var inputType = typeof input === 'string';
12772
12814
  var metadataOption = uploadMetadataFromStorageUploadOptions(options);
12773
- if (inputType) {
12774
- var stringFormat = assertStorageUploadOptionsStringFormat(options);
12775
- return storage.uploadString(ref, input, stringFormat, metadataOption);
12776
- } else {
12777
- return storage.uploadBytes(ref, input, metadataOption);
12778
- }
12815
+ return inputType ? storage.uploadString(ref, input, assertStorageUploadOptionsStringFormat(options), metadataOption) : storage.uploadBytes(ref, input, metadataOption);
12779
12816
  },
12780
12817
  getBytes: function getBytes1(maxDownloadSizeBytes) {
12781
12818
  return storage.getBytes(ref, maxDownloadSizeBytes).then(function(x) {
@@ -14871,17 +14908,10 @@ function _ts_generator$4(thisArg, body) {
14871
14908
  ];
14872
14909
  case 1:
14873
14910
  pair = _state.sent();
14874
- if (pair.notificationCreated) {
14875
- return [
14876
- 2,
14877
- pair
14878
- ];
14879
- } else {
14880
- return [
14881
- 2,
14882
- undefined
14883
- ];
14884
- }
14911
+ return [
14912
+ 2,
14913
+ pair.notificationCreated ? pair : undefined
14914
+ ];
14885
14915
  }
14886
14916
  });
14887
14917
  })();
@@ -15329,10 +15359,9 @@ function _ts_generator$3(thisArg, body) {
15329
15359
  fnWithExtras.globalRecipients = extras.globalRecipients;
15330
15360
  fnWithExtras.onSendAttempted = extras.onSendAttempted;
15331
15361
  fnWithExtras.onSendSuccess = extras.onSendSuccess;
15332
- return fnWithExtras;
15333
- } else {
15334
- return fn;
15362
+ fn = fnWithExtras;
15335
15363
  }
15364
+ return fn;
15336
15365
  }
15337
15366
  /**
15338
15367
  * Creates a {@link NotificationMessageFunctionFactory} that always returns `NO_CONTENT` messages.
@@ -18869,17 +18898,25 @@ exports.ALL_OIDC_TOKEN_ENDPOINT_AUTH_METHOD_OPTIONS = ALL_OIDC_TOKEN_ENDPOINT_AU
18869
18898
  exports.ALL_STORAGE_FILE_NOTIFICATION_TASK_TYPES = ALL_STORAGE_FILE_NOTIFICATION_TASK_TYPES;
18870
18899
  exports.ALL_USER_UPLOADS_FOLDER_NAME = ALL_USER_UPLOADS_FOLDER_NAME;
18871
18900
  exports.ALL_USER_UPLOADS_FOLDER_PATH = ALL_USER_UPLOADS_FOLDER_PATH;
18901
+ exports.ALREADY_EXISTS_ERROR_CODE = ALREADY_EXISTS_ERROR_CODE;
18872
18902
  exports.AbstractFirestoreDocument = AbstractFirestoreDocument;
18873
18903
  exports.AbstractFirestoreDocumentDataAccessorWrapper = AbstractFirestoreDocumentDataAccessorWrapper;
18874
18904
  exports.AbstractFirestoreDocumentWithParent = AbstractFirestoreDocumentWithParent;
18875
18905
  exports.AppNotificationTemplateTypeInfoRecordService = AppNotificationTemplateTypeInfoRecordService;
18906
+ exports.BAD_DOCUMENT_QUERY_CURSOR_ERROR_CODE = BAD_DOCUMENT_QUERY_CURSOR_ERROR_CODE;
18907
+ exports.BAD_REQUEST_ERROR_CODE = BAD_REQUEST_ERROR_CODE;
18876
18908
  exports.BASE_MODEL_STORAGE_FILE_PATH = BASE_MODEL_STORAGE_FILE_PATH;
18877
18909
  exports.CALL_MODEL_APP_FUNCTION_KEY = CALL_MODEL_APP_FUNCTION_KEY;
18910
+ exports.CONFLICT_ERROR_CODE = CONFLICT_ERROR_CODE;
18878
18911
  exports.COPY_USER_RELATED_DATA_ACCESSOR_FACTORY_FUNCTION = COPY_USER_RELATED_DATA_ACCESSOR_FACTORY_FUNCTION;
18879
18912
  exports.CREATE_NOTIFICATION_ID_REQUIRED_ERROR_CODE = CREATE_NOTIFICATION_ID_REQUIRED_ERROR_CODE;
18880
18913
  exports.ContextGrantedModelRolesReaderInstance = ContextGrantedModelRolesReaderInstance;
18881
18914
  exports.DBX_FIREBASE_SERVER_NO_AUTH_ERROR_CODE = DBX_FIREBASE_SERVER_NO_AUTH_ERROR_CODE;
18882
18915
  exports.DBX_FIREBASE_SERVER_NO_UID_ERROR_CODE = DBX_FIREBASE_SERVER_NO_UID_ERROR_CODE;
18916
+ exports.DBX_FIREBASE_SERVER_PASSWORD_RESET_INVALID_CODE_ERROR_CODE = DBX_FIREBASE_SERVER_PASSWORD_RESET_INVALID_CODE_ERROR_CODE;
18917
+ exports.DBX_FIREBASE_SERVER_PASSWORD_RESET_NO_CONFIG_ERROR_CODE = DBX_FIREBASE_SERVER_PASSWORD_RESET_NO_CONFIG_ERROR_CODE;
18918
+ exports.DBX_FIREBASE_SERVER_PASSWORD_RESET_SEND_ONCE_ERROR_CODE = DBX_FIREBASE_SERVER_PASSWORD_RESET_SEND_ONCE_ERROR_CODE;
18919
+ exports.DBX_FIREBASE_SERVER_PASSWORD_RESET_THROTTLE_ERROR_CODE = DBX_FIREBASE_SERVER_PASSWORD_RESET_THROTTLE_ERROR_CODE;
18883
18920
  exports.DEFAULT_DATE_CELL_RANGE_VALUE = DEFAULT_DATE_CELL_RANGE_VALUE;
18884
18921
  exports.DEFAULT_FIRESTORE_DATE_CELL_SCHEDULE_VALUE = DEFAULT_FIRESTORE_DATE_CELL_SCHEDULE_VALUE;
18885
18922
  exports.DEFAULT_FIRESTORE_ITEM_PAGE_ITERATOR_ITEMS_PER_PAGE = DEFAULT_FIRESTORE_ITEM_PAGE_ITERATOR_ITEMS_PER_PAGE;
@@ -18891,6 +18928,7 @@ exports.DEFAULT_NOTIFICATION_TASK_NOTIFICATION_MODEL_KEY = DEFAULT_NOTIFICATION_
18891
18928
  exports.DEFAULT_NOTIFICATION_TASK_SUBTASK_CLEANUP_RETRY_ATTEMPTS = DEFAULT_NOTIFICATION_TASK_SUBTASK_CLEANUP_RETRY_ATTEMPTS;
18892
18929
  exports.DEFAULT_NOTIFICATION_TASK_SUBTASK_CLEANUP_RETRY_DELAY = DEFAULT_NOTIFICATION_TASK_SUBTASK_CLEANUP_RETRY_DELAY;
18893
18930
  exports.DEFAULT_NOTIFICATION_TEMPLATE_TYPE = DEFAULT_NOTIFICATION_TEMPLATE_TYPE;
18931
+ exports.DEFAULT_ON_CALL_QUERY_MODEL_LIMIT = DEFAULT_ON_CALL_QUERY_MODEL_LIMIT;
18894
18932
  exports.DEFAULT_QUERY_CHANGE_WATCHER_DELAY = DEFAULT_QUERY_CHANGE_WATCHER_DELAY;
18895
18933
  exports.DEFAULT_SINGLE_ITEM_FIRESTORE_COLLECTION_DOCUMENT_IDENTIFIER = DEFAULT_SINGLE_ITEM_FIRESTORE_COLLECTION_DOCUMENT_IDENTIFIER;
18896
18934
  exports.DEFAULT_UPLOADED_FILE_TYPE_DETERMINATION_LEVEL = DEFAULT_UPLOADED_FILE_TYPE_DETERMINATION_LEVEL;
@@ -18909,6 +18947,7 @@ exports.FIREBASE_AUTH_PASSWORD_MAX_LENGTH = FIREBASE_AUTH_PASSWORD_MAX_LENGTH;
18909
18947
  exports.FIREBASE_AUTH_PASSWORD_MIN_LENGTH = FIREBASE_AUTH_PASSWORD_MIN_LENGTH;
18910
18948
  exports.FIREBASE_AUTH_PHONE_NUMBER_ALREADY_EXISTS_ERROR = FIREBASE_AUTH_PHONE_NUMBER_ALREADY_EXISTS_ERROR;
18911
18949
  exports.FIREBASE_AUTH_PROVIDER_ALREADY_LINKED_ERROR = FIREBASE_AUTH_PROVIDER_ALREADY_LINKED_ERROR;
18950
+ exports.FIREBASE_AUTH_QUOTA_EXCEEDED_ERROR = FIREBASE_AUTH_QUOTA_EXCEEDED_ERROR;
18912
18951
  exports.FIREBASE_AUTH_USER_NOT_FOUND_ERROR = FIREBASE_AUTH_USER_NOT_FOUND_ERROR;
18913
18952
  exports.FIREBASE_AUTH_WRONG_PASSWORD = FIREBASE_AUTH_WRONG_PASSWORD;
18914
18953
  exports.FIREBASE_DEVELOPMENT_FUNCTIONS_MAP_KEY = FIREBASE_DEVELOPMENT_FUNCTIONS_MAP_KEY;
@@ -18941,16 +18980,20 @@ exports.FIRESTORE_START_AT_QUERY_CONSTRAINT_TYPE = FIRESTORE_START_AT_QUERY_CONS
18941
18980
  exports.FIRESTORE_START_AT_VALUE_QUERY_CONSTRAINT_TYPE = FIRESTORE_START_AT_VALUE_QUERY_CONSTRAINT_TYPE;
18942
18981
  exports.FIRESTORE_WHERE_DOCUMENT_ID_QUERY_CONSTRAINT_TYPE = FIRESTORE_WHERE_DOCUMENT_ID_QUERY_CONSTRAINT_TYPE;
18943
18982
  exports.FIRESTORE_WHERE_QUERY_CONSTRAINT_TYPE = FIRESTORE_WHERE_QUERY_CONSTRAINT_TYPE;
18983
+ exports.FORBIDDEN_ERROR_CODE = FORBIDDEN_ERROR_CODE;
18944
18984
  exports.FirebaseDevelopmentFunctions = FirebaseDevelopmentFunctions;
18945
18985
  exports.FirebaseModelPermissionServiceInstance = FirebaseModelPermissionServiceInstance;
18946
18986
  exports.FirebaseServerError = FirebaseServerError;
18947
18987
  exports.HIGH_UPLOADED_FILE_TYPE_DETERMINATION_LEVEL = HIGH_UPLOADED_FILE_TYPE_DETERMINATION_LEVEL;
18988
+ exports.INTERNAL_SERVER_ERROR_CODE = INTERNAL_SERVER_ERROR_CODE;
18948
18989
  exports.IN_MEMORY_CACHE_DEFAULT_TTL = IN_MEMORY_CACHE_DEFAULT_TTL;
18949
18990
  exports.LOW_UPLOADED_FILE_TYPE_DETERMINATION_LEVEL = LOW_UPLOADED_FILE_TYPE_DETERMINATION_LEVEL;
18950
18991
  exports.MAX_FIRESTORE_MAP_ZOOM_LEVEL_VALUE = MAX_FIRESTORE_MAP_ZOOM_LEVEL_VALUE;
18992
+ exports.MAX_ON_CALL_QUERY_MODEL_LIMIT = MAX_ON_CALL_QUERY_MODEL_LIMIT;
18951
18993
  exports.MIN_FIRESTORE_MAP_ZOOM_LEVEL_VALUE = MIN_FIRESTORE_MAP_ZOOM_LEVEL_VALUE;
18952
18994
  exports.MODEL_FUNCTION_FIREBASE_CRUD_FUNCTION_SPECIFIER_DEFAULT = MODEL_FUNCTION_FIREBASE_CRUD_FUNCTION_SPECIFIER_DEFAULT;
18953
18995
  exports.MODEL_FUNCTION_FIREBASE_CRUD_FUNCTION_SPECIFIER_SPLITTER = MODEL_FUNCTION_FIREBASE_CRUD_FUNCTION_SPECIFIER_SPLITTER;
18996
+ exports.MODEL_NOT_AVAILABLE_ERROR_CODE = MODEL_NOT_AVAILABLE_ERROR_CODE;
18954
18997
  exports.MODEL_STORAGE_FILE_SLASH_PATH_FACTORY = MODEL_STORAGE_FILE_SLASH_PATH_FACTORY;
18955
18998
  exports.ModifyBeforeSetFirestoreDocumentDataAccessorWrapper = ModifyBeforeSetFirestoreDocumentDataAccessorWrapper;
18956
18999
  exports.NOTIFICATION_BOX_DOES_NOT_EXIST_ERROR_CODE = NOTIFICATION_BOX_DOES_NOT_EXIST_ERROR_CODE;
@@ -18973,6 +19016,7 @@ exports.NOTIFICATION_USER_BLOCKED_FROM_BEING_ADD_TO_RECIPIENTS_ERROR_CODE = NOTI
18973
19016
  exports.NOTIFICATION_USER_INVALID_UID_FOR_CREATE_ERROR_CODE = NOTIFICATION_USER_INVALID_UID_FOR_CREATE_ERROR_CODE;
18974
19017
  exports.NOTIFICATION_USER_LOCKED_CONFIG_FROM_BEING_UPDATED_ERROR_CODE = NOTIFICATION_USER_LOCKED_CONFIG_FROM_BEING_UPDATED_ERROR_CODE;
18975
19018
  exports.NOTIFICATION_WEEK_NOTIFICATION_ITEM_LIMIT = NOTIFICATION_WEEK_NOTIFICATION_ITEM_LIMIT;
19019
+ exports.NOT_FOUND_ERROR_CODE = NOT_FOUND_ERROR_CODE;
18976
19020
  exports.NotificationBoxDocument = NotificationBoxDocument;
18977
19021
  exports.NotificationDocument = NotificationDocument;
18978
19022
  exports.NotificationFirestoreCollections = NotificationFirestoreCollections;
@@ -18984,6 +19028,7 @@ exports.OIDC_ENTRY_CLIENT_TYPE = OIDC_ENTRY_CLIENT_TYPE;
18984
19028
  exports.OidcEntryDocument = OidcEntryDocument;
18985
19029
  exports.OidcModelFirestoreCollections = OidcModelFirestoreCollections;
18986
19030
  exports.OidcModelFunctions = OidcModelFunctions;
19031
+ exports.PERMISSION_DENIED_ERROR_CODE = PERMISSION_DENIED_ERROR_CODE;
18987
19032
  exports.PRIVATE_KEY_JWT_TOKEN_ENDPOINT_AUTH_METHOD = PRIVATE_KEY_JWT_TOKEN_ENDPOINT_AUTH_METHOD;
18988
19033
  exports.RUN_DEV_FUNCTION_APP_FUNCTION_KEY = RUN_DEV_FUNCTION_APP_FUNCTION_KEY;
18989
19034
  exports.SCHEDULED_FUNCTION_DEV_FUNCTION_SPECIFIER = SCHEDULED_FUNCTION_DEV_FUNCTION_SPECIFIER;
@@ -19014,6 +19059,10 @@ exports.StorageFileGroupDocument = StorageFileGroupDocument;
19014
19059
  exports.StorageFileUploadStreamUnsupportedError = StorageFileUploadStreamUnsupportedError;
19015
19060
  exports.SystemStateDocument = SystemStateDocument;
19016
19061
  exports.SystemStateFirestoreCollections = SystemStateFirestoreCollections;
19062
+ exports.UNAUTHENTICATED_ERROR_CODE = UNAUTHENTICATED_ERROR_CODE;
19063
+ exports.UNAVAILABLE_ERROR_CODE = UNAVAILABLE_ERROR_CODE;
19064
+ exports.UNAVAILABLE_OR_DEACTIVATED_FUNCTION_ERROR_CODE = UNAVAILABLE_OR_DEACTIVATED_FUNCTION_ERROR_CODE;
19065
+ exports.UNKNOWN_MODEL_TYPE_ERROR_CODE = UNKNOWN_MODEL_TYPE_ERROR_CODE;
19017
19066
  exports.UPLOADED_FILE_DOES_NOT_EXIST_ERROR_CODE = UPLOADED_FILE_DOES_NOT_EXIST_ERROR_CODE;
19018
19067
  exports.UPLOADED_FILE_INITIALIZATION_DISCARDED_ERROR_CODE = UPLOADED_FILE_INITIALIZATION_DISCARDED_ERROR_CODE;
19019
19068
  exports.UPLOADED_FILE_INITIALIZATION_FAILED_ERROR_CODE = UPLOADED_FILE_INITIALIZATION_FAILED_ERROR_CODE;
@@ -19425,6 +19474,7 @@ exports.onCallCreateModelResult = onCallCreateModelResult;
19425
19474
  exports.onCallCreateModelResultWithDocs = onCallCreateModelResultWithDocs;
19426
19475
  exports.onCallDeleteModelParams = onCallDeleteModelParams;
19427
19476
  exports.onCallDevelopmentParams = onCallDevelopmentParams;
19477
+ exports.onCallQueryModelParams = onCallQueryModelParams;
19428
19478
  exports.onCallReadModelParams = onCallReadModelParams;
19429
19479
  exports.onCallTypedModelParams = onCallTypedModelParams;
19430
19480
  exports.onCallTypedModelParamsFunction = onCallTypedModelParamsFunction;