@dereekb/firebase 10.0.16 → 10.0.18

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
@@ -4640,6 +4640,18 @@ function whereDateIsOnOrAfter(fieldPath, date = new Date()) {
4640
4640
  function whereDateIsOnOrAfterWithSort(fieldPath, date = new Date(), sortDirection) {
4641
4641
  return [orderBy(fieldPath, sortDirection !== null && sortDirection !== void 0 ? sortDirection : 'asc'), whereDateIsOnOrAfter(fieldPath, date)];
4642
4642
  }
4643
+ function whereDateIsOnOrBefore(fieldPath, date = new Date()) {
4644
+ return where(fieldPath, '<=', date.toISOString());
4645
+ }
4646
+ function whereDateIsOnOrBeforeWithSort(fieldPath, date = new Date(), sortDirection) {
4647
+ return [orderBy(fieldPath, sortDirection !== null && sortDirection !== void 0 ? sortDirection : 'desc'), whereDateIsOnOrBefore(fieldPath, date)];
4648
+ }
4649
+ function whereDateIsAfter(fieldPath, date = new Date()) {
4650
+ return where(fieldPath, '>', date.toISOString());
4651
+ }
4652
+ function whereDateIsAfterWithSort(fieldPath, date = new Date(), sortDirection) {
4653
+ return [orderBy(fieldPath, sortDirection !== null && sortDirection !== void 0 ? sortDirection : 'asc'), whereDateIsAfter(fieldPath, date)];
4654
+ }
4643
4655
  function whereDateIsBefore(fieldPath, date = new Date()) {
4644
4656
  return where(fieldPath, '<', date.toISOString());
4645
4657
  }
@@ -4837,7 +4849,12 @@ function iterateFirestoreDocumentSnapshots(config) {
4837
4849
  iterateSnapshotBatch: docSnapshots => __awaiter(this, void 0, void 0, function* () {
4838
4850
  const performTasksResult = yield util.performAsyncTasks(docSnapshots, iterateSnapshot, Object.assign({
4839
4851
  sequential: true
4840
- }, snapshotsPerformTasksConfig !== null && snapshotsPerformTasksConfig !== void 0 ? snapshotsPerformTasksConfig : performTasksConfig));
4852
+ }, snapshotsPerformTasksConfig !== null && snapshotsPerformTasksConfig !== void 0 ? snapshotsPerformTasksConfig : Object.assign(Object.assign({}, performTasksConfig), {
4853
+ nonConcurrentTaskKeyFactory: undefined,
4854
+ beforeRetry: undefined
4855
+ }) // don't pass the nonConcurrentTaskKeyFactory
4856
+ ));
4857
+
4841
4858
  return performTasksResult;
4842
4859
  })
4843
4860
  }));
@@ -4888,22 +4905,29 @@ function iterateFirestoreDocumentSnapshotBatches(config) {
4888
4905
  return __awaiter(this, void 0, void 0, function* () {
4889
4906
  const {
4890
4907
  iterateSnapshotBatch,
4908
+ batchSizeForSnapshots: inputBatchSizeForSnapshots,
4891
4909
  performTasksConfig,
4892
4910
  batchSize: inputBatchSize
4893
4911
  } = config;
4894
- const batchSize = inputBatchSize !== null && inputBatchSize !== void 0 ? inputBatchSize : DEFAULT_ITERATE_FIRESTORE_DOCUMENT_SNAPSHOT_BATCHES_BATCH_SIZE;
4912
+ const batchSize = inputBatchSize === null ? null : inputBatchSize !== null && inputBatchSize !== void 0 ? inputBatchSize : DEFAULT_ITERATE_FIRESTORE_DOCUMENT_SNAPSHOT_BATCHES_BATCH_SIZE;
4913
+ const batchSizeForSnapshots = inputBatchSizeForSnapshots !== null && inputBatchSizeForSnapshots !== void 0 ? inputBatchSizeForSnapshots : () => batchSize;
4895
4914
  return iterateFirestoreDocumentSnapshotCheckpoints(Object.assign(Object.assign({}, config), {
4896
4915
  iterateCheckpoint: docSnapshots => __awaiter(this, void 0, void 0, function* () {
4897
- const batches = util.batch(docSnapshots, batchSize);
4898
- let i = 0;
4899
- const performTasksResult = yield util.performAsyncTasks(batches, x => iterateSnapshotBatch(x, i++), Object.assign({
4900
- sequential: true
4901
- }, performTasksConfig));
4902
- return performTasksResult.results.map(([snapshots, result], i) => ({
4903
- snapshots,
4904
- result,
4905
- i
4906
- }));
4916
+ if (docSnapshots.length > 0) {
4917
+ const batchSizeForSnapshotsResult = yield batchSizeForSnapshots(docSnapshots);
4918
+ const batches = batchSizeForSnapshotsResult === null ? [docSnapshots] : util.batch(docSnapshots, batchSizeForSnapshotsResult);
4919
+ let i = 0;
4920
+ const performTasksResult = yield util.performAsyncTasks(batches, x => iterateSnapshotBatch(x, i++), Object.assign({
4921
+ sequential: true
4922
+ }, performTasksConfig));
4923
+ return performTasksResult.results.map(([snapshots, result], i) => ({
4924
+ snapshots,
4925
+ result,
4926
+ i
4927
+ }));
4928
+ } else {
4929
+ return [];
4930
+ }
4907
4931
  })
4908
4932
  }));
4909
4933
  });
@@ -8150,12 +8174,16 @@ exports.useDocumentSnapshot = useDocumentSnapshot;
8150
8174
  exports.useDocumentSnapshotData = useDocumentSnapshotData;
8151
8175
  exports.useFirebaseModelsService = useFirebaseModelsService;
8152
8176
  exports.where = where;
8177
+ exports.whereDateIsAfter = whereDateIsAfter;
8178
+ exports.whereDateIsAfterWithSort = whereDateIsAfterWithSort;
8153
8179
  exports.whereDateIsBefore = whereDateIsBefore;
8154
8180
  exports.whereDateIsBeforeWithSort = whereDateIsBeforeWithSort;
8155
8181
  exports.whereDateIsBetween = whereDateIsBetween;
8156
8182
  exports.whereDateIsInRange = whereDateIsInRange;
8157
8183
  exports.whereDateIsOnOrAfter = whereDateIsOnOrAfter;
8158
8184
  exports.whereDateIsOnOrAfterWithSort = whereDateIsOnOrAfterWithSort;
8185
+ exports.whereDateIsOnOrBefore = whereDateIsOnOrBefore;
8186
+ exports.whereDateIsOnOrBeforeWithSort = whereDateIsOnOrBeforeWithSort;
8159
8187
  exports.whereDocumentId = whereDocumentId;
8160
8188
  exports.whereStringHasRootIdentityModelKey = whereStringHasRootIdentityModelKey;
8161
8189
  exports.whereStringValueHasPrefix = whereStringValueHasPrefix;
package/index.esm.js CHANGED
@@ -4726,6 +4726,14 @@ function offset(offset) {
4726
4726
  // MARK: Where
4727
4727
  const FIRESTORE_WHERE_QUERY_CONSTRAINT_TYPE = 'where';
4728
4728
 
4729
+ /**
4730
+ * All Firestore value comparison operators.
4731
+ */
4732
+
4733
+ /**
4734
+ * All Firestore array comparison operators.
4735
+ */
4736
+
4729
4737
  /**
4730
4738
  * https://firebase.google.com/docs/firestore/query-data/queries#query_operators
4731
4739
  */
@@ -5023,6 +5031,58 @@ function whereDateIsOnOrAfterWithSort(fieldPath, date = new Date(), sortDirectio
5023
5031
  return [orderBy(fieldPath, sortDirection != null ? sortDirection : 'asc'), whereDateIsOnOrAfter(fieldPath, date)];
5024
5032
  }
5025
5033
 
5034
+ /**
5035
+ * Searches dates that are on or before the input date. If no date is input, uses now.
5036
+ *
5037
+ * @param field
5038
+ * @param date
5039
+ * @param sortDirection
5040
+ */
5041
+
5042
+ function whereDateIsOnOrBefore(fieldPath, date = new Date()) {
5043
+ return where(fieldPath, '<=', date.toISOString());
5044
+ }
5045
+
5046
+ /**
5047
+ * Searches dates that are on or before the input date. If no date is input, uses now.
5048
+ *
5049
+ * Sorts in descending order by default.
5050
+ *
5051
+ * @param field
5052
+ * @param date
5053
+ * @param sortDirection
5054
+ */
5055
+
5056
+ function whereDateIsOnOrBeforeWithSort(fieldPath, date = new Date(), sortDirection) {
5057
+ return [orderBy(fieldPath, sortDirection != null ? sortDirection : 'desc'), whereDateIsOnOrBefore(fieldPath, date)];
5058
+ }
5059
+
5060
+ /**
5061
+ * Searches dates that are on or after the input date. If no date is input, uses now.
5062
+ *
5063
+ * @param field
5064
+ * @param date
5065
+ * @param sortDirection
5066
+ */
5067
+
5068
+ function whereDateIsAfter(fieldPath, date = new Date()) {
5069
+ return where(fieldPath, '>', date.toISOString());
5070
+ }
5071
+
5072
+ /**
5073
+ * Searches dates that are on or after the input date. If no date is input, uses now.
5074
+ *
5075
+ * Sorts in ascending order by default.
5076
+ *
5077
+ * @param field
5078
+ * @param date
5079
+ * @param sortDirection
5080
+ */
5081
+
5082
+ function whereDateIsAfterWithSort(fieldPath, date = new Date(), sortDirection) {
5083
+ return [orderBy(fieldPath, sortDirection != null ? sortDirection : 'asc'), whereDateIsAfter(fieldPath, date)];
5084
+ }
5085
+
5026
5086
  /**
5027
5087
  * Searches dates that are on or after the input date. If no date is input, uses now.
5028
5088
  *
@@ -5038,7 +5098,7 @@ function whereDateIsBefore(fieldPath, date = new Date()) {
5038
5098
  /**
5039
5099
  * Searches dates that are on or after the input date. If no date is input, uses now.
5040
5100
  *
5041
- * Sorts in ascending order by default.
5101
+ * Sorts in descending order by default.
5042
5102
  *
5043
5103
  * @param field
5044
5104
  * @param date
@@ -5266,7 +5326,10 @@ async function iterateFirestoreDocumentSnapshots(config) {
5266
5326
  iterateSnapshotBatch: async docSnapshots => {
5267
5327
  const performTasksResult = await performAsyncTasks(docSnapshots, iterateSnapshot, Object.assign({
5268
5328
  sequential: true
5269
- }, snapshotsPerformTasksConfig != null ? snapshotsPerformTasksConfig : performTasksConfig));
5329
+ }, snapshotsPerformTasksConfig != null ? snapshotsPerformTasksConfig : Object.assign({}, performTasksConfig, {
5330
+ nonConcurrentTaskKeyFactory: undefined,
5331
+ beforeRetry: undefined
5332
+ })));
5270
5333
  return performTasksResult;
5271
5334
  }
5272
5335
  }));
@@ -5332,22 +5395,29 @@ const DEFAULT_ITERATE_FIRESTORE_DOCUMENT_SNAPSHOT_BATCHES_BATCH_SIZE = 25;
5332
5395
  async function iterateFirestoreDocumentSnapshotBatches(config) {
5333
5396
  const {
5334
5397
  iterateSnapshotBatch,
5398
+ batchSizeForSnapshots: inputBatchSizeForSnapshots,
5335
5399
  performTasksConfig,
5336
5400
  batchSize: inputBatchSize
5337
5401
  } = config;
5338
- const batchSize = inputBatchSize != null ? inputBatchSize : DEFAULT_ITERATE_FIRESTORE_DOCUMENT_SNAPSHOT_BATCHES_BATCH_SIZE;
5402
+ const batchSize = inputBatchSize === null ? null : inputBatchSize != null ? inputBatchSize : DEFAULT_ITERATE_FIRESTORE_DOCUMENT_SNAPSHOT_BATCHES_BATCH_SIZE;
5403
+ const batchSizeForSnapshots = inputBatchSizeForSnapshots != null ? inputBatchSizeForSnapshots : () => batchSize;
5339
5404
  return iterateFirestoreDocumentSnapshotCheckpoints(Object.assign({}, config, {
5340
5405
  iterateCheckpoint: async docSnapshots => {
5341
- const batches = batch(docSnapshots, batchSize);
5342
- let i = 0;
5343
- const performTasksResult = await performAsyncTasks(batches, x => iterateSnapshotBatch(x, i++), Object.assign({
5344
- sequential: true
5345
- }, performTasksConfig));
5346
- return performTasksResult.results.map(([snapshots, result], i) => ({
5347
- snapshots,
5348
- result,
5349
- i
5350
- }));
5406
+ if (docSnapshots.length > 0) {
5407
+ const batchSizeForSnapshotsResult = await batchSizeForSnapshots(docSnapshots);
5408
+ const batches = batchSizeForSnapshotsResult === null ? [docSnapshots] : batch(docSnapshots, batchSizeForSnapshotsResult);
5409
+ let i = 0;
5410
+ const performTasksResult = await performAsyncTasks(batches, x => iterateSnapshotBatch(x, i++), Object.assign({
5411
+ sequential: true
5412
+ }, performTasksConfig));
5413
+ return performTasksResult.results.map(([snapshots, result], i) => ({
5414
+ snapshots,
5415
+ result,
5416
+ i
5417
+ }));
5418
+ } else {
5419
+ return [];
5420
+ }
5351
5421
  }
5352
5422
  }));
5353
5423
  }
@@ -8832,4 +8902,4 @@ function systemStateFirestoreCollection(firestoreContext, converters) {
8832
8902
  });
8833
8903
  }
8834
8904
 
8835
- export { AbstractFirestoreDocument, AbstractFirestoreDocumentDataAccessorWrapper, AbstractFirestoreDocumentWithParent, BASE_MODEL_STORAGE_FILE_PATH, COPY_USER_RELATED_DATA_ACCESSOR_FACTORY_FUNCTION, CREATE_MODEL_APP_FUNCTION_KEY, ContextGrantedModelRolesReaderInstance, DEFAULT_DATE_CELL_RANGE_VALUE, DEFAULT_FIRESTORE_DATE_CELL_SCHEDULE_VALUE, DEFAULT_FIRESTORE_ITEM_PAGE_ITERATOR_ITEMS_PER_PAGE, DEFAULT_FIRESTORE_STRING_FIELD_VALUE, DEFAULT_FIRESTORE_UNITED_STATES_ADDRESS_VALUE, DEFAULT_FIRESTORE_WEBSITE_FILE_LINK_VALUE, DEFAULT_ITERATE_FIRESTORE_DOCUMENT_SNAPSHOT_BATCHES_BATCH_SIZE, DEFAULT_QUERY_CHANGE_WATCHER_DELAY, DEFAULT_SINGLE_ITEM_FIRESTORE_COLLECTION_DOCUMENT_IDENTIFIER, DEFAULT_WEBSITE_LINK, DELETE_MODEL_APP_FUNCTION_KEY, FIREBASE_AUTH_NETWORK_REQUEST_ERROR, FIREBASE_AUTH_NETWORK_REQUEST_FAILED, FIREBASE_AUTH_PASSWORD_MAX_LENGTH, FIREBASE_AUTH_PASSWORD_MIN_LENGTH, FIREBASE_AUTH_USER_NOT_FOUND_ERROR, FIREBASE_AUTH_WRONG_PASSWORD, FIREBASE_DEVELOPMENT_FUNCTIONS_MAP_KEY, FIREBASE_SERVER_AUTH_CLAIMS_RESET_LAST_COM_DATE_KEY, FIREBASE_SERVER_AUTH_CLAIMS_RESET_PASSWORD_KEY, FIREBASE_SERVER_AUTH_CLAIMS_SETUP_LAST_COM_DATE_KEY, FIREBASE_SERVER_AUTH_CLAIMS_SETUP_PASSWORD_KEY, FIRESTORE_CLIENT_QUERY_CONSTRAINT_HANDLER_MAPPING, FIRESTORE_COLLECTION_NAME_SEPARATOR, FIRESTORE_DUMMY_MODEL_KEY, FIRESTORE_EMPTY_VALUE, FIRESTORE_END_AT_QUERY_CONSTRAINT_TYPE, FIRESTORE_END_AT_VALUE_QUERY_CONSTRAINT_TYPE, FIRESTORE_END_BEFORE_QUERY_CONSTRAINT_TYPE, FIRESTORE_ITEM_PAGE_ITERATOR, FIRESTORE_ITEM_PAGE_ITERATOR_DELEGATE, FIRESTORE_LIMIT_QUERY_CONSTRAINT_TYPE, FIRESTORE_LIMIT_TO_LAST_QUERY_CONSTRAINT_TYPE, FIRESTORE_MAX_WHERE_IN_FILTER_ARGS_COUNT, FIRESTORE_MODEL_ID_REGEX, FIRESTORE_MODEL_KEY_REGEX, FIRESTORE_MODEL_KEY_REGEX_STRICT, FIRESTORE_OFFSET_QUERY_CONSTRAINT_TYPE, FIRESTORE_ORDER_BY_DOCUMENT_ID_QUERY_CONSTRAINT_TYPE, FIRESTORE_ORDER_BY_QUERY_CONSTRAINT_TYPE, FIRESTORE_PASSTHROUGH_FIELD, FIRESTORE_START_AFTER_QUERY_CONSTRAINT_TYPE, FIRESTORE_START_AT_QUERY_CONSTRAINT_TYPE, FIRESTORE_START_AT_VALUE_QUERY_CONSTRAINT_TYPE, FIRESTORE_WHERE_DOCUMENT_ID_QUERY_CONSTRAINT_TYPE, FIRESTORE_WHERE_QUERY_CONSTRAINT_TYPE, FirebaseDevelopmentFunctions, FirebaseModelPermissionServiceInstance, FirebaseServerError, FirestoreAccessorStreamMode, FirestoreDocumentContextType, FirestoreItemPageIterationInstance, InferredTargetModelIdParams, InferredTargetModelParams, IsFirestoreModelId, IsFirestoreModelKey, MAX_FIRESTORE_MAP_ZOOM_LEVEL_VALUE, MIN_FIRESTORE_MAP_ZOOM_LEVEL_VALUE, MODEL_FUNCTION_FIREBASE_CRUD_FUNCTION_SPECIFIER_DEFAULT, MODEL_FUNCTION_FIREBASE_CRUD_FUNCTION_SPECIFIER_SPLITTER, MODEL_STORAGE_FILE_SLASH_PATH_FACTORY, ModifyBeforeSetFirestoreDocumentDataAccessorWrapper, READ_MODEL_APP_FUNCTION_KEY, RUN_DEV_FUNCTION_APP_FUNCTION_KEY, SCHEDULED_FUNCTION_DEV_FUNCTION_SPECIFIER, ScheduledFunctionDevelopmentFirebaseFunctionListEntry, ScheduledFunctionDevelopmentFirebaseFunctionParams, ScheduledFunctionDevelopmentFunctionTypeEnum, SystemStateDocument, SystemStateFirestoreCollections, TargetModelIdParams, TargetModelParams, UPDATE_MODEL_APP_FUNCTION_KEY, addConstraintToBuilder, addOrReplaceLimitInConstraints, allChildDocumentsUnderParent, allChildDocumentsUnderParentPath, allChildDocumentsUnderRelativePath, asTopLevelFieldPath, asTopLevelFieldPaths, assertFirestoreUpdateHasData, assertStorageUploadOptionsStringFormat, assignDateCellRangeFunction, assignDateCellScheduleFunction, assignUnitedStatesAddressFunction, assignWebsiteFileLinkFunction, assignWebsiteLinkFunction, buildFirebaseCollectionTypeModelTypeMap, childFirestoreModelKey, childFirestoreModelKeyPath, childFirestoreModelKeys, clientFirebaseFirestoreContextFactory, clientFirebaseStorageContextFactory, contextGrantedModelRolesReader, contextGrantedModelRolesReaderDoesNotExistErrorMessage, contextGrantedModelRolesReaderPermissionErrorMessage, convertHttpsCallableErrorToReadableError, copyDocumentIdForUserRelatedModifierFunction, copyDocumentIdToFieldModifierFunction, copyUserRelatedDataAccessorFactoryFunction, copyUserRelatedDataModifierConfig, dataFromDocumentSnapshots, dataFromSnapshotStream, developmentFirebaseFunctionMapFactory, directDataHttpsCallable, documentData, documentDataFunction, documentDataWithIdAndKey, documentReferenceFromDocument, documentReferencesFromDocuments, documentReferencesFromSnapshot, endAt, endAtValue, endBefore, extendFirestoreCollectionWithSingleDocumentAccessor, filterConstraintsOfType, filterDisallowedFirestoreItemPageIteratorInputContraints, firebaseAuthErrorToReadableError, firebaseFirestoreClientDrivers, firebaseFirestoreQueryConstraintFunctionsDriver, firebaseFirestoreQueryDriver, firebaseFunctionMapFactory, firebaseModelLoader, firebaseModelPermissionService, firebaseModelService, firebaseModelServiceFactory, firebaseModelsService, firebaseQueryItemAccumulator, firebaseQuerySnapshotAccumulator, firebaseStorageBucketFolderPath, firebaseStorageClientAccessorDriver, firebaseStorageClientAccessorFile, firebaseStorageClientAccessorFolder, firebaseStorageClientDrivers, firebaseStorageClientListFilesResultFactory, firebaseStorageContextFactory, firebaseStorageFileExists, firebaseStorageFilePathFromStorageFilePath, firebaseStorageRefForStorageFilePath, firestoreArray, firestoreArrayMap, firestoreBitwiseObjectMap, firestoreBitwiseSet, firestoreBitwiseSetMap, firestoreBoolean, firestoreClientAccessorDriver, firestoreClientIncrementUpdateToUpdateData, firestoreContextFactory, firestoreDate, firestoreDateCellRange, firestoreDateCellRangeArray, firestoreDateCellRangeAssignFn, firestoreDateCellSchedule, firestoreDateCellScheduleAssignFn, firestoreDencoderArray, firestoreDencoderMap, firestoreDencoderStringArray, firestoreDocumentAccessorContextExtension, firestoreDocumentAccessorFactory, firestoreDocumentLoader, firestoreDummyKey, firestoreEncodedArray, firestoreEncodedObjectMap, firestoreEnum, firestoreEnumArray, firestoreField, firestoreFieldConfigToModelMapFunctionsRef, firestoreIdBatchVerifierFactory, firestoreIdentityTypeArray, firestoreIdentityTypeArrayName, firestoreItemPageIteration, firestoreItemPageIterationFactory, firestoreLatLngString, firestoreMap, firestoreMapZoomLevel, firestoreModelId, firestoreModelIdArrayField, firestoreModelIdFromDocument, firestoreModelIdGrantedRoleArrayMap, firestoreModelIdGrantedRoleMap, firestoreModelIdString, firestoreModelIdentity, firestoreModelIdentityTypeMap, firestoreModelIdsFromDocuments, firestoreModelIdsFromKey, firestoreModelKey, firestoreModelKeyArrayField, firestoreModelKeyCollectionName, firestoreModelKeyCollectionType, firestoreModelKeyCollectionTypeArray, firestoreModelKeyCollectionTypeArrayName, firestoreModelKeyCollectionTypePair, firestoreModelKeyEncodedGrantedRoleMap, firestoreModelKeyFromDocument, firestoreModelKeyGrantedRoleArrayMap, firestoreModelKeyGrantedRoleMap, firestoreModelKeyPairObject, firestoreModelKeyParentKey, firestoreModelKeyParentKeyPartPairs, firestoreModelKeyPart, firestoreModelKeyPartPairs, firestoreModelKeyPartPairsKeyPath, firestoreModelKeyPartPairsPaths, firestoreModelKeyPath, firestoreModelKeyString, firestoreModelKeyTypePair, firestoreModelKeys, firestoreModelKeysFromDocuments, firestoreModelType, firestoreNumber, firestoreObjectArray, firestorePassThroughField, firestoreQueryConstraint, firestoreQueryConstraintFactory, firestoreQueryFactory, firestoreSingleDocumentAccessor, firestoreString, firestoreSubObject, firestoreTimezoneString, firestoreUID, firestoreUniqueArray, firestoreUniqueKeyedArray, firestoreUniqueStringArray, firestoreUnitedStatesAddress, firestoreUnitedStatesAddressAssignFn, firestoreUpdateWithNoDataError, firestoreWebsiteFileLink, firestoreWebsiteFileLinkAssignFn, firestoreWebsiteFileLinkEncodedArray, firestoreWebsiteFileLinkObjectArray, firestoreWebsiteLink, firestoreWebsiteLinkArray, firestoreWebsiteLinkAssignFn, flatFirestoreModelKey, getDataFromDocumentSnapshots, getDocumentSnapshotData, getDocumentSnapshotDataPair, getDocumentSnapshotDataPairs, getDocumentSnapshotDataTuples, getDocumentSnapshotPair, getDocumentSnapshotPairs, getDocumentSnapshots, getDocumentSnapshotsData, grantFullAccessIfAdmin, grantFullAccessIfAuthUserRelated, grantModelRolesIfAdmin, grantModelRolesIfAdminFunction, grantModelRolesIfAuthUserRelatedModelFunction, grantModelRolesIfFunction, grantModelRolesIfHasAuthRolesFactory, grantModelRolesIfHasAuthRolesFunction, grantModelRolesOnlyIfFunction, inContextFirebaseModelServiceFactory, inContextFirebaseModelsServiceFactory, incrementUpdateWithAccessorFunction, inferKeyFromTwoWayFlatFirestoreModelKey, interceptAccessorFactoryFunction, isAdminInFirebaseModelContext, isFirebaseStorageObjectNotFoundError, isFirestoreModelId, isFirestoreModelKey, isOwnerOfUserRelatedModelInFirebaseModelContext, iterateFirestoreDocumentSnapshotBatches, iterateFirestoreDocumentSnapshotCheckpoints, iterateFirestoreDocumentSnapshotPairBatches, iterateFirestoreDocumentSnapshotPairs, iterateFirestoreDocumentSnapshots, iterationQueryDocChangeWatcher, iterationQueryDocChangeWatcherChangeTypeForGroup, latestDataFromDocuments, latestSnapshotsFromDocuments, lazyFirebaseFunctionsFactory, limit, limitToLast, limitedFirestoreDocumentAccessorFactory, loadDocumentsForDocumentReferences, loadDocumentsForDocumentReferencesFromValues, loadDocumentsForIds, loadDocumentsForIdsFromValues, loadDocumentsForKeys, loadDocumentsForKeysFromValues, loadDocumentsForSnapshots, loadDocumentsForValues, makeDocuments, makeFirestoreCollection, makeFirestoreCollectionGroup, makeFirestoreCollectionWithParent, makeFirestoreItemPageIteratorDelegate, makeFirestoreQueryConstraintFunctionsDriver, makeRootSingleItemFirestoreCollection, makeSingleItemFirestoreCollection, mapDataFromSnapshot, mapHttpsCallable, modelFirebaseFunctionMapFactory, modelStorageSlashPathFactory, modifyBeforeSetInterceptAccessorFactoryFunction, newDocuments, noStringFormatInStorageUploadOptionsError, offset, onCallCreateModelResult, onCallCreateModelResultWithDocs, onCallDevelopmentParams, onCallTypedModelParams, optionalFirestoreArray, optionalFirestoreBoolean, optionalFirestoreDate, optionalFirestoreEnum, optionalFirestoreField, optionalFirestoreNumber, optionalFirestoreString, optionalFirestoreUID, optionalFirestoreUnitedStatesAddress, orderBy, orderByDocumentId, readFirestoreModelKey, replaceConstraints, selectFromFirebaseModelsService, separateConstraints, setIdAndKeyFromKeyIdRefOnDocumentData, setIdAndKeyFromSnapshotOnDocumentData, snapshotConverterFunctions, snapshotStreamDataForAccessor, snapshotStreamForAccessor, startAfter, startAt, startAtValue, storageListFilesResultFactory, storageListFilesResultHasNoNextError, storagePathFactory, streamFromOnSnapshot, systemStateCollectionReference, systemStateConverter, systemStateFirestoreCollection, systemStateIdentity, twoWayFlatFirestoreModelKey, unsupportedFirestoreDriverFunctionError, updateWithAccessorUpdateAndConverterFunction, useContextAuth, useContextAuthUid, useDocumentSnapshot, useDocumentSnapshotData, useFirebaseModelsService, where, whereDateIsBefore, whereDateIsBeforeWithSort, whereDateIsBetween, whereDateIsInRange, whereDateIsOnOrAfter, whereDateIsOnOrAfterWithSort, whereDocumentId, whereStringHasRootIdentityModelKey, whereStringValueHasPrefix };
8905
+ export { AbstractFirestoreDocument, AbstractFirestoreDocumentDataAccessorWrapper, AbstractFirestoreDocumentWithParent, BASE_MODEL_STORAGE_FILE_PATH, COPY_USER_RELATED_DATA_ACCESSOR_FACTORY_FUNCTION, CREATE_MODEL_APP_FUNCTION_KEY, ContextGrantedModelRolesReaderInstance, DEFAULT_DATE_CELL_RANGE_VALUE, DEFAULT_FIRESTORE_DATE_CELL_SCHEDULE_VALUE, DEFAULT_FIRESTORE_ITEM_PAGE_ITERATOR_ITEMS_PER_PAGE, DEFAULT_FIRESTORE_STRING_FIELD_VALUE, DEFAULT_FIRESTORE_UNITED_STATES_ADDRESS_VALUE, DEFAULT_FIRESTORE_WEBSITE_FILE_LINK_VALUE, DEFAULT_ITERATE_FIRESTORE_DOCUMENT_SNAPSHOT_BATCHES_BATCH_SIZE, DEFAULT_QUERY_CHANGE_WATCHER_DELAY, DEFAULT_SINGLE_ITEM_FIRESTORE_COLLECTION_DOCUMENT_IDENTIFIER, DEFAULT_WEBSITE_LINK, DELETE_MODEL_APP_FUNCTION_KEY, FIREBASE_AUTH_NETWORK_REQUEST_ERROR, FIREBASE_AUTH_NETWORK_REQUEST_FAILED, FIREBASE_AUTH_PASSWORD_MAX_LENGTH, FIREBASE_AUTH_PASSWORD_MIN_LENGTH, FIREBASE_AUTH_USER_NOT_FOUND_ERROR, FIREBASE_AUTH_WRONG_PASSWORD, FIREBASE_DEVELOPMENT_FUNCTIONS_MAP_KEY, FIREBASE_SERVER_AUTH_CLAIMS_RESET_LAST_COM_DATE_KEY, FIREBASE_SERVER_AUTH_CLAIMS_RESET_PASSWORD_KEY, FIREBASE_SERVER_AUTH_CLAIMS_SETUP_LAST_COM_DATE_KEY, FIREBASE_SERVER_AUTH_CLAIMS_SETUP_PASSWORD_KEY, FIRESTORE_CLIENT_QUERY_CONSTRAINT_HANDLER_MAPPING, FIRESTORE_COLLECTION_NAME_SEPARATOR, FIRESTORE_DUMMY_MODEL_KEY, FIRESTORE_EMPTY_VALUE, FIRESTORE_END_AT_QUERY_CONSTRAINT_TYPE, FIRESTORE_END_AT_VALUE_QUERY_CONSTRAINT_TYPE, FIRESTORE_END_BEFORE_QUERY_CONSTRAINT_TYPE, FIRESTORE_ITEM_PAGE_ITERATOR, FIRESTORE_ITEM_PAGE_ITERATOR_DELEGATE, FIRESTORE_LIMIT_QUERY_CONSTRAINT_TYPE, FIRESTORE_LIMIT_TO_LAST_QUERY_CONSTRAINT_TYPE, FIRESTORE_MAX_WHERE_IN_FILTER_ARGS_COUNT, FIRESTORE_MODEL_ID_REGEX, FIRESTORE_MODEL_KEY_REGEX, FIRESTORE_MODEL_KEY_REGEX_STRICT, FIRESTORE_OFFSET_QUERY_CONSTRAINT_TYPE, FIRESTORE_ORDER_BY_DOCUMENT_ID_QUERY_CONSTRAINT_TYPE, FIRESTORE_ORDER_BY_QUERY_CONSTRAINT_TYPE, FIRESTORE_PASSTHROUGH_FIELD, FIRESTORE_START_AFTER_QUERY_CONSTRAINT_TYPE, FIRESTORE_START_AT_QUERY_CONSTRAINT_TYPE, FIRESTORE_START_AT_VALUE_QUERY_CONSTRAINT_TYPE, FIRESTORE_WHERE_DOCUMENT_ID_QUERY_CONSTRAINT_TYPE, FIRESTORE_WHERE_QUERY_CONSTRAINT_TYPE, FirebaseDevelopmentFunctions, FirebaseModelPermissionServiceInstance, FirebaseServerError, FirestoreAccessorStreamMode, FirestoreDocumentContextType, FirestoreItemPageIterationInstance, InferredTargetModelIdParams, InferredTargetModelParams, IsFirestoreModelId, IsFirestoreModelKey, MAX_FIRESTORE_MAP_ZOOM_LEVEL_VALUE, MIN_FIRESTORE_MAP_ZOOM_LEVEL_VALUE, MODEL_FUNCTION_FIREBASE_CRUD_FUNCTION_SPECIFIER_DEFAULT, MODEL_FUNCTION_FIREBASE_CRUD_FUNCTION_SPECIFIER_SPLITTER, MODEL_STORAGE_FILE_SLASH_PATH_FACTORY, ModifyBeforeSetFirestoreDocumentDataAccessorWrapper, READ_MODEL_APP_FUNCTION_KEY, RUN_DEV_FUNCTION_APP_FUNCTION_KEY, SCHEDULED_FUNCTION_DEV_FUNCTION_SPECIFIER, ScheduledFunctionDevelopmentFirebaseFunctionListEntry, ScheduledFunctionDevelopmentFirebaseFunctionParams, ScheduledFunctionDevelopmentFunctionTypeEnum, SystemStateDocument, SystemStateFirestoreCollections, TargetModelIdParams, TargetModelParams, UPDATE_MODEL_APP_FUNCTION_KEY, addConstraintToBuilder, addOrReplaceLimitInConstraints, allChildDocumentsUnderParent, allChildDocumentsUnderParentPath, allChildDocumentsUnderRelativePath, asTopLevelFieldPath, asTopLevelFieldPaths, assertFirestoreUpdateHasData, assertStorageUploadOptionsStringFormat, assignDateCellRangeFunction, assignDateCellScheduleFunction, assignUnitedStatesAddressFunction, assignWebsiteFileLinkFunction, assignWebsiteLinkFunction, buildFirebaseCollectionTypeModelTypeMap, childFirestoreModelKey, childFirestoreModelKeyPath, childFirestoreModelKeys, clientFirebaseFirestoreContextFactory, clientFirebaseStorageContextFactory, contextGrantedModelRolesReader, contextGrantedModelRolesReaderDoesNotExistErrorMessage, contextGrantedModelRolesReaderPermissionErrorMessage, convertHttpsCallableErrorToReadableError, copyDocumentIdForUserRelatedModifierFunction, copyDocumentIdToFieldModifierFunction, copyUserRelatedDataAccessorFactoryFunction, copyUserRelatedDataModifierConfig, dataFromDocumentSnapshots, dataFromSnapshotStream, developmentFirebaseFunctionMapFactory, directDataHttpsCallable, documentData, documentDataFunction, documentDataWithIdAndKey, documentReferenceFromDocument, documentReferencesFromDocuments, documentReferencesFromSnapshot, endAt, endAtValue, endBefore, extendFirestoreCollectionWithSingleDocumentAccessor, filterConstraintsOfType, filterDisallowedFirestoreItemPageIteratorInputContraints, firebaseAuthErrorToReadableError, firebaseFirestoreClientDrivers, firebaseFirestoreQueryConstraintFunctionsDriver, firebaseFirestoreQueryDriver, firebaseFunctionMapFactory, firebaseModelLoader, firebaseModelPermissionService, firebaseModelService, firebaseModelServiceFactory, firebaseModelsService, firebaseQueryItemAccumulator, firebaseQuerySnapshotAccumulator, firebaseStorageBucketFolderPath, firebaseStorageClientAccessorDriver, firebaseStorageClientAccessorFile, firebaseStorageClientAccessorFolder, firebaseStorageClientDrivers, firebaseStorageClientListFilesResultFactory, firebaseStorageContextFactory, firebaseStorageFileExists, firebaseStorageFilePathFromStorageFilePath, firebaseStorageRefForStorageFilePath, firestoreArray, firestoreArrayMap, firestoreBitwiseObjectMap, firestoreBitwiseSet, firestoreBitwiseSetMap, firestoreBoolean, firestoreClientAccessorDriver, firestoreClientIncrementUpdateToUpdateData, firestoreContextFactory, firestoreDate, firestoreDateCellRange, firestoreDateCellRangeArray, firestoreDateCellRangeAssignFn, firestoreDateCellSchedule, firestoreDateCellScheduleAssignFn, firestoreDencoderArray, firestoreDencoderMap, firestoreDencoderStringArray, firestoreDocumentAccessorContextExtension, firestoreDocumentAccessorFactory, firestoreDocumentLoader, firestoreDummyKey, firestoreEncodedArray, firestoreEncodedObjectMap, firestoreEnum, firestoreEnumArray, firestoreField, firestoreFieldConfigToModelMapFunctionsRef, firestoreIdBatchVerifierFactory, firestoreIdentityTypeArray, firestoreIdentityTypeArrayName, firestoreItemPageIteration, firestoreItemPageIterationFactory, firestoreLatLngString, firestoreMap, firestoreMapZoomLevel, firestoreModelId, firestoreModelIdArrayField, firestoreModelIdFromDocument, firestoreModelIdGrantedRoleArrayMap, firestoreModelIdGrantedRoleMap, firestoreModelIdString, firestoreModelIdentity, firestoreModelIdentityTypeMap, firestoreModelIdsFromDocuments, firestoreModelIdsFromKey, firestoreModelKey, firestoreModelKeyArrayField, firestoreModelKeyCollectionName, firestoreModelKeyCollectionType, firestoreModelKeyCollectionTypeArray, firestoreModelKeyCollectionTypeArrayName, firestoreModelKeyCollectionTypePair, firestoreModelKeyEncodedGrantedRoleMap, firestoreModelKeyFromDocument, firestoreModelKeyGrantedRoleArrayMap, firestoreModelKeyGrantedRoleMap, firestoreModelKeyPairObject, firestoreModelKeyParentKey, firestoreModelKeyParentKeyPartPairs, firestoreModelKeyPart, firestoreModelKeyPartPairs, firestoreModelKeyPartPairsKeyPath, firestoreModelKeyPartPairsPaths, firestoreModelKeyPath, firestoreModelKeyString, firestoreModelKeyTypePair, firestoreModelKeys, firestoreModelKeysFromDocuments, firestoreModelType, firestoreNumber, firestoreObjectArray, firestorePassThroughField, firestoreQueryConstraint, firestoreQueryConstraintFactory, firestoreQueryFactory, firestoreSingleDocumentAccessor, firestoreString, firestoreSubObject, firestoreTimezoneString, firestoreUID, firestoreUniqueArray, firestoreUniqueKeyedArray, firestoreUniqueStringArray, firestoreUnitedStatesAddress, firestoreUnitedStatesAddressAssignFn, firestoreUpdateWithNoDataError, firestoreWebsiteFileLink, firestoreWebsiteFileLinkAssignFn, firestoreWebsiteFileLinkEncodedArray, firestoreWebsiteFileLinkObjectArray, firestoreWebsiteLink, firestoreWebsiteLinkArray, firestoreWebsiteLinkAssignFn, flatFirestoreModelKey, getDataFromDocumentSnapshots, getDocumentSnapshotData, getDocumentSnapshotDataPair, getDocumentSnapshotDataPairs, getDocumentSnapshotDataTuples, getDocumentSnapshotPair, getDocumentSnapshotPairs, getDocumentSnapshots, getDocumentSnapshotsData, grantFullAccessIfAdmin, grantFullAccessIfAuthUserRelated, grantModelRolesIfAdmin, grantModelRolesIfAdminFunction, grantModelRolesIfAuthUserRelatedModelFunction, grantModelRolesIfFunction, grantModelRolesIfHasAuthRolesFactory, grantModelRolesIfHasAuthRolesFunction, grantModelRolesOnlyIfFunction, inContextFirebaseModelServiceFactory, inContextFirebaseModelsServiceFactory, incrementUpdateWithAccessorFunction, inferKeyFromTwoWayFlatFirestoreModelKey, interceptAccessorFactoryFunction, isAdminInFirebaseModelContext, isFirebaseStorageObjectNotFoundError, isFirestoreModelId, isFirestoreModelKey, isOwnerOfUserRelatedModelInFirebaseModelContext, iterateFirestoreDocumentSnapshotBatches, iterateFirestoreDocumentSnapshotCheckpoints, iterateFirestoreDocumentSnapshotPairBatches, iterateFirestoreDocumentSnapshotPairs, iterateFirestoreDocumentSnapshots, iterationQueryDocChangeWatcher, iterationQueryDocChangeWatcherChangeTypeForGroup, latestDataFromDocuments, latestSnapshotsFromDocuments, lazyFirebaseFunctionsFactory, limit, limitToLast, limitedFirestoreDocumentAccessorFactory, loadDocumentsForDocumentReferences, loadDocumentsForDocumentReferencesFromValues, loadDocumentsForIds, loadDocumentsForIdsFromValues, loadDocumentsForKeys, loadDocumentsForKeysFromValues, loadDocumentsForSnapshots, loadDocumentsForValues, makeDocuments, makeFirestoreCollection, makeFirestoreCollectionGroup, makeFirestoreCollectionWithParent, makeFirestoreItemPageIteratorDelegate, makeFirestoreQueryConstraintFunctionsDriver, makeRootSingleItemFirestoreCollection, makeSingleItemFirestoreCollection, mapDataFromSnapshot, mapHttpsCallable, modelFirebaseFunctionMapFactory, modelStorageSlashPathFactory, modifyBeforeSetInterceptAccessorFactoryFunction, newDocuments, noStringFormatInStorageUploadOptionsError, offset, onCallCreateModelResult, onCallCreateModelResultWithDocs, onCallDevelopmentParams, onCallTypedModelParams, optionalFirestoreArray, optionalFirestoreBoolean, optionalFirestoreDate, optionalFirestoreEnum, optionalFirestoreField, optionalFirestoreNumber, optionalFirestoreString, optionalFirestoreUID, optionalFirestoreUnitedStatesAddress, orderBy, orderByDocumentId, readFirestoreModelKey, replaceConstraints, selectFromFirebaseModelsService, separateConstraints, setIdAndKeyFromKeyIdRefOnDocumentData, setIdAndKeyFromSnapshotOnDocumentData, snapshotConverterFunctions, snapshotStreamDataForAccessor, snapshotStreamForAccessor, startAfter, startAt, startAtValue, storageListFilesResultFactory, storageListFilesResultHasNoNextError, storagePathFactory, streamFromOnSnapshot, systemStateCollectionReference, systemStateConverter, systemStateFirestoreCollection, systemStateIdentity, twoWayFlatFirestoreModelKey, unsupportedFirestoreDriverFunctionError, updateWithAccessorUpdateAndConverterFunction, useContextAuth, useContextAuthUid, useDocumentSnapshot, useDocumentSnapshotData, useFirebaseModelsService, where, whereDateIsAfter, whereDateIsAfterWithSort, whereDateIsBefore, whereDateIsBeforeWithSort, whereDateIsBetween, whereDateIsInRange, whereDateIsOnOrAfter, whereDateIsOnOrAfterWithSort, whereDateIsOnOrBefore, whereDateIsOnOrBeforeWithSort, whereDocumentId, whereStringHasRootIdentityModelKey, whereStringValueHasPrefix };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dereekb/firebase",
3
- "version": "10.0.16",
3
+ "version": "10.0.18",
4
4
  "exports": {
5
5
  ".": {
6
6
  "types": "./src/index.d.ts",
@@ -38,10 +38,18 @@ export interface OffsetQueryConstraintData {
38
38
  }
39
39
  export declare function offset(offset: number): FirestoreQueryConstraint<OffsetQueryConstraintData>;
40
40
  export declare const FIRESTORE_WHERE_QUERY_CONSTRAINT_TYPE = "where";
41
+ /**
42
+ * All Firestore value comparison operators.
43
+ */
44
+ export type WhereFilterOpValue = '<' | '<=' | '==' | '>=' | '>' | '!=';
45
+ /**
46
+ * All Firestore array comparison operators.
47
+ */
48
+ export type WhereFilterOpArrayValue = 'array-contains' | 'array-contains-any' | 'in' | 'not-in';
41
49
  /**
42
50
  * https://firebase.google.com/docs/firestore/query-data/queries#query_operators
43
51
  */
44
- export type WhereFilterOp = '<' | '<=' | '==' | '>=' | '>' | '!=' | 'array-contains' | 'array-contains-any' | 'in' | 'not-in';
52
+ export type WhereFilterOp = WhereFilterOpValue | WhereFilterOpArrayValue;
45
53
  /**
46
54
  * Maximum number of arguments allowed with the "in" and "array-contains"/"array-contains-any" operators.
47
55
  */
@@ -90,6 +90,46 @@ export declare function whereDateIsOnOrAfter(field: FieldPathOrStringPath, date?
90
90
  */
91
91
  export declare function whereDateIsOnOrAfterWithSort<T>(field: StringKeyPropertyKeys<T>, date?: Date, sortDirection?: OrderByDirection): FirestoreQueryConstraint[];
92
92
  export declare function whereDateIsOnOrAfterWithSort(field: FieldPathOrStringPath, date?: Date, sortDirection?: OrderByDirection): FirestoreQueryConstraint[];
93
+ /**
94
+ * Searches dates that are on or before the input date. If no date is input, uses now.
95
+ *
96
+ * @param field
97
+ * @param date
98
+ * @param sortDirection
99
+ */
100
+ export declare function whereDateIsOnOrBefore<T>(field: StringKeyPropertyKeys<T>, date?: Date): FirestoreQueryConstraint;
101
+ export declare function whereDateIsOnOrBefore(field: FieldPathOrStringPath, date?: Date): FirestoreQueryConstraint;
102
+ /**
103
+ * Searches dates that are on or before the input date. If no date is input, uses now.
104
+ *
105
+ * Sorts in descending order by default.
106
+ *
107
+ * @param field
108
+ * @param date
109
+ * @param sortDirection
110
+ */
111
+ export declare function whereDateIsOnOrBeforeWithSort<T>(field: StringKeyPropertyKeys<T>, date?: Date, sortDirection?: OrderByDirection): FirestoreQueryConstraint[];
112
+ export declare function whereDateIsOnOrBeforeWithSort(field: FieldPathOrStringPath, date?: Date, sortDirection?: OrderByDirection): FirestoreQueryConstraint[];
113
+ /**
114
+ * Searches dates that are on or after the input date. If no date is input, uses now.
115
+ *
116
+ * @param field
117
+ * @param date
118
+ * @param sortDirection
119
+ */
120
+ export declare function whereDateIsAfter<T>(field: StringKeyPropertyKeys<T>, date?: Date): FirestoreQueryConstraint;
121
+ export declare function whereDateIsAfter(field: FieldPathOrStringPath, date?: Date): FirestoreQueryConstraint;
122
+ /**
123
+ * Searches dates that are on or after the input date. If no date is input, uses now.
124
+ *
125
+ * Sorts in ascending order by default.
126
+ *
127
+ * @param field
128
+ * @param date
129
+ * @param sortDirection
130
+ */
131
+ export declare function whereDateIsAfterWithSort<T>(field: StringKeyPropertyKeys<T>, date?: Date, sortDirection?: OrderByDirection): FirestoreQueryConstraint[];
132
+ export declare function whereDateIsAfterWithSort(field: FieldPathOrStringPath, date?: Date, sortDirection?: OrderByDirection): FirestoreQueryConstraint[];
93
133
  /**
94
134
  * Searches dates that are on or after the input date. If no date is input, uses now.
95
135
  *
@@ -102,7 +142,7 @@ export declare function whereDateIsBefore(field: FieldPathOrStringPath, date?: D
102
142
  /**
103
143
  * Searches dates that are on or after the input date. If no date is input, uses now.
104
144
  *
105
- * Sorts in ascending order by default.
145
+ * Sorts in descending order by default.
106
146
  *
107
147
  * @param field
108
148
  * @param date
@@ -1,4 +1,4 @@
1
- import { type GetterOrValue, type PromiseOrValue, type IndexRef, type Maybe, type PerformAsyncTasksConfig, type IndexNumber, type PerformAsyncTasksResult } from '@dereekb/util';
1
+ import { type GetterOrValue, type PromiseOrValue, type IndexRef, type Maybe, type PerformAsyncTasksConfig, type IndexNumber, type PerformAsyncTasksResult, type FactoryWithRequiredInput } from '@dereekb/util';
2
2
  import { type FirestoreDocument, type FirestoreDocumentSnapshotDataPair, type LimitedFirestoreDocumentAccessor } from '../accessor';
3
3
  import { type QueryDocumentSnapshot, type QuerySnapshot, type DocumentSnapshot } from '../types';
4
4
  import { type FirestoreQueryConstraint } from './constraint';
@@ -34,7 +34,7 @@ export interface IterateFirestoreDocumentSnapshotsConfig<T, R> extends Omit<Iter
34
34
  /**
35
35
  * (Optional) Additional config for the snapshot's PerformAsyncTasks call. By default user the performTasksConfig value.
36
36
  */
37
- readonly snapshotsPerformTasksConfig?: Partial<PerformAsyncTasksConfig>;
37
+ readonly snapshotsPerformTasksConfig?: Partial<PerformAsyncTasksConfig<QueryDocumentSnapshot<T>>>;
38
38
  }
39
39
  export type IterateFirestoreDocumentSnapshotsResult<T, R> = PerformAsyncTasksResult<QueryDocumentSnapshot<T>, R>;
40
40
  /**
@@ -89,10 +89,20 @@ export interface IterateFirestoreDocumentSnapshotBatchesResult<T, R> extends Ind
89
89
  export interface IterateFirestoreDocumentSnapshotBatchesConfig<T, R> extends Omit<IterateFirestoreDocumentSnapshotCheckpointsConfig<T, IterateFirestoreDocumentSnapshotBatchesResult<T, R>>, 'iterateCheckpoint'> {
90
90
  /**
91
91
  * Max number of documents per batch. Defaults to 25.
92
+ *
93
+ * If null is then all snapshots will be processed in a single batch.
92
94
  */
93
95
  readonly batchSize?: Maybe<number>;
96
+ /**
97
+ * Determines the custom batch size for the input.
98
+ *
99
+ * If the factory returns returned null then all snapshots will be processed in a single batch.
100
+ */
101
+ readonly batchSizeForSnapshots?: Maybe<FactoryWithRequiredInput<number | null, QueryDocumentSnapshot<T>[]>>;
94
102
  /**
95
103
  * The iterate function per each snapshot.
104
+ *
105
+ * The batch will have atleast one item in it.
96
106
  */
97
107
  iterateSnapshotBatch(snapshotBatch: QueryDocumentSnapshot<T>[], batchIndex: number): Promise<R>;
98
108
  /**
@@ -103,7 +113,7 @@ export interface IterateFirestoreDocumentSnapshotBatchesConfig<T, R> extends Omi
103
113
  * - throwError = true
104
114
  * - sequential = true
105
115
  */
106
- readonly performTasksConfig?: Partial<PerformAsyncTasksConfig>;
116
+ readonly performTasksConfig?: Partial<PerformAsyncTasksConfig<QueryDocumentSnapshot<T>[]>>;
107
117
  }
108
118
  /**
109
119
  * Default batch size for iterateFirestoreDocumentSnapshotBatches().
package/test/CHANGELOG.md CHANGED
@@ -2,6 +2,14 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [10.0.18](https://github.com/dereekb/dbx-components/compare/v10.0.17-dev...v10.0.18) (2024-02-13)
6
+
7
+
8
+
9
+ ## [10.0.17](https://github.com/dereekb/dbx-components/compare/v10.0.16-dev...v10.0.17) (2024-02-06)
10
+
11
+
12
+
5
13
  ## [10.0.16](https://github.com/dereekb/dbx-components/compare/v10.0.15-dev...v10.0.16) (2024-02-05)
6
14
 
7
15
 
package/test/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dereekb/firebase/test",
3
- "version": "10.0.16",
3
+ "version": "10.0.18",
4
4
  "type": "commonjs",
5
5
  "peerDependencies": {
6
6
  "@dereekb/util": "*",
@@ -187,6 +187,43 @@ function describeFirestoreQueryDriverTests(f) {
187
187
  expect(result.totalSnapshotsVisited).toBe(allMockUserItems.length);
188
188
  expect(mockUserItemsVisited.size).toBe(allMockUserItems.length);
189
189
  }));
190
+ describe('batchSize=null', () => {
191
+ it('should iterate with a single batch', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
192
+ const mockUserItemsVisited = new Set();
193
+ const batchSize = null;
194
+ const result = yield (0, firebase_1.iterateFirestoreDocumentSnapshotBatches)({
195
+ batchSize,
196
+ iterateSnapshotBatch: (x) => tslib_1.__awaiter(this, void 0, void 0, function* () {
197
+ expect(x.length).toBe(allMockUserItems.length);
198
+ }),
199
+ useCheckpointResult: (x) => tslib_1.__awaiter(this, void 0, void 0, function* () {
200
+ x.docSnapshots.forEach((y) => mockUserItemsVisited.add(y.ref.path));
201
+ }),
202
+ queryFactory: f.instance.mockItemUserCollectionGroup,
203
+ constraintsFactory: [] // no constraints
204
+ });
205
+ expect(result.totalSnapshotsVisited).toBe(allMockUserItems.length);
206
+ expect(mockUserItemsVisited.size).toBe(allMockUserItems.length);
207
+ }));
208
+ });
209
+ describe('batchSizeForSnapshots: () => null', () => {
210
+ it('should iterate with a single batch', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
211
+ const mockUserItemsVisited = new Set();
212
+ const result = yield (0, firebase_1.iterateFirestoreDocumentSnapshotBatches)({
213
+ batchSizeForSnapshots: () => null,
214
+ iterateSnapshotBatch: (x) => tslib_1.__awaiter(this, void 0, void 0, function* () {
215
+ expect(x.length).toBe(allMockUserItems.length);
216
+ }),
217
+ useCheckpointResult: (x) => tslib_1.__awaiter(this, void 0, void 0, function* () {
218
+ x.docSnapshots.forEach((y) => mockUserItemsVisited.add(y.ref.path));
219
+ }),
220
+ queryFactory: f.instance.mockItemUserCollectionGroup,
221
+ constraintsFactory: [] // no constraints
222
+ });
223
+ expect(result.totalSnapshotsVisited).toBe(allMockUserItems.length);
224
+ expect(mockUserItemsVisited.size).toBe(allMockUserItems.length);
225
+ }));
226
+ });
190
227
  });
191
228
  });
192
229
  });
@@ -624,6 +661,28 @@ function describeFirestoreQueryDriverTests(f) {
624
661
  * Since we choose to store dates as strings, we can compare ranges of dates.
625
662
  */
626
663
  describe('Searching Date Strings', () => {
664
+ describe('whereDateIsAfterWithSort()', () => {
665
+ it('should return models with dates after the input.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
666
+ var _a, _b;
667
+ const startHoursLater = 2;
668
+ const start = (0, date_fns_1.addHours)(startDate, startHoursLater);
669
+ const result = yield query((0, firebase_1.whereDateIsAfterWithSort)('date', start)).getDocs();
670
+ expect(result.docs.length).toBe(startHoursLater);
671
+ // ascending order by default
672
+ expect((_a = result.docs[0].data().date) === null || _a === void 0 ? void 0 : _a.toISOString()).toBe((0, date_fns_1.addHours)(start, 1).toISOString());
673
+ expect((_b = result.docs[1].data().date) === null || _b === void 0 ? void 0 : _b.toISOString()).toBe((0, date_fns_1.addHours)(start, 2).toISOString());
674
+ }));
675
+ it('should return models with dates after the input in descending order.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
676
+ var _c, _d;
677
+ const startHoursLater = 2;
678
+ const start = (0, date_fns_1.addHours)(startDate, startHoursLater);
679
+ const result = yield query((0, firebase_1.whereDateIsAfterWithSort)('date', start, 'desc')).getDocs();
680
+ expect(result.docs.length).toBe(startHoursLater);
681
+ // check descending order
682
+ expect((_c = result.docs[0].data().date) === null || _c === void 0 ? void 0 : _c.toISOString()).toBe((0, date_fns_1.addHours)(start, 2).toISOString());
683
+ expect((_d = result.docs[1].data().date) === null || _d === void 0 ? void 0 : _d.toISOString()).toBe((0, date_fns_1.addHours)(start, 1).toISOString());
684
+ }));
685
+ });
627
686
  describe('whereDateIsBeforeWithSort()', () => {
628
687
  it('should return models with dates before the input.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
629
688
  var _a, _b;
@@ -647,7 +706,7 @@ function describeFirestoreQueryDriverTests(f) {
647
706
  }));
648
707
  });
649
708
  describe('whereDateIsOnOrAfterWithSort()', () => {
650
- it('should return models with dates before the input.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
709
+ it('should return models with dates after the input.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
651
710
  var _a, _b, _c;
652
711
  const startHoursLater = 2;
653
712
  const start = (0, date_fns_1.addHours)(startDate, startHoursLater);
@@ -658,7 +717,7 @@ function describeFirestoreQueryDriverTests(f) {
658
717
  expect((_b = result.docs[1].data().date) === null || _b === void 0 ? void 0 : _b.toISOString()).toBe((0, date_fns_1.addHours)(start, 1).toISOString());
659
718
  expect((_c = result.docs[2].data().date) === null || _c === void 0 ? void 0 : _c.toISOString()).toBe((0, date_fns_1.addHours)(start, 2).toISOString());
660
719
  }));
661
- it('should return models with dates before the input in descending order.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
720
+ it('should return models with dates after the input in descending order.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
662
721
  var _d, _e, _f;
663
722
  const startHoursLater = 2;
664
723
  const start = (0, date_fns_1.addHours)(startDate, startHoursLater);
@@ -670,6 +729,30 @@ function describeFirestoreQueryDriverTests(f) {
670
729
  expect((_f = result.docs[2].data().date) === null || _f === void 0 ? void 0 : _f.toISOString()).toBe((0, date_fns_1.addHours)(start, 0).toISOString());
671
730
  }));
672
731
  });
732
+ describe('whereDateIsOnOrBeforeWithSort()', () => {
733
+ it('should return models with dates before the input.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
734
+ var _a, _b, _c;
735
+ const startHoursLater = 2;
736
+ const endDate = (0, date_fns_1.addHours)(startDate, startHoursLater);
737
+ const result = yield query((0, firebase_1.whereDateIsOnOrBeforeWithSort)('date', endDate)).getDocs();
738
+ expect(result.docs.length).toBe(3);
739
+ // descending order by default
740
+ expect((_a = result.docs[0].data().date) === null || _a === void 0 ? void 0 : _a.toISOString()).toBe((0, date_fns_1.addHours)(endDate, 0).toISOString());
741
+ expect((_b = result.docs[1].data().date) === null || _b === void 0 ? void 0 : _b.toISOString()).toBe((0, date_fns_1.addHours)(endDate, -1).toISOString());
742
+ expect((_c = result.docs[2].data().date) === null || _c === void 0 ? void 0 : _c.toISOString()).toBe((0, date_fns_1.addHours)(endDate, -2).toISOString());
743
+ }));
744
+ it('should return models with dates before the input in ascending order.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
745
+ var _d, _e, _f;
746
+ const startHoursLater = 2;
747
+ const endDate = (0, date_fns_1.addHours)(startDate, startHoursLater);
748
+ const result = yield query((0, firebase_1.whereDateIsOnOrBeforeWithSort)('date', endDate, 'asc')).getDocs();
749
+ expect(result.docs.length).toBe(3);
750
+ // check ascending order
751
+ expect((_d = result.docs[0].data().date) === null || _d === void 0 ? void 0 : _d.toISOString()).toBe((0, date_fns_1.addHours)(endDate, -2).toISOString());
752
+ expect((_e = result.docs[1].data().date) === null || _e === void 0 ? void 0 : _e.toISOString()).toBe((0, date_fns_1.addHours)(endDate, -1).toISOString());
753
+ expect((_f = result.docs[2].data().date) === null || _f === void 0 ? void 0 : _f.toISOString()).toBe((0, date_fns_1.addHours)(endDate, 0).toISOString());
754
+ }));
755
+ });
673
756
  describe('whereDateIsInRange()', () => {
674
757
  it('should return the date values within the given range.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
675
758
  var _a, _b;
@@ -1 +1 @@
1
- {"version":3,"file":"test.driver.query.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/test/src/lib/common/firestore/test.driver.query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test.driver.query.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/test/src/lib/common/firestore/test.driver.query.ts"],"names":[],"mappings":"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"}