@dereekb/firebase 13.0.5 → 13.0.6

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.esm.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { increment, arrayRemove, arrayUnion, onSnapshot, getDoc, deleteDoc, setDoc, updateDoc, collection, collectionGroup, doc, writeBatch, runTransaction, getDocs, getCountFromServer, endBefore as endBefore$1, endAt as endAt$1, startAfter as startAfter$1, startAt as startAt$1, where as where$1, documentId, orderBy as orderBy$1, limitToLast as limitToLast$1, limit as limit$1, query } from 'firebase/firestore';
2
- import { cachedGetter, mergeModifiers, asArray, filterUndefinedValues, objectHasNoKeys, filterFalsyAndEmptyValues, build, wrapUseAsyncFunction, useAsync, runAsyncTasksForValues, filterMaybeArrayValues, performMakeLoop, makeWithFactory, toModelFieldConversions, makeModelMapFunctions, modifyModelMapFunctions, assignValuesToPOJOFunction, KeyValueTypleValueFilter, asObjectCopyFactory, transformStringFunctionConfig, transformStringFunction, passThrough, filterUniqueTransform, unique, transformNumberFunction, sortValuesFunctionOrMapIdentityWithSortRef, toModelMapFunctions, isEqualToValueDecisionFunction, filterFromPOJOFunction, mapObjectMap, copyObject, modelFieldMapFunctions, filterNullAndUndefinedValues, isDate, bitwiseSetDencoder, sortAscendingIndexNumberRefFunction, latLngStringFunction, DEFAULT_LAT_LNG_STRING_VALUE, mapObjectMapFunction, filterEmptyArrayValues, filterUniqueFunction, isMapIdentityFunction, chainMapSameFunctions, unixDateTimeSecondsNumberFromDate, dateFromDateOrTimeSecondsNumber, MAP_IDENTITY, pushItemOrArrayItemsIntoArray, separateValues, convertToArray, UTF_PRIVATE_USAGE_AREA_START, UTF_8_START_CHARACTER, mergeArraysIntoArray, lastValue, flattenArrayOrValueArray, allowValueOnceFilter, asGetter, getValueFromGetter, mapIdentityFunction, performTasksFromFactoryInParallelFunction, performAsyncTasks, batch, flattenArray, calculateExpirationDate, groupValues, forEachInIterable, arrayToObject, takeFront, stringContains, isOddNumber, objectToMap, ServerErrorResponse, toReadableError, capitalizeFirstLetter, lowercaseFirstLetter, toRelativeSlashPathStartType, mappedUseFunction, iterableToArray, setContainsAllValues, usePromise, slashPathFactory, errorMessageContainsString, bitwiseObjectDencoder, UNSET_INDEX_NUMBER, mergeObjectsFunction, mergeObjects, forEachKeyValue, updateMaybeValue, ModelRelationUtility, filterKeysOnPOJOFunction, areEqualPOJOValuesUsingPojoFilter, filterOnlyUndefinedValues, makeModelMap, isThrottled, MS_IN_HOUR, multiValueMapBuilder, mergeSlashPaths, slashPathDetails, toAbsoluteSlashPathStartType, SLASH_PATH_FILE_TYPE_SEPARATOR, slashPathPathMatcher, decisionFunction, slashPathSubPathMatcher } from '@dereekb/util';
2
+ import { cachedGetter, mergeModifiers, asArray, filterUndefinedValues, objectHasNoKeys, filterFalsyAndEmptyValues, build, wrapUseAsyncFunction, useAsync, runAsyncTasksForValues, filterMaybeArrayValues, performMakeLoop, makeWithFactory, MAP_IDENTITY, toModelFieldConversions, makeModelMapFunctions, modifyModelMapFunctions, assignValuesToPOJOFunction, KeyValueTypleValueFilter, asObjectCopyFactory, transformStringFunctionConfig, transformStringFunction, passThrough, filterUniqueTransform, unique, transformNumberFunction, sortValuesFunctionOrMapIdentityWithSortRef, toModelMapFunctions, isEqualToValueDecisionFunction, filterFromPOJOFunction, mapObjectMap, copyObject, modelFieldMapFunctions, filterNullAndUndefinedValues, isDate, bitwiseSetDencoder, sortAscendingIndexNumberRefFunction, latLngStringFunction, DEFAULT_LAT_LNG_STRING_VALUE, mapObjectMapFunction, filterEmptyArrayValues, filterUniqueFunction, isMapIdentityFunction, chainMapSameFunctions, unixDateTimeSecondsNumberFromDate, dateFromDateOrTimeSecondsNumber, pushItemOrArrayItemsIntoArray, separateValues, convertToArray, UTF_PRIVATE_USAGE_AREA_START, UTF_8_START_CHARACTER, mergeArraysIntoArray, lastValue, flattenArrayOrValueArray, allowValueOnceFilter, asGetter, getValueFromGetter, mapIdentityFunction, performTasksFromFactoryInParallelFunction, performAsyncTasks, batch, flattenArray, calculateExpirationDate, groupValues, forEachInIterable, arrayToObject, takeFront, stringContains, isOddNumber, objectToMap, ServerErrorResponse, toReadableError, capitalizeFirstLetter, lowercaseFirstLetter, toRelativeSlashPathStartType, mappedUseFunction, iterableToArray, setContainsAllValues, usePromise, slashPathFactory, errorMessageContainsString, bitwiseObjectDencoder, UNSET_INDEX_NUMBER, mergeObjectsFunction, mergeObjects, forEachKeyValue, updateMaybeValue, ModelRelationUtility, filterKeysOnPOJOFunction, areEqualPOJOValuesUsingPojoFilter, filterOnlyUndefinedValues, makeModelMap, isThrottled, MS_IN_HOUR, multiValueMapBuilder, mergeSlashPaths, slashPathDetails, toAbsoluteSlashPathStartType, SLASH_PATH_FILE_TYPE_SEPARATOR, slashPathPathMatcher, decisionFunction, slashPathSubPathMatcher } from '@dereekb/util';
3
3
  import { filterMaybe, lazyFrom, itemAccumulator, ItemPageIterator, mappedPageItemIteration } from '@dereekb/rxjs';
4
- import { map, from, shareReplay, combineLatest, of, exhaustMap, Observable, switchMap, timer, skip } from 'rxjs';
4
+ import { map, from, combineLatest, of, exhaustMap, Observable, switchMap, timer, skip, shareReplay } from 'rxjs';
5
5
  import { UNKNOWN_WEBSITE_LINK_TYPE, encodeWebsiteFileLinkToWebsiteLinkEncodedData, decodeWebsiteLinkEncodedDataToWebsiteFileLink, AbstractModelPermissionService, grantedRoleMapReader, noAccessRoleMap, fullAccessRoleMap, IsE164PhoneNumber } from '@dereekb/model';
6
6
  import { toISODateString, formatToISO8601DateString, toJsDate, isSameDate, dateRange, sortByDateFunction, yearWeekCode, UNKNOWN_YEAR_WEEK_CODE } from '@dereekb/date';
7
7
  import { httpsCallable } from 'firebase/functions';
@@ -660,31 +660,33 @@ function extendFirestoreCollectionWithSingleDocumentAccessor(x, singleItemIdenti
660
660
  }
661
661
 
662
662
  /**
663
- * Creates an array of new FirestoreDocument instances without creating them in Firestore.
663
+ * Creates an array of new {@link FirestoreDocument} instances without persisting them to Firestore.
664
664
  *
665
- * @template T - The document data type
666
- * @template D - The FirestoreDocument implementation type
667
- * @param documentAccessor - The document accessor to use for creating document instances
668
- * @param count - The number of document instances to create
669
- * @returns An array of new document instances
665
+ * Each document is allocated a unique auto-generated ID via {@link FirestoreDocumentAccessor.newDocument},
666
+ * but no data is written to the database. Useful for preparing document references in bulk before
667
+ * deciding what data to write.
668
+ *
669
+ * @param documentAccessor - Accessor that provides the `newDocument()` factory method
670
+ * @param count - Number of document instances to create
671
+ * @returns Array of `count` new document instances, each with a unique auto-generated ID
670
672
  */
671
673
  function newDocuments(documentAccessor, count) {
672
674
  return makeWithFactory(() => documentAccessor.newDocument(), count);
673
675
  }
674
676
  /**
675
- * Creates multiple documents in Firestore and returns the document instances.
677
+ * Creates and optionally persists multiple Firestore documents in sequence.
676
678
  *
677
- * For each document, this function:
678
- * 1. Creates a new document instance using the specified or default factory
679
- * 2. Calls the init function with the document instance
680
- * 3. If init returns data, creates the document in Firestore
681
- * 4. Returns all document instances, whether they were created in Firestore or not
679
+ * Uses {@link performMakeLoop} to iterate `count` times. For each iteration:
680
+ * 1. A new document instance is created (via `make.newDocument` or the default factory)
681
+ * 2. `make.init(i, document)` is awaited to produce initial data
682
+ * 3. If init returns non-nullish data, `document.accessor.create(data)` persists it
683
+ * 4. The document instance is collected regardless of whether it was persisted
682
684
  *
683
- * @template T - The document data type
684
- * @template D - The FirestoreDocument implementation type
685
- * @param documentAccessor - The document accessor to use for creating document instances
686
- * @param make - Parameters for document creation and initialization
687
- * @returns A promise that resolves to an array of document instances
685
+ * Documents are created sequentially (not in parallel) to allow index-dependent logic.
686
+ *
687
+ * @param documentAccessor - Accessor providing the document factory and collection context
688
+ * @param make - Configuration controlling count, factory, and initialization
689
+ * @returns Promise resolving to all created document instances (length === `make.count`)
688
690
  */
689
691
  function makeDocuments(documentAccessor, make) {
690
692
  const newDocumentFn = make.newDocument ?? (() => documentAccessor.newDocument());
@@ -701,65 +703,52 @@ function makeDocuments(documentAccessor, make) {
701
703
  });
702
704
  }
703
705
  /**
704
- * Retrieves DocumentSnapshots for an array of documents in parallel.
706
+ * Fetches {@link DocumentSnapshot}s for multiple documents in parallel using {@link runAsyncTasksForValues}.
705
707
  *
706
- * This is useful for fetching the current state of multiple documents at once.
708
+ * Each document's `accessor.get()` is called concurrently. The returned array preserves
709
+ * the same ordering as the input `documents` array.
707
710
  *
708
- * @template D - The FirestoreDocument implementation type
709
- * @param documents - Array of document instances to get snapshots for
710
- * @returns Promise that resolves to an array of DocumentSnapshots in the same order as the input documents
711
+ * @param documents - Documents to fetch snapshots for
712
+ * @returns Snapshots in the same order as the input array
711
713
  */
712
714
  function getDocumentSnapshots(documents) {
713
715
  return runAsyncTasksForValues(documents, (x) => x.accessor.get());
714
716
  }
715
717
  /**
716
- * Creates a document-snapshot pair from a document instance.
718
+ * Fetches the current snapshot of a single document and pairs it with the document instance.
717
719
  *
718
- * Fetches the current snapshot of the document and returns both the original
719
- * document instance and the snapshot together.
720
- *
721
- * @template D - The FirestoreDocument implementation type
722
- * @param document - The document instance to get a snapshot for
723
- * @returns Promise that resolves to a document-snapshot pair
720
+ * @param document - The document to fetch
721
+ * @returns A pair containing the document and its snapshot
724
722
  */
725
723
  function getDocumentSnapshotPair(document) {
726
724
  return document.accessor.get().then((snapshot) => ({ document, snapshot }));
727
725
  }
728
726
  /**
729
- * Creates document-snapshot pairs for an array of documents in parallel.
727
+ * Fetches snapshots for multiple documents in parallel and pairs each with its document instance.
730
728
  *
731
- * Fetches the current snapshot of each document and returns pairs containing both
732
- * the original document instances and their snapshots.
733
- *
734
- * @template D - The FirestoreDocument implementation type
735
- * @param documents - Array of document instances to get snapshots for
736
- * @returns Promise that resolves to an array of document-snapshot pairs in the same order as the input documents
729
+ * @param documents - Documents to fetch
730
+ * @returns Pairs in the same order as the input array
737
731
  */
738
732
  function getDocumentSnapshotPairs(documents) {
739
733
  return runAsyncTasksForValues(documents, getDocumentSnapshotPair);
740
734
  }
741
735
  /**
742
- * Creates a document-snapshot-data triplet from a document instance.
736
+ * Fetches a document's snapshot, extracts its data with `id`/`key` fields, and returns all three as a triplet.
743
737
  *
744
- * Fetches the current snapshot of the document, extracts its data with ID and key fields,
745
- * and returns all three together in a single object.
746
- *
747
- * @template D - The FirestoreDocument implementation type
748
- * @param document - The document instance to get data for
749
- * @returns Promise that resolves to a document-snapshot-data triplet
738
+ * @param document - The document to fetch
739
+ * @returns A triplet of document, snapshot, and data (data may be `undefined` if the document doesn't exist)
750
740
  */
751
741
  function getDocumentSnapshotDataPair(document) {
752
742
  return document.accessor.get().then((snapshot) => ({ document, snapshot, data: documentDataWithIdAndKey(snapshot) }));
753
743
  }
754
744
  /**
755
- * Creates document-snapshot-data triplets for an array of documents in parallel.
745
+ * Fetches snapshot-data triplets for multiple documents in parallel.
756
746
  *
757
- * Fetches the current snapshot of each document, extracts its data with ID and key fields,
758
- * and returns triplets containing all three components for each document.
747
+ * Processes up to 200 documents concurrently via {@link runAsyncTasksForValues}.
748
+ * The returned array preserves the same ordering as the input.
759
749
  *
760
- * @template D - The FirestoreDocument implementation type
761
- * @param documents - Array of document instances to get data for
762
- * @returns Promise that resolves to an array of document-snapshot-data triplets in the same order as the input documents
750
+ * @param documents - Documents to fetch
751
+ * @returns Triplets in the same order as the input array
763
752
  */
764
753
  function getDocumentSnapshotDataPairs(documents) {
765
754
  return runAsyncTasksForValues(documents, getDocumentSnapshotDataPair, {
@@ -767,18 +756,27 @@ function getDocumentSnapshotDataPairs(documents) {
767
756
  });
768
757
  }
769
758
  /**
770
- * Creates document-snapshot-data triplets for an array of documents and filters out those without data.
759
+ * Fetches snapshot-data triplets for multiple documents and filters out those that don't exist in Firestore.
771
760
  *
772
- * This is a convenience function that fetches data for all documents and then returns
773
- * only the triplets for documents that actually exist in Firestore.
761
+ * Convenience wrapper around {@link getDocumentSnapshotDataPairs} that removes entries where `data` is nullish,
762
+ * returning only {@link FirestoreDocumentSnapshotDataPairWithData} results.
774
763
  *
775
- * @template D - The FirestoreDocument implementation type
776
- * @param documents - Array of document instances to get data for
777
- * @returns Promise that resolves to an array of document-snapshot-data triplets for existing documents only
764
+ * @param documents - Documents to fetch
765
+ * @returns Triplets for documents that exist, in their original relative order
778
766
  */
779
767
  function getDocumentSnapshotDataPairsWithData(documents) {
780
768
  return getDocumentSnapshotDataPairs(documents).then((x) => x.filter((y) => !!y.data));
781
769
  }
770
+ /**
771
+ * Fetches raw snapshot data tuples for multiple documents in parallel.
772
+ *
773
+ * Unlike {@link getDocumentSnapshotDataPairs}, this returns a lightweight `[document, data]` tuple
774
+ * and does not inject `id`/`key` fields onto the data. The `data` value is the raw result of
775
+ * `snapshot.data()` and may be `undefined` for non-existent documents.
776
+ *
777
+ * @param documents - Documents to fetch
778
+ * @returns Tuples in the same order as the input array
779
+ */
782
780
  function getDocumentSnapshotDataTuples(documents) {
783
781
  return runAsyncTasksForValues(documents, (document) => document.accessor.get().then((snapshot) => [document, snapshot.data()]));
784
782
  }
@@ -792,33 +790,109 @@ function getDataFromDocumentSnapshots(snapshots, withId = true) {
792
790
  const mapFn = documentDataFunction(withId);
793
791
  return filterMaybeArrayValues(snapshots.map(mapFn));
794
792
  }
793
+ /**
794
+ * Creates {@link FirestoreDocument} instances for all documents in a {@link QuerySnapshot}.
795
+ *
796
+ * Maps each document in `snapshots.docs` to a loaded document via `accessor.loadDocument(ref)`.
797
+ * No additional data fetching occurs; the documents are loaded from their existing references.
798
+ *
799
+ * @param accessor - Accessor to load documents with
800
+ * @param snapshots - Query snapshot containing the document references
801
+ * @returns Document instances in the same order as the query results
802
+ */
795
803
  function loadDocumentsForSnapshots(accessor, snapshots) {
796
804
  return snapshots.docs.map((x) => accessor.loadDocument(x.ref));
797
805
  }
806
+ /**
807
+ * Extracts {@link DocumentReference}s from arbitrary values and loads them as {@link FirestoreDocument} instances.
808
+ *
809
+ * Convenience function that maps values through `getRef` then delegates to {@link loadDocumentsForDocumentReferences}.
810
+ *
811
+ * @param accessor - Accessor to load documents with
812
+ * @param values - Source values to extract references from
813
+ * @param getRef - Extracts a document reference from each value
814
+ * @returns Document instances in the same order as the input values
815
+ */
798
816
  function loadDocumentsForDocumentReferencesFromValues(accessor, values, getRef) {
799
817
  return loadDocumentsForDocumentReferences(accessor, values.map(getRef));
800
818
  }
819
+ /**
820
+ * Alias for {@link loadDocumentsForDocumentReferencesFromValues}.
821
+ */
801
822
  const loadDocumentsForValues = loadDocumentsForDocumentReferencesFromValues;
823
+ /**
824
+ * Loads {@link FirestoreDocument} instances from an array of {@link DocumentReference}s.
825
+ *
826
+ * Each reference is passed to `accessor.loadDocument()` to create a document wrapper.
827
+ * No network calls are made; this only creates in-memory document instances bound to the given references.
828
+ *
829
+ * @param accessor - Accessor to load documents with
830
+ * @param refs - Document references to load
831
+ * @returns Document instances in the same order as the input references
832
+ */
802
833
  function loadDocumentsForDocumentReferences(accessor, refs) {
803
834
  return refs.map((x) => accessor.loadDocument(x));
804
835
  }
836
+ /**
837
+ * Extracts {@link FirestoreModelKey}s from arbitrary values and loads them as {@link FirestoreDocument} instances.
838
+ *
839
+ * Convenience function that maps values through `getKey` then delegates to {@link loadDocumentsForKeys}.
840
+ *
841
+ * @param accessor - Accessor to load documents with
842
+ * @param values - Source values to extract keys from
843
+ * @param getKey - Extracts a model key (full Firestore path) from each value
844
+ * @returns Document instances in the same order as the input values
845
+ */
805
846
  function loadDocumentsForKeysFromValues(accessor, values, getKey) {
806
847
  return loadDocumentsForKeys(accessor, values.map(getKey));
807
848
  }
849
+ /**
850
+ * Loads {@link FirestoreDocument} instances from an array of full Firestore document paths (keys).
851
+ *
852
+ * Each key is passed to `accessor.loadDocumentForKey()`. No network calls are made.
853
+ *
854
+ * @param accessor - Accessor to load documents with
855
+ * @param keys - Full Firestore document paths (e.g. `'users/abc123'`)
856
+ * @returns Document instances in the same order as the input keys
857
+ */
808
858
  function loadDocumentsForKeys(accessor, keys) {
809
859
  return keys.map((x) => accessor.loadDocumentForKey(x));
810
860
  }
861
+ /**
862
+ * Extracts {@link FirestoreModelId}s from arbitrary values and loads them as {@link FirestoreDocument} instances.
863
+ *
864
+ * Convenience function that maps values through `getId` then delegates to {@link loadDocumentsForIds}.
865
+ * Requires a full {@link FirestoreDocumentAccessor} (not limited) because loading by ID requires collection context.
866
+ *
867
+ * @param accessor - Accessor to load documents with (must have collection context for ID resolution)
868
+ * @param values - Source values to extract IDs from
869
+ * @param getId - Extracts a model ID from each value
870
+ * @returns Document instances in the same order as the input values
871
+ */
811
872
  function loadDocumentsForIdsFromValues(accessor, values, getId) {
812
873
  return loadDocumentsForIds(accessor, values.map(getId));
813
874
  }
875
+ /**
876
+ * Loads {@link FirestoreDocument} instances from an array of document IDs relative to the accessor's collection.
877
+ *
878
+ * Each ID is passed to `accessor.loadDocumentForId()`. Requires a full {@link FirestoreDocumentAccessor}
879
+ * because ID-based loading needs the collection reference to resolve the full path. No network calls are made.
880
+ *
881
+ * @param accessor - Accessor to load documents with (must have collection context)
882
+ * @param ids - Document IDs within the accessor's collection
883
+ * @returns Document instances in the same order as the input IDs
884
+ */
814
885
  function loadDocumentsForIds(accessor, ids) {
815
886
  return ids.map((x) => accessor.loadDocumentForId(x));
816
887
  }
817
888
  /**
818
- * Used to make a FirestoreDocumentLoader.
889
+ * Creates a {@link FirestoreDocumentLoader} from a {@link LimitedFirestoreDocumentAccessorContextExtension}.
819
890
  *
820
- * @param accessorContext
821
- * @returns
891
+ * The returned loader resolves the appropriate accessor based on whether a transaction is provided,
892
+ * then delegates to {@link loadDocumentsForDocumentReferences}.
893
+ *
894
+ * @param accessorContext - Context that provides accessors for both default and transactional use
895
+ * @returns A loader function that converts document references to document instances
822
896
  */
823
897
  function firestoreDocumentLoader(accessorContext) {
824
898
  return (references, transaction) => {
@@ -827,10 +901,16 @@ function firestoreDocumentLoader(accessorContext) {
827
901
  };
828
902
  }
829
903
  /**
830
- * Used to make a FirestoreDocumentSnapshotPairsLoader.
904
+ * Creates a {@link FirestoreDocumentSnapshotPairsLoader} from a {@link LimitedFirestoreDocumentAccessorContextExtension}.
831
905
  *
832
- * @param accessorContext
833
- * @returns
906
+ * The returned loader resolves the appropriate accessor based on whether a transaction is provided,
907
+ * then maps each snapshot to a {@link FirestoreDocumentSnapshotDataPair} using {@link firestoreDocumentSnapshotPairsLoaderInstance}.
908
+ *
909
+ * Also satisfies the {@link FirestoreQueryDocumentSnapshotPairsLoader} type since the implementation
910
+ * handles both {@link DocumentSnapshot} and {@link QueryDocumentSnapshot} inputs.
911
+ *
912
+ * @param accessorContext - Context that provides accessors for both default and transactional use
913
+ * @returns A loader function that converts snapshots to document-snapshot-data pairs
834
914
  */
835
915
  function firestoreDocumentSnapshotPairsLoader(accessorContext) {
836
916
  return (snapshots, transaction) => {
@@ -840,10 +920,15 @@ function firestoreDocumentSnapshotPairsLoader(accessorContext) {
840
920
  };
841
921
  }
842
922
  /**
843
- * Used to make a FirestoreDocumentSnapshotPairsLoader.
923
+ * Creates a {@link FirestoreDocumentSnapshotPairsLoaderInstance} bound to a specific accessor.
844
924
  *
845
- * @param accessorContext
846
- * @returns
925
+ * The returned function converts a snapshot into a {@link FirestoreDocumentSnapshotDataPair} by:
926
+ * 1. Extracting data with `id`/`key` fields via {@link documentDataWithIdAndKey}
927
+ * 2. Loading the document from the snapshot's reference via `accessor.loadDocument()`
928
+ * 3. Combining all three into a single pair object
929
+ *
930
+ * @param accessor - The accessor to bind for document loading
931
+ * @returns A reusable function that converts snapshots to pairs using the bound accessor
847
932
  */
848
933
  function firestoreDocumentSnapshotPairsLoaderInstance(accessor) {
849
934
  const fn = ((snapshot) => {
@@ -860,10 +945,10 @@ function firestoreDocumentSnapshotPairsLoaderInstance(accessor) {
860
945
  return fn;
861
946
  }
862
947
  /**
863
- * Used to make a FirestoreQueryDocumentSnapshotPairsLoader.
948
+ * Alias for {@link firestoreDocumentSnapshotPairsLoader}, typed specifically as a {@link FirestoreQueryDocumentSnapshotPairsLoader}.
864
949
  *
865
- * @param accessorContext
866
- * @returns
950
+ * Use this when you know all input snapshots are from a query and want the stronger return type
951
+ * that guarantees `data` is non-nullish.
867
952
  */
868
953
  const firestoreQueryDocumentSnapshotPairsLoader = firestoreDocumentSnapshotPairsLoader;
869
954
  function documentData(snapshot, withId = false) {
@@ -885,11 +970,14 @@ function documentDataWithIdAndKey(snapshot) {
885
970
  return data;
886
971
  }
887
972
  /**
888
- * Sets the id and key values from the snapshot onto the input data.
973
+ * Mutates the input data object to include `id` and `key` fields from a {@link DocumentSnapshot}.
889
974
  *
890
- * @param data
891
- * @param snapshot
892
- * @returns
975
+ * Sets `data.id` to `snapshot.id` and `data.key` to `snapshot.ref.path`. The data object
976
+ * is modified in-place and also returned for chaining convenience.
977
+ *
978
+ * @param data - The data object to augment (mutated in-place)
979
+ * @param snapshot - Source of the `id` and `key` values
980
+ * @returns The same data object, now typed as {@link DocumentDataWithIdAndKey}
893
981
  */
894
982
  function setIdAndKeyFromSnapshotOnDocumentData(data, snapshot) {
895
983
  const target = data;
@@ -898,11 +986,15 @@ function setIdAndKeyFromSnapshotOnDocumentData(data, snapshot) {
898
986
  return target;
899
987
  }
900
988
  /**
901
- * Sets the id and key values from the snapshot onto the input data.
989
+ * Mutates the input data object to include `id` and `key` fields from a model reference.
902
990
  *
903
- * @param data
904
- * @param snapshot
905
- * @returns
991
+ * Similar to {@link setIdAndKeyFromSnapshotOnDocumentData}, but sources the values from a
992
+ * {@link FirestoreModelKeyRef} & {@link FirestoreModelIdRef} instead of a snapshot.
993
+ * The data object is modified in-place and also returned for chaining convenience.
994
+ *
995
+ * @param data - The data object to augment (mutated in-place)
996
+ * @param modelRef - Source of the `id` and `key` values
997
+ * @returns The same data object, now typed as {@link DocumentDataWithIdAndKey}
906
998
  */
907
999
  function setIdAndKeyFromKeyIdRefOnDocumentData(data, modelRef) {
908
1000
  const target = data;
@@ -911,37 +1003,91 @@ function setIdAndKeyFromKeyIdRefOnDocumentData(data, modelRef) {
911
1003
  return target;
912
1004
  }
913
1005
  /**
914
- * MappedUseAsyncFunction to load a snapshot from the input document and use it.
1006
+ * Fetches a document's snapshot and passes it to a `use` callback, following the {@link UseAsync} pattern.
915
1007
  *
916
- * @param document
917
- * @param use
918
- * @param defaultValue
919
- * @returns
1008
+ * If `document` is nullish, the `use` callback is not invoked and `defaultValue` is returned instead.
1009
+ * If `document` exists but the snapshot is nullish (shouldn't happen in practice), `defaultValue` is also used.
1010
+ *
1011
+ * @param document - The document to fetch, or nullish to skip
1012
+ * @param use - Callback that receives the fetched snapshot and returns a result
1013
+ * @param defaultValue - Fallback value when `document` is nullish or the snapshot is unavailable
1014
+ * @returns The result of `use`, or the default value
920
1015
  */
921
1016
  async function useDocumentSnapshot(document, use, defaultValue) {
922
1017
  const snapshot = await document?.accessor.get();
923
1018
  return useAsync(snapshot, use, defaultValue);
924
1019
  }
925
1020
  /**
926
- * MappedUseAsyncFunction to load snapshot data from the input document and use it.
1021
+ * Fetches a document's snapshot data (via `snapshot.data()`) and passes it to a `use` callback.
1022
+ *
1023
+ * Wraps {@link useDocumentSnapshot} with a mapping step that extracts raw data from the snapshot.
1024
+ * If the document doesn't exist (data is `undefined`), the `use` callback is not invoked
1025
+ * and `defaultValue` is returned instead.
1026
+ *
1027
+ * @param document - The document to fetch, or nullish to skip
1028
+ * @param use - Callback that receives the snapshot data and returns a result
1029
+ * @param defaultValue - Fallback value when the document is nullish or doesn't exist
1030
+ * @returns The result of `use`, or the default value
927
1031
  */
928
1032
  const useDocumentSnapshotData = wrapUseAsyncFunction(useDocumentSnapshot, (x) => x.data());
929
1033
  // MARK: Key Accessors
1034
+ /**
1035
+ * Extracts the document ID ({@link FirestoreModelId}) from a {@link FirestoreDocument}.
1036
+ *
1037
+ * Useful as a mapper function, e.g. `documents.map(firestoreModelIdFromDocument)`.
1038
+ *
1039
+ * @param document - The document to extract the ID from
1040
+ * @returns The document's ID (the last segment of its Firestore path)
1041
+ */
930
1042
  function firestoreModelIdFromDocument(document) {
931
1043
  return document.id;
932
1044
  }
1045
+ /**
1046
+ * Extracts document IDs from an array of {@link FirestoreDocument}s.
1047
+ *
1048
+ * @param documents - Documents to extract IDs from
1049
+ * @returns Array of document IDs in the same order as the input
1050
+ */
933
1051
  function firestoreModelIdsFromDocuments(documents) {
934
1052
  return documents.map(firestoreModelIdFromDocument);
935
1053
  }
1054
+ /**
1055
+ * Extracts the full Firestore path ({@link FirestoreModelKey}) from a {@link FirestoreDocument}.
1056
+ *
1057
+ * Useful as a mapper function, e.g. `documents.map(firestoreModelKeyFromDocument)`.
1058
+ *
1059
+ * @param document - The document to extract the key from
1060
+ * @returns The document's full Firestore path (e.g. `'users/abc123'`)
1061
+ */
936
1062
  function firestoreModelKeyFromDocument(document) {
937
1063
  return document.key;
938
1064
  }
1065
+ /**
1066
+ * Extracts full Firestore paths from an array of {@link FirestoreDocument}s.
1067
+ *
1068
+ * @param documents - Documents to extract keys from
1069
+ * @returns Array of full Firestore paths in the same order as the input
1070
+ */
939
1071
  function firestoreModelKeysFromDocuments(documents) {
940
1072
  return documents.map(firestoreModelKeyFromDocument);
941
1073
  }
1074
+ /**
1075
+ * Extracts the {@link DocumentReference} from a {@link FirestoreDocument}.
1076
+ *
1077
+ * Useful as a mapper function, e.g. `documents.map(documentReferenceFromDocument)`.
1078
+ *
1079
+ * @param document - The document to extract the reference from
1080
+ * @returns The underlying Firestore document reference
1081
+ */
942
1082
  function documentReferenceFromDocument(document) {
943
1083
  return document.documentRef;
944
1084
  }
1085
+ /**
1086
+ * Extracts {@link DocumentReference}s from an array of {@link FirestoreDocument}s.
1087
+ *
1088
+ * @param documents - Documents to extract references from
1089
+ * @returns Array of document references in the same order as the input
1090
+ */
945
1091
  function documentReferencesFromDocuments(documents) {
946
1092
  return documents.map(documentReferenceFromDocument);
947
1093
  }
@@ -951,7 +1097,7 @@ function documentReferencesFromDocuments(documents) {
951
1097
  *
952
1098
  * This function streams the latest snapshots for each document in the provided array.
953
1099
  * Each time any document in the array changes, a new array containing the latest snapshots
954
- * of all documents is emitted. Results are shared with multiple subscribers through shareReplay.
1100
+ * of all documents is emitted.
955
1101
  *
956
1102
  * If the input array is empty, an Observable that emits an empty array is returned.
957
1103
  *
@@ -960,7 +1106,25 @@ function documentReferencesFromDocuments(documents) {
960
1106
  * @returns Observable that emits arrays of DocumentSnapshots whenever any document changes
961
1107
  */
962
1108
  function latestSnapshotsFromDocuments(documents) {
963
- return documents.length ? combineLatest(documents.map((x) => x.accessor.stream())).pipe(shareReplay(1)) : of([]);
1109
+ return mapLatestSnapshotsFromDocuments(documents, map(MAP_IDENTITY));
1110
+ }
1111
+ /**
1112
+ * Creates an Observable that streams and transforms snapshots for multiple documents using `combineLatest`.
1113
+ *
1114
+ * Pipes each document's `accessor.stream()` through the provided `operator` before combining.
1115
+ * This ensures the transformation runs per-document when only one document changes, rather than
1116
+ * re-mapping all snapshots on every emission.
1117
+ *
1118
+ * {@link latestSnapshotsFromDocuments} delegates to this function with an identity operator.
1119
+ *
1120
+ * Returns `of([])` for an empty input array.
1121
+ *
1122
+ * @param documents - Documents to stream from
1123
+ * @param operator - RxJS operator applied to each document's snapshot stream individually
1124
+ * @returns Observable emitting an array of transformed values whenever any document changes
1125
+ */
1126
+ function mapLatestSnapshotsFromDocuments(documents, operator) {
1127
+ return documents.length ? combineLatest(documents.map((x) => x.accessor.stream().pipe(operator))) : of([]);
964
1128
  }
965
1129
  /**
966
1130
  * Creates an Observable that emits arrays of document data for multiple documents.
@@ -968,7 +1132,7 @@ function latestSnapshotsFromDocuments(documents) {
968
1132
  * This function streams the latest data for each document in the provided array.
969
1133
  * Each time any document in the array changes, a new array containing the latest data
970
1134
  * of all documents is emitted. Document data includes both the document content and
971
- * metadata like document ID and key. Results are shared with multiple subscribers.
1135
+ * metadata like document ID and key.
972
1136
  *
973
1137
  * Non-existent documents are filtered out of the results automatically.
974
1138
  *
@@ -977,7 +1141,7 @@ function latestSnapshotsFromDocuments(documents) {
977
1141
  * @returns Observable that emits arrays of document data whenever any document changes
978
1142
  */
979
1143
  function latestDataFromDocuments(documents) {
980
- return latestSnapshotsFromDocuments(documents).pipe(dataFromDocumentSnapshots(), shareReplay(1));
1144
+ return latestSnapshotsFromDocuments(documents).pipe(dataFromDocumentSnapshots());
981
1145
  }
982
1146
  /**
983
1147
  * Creates an RxJS operator that transforms arrays of DocumentSnapshots into arrays of document data.
@@ -992,6 +1156,48 @@ function latestDataFromDocuments(documents) {
992
1156
  function dataFromDocumentSnapshots() {
993
1157
  return map((x) => getDataFromDocumentSnapshots(x));
994
1158
  }
1159
+ // MARK: Streaming Document Snapshot Pairs
1160
+ /**
1161
+ * Streams {@link FirestoreDocumentSnapshotDataPair}s for multiple documents using `combineLatest`.
1162
+ *
1163
+ * Each document's `accessor.stream()` is individually piped to produce a `{ document, snapshot, data }` triplet,
1164
+ * then all streams are combined via `combineLatest`. This ensures the mapping only runs for the document
1165
+ * that actually changed. The `data` field has `id` and `key` fields injected via {@link documentDataWithIdAndKey},
1166
+ * and will be `undefined` for documents that don't exist in Firestore.
1167
+ *
1168
+ * Returns `of([])` for an empty input array.
1169
+ *
1170
+ * This is the streaming equivalent of {@link import('./document.utility').getDocumentSnapshotDataPairs}.
1171
+ *
1172
+ * @param documents - Documents to stream snapshot-data pairs for
1173
+ * @returns Observable emitting snapshot-data pairs whenever any document changes
1174
+ */
1175
+ function streamDocumentSnapshotDataPairs(documents) {
1176
+ return documents.length
1177
+ ? combineLatest(documents.map((document) => document.accessor.stream().pipe(map((snapshot) => ({
1178
+ document,
1179
+ snapshot,
1180
+ data: documentDataWithIdAndKey(snapshot)
1181
+ })))))
1182
+ : of([]);
1183
+ }
1184
+ /**
1185
+ * Streams {@link FirestoreDocumentSnapshotDataPairWithData}s for multiple documents, filtering out non-existent documents.
1186
+ *
1187
+ * Builds on {@link streamDocumentSnapshotDataPairs} and filters each emission to include only pairs where
1188
+ * `data` is non-nullish (i.e., the document exists in Firestore). The filtered array may be shorter than
1189
+ * the input `documents` array and may change length over time as documents are created or deleted.
1190
+ *
1191
+ * Returns `of([])` for an empty input array.
1192
+ *
1193
+ * This is the streaming equivalent of {@link import('./document.utility').getDocumentSnapshotDataPairsWithData}.
1194
+ *
1195
+ * @param documents - Documents to stream snapshot-data pairs for
1196
+ * @returns Observable emitting snapshot-data pairs for existing documents only, whenever any document changes
1197
+ */
1198
+ function streamDocumentSnapshotDataPairsWithData(documents) {
1199
+ return streamDocumentSnapshotDataPairs(documents).pipe(map((pairs) => pairs.filter((pair) => pair.data != null)));
1200
+ }
995
1201
 
996
1202
  // A set of copied types from @google-cloud/firestore and firebase/firestore to allow cross-compatability.
997
1203
  /* eslint-disable */
@@ -9249,5 +9455,5 @@ function systemStateFirestoreCollection(firestoreContext, converters) {
9249
9455
  });
9250
9456
  }
9251
9457
 
9252
- export { ALL_STORAGE_FILE_NOTIFICATION_TASK_TYPES, ALL_USER_UPLOADS_FOLDER_NAME, ALL_USER_UPLOADS_FOLDER_PATH, AbstractFirestoreDocument, AbstractFirestoreDocumentDataAccessorWrapper, AbstractFirestoreDocumentWithParent, AbstractSubscribeOrUnsubscribeToNotificationBoxParams, AbstractSubscribeToNotificationBoxParams, AppNotificationTemplateTypeInfoRecordService, BASE_MODEL_STORAGE_FILE_PATH, CALL_MODEL_APP_FUNCTION_KEY, COPY_USER_RELATED_DATA_ACCESSOR_FACTORY_FUNCTION, CREATE_NOTIFICATION_ID_REQUIRED_ERROR_CODE, CleanupSentNotificationsParams, ContextGrantedModelRolesReaderInstance, CreateNotificationBoxParams, CreateNotificationSummaryParams, CreateNotificationUserParams, CreateStorageFileGroupParams, CreateStorageFileParams, DBX_FIREBASE_SERVER_NO_AUTH_ERROR_CODE, DBX_FIREBASE_SERVER_NO_UID_ERROR_CODE, 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_NOTIFICATION_TASK_NOTIFICATION_MODEL_KEY, DEFAULT_NOTIFICATION_TASK_SUBTASK_CLEANUP_RETRY_ATTEMPTS, DEFAULT_NOTIFICATION_TASK_SUBTASK_CLEANUP_RETRY_DELAY, DEFAULT_NOTIFICATION_TEMPLATE_TYPE, DEFAULT_QUERY_CHANGE_WATCHER_DELAY, DEFAULT_SINGLE_ITEM_FIRESTORE_COLLECTION_DOCUMENT_IDENTIFIER, DEFAULT_UPLOADED_FILE_TYPE_DETERMINATION_LEVEL, DEFAULT_WEBSITE_LINK, DeleteAllQueuedStorageFilesParams, DeleteStorageFileParams, DownloadStorageFileParams, EMPTY_STORAGE_FILE_PURPOSE_SUBGROUP, EXACT_UPLOADED_FILE_TYPE_DETERMINATION_LEVEL, 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_PERMISSION_DENIED_ERROR_CODE, 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, HIGH_UPLOADED_FILE_TYPE_DETERMINATION_LEVEL, InferredTargetModelIdParams, InferredTargetModelParams, InitializeAllApplicableNotificationBoxesParams, InitializeAllApplicableNotificationSummariesParams, InitializeAllApplicableStorageFileGroupsParams, InitializeAllStorageFilesFromUploadsParams, InitializeNotificationModelParams, InitializeStorageFileFromUploadParams, InitializeStorageFileModelParams, IsFirestoreModelId, IsFirestoreModelIdOrKey, IsFirestoreModelKey, LOW_UPLOADED_FILE_TYPE_DETERMINATION_LEVEL, 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, NOTIFICATION_BOX_DOES_NOT_EXIST_ERROR_CODE, NOTIFICATION_BOX_EXCLUSION_TARGET_INVALID_ERROR_CODE, NOTIFICATION_BOX_EXISTS_FOR_MODEL_ERROR_CODE, NOTIFICATION_BOX_RECIPIENT_DOES_NOT_EXIST_ERROR_CODE, NOTIFICATION_MESSAGE_MAX_LENGTH, NOTIFICATION_MESSAGE_MIN_LENGTH, NOTIFICATION_MODEL_ALREADY_INITIALIZED_ERROR_CODE, NOTIFICATION_RECIPIENT_NAME_MAX_LENGTH, NOTIFICATION_RECIPIENT_NAME_MIN_LENGTH, NOTIFICATION_SUBJECT_MAX_LENGTH, NOTIFICATION_SUBJECT_MIN_LENGTH, NOTIFICATION_SUMMARY_EMBEDDED_NOTIFICATION_ITEM_MESSAGE_MAX_LENGTH, NOTIFICATION_SUMMARY_EMBEDDED_NOTIFICATION_ITEM_SUBJECT_MAX_LENGTH, NOTIFICATION_SUMMARY_ITEM_LIMIT, NOTIFICATION_TASK_SUBTASK_CHECKPOINT_CLEANUP, NOTIFICATION_TASK_SUBTASK_CHECKPOINT_PROCESSING, NOTIFICATION_USER_BLOCKED_FROM_BEING_ADD_TO_RECIPIENTS_ERROR_CODE, NOTIFICATION_USER_INVALID_UID_FOR_CREATE_ERROR_CODE, NOTIFICATION_USER_LOCKED_CONFIG_FROM_BEING_UPDATED_ERROR_CODE, NOTIFICATION_WEEK_NOTIFICATION_ITEM_LIMIT, NotificationBoxDocument, NotificationBoxRecipientFlag, NotificationBoxRecipientTemplateConfigArrayEntryParam, NotificationBoxRecipientTemplateConfigBoolean, NotificationDocument, NotificationFirestoreCollections, NotificationFunctions, NotificationMessageFlag, NotificationRecipientParams, NotificationRecipientSendFlag, NotificationSendState, NotificationSendType, NotificationSummaryDocument, NotificationUserDocument, NotificationWeekDocument, ProcessAllQueuedStorageFilesParams, ProcessStorageFileParams, RUN_DEV_FUNCTION_APP_FUNCTION_KEY, RegenerateAllFlaggedStorageFileGroupsContentParams, RegenerateStorageFileGroupContentParams, ResyncAllNotificationUserParams, ResyncNotificationUserParams, SCHEDULED_FUNCTION_DEV_FUNCTION_SPECIFIER, STORAGEFILE_RELATED_FILE_METADATA_KEY, STORAGE_FILE_ALREADY_PROCESSED_ERROR_CODE, STORAGE_FILE_CANNOT_BE_DELETED_YET_ERROR_CODE, STORAGE_FILE_GROUP_CREATE_INPUT_ERROR_CODE, STORAGE_FILE_GROUP_QUEUED_FOR_INITIALIZATION_ERROR_CODE, STORAGE_FILE_GROUP_ROOT_FOLDER_PATH, STORAGE_FILE_GROUP_ZIP_FILE_PATH, STORAGE_FILE_GROUP_ZIP_INFO_JSON_FILE_NAME, STORAGE_FILE_GROUP_ZIP_STORAGE_FILE_PURPOSE, STORAGE_FILE_GROUP_ZIP_STORAGE_FILE_PURPOSE_CREATE_ZIP_SUBTASK, STORAGE_FILE_MODEL_ALREADY_INITIALIZED_ERROR_CODE, STORAGE_FILE_NOT_FLAGGED_FOR_DELETION_ERROR_CODE, STORAGE_FILE_NOT_FLAGGED_FOR_GROUPS_SYNC_ERROR_CODE, STORAGE_FILE_PROCESSING_NOTIFICATION_TASK_TYPE, STORAGE_FILE_PROCESSING_NOT_ALLOWED_FOR_INVALID_STATE_ERROR_CODE, STORAGE_FILE_PROCESSING_NOT_AVAILABLE_FOR_TYPE_ERROR_CODE, STORAGE_FILE_PROCESSING_NOT_QUEUED_FOR_PROCESSING_ERROR_CODE, STORAGE_FILE_PROCESSING_STUCK_THROTTLE_CHECK_MS, STORAGE_FILE_UPLOAD_USER_ROLE, ScheduledFunctionDevelopmentFirebaseFunctionListEntry, ScheduledFunctionDevelopmentFirebaseFunctionParams, ScheduledFunctionDevelopmentFunctionTypeEnum, SendNotificationParams, SendQueuedNotificationsParams, StorageFileCreationType, StorageFileDocument, StorageFileFirestoreCollections, StorageFileFunctions, StorageFileGroupDocument, StorageFileProcessingState, StorageFileState, StorageFileUploadStreamUnsupportedError, SyncAllFlaggedStorageFilesWithGroupsParams, SyncStorageFileWithGroupsParams, SystemStateDocument, SystemStateFirestoreCollections, TargetModelIdParams, TargetModelParams, UPLOADED_FILE_DOES_NOT_EXIST_ERROR_CODE, UPLOADED_FILE_INITIALIZATION_DISCARDED_ERROR_CODE, UPLOADED_FILE_INITIALIZATION_FAILED_ERROR_CODE, UPLOADED_FILE_NOT_ALLOWED_TO_BE_INITIALIZED_ERROR_CODE, UPLOADS_FOLDER_PATH, UpdateNotificationBoxParams, UpdateNotificationBoxRecipientLikeParams, UpdateNotificationBoxRecipientParams, UpdateNotificationSummaryParams, UpdateNotificationUserDefaultNotificationBoxRecipientConfigParams, UpdateNotificationUserNotificationBoxRecipientParams, UpdateNotificationUserParams, UpdateStorageFileGroupEntryParams, UpdateStorageFileGroupParams, UpdateStorageFileParams, _createNotificationDocumentFromPair, addConstraintToBuilder, addOrReplaceLimitInConstraints, allChildDocumentsUnderParent, allChildDocumentsUnderParentPath, allChildDocumentsUnderRelativePath, allowDocumentSnapshotWithPathOnceFilter, allowedNotificationRecipients, appNotificationTemplateTypeInfoRecordService, applyExclusionsToNotificationUserNotificationBoxRecipientConfigs, arrayUpdateWithAccessorFunction, asTopLevelFieldPath, asTopLevelFieldPaths, assertFirestoreUpdateHasData, assertStorageUploadOptionsStringFormat, assignDateCellRangeFunction, assignDateCellScheduleFunction, assignUnitedStatesAddressFunction, assignWebsiteFileLinkFunction, assignWebsiteLinkFunction, buildFirebaseCollectionTypeModelTypeMap, calculateNsForNotificationUserNotificationBoxRecipientConfigs, calculateStorageFileGroupEmbeddedFileUpdate, calculateStorageFileGroupRegeneration, callModelFirebaseFunctionMapFactory, canQueueStorageFileForProcessing, childFirestoreModelKey, childFirestoreModelKeyPath, childFirestoreModelKeys, clientFirebaseFirestoreContextFactory, clientFirebaseStorageContextFactory, combineUploadFileTypeDeterminers, completeSubtaskProcessingAndScheduleCleanupTaskResult, contextGrantedModelRolesReader, contextGrantedModelRolesReaderDoesNotExistErrorMessage, contextGrantedModelRolesReaderPermissionErrorMessage, convertHttpsCallableErrorToReadableError, copyDocumentIdForUserRelatedModifierFunction, copyDocumentIdToFieldModifierFunction, copyStoragePath, copyUserRelatedDataAccessorFactoryFunction, copyUserRelatedDataModifierConfig, createNotificationDocument, createNotificationDocumentIfSending, createNotificationDocumentPair, createNotificationTaskTemplate, createNotificationTemplate, createStorageFileDocumentPair, createStorageFileDocumentPairFactory, dataFromDocumentSnapshots, dataFromSnapshotStream, delayCompletion, determineByFileName, determineByFilePath, determineByFolderName, determineUserByFolder, determineUserByFolderWrapperFunction, determineUserByUserUploadsFolderWrapperFunction, developmentFirebaseFunctionMapFactory, directDataHttpsCallable, documentData, documentDataFunction, documentDataWithIdAndKey, documentReferenceFromDocument, documentReferencesFromDocuments, documentReferencesFromSnapshot, effectiveNotificationBoxRecipientConfig, effectiveNotificationBoxRecipientTemplateConfig, endAt, endAtValue, endBefore, extendFirestoreCollectionWithSingleDocumentAccessor, filterConstraintsOfType, filterDisallowedFirestoreItemPageIteratorInputConstraints, filterRepeatCheckpointSnapshots, filterWithDateRange, 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, firestoreClientArrayUpdateToUpdateData, firestoreClientIncrementUpdateToUpdateData, firestoreCollectionQueryFactory, firestoreContextFactory, firestoreDate, firestoreDateCellRange, firestoreDateCellRangeArray, firestoreDateCellRangeAssignFn, firestoreDateCellSchedule, firestoreDateCellScheduleAssignFn, firestoreDateNumber, firestoreDencoderArray, firestoreDencoderMap, firestoreDencoderStringArray, firestoreDocumentAccessorContextExtension, firestoreDocumentAccessorFactory, firestoreDocumentLoader, firestoreDocumentSnapshotPairsLoader, firestoreDocumentSnapshotPairsLoaderInstance, firestoreDummyKey, firestoreEncodedArray, firestoreEncodedObjectMap, firestoreEnum, firestoreEnumArray, firestoreField, firestoreFieldConfigToModelMapFunctionsRef, firestoreFixedItemPageIteration, firestoreFixedItemPageIterationFactory, firestoreIdBatchVerifierFactory, firestoreIdentityTypeArray, firestoreIdentityTypeArrayName, firestoreItemPageIteration, firestoreItemPageIterationFactory, firestoreLatLngString, firestoreMap, firestoreMapZoomLevel, firestoreModelId, firestoreModelIdArrayField, firestoreModelIdFromDocument, firestoreModelIdFromEmail, firestoreModelIdGrantedRoleArrayMap, firestoreModelIdGrantedRoleMap, firestoreModelIdString, firestoreModelIdentity, firestoreModelIdentityTypeMap, firestoreModelIdsFromDocuments, firestoreModelIdsFromKey, firestoreModelKey, firestoreModelKeyArrayField, firestoreModelKeyCollectionName, firestoreModelKeyCollectionType, firestoreModelKeyCollectionTypeArray, firestoreModelKeyCollectionTypeArrayName, firestoreModelKeyCollectionTypePair, firestoreModelKeyEncodedGrantedRoleMap, firestoreModelKeyFactory, firestoreModelKeyFromDocument, firestoreModelKeyGrantedRoleArrayMap, firestoreModelKeyGrantedRoleMap, firestoreModelKeyPairObject, firestoreModelKeyParentKey, firestoreModelKeyParentKeyPartPairs, firestoreModelKeyPart, firestoreModelKeyPartPairs, firestoreModelKeyPartPairsKeyPath, firestoreModelKeyPartPairsPaths, firestoreModelKeyPath, firestoreModelKeyString, firestoreModelKeyTypePair, firestoreModelKeys, firestoreModelKeysFromDocuments, firestoreModelType, firestoreNotificationBoxRecipient, firestoreNotificationBoxRecipientTemplateConfigRecord, firestoreNotificationItem, firestoreNotificationRecipientWithConfig, firestoreNotificationUserDefaultNotificationBoxRecipientConfig, firestoreNotificationUserNotificationBoxRecipientConfig, firestoreNumber, firestoreObjectArray, firestorePassThroughField, firestoreQueryConstraint, firestoreQueryConstraintFactory, firestoreQueryDocumentSnapshotPairsLoader, firestoreQueryFactory, firestoreSingleDocumentAccessor, firestoreString, firestoreSubObject, firestoreTimezoneString, firestoreUID, firestoreUniqueArray, firestoreUniqueKeyedArray, firestoreUniqueNumberArray, firestoreUniqueStringArray, firestoreUnitedStatesAddress, firestoreUnitedStatesAddressAssignFn, firestoreUnixDateTimeSecondsNumber, firestoreUpdateWithNoDataError, firestoreWebsiteFileLink, firestoreWebsiteFileLinkAssignFn, firestoreWebsiteFileLinkEncodedArray, firestoreWebsiteFileLinkObjectArray, firestoreWebsiteLink, firestoreWebsiteLinkArray, firestoreWebsiteLinkAssignFn, flatFirestoreModelKey, getDataFromDocumentSnapshots, getDocumentSnapshotData, getDocumentSnapshotDataPair, getDocumentSnapshotDataPairs, getDocumentSnapshotDataPairsWithData, getDocumentSnapshotDataTuples, getDocumentSnapshotPair, getDocumentSnapshotPairs, getDocumentSnapshots, getDocumentSnapshotsData, grantFullAccessIfAdmin, grantFullAccessIfAuthUserRelated, grantModelRolesIfAdmin, grantModelRolesIfAdminFunction, grantModelRolesIfAuthUserRelatedModelFunction, grantModelRolesIfFunction, grantModelRolesIfHasAuthRolesFactory, grantModelRolesIfHasAuthRolesFunction, grantModelRolesOnlyIfFunction, grantStorageFileRolesForUserAuthFunction, inContextFirebaseModelServiceFactory, inContextFirebaseModelsServiceFactory, incrementUpdateWithAccessorFunction, inferKeyFromTwoWayFlatFirestoreModelKey, inferNotificationBoxRelatedModelKey, inferStorageFileGroupRelatedModelKey, interceptAccessorFactoryFunction, isAdminInFirebaseModelContext, isClientFirebaseError, isCompleteNotificationSendState, isFirebaseStorageObjectNotFoundError, isFirestoreModelId, isFirestoreModelIdOrKey, isFirestoreModelKey, isOwnerOfUserRelatedModelInFirebaseModelContext, iterateFirestoreDocumentSnapshotBatches, iterateFirestoreDocumentSnapshotCheckpoints, iterateFirestoreDocumentSnapshotPairBatches, iterateFirestoreDocumentSnapshotPairs, iterateFirestoreDocumentSnapshots, iterateStorageListFiles, iterateStorageListFilesByEachFile, iterateStorageListFilesFactory, iterationQueryDocChangeWatcher, iterationQueryDocChangeWatcherChangeTypeForGroup, latestDataFromDocuments, latestSnapshotsFromDocuments, lazyFirebaseFunctionsFactory, limit, limitToLast, limitUploadFileTypeDeterminer, limitedFirestoreDocumentAccessorFactory, loadAllFirestoreDocumentSnapshot, loadAllFirestoreDocumentSnapshotPairs, loadDocumentsForDocumentReferences, loadDocumentsForDocumentReferencesFromValues, loadDocumentsForIds, loadDocumentsForIdsFromValues, loadDocumentsForKeys, loadDocumentsForKeysFromValues, loadDocumentsForSnapshots, loadDocumentsForValues, loadNotificationBoxDocumentForReferencePair, loadStorageFileGroupDocumentForReferencePair, makeDocuments, makeFirestoreCollection, makeFirestoreCollectionGroup, makeFirestoreCollectionWithParent, makeFirestoreItemPageIteratorDelegate, makeFirestoreQueryConstraintFunctionsDriver, makeRootSingleItemFirestoreCollection, makeSingleItemFirestoreCollection, mapDataFromSnapshot, mapHttpsCallable, mergeNotificationBoxRecipientTemplateConfigRecords, mergeNotificationBoxRecipientTemplateConfigs, mergeNotificationBoxRecipients, mergeNotificationSendMessagesResult, mergeNotificationUserDefaultNotificationBoxRecipientConfig, mergeNotificationUserNotificationBoxRecipientConfigs, modelStorageSlashPathFactory, modifyBeforeSetInterceptAccessorFactoryFunction, newDocuments, newNotificationBoxRecipientForUid, noContentNotificationMessageFunctionFactory, noStringFormatInStorageUploadOptionsError, notificationBoxCollectionReference, notificationBoxConverter, notificationBoxFirestoreCollection, notificationBoxIdForModel, notificationBoxIdentity, notificationBoxModelCrudFunctionsConfig, notificationBoxRecipientTemplateConfigArrayToRecord, notificationBoxRecipientTemplateConfigRecordToArray, notificationBoxesFlaggedForNeedsInitializationQuery, notificationBoxesFlaggedInvalidQuery, notificationCollectionReference, notificationCollectionReferenceFactory, notificationConverter, notificationFirestoreCollectionFactory, notificationFirestoreCollectionGroup, notificationFunctionMap, notificationFunctionTypeConfigMap, notificationIdentity, notificationMessageFunction, notificationSendExclusionCanSendFunction, notificationSendFlagsImplyIsComplete, notificationSubtaskComplete, notificationSummariesFlaggedForNeedsInitializationQuery, notificationSummaryCollectionReference, notificationSummaryConverter, notificationSummaryFirestoreCollection, notificationSummaryIdForModel, notificationSummaryIdForUidFunctionForRootFirestoreModelIdentity, notificationSummaryIdentity, notificationTaskCanRunNextCheckpoint, notificationTaskComplete, notificationTaskDelayRetry, notificationTaskFailed, notificationTaskPartiallyComplete, notificationTaskUniqueId, notificationTemplateTypeInfoRecord, notificationUserCollectionReference, notificationUserConverter, notificationUserFirestoreCollection, notificationUserHasExclusionQuery, notificationUserIdentity, notificationUsersFlaggedForNeedsSyncQuery, notificationWeekCollectionReference, notificationWeekCollectionReferenceFactory, notificationWeekConverter, notificationWeekFirestoreCollectionFactory, notificationWeekFirestoreCollectionGroup, notificationWeekIdentity, notificationsPastSendAtTimeQuery, notificationsReadyForCleanupQuery, offset, onCallCreateModelParams, onCallCreateModelResult, onCallCreateModelResultWithDocs, onCallDeleteModelParams, onCallDevelopmentParams, onCallReadModelParams, onCallTypedModelParams, onCallTypedModelParamsFunction, onCallUpdateModelParams, optionalFirestoreArray, optionalFirestoreBoolean, optionalFirestoreDate, optionalFirestoreDateNumber, optionalFirestoreEnum, optionalFirestoreField, optionalFirestoreNumber, optionalFirestoreString, optionalFirestoreUID, optionalFirestoreUnitedStatesAddress, optionalFirestoreUnixDateTimeSecondsNumber, orderBy, orderByDocumentId, readFirestoreModelKey, readFirestoreModelKeyFromDocumentSnapshot, replaceConstraints, selectFromFirebaseModelsService, separateConstraints, setIdAndKeyFromKeyIdRefOnDocumentData, setIdAndKeyFromSnapshotOnDocumentData, shouldSaveNotificationToNotificationWeek, shouldSendCreatedNotificationInput, snapshotConverterFunctions, snapshotStreamDataForAccessor, snapshotStreamForAccessor, sortNotificationItemsFunction, startAfter, startAt, startAtValue, storageFileCollectionReference, storageFileConverter, storageFileFirestoreCollection, storageFileFlaggedForSyncWithGroupsQuery, storageFileFunctionMap, storageFileFunctionTypeConfigMap, storageFileGroupCollectionReference, storageFileGroupConverter, storageFileGroupCreateStorageFileKeyFactory, storageFileGroupCreatedStorageFileKey, storageFileGroupEmbeddedFile, storageFileGroupFirestoreCollection, storageFileGroupFolderPath, storageFileGroupIdForModel, storageFileGroupIdentity, storageFileGroupZipFileStoragePath, storageFileGroupZipStorageFileKey, storageFileGroupsFlaggedForContentRegenerationQuery, storageFileGroupsFlaggedForNeedsInitializationQuery, storageFileGroupsFlaggedInvalidQuery, storageFileIdentity, storageFileModelCrudFunctionsConfig, storageFileProcessingNotificationTaskTemplate, storageFilePurposeAndUserQuery, storageFileUploadUserSimpleClaimsConfiguration, storageFilesQueuedForDeleteQuery, storageFilesQueuedForProcessingQuery, storageListFilesResultFactory, storageListFilesResultHasNoNextError, storagePathFactory, storedFileReaderFactory, streamFromOnSnapshot, systemStateCollectionReference, systemStateConverter, systemStateFirestoreCollection, systemStateIdentity, twoWayFlatFirestoreModelKey, unreadNotificationItems, unsupportedFirestoreDriverFunctionError, updateNotificationBoxRecipientTemplateConfigRecord, updateNotificationRecipient, updateNotificationUserDefaultNotificationBoxRecipientConfig, updateNotificationUserNotificationBoxRecipientConfigIfChanged, updateNotificationUserNotificationBoxRecipientConfigs, updateNotificationUserNotificationSendExclusions, updateWithAccessorUpdateAndConverterFunction, uploadFileWithStream, useContextAuth, useContextAuthUid, useDocumentSnapshot, useDocumentSnapshotData, useFirebaseModelsService, userUploadsFolderSlashPathFactory, userUploadsFolderStoragePathFactory, where, whereDateIsAfter, whereDateIsAfterWithSort, whereDateIsBefore, whereDateIsBeforeWithSort, whereDateIsBetween, whereDateIsInRange, whereDateIsOnOrAfter, whereDateIsOnOrAfterWithSort, whereDateIsOnOrBefore, whereDateIsOnOrBeforeWithSort, whereDocumentId, whereStringHasRootIdentityModelKey, whereStringValueHasPrefix };
9458
+ export { ALL_STORAGE_FILE_NOTIFICATION_TASK_TYPES, ALL_USER_UPLOADS_FOLDER_NAME, ALL_USER_UPLOADS_FOLDER_PATH, AbstractFirestoreDocument, AbstractFirestoreDocumentDataAccessorWrapper, AbstractFirestoreDocumentWithParent, AbstractSubscribeOrUnsubscribeToNotificationBoxParams, AbstractSubscribeToNotificationBoxParams, AppNotificationTemplateTypeInfoRecordService, BASE_MODEL_STORAGE_FILE_PATH, CALL_MODEL_APP_FUNCTION_KEY, COPY_USER_RELATED_DATA_ACCESSOR_FACTORY_FUNCTION, CREATE_NOTIFICATION_ID_REQUIRED_ERROR_CODE, CleanupSentNotificationsParams, ContextGrantedModelRolesReaderInstance, CreateNotificationBoxParams, CreateNotificationSummaryParams, CreateNotificationUserParams, CreateStorageFileGroupParams, CreateStorageFileParams, DBX_FIREBASE_SERVER_NO_AUTH_ERROR_CODE, DBX_FIREBASE_SERVER_NO_UID_ERROR_CODE, 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_NOTIFICATION_TASK_NOTIFICATION_MODEL_KEY, DEFAULT_NOTIFICATION_TASK_SUBTASK_CLEANUP_RETRY_ATTEMPTS, DEFAULT_NOTIFICATION_TASK_SUBTASK_CLEANUP_RETRY_DELAY, DEFAULT_NOTIFICATION_TEMPLATE_TYPE, DEFAULT_QUERY_CHANGE_WATCHER_DELAY, DEFAULT_SINGLE_ITEM_FIRESTORE_COLLECTION_DOCUMENT_IDENTIFIER, DEFAULT_UPLOADED_FILE_TYPE_DETERMINATION_LEVEL, DEFAULT_WEBSITE_LINK, DeleteAllQueuedStorageFilesParams, DeleteStorageFileParams, DownloadStorageFileParams, EMPTY_STORAGE_FILE_PURPOSE_SUBGROUP, EXACT_UPLOADED_FILE_TYPE_DETERMINATION_LEVEL, 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_PERMISSION_DENIED_ERROR_CODE, 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, HIGH_UPLOADED_FILE_TYPE_DETERMINATION_LEVEL, InferredTargetModelIdParams, InferredTargetModelParams, InitializeAllApplicableNotificationBoxesParams, InitializeAllApplicableNotificationSummariesParams, InitializeAllApplicableStorageFileGroupsParams, InitializeAllStorageFilesFromUploadsParams, InitializeNotificationModelParams, InitializeStorageFileFromUploadParams, InitializeStorageFileModelParams, IsFirestoreModelId, IsFirestoreModelIdOrKey, IsFirestoreModelKey, LOW_UPLOADED_FILE_TYPE_DETERMINATION_LEVEL, 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, NOTIFICATION_BOX_DOES_NOT_EXIST_ERROR_CODE, NOTIFICATION_BOX_EXCLUSION_TARGET_INVALID_ERROR_CODE, NOTIFICATION_BOX_EXISTS_FOR_MODEL_ERROR_CODE, NOTIFICATION_BOX_RECIPIENT_DOES_NOT_EXIST_ERROR_CODE, NOTIFICATION_MESSAGE_MAX_LENGTH, NOTIFICATION_MESSAGE_MIN_LENGTH, NOTIFICATION_MODEL_ALREADY_INITIALIZED_ERROR_CODE, NOTIFICATION_RECIPIENT_NAME_MAX_LENGTH, NOTIFICATION_RECIPIENT_NAME_MIN_LENGTH, NOTIFICATION_SUBJECT_MAX_LENGTH, NOTIFICATION_SUBJECT_MIN_LENGTH, NOTIFICATION_SUMMARY_EMBEDDED_NOTIFICATION_ITEM_MESSAGE_MAX_LENGTH, NOTIFICATION_SUMMARY_EMBEDDED_NOTIFICATION_ITEM_SUBJECT_MAX_LENGTH, NOTIFICATION_SUMMARY_ITEM_LIMIT, NOTIFICATION_TASK_SUBTASK_CHECKPOINT_CLEANUP, NOTIFICATION_TASK_SUBTASK_CHECKPOINT_PROCESSING, NOTIFICATION_USER_BLOCKED_FROM_BEING_ADD_TO_RECIPIENTS_ERROR_CODE, NOTIFICATION_USER_INVALID_UID_FOR_CREATE_ERROR_CODE, NOTIFICATION_USER_LOCKED_CONFIG_FROM_BEING_UPDATED_ERROR_CODE, NOTIFICATION_WEEK_NOTIFICATION_ITEM_LIMIT, NotificationBoxDocument, NotificationBoxRecipientFlag, NotificationBoxRecipientTemplateConfigArrayEntryParam, NotificationBoxRecipientTemplateConfigBoolean, NotificationDocument, NotificationFirestoreCollections, NotificationFunctions, NotificationMessageFlag, NotificationRecipientParams, NotificationRecipientSendFlag, NotificationSendState, NotificationSendType, NotificationSummaryDocument, NotificationUserDocument, NotificationWeekDocument, ProcessAllQueuedStorageFilesParams, ProcessStorageFileParams, RUN_DEV_FUNCTION_APP_FUNCTION_KEY, RegenerateAllFlaggedStorageFileGroupsContentParams, RegenerateStorageFileGroupContentParams, ResyncAllNotificationUserParams, ResyncNotificationUserParams, SCHEDULED_FUNCTION_DEV_FUNCTION_SPECIFIER, STORAGEFILE_RELATED_FILE_METADATA_KEY, STORAGE_FILE_ALREADY_PROCESSED_ERROR_CODE, STORAGE_FILE_CANNOT_BE_DELETED_YET_ERROR_CODE, STORAGE_FILE_GROUP_CREATE_INPUT_ERROR_CODE, STORAGE_FILE_GROUP_QUEUED_FOR_INITIALIZATION_ERROR_CODE, STORAGE_FILE_GROUP_ROOT_FOLDER_PATH, STORAGE_FILE_GROUP_ZIP_FILE_PATH, STORAGE_FILE_GROUP_ZIP_INFO_JSON_FILE_NAME, STORAGE_FILE_GROUP_ZIP_STORAGE_FILE_PURPOSE, STORAGE_FILE_GROUP_ZIP_STORAGE_FILE_PURPOSE_CREATE_ZIP_SUBTASK, STORAGE_FILE_MODEL_ALREADY_INITIALIZED_ERROR_CODE, STORAGE_FILE_NOT_FLAGGED_FOR_DELETION_ERROR_CODE, STORAGE_FILE_NOT_FLAGGED_FOR_GROUPS_SYNC_ERROR_CODE, STORAGE_FILE_PROCESSING_NOTIFICATION_TASK_TYPE, STORAGE_FILE_PROCESSING_NOT_ALLOWED_FOR_INVALID_STATE_ERROR_CODE, STORAGE_FILE_PROCESSING_NOT_AVAILABLE_FOR_TYPE_ERROR_CODE, STORAGE_FILE_PROCESSING_NOT_QUEUED_FOR_PROCESSING_ERROR_CODE, STORAGE_FILE_PROCESSING_STUCK_THROTTLE_CHECK_MS, STORAGE_FILE_UPLOAD_USER_ROLE, ScheduledFunctionDevelopmentFirebaseFunctionListEntry, ScheduledFunctionDevelopmentFirebaseFunctionParams, ScheduledFunctionDevelopmentFunctionTypeEnum, SendNotificationParams, SendQueuedNotificationsParams, StorageFileCreationType, StorageFileDocument, StorageFileFirestoreCollections, StorageFileFunctions, StorageFileGroupDocument, StorageFileProcessingState, StorageFileState, StorageFileUploadStreamUnsupportedError, SyncAllFlaggedStorageFilesWithGroupsParams, SyncStorageFileWithGroupsParams, SystemStateDocument, SystemStateFirestoreCollections, TargetModelIdParams, TargetModelParams, UPLOADED_FILE_DOES_NOT_EXIST_ERROR_CODE, UPLOADED_FILE_INITIALIZATION_DISCARDED_ERROR_CODE, UPLOADED_FILE_INITIALIZATION_FAILED_ERROR_CODE, UPLOADED_FILE_NOT_ALLOWED_TO_BE_INITIALIZED_ERROR_CODE, UPLOADS_FOLDER_PATH, UpdateNotificationBoxParams, UpdateNotificationBoxRecipientLikeParams, UpdateNotificationBoxRecipientParams, UpdateNotificationSummaryParams, UpdateNotificationUserDefaultNotificationBoxRecipientConfigParams, UpdateNotificationUserNotificationBoxRecipientParams, UpdateNotificationUserParams, UpdateStorageFileGroupEntryParams, UpdateStorageFileGroupParams, UpdateStorageFileParams, _createNotificationDocumentFromPair, addConstraintToBuilder, addOrReplaceLimitInConstraints, allChildDocumentsUnderParent, allChildDocumentsUnderParentPath, allChildDocumentsUnderRelativePath, allowDocumentSnapshotWithPathOnceFilter, allowedNotificationRecipients, appNotificationTemplateTypeInfoRecordService, applyExclusionsToNotificationUserNotificationBoxRecipientConfigs, arrayUpdateWithAccessorFunction, asTopLevelFieldPath, asTopLevelFieldPaths, assertFirestoreUpdateHasData, assertStorageUploadOptionsStringFormat, assignDateCellRangeFunction, assignDateCellScheduleFunction, assignUnitedStatesAddressFunction, assignWebsiteFileLinkFunction, assignWebsiteLinkFunction, buildFirebaseCollectionTypeModelTypeMap, calculateNsForNotificationUserNotificationBoxRecipientConfigs, calculateStorageFileGroupEmbeddedFileUpdate, calculateStorageFileGroupRegeneration, callModelFirebaseFunctionMapFactory, canQueueStorageFileForProcessing, childFirestoreModelKey, childFirestoreModelKeyPath, childFirestoreModelKeys, clientFirebaseFirestoreContextFactory, clientFirebaseStorageContextFactory, combineUploadFileTypeDeterminers, completeSubtaskProcessingAndScheduleCleanupTaskResult, contextGrantedModelRolesReader, contextGrantedModelRolesReaderDoesNotExistErrorMessage, contextGrantedModelRolesReaderPermissionErrorMessage, convertHttpsCallableErrorToReadableError, copyDocumentIdForUserRelatedModifierFunction, copyDocumentIdToFieldModifierFunction, copyStoragePath, copyUserRelatedDataAccessorFactoryFunction, copyUserRelatedDataModifierConfig, createNotificationDocument, createNotificationDocumentIfSending, createNotificationDocumentPair, createNotificationTaskTemplate, createNotificationTemplate, createStorageFileDocumentPair, createStorageFileDocumentPairFactory, dataFromDocumentSnapshots, dataFromSnapshotStream, delayCompletion, determineByFileName, determineByFilePath, determineByFolderName, determineUserByFolder, determineUserByFolderWrapperFunction, determineUserByUserUploadsFolderWrapperFunction, developmentFirebaseFunctionMapFactory, directDataHttpsCallable, documentData, documentDataFunction, documentDataWithIdAndKey, documentReferenceFromDocument, documentReferencesFromDocuments, documentReferencesFromSnapshot, effectiveNotificationBoxRecipientConfig, effectiveNotificationBoxRecipientTemplateConfig, endAt, endAtValue, endBefore, extendFirestoreCollectionWithSingleDocumentAccessor, filterConstraintsOfType, filterDisallowedFirestoreItemPageIteratorInputConstraints, filterRepeatCheckpointSnapshots, filterWithDateRange, 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, firestoreClientArrayUpdateToUpdateData, firestoreClientIncrementUpdateToUpdateData, firestoreCollectionQueryFactory, firestoreContextFactory, firestoreDate, firestoreDateCellRange, firestoreDateCellRangeArray, firestoreDateCellRangeAssignFn, firestoreDateCellSchedule, firestoreDateCellScheduleAssignFn, firestoreDateNumber, firestoreDencoderArray, firestoreDencoderMap, firestoreDencoderStringArray, firestoreDocumentAccessorContextExtension, firestoreDocumentAccessorFactory, firestoreDocumentLoader, firestoreDocumentSnapshotPairsLoader, firestoreDocumentSnapshotPairsLoaderInstance, firestoreDummyKey, firestoreEncodedArray, firestoreEncodedObjectMap, firestoreEnum, firestoreEnumArray, firestoreField, firestoreFieldConfigToModelMapFunctionsRef, firestoreFixedItemPageIteration, firestoreFixedItemPageIterationFactory, firestoreIdBatchVerifierFactory, firestoreIdentityTypeArray, firestoreIdentityTypeArrayName, firestoreItemPageIteration, firestoreItemPageIterationFactory, firestoreLatLngString, firestoreMap, firestoreMapZoomLevel, firestoreModelId, firestoreModelIdArrayField, firestoreModelIdFromDocument, firestoreModelIdFromEmail, firestoreModelIdGrantedRoleArrayMap, firestoreModelIdGrantedRoleMap, firestoreModelIdString, firestoreModelIdentity, firestoreModelIdentityTypeMap, firestoreModelIdsFromDocuments, firestoreModelIdsFromKey, firestoreModelKey, firestoreModelKeyArrayField, firestoreModelKeyCollectionName, firestoreModelKeyCollectionType, firestoreModelKeyCollectionTypeArray, firestoreModelKeyCollectionTypeArrayName, firestoreModelKeyCollectionTypePair, firestoreModelKeyEncodedGrantedRoleMap, firestoreModelKeyFactory, firestoreModelKeyFromDocument, firestoreModelKeyGrantedRoleArrayMap, firestoreModelKeyGrantedRoleMap, firestoreModelKeyPairObject, firestoreModelKeyParentKey, firestoreModelKeyParentKeyPartPairs, firestoreModelKeyPart, firestoreModelKeyPartPairs, firestoreModelKeyPartPairsKeyPath, firestoreModelKeyPartPairsPaths, firestoreModelKeyPath, firestoreModelKeyString, firestoreModelKeyTypePair, firestoreModelKeys, firestoreModelKeysFromDocuments, firestoreModelType, firestoreNotificationBoxRecipient, firestoreNotificationBoxRecipientTemplateConfigRecord, firestoreNotificationItem, firestoreNotificationRecipientWithConfig, firestoreNotificationUserDefaultNotificationBoxRecipientConfig, firestoreNotificationUserNotificationBoxRecipientConfig, firestoreNumber, firestoreObjectArray, firestorePassThroughField, firestoreQueryConstraint, firestoreQueryConstraintFactory, firestoreQueryDocumentSnapshotPairsLoader, firestoreQueryFactory, firestoreSingleDocumentAccessor, firestoreString, firestoreSubObject, firestoreTimezoneString, firestoreUID, firestoreUniqueArray, firestoreUniqueKeyedArray, firestoreUniqueNumberArray, firestoreUniqueStringArray, firestoreUnitedStatesAddress, firestoreUnitedStatesAddressAssignFn, firestoreUnixDateTimeSecondsNumber, firestoreUpdateWithNoDataError, firestoreWebsiteFileLink, firestoreWebsiteFileLinkAssignFn, firestoreWebsiteFileLinkEncodedArray, firestoreWebsiteFileLinkObjectArray, firestoreWebsiteLink, firestoreWebsiteLinkArray, firestoreWebsiteLinkAssignFn, flatFirestoreModelKey, getDataFromDocumentSnapshots, getDocumentSnapshotData, getDocumentSnapshotDataPair, getDocumentSnapshotDataPairs, getDocumentSnapshotDataPairsWithData, getDocumentSnapshotDataTuples, getDocumentSnapshotPair, getDocumentSnapshotPairs, getDocumentSnapshots, getDocumentSnapshotsData, grantFullAccessIfAdmin, grantFullAccessIfAuthUserRelated, grantModelRolesIfAdmin, grantModelRolesIfAdminFunction, grantModelRolesIfAuthUserRelatedModelFunction, grantModelRolesIfFunction, grantModelRolesIfHasAuthRolesFactory, grantModelRolesIfHasAuthRolesFunction, grantModelRolesOnlyIfFunction, grantStorageFileRolesForUserAuthFunction, inContextFirebaseModelServiceFactory, inContextFirebaseModelsServiceFactory, incrementUpdateWithAccessorFunction, inferKeyFromTwoWayFlatFirestoreModelKey, inferNotificationBoxRelatedModelKey, inferStorageFileGroupRelatedModelKey, interceptAccessorFactoryFunction, isAdminInFirebaseModelContext, isClientFirebaseError, isCompleteNotificationSendState, isFirebaseStorageObjectNotFoundError, isFirestoreModelId, isFirestoreModelIdOrKey, isFirestoreModelKey, isOwnerOfUserRelatedModelInFirebaseModelContext, iterateFirestoreDocumentSnapshotBatches, iterateFirestoreDocumentSnapshotCheckpoints, iterateFirestoreDocumentSnapshotPairBatches, iterateFirestoreDocumentSnapshotPairs, iterateFirestoreDocumentSnapshots, iterateStorageListFiles, iterateStorageListFilesByEachFile, iterateStorageListFilesFactory, iterationQueryDocChangeWatcher, iterationQueryDocChangeWatcherChangeTypeForGroup, latestDataFromDocuments, latestSnapshotsFromDocuments, lazyFirebaseFunctionsFactory, limit, limitToLast, limitUploadFileTypeDeterminer, limitedFirestoreDocumentAccessorFactory, loadAllFirestoreDocumentSnapshot, loadAllFirestoreDocumentSnapshotPairs, loadDocumentsForDocumentReferences, loadDocumentsForDocumentReferencesFromValues, loadDocumentsForIds, loadDocumentsForIdsFromValues, loadDocumentsForKeys, loadDocumentsForKeysFromValues, loadDocumentsForSnapshots, loadDocumentsForValues, loadNotificationBoxDocumentForReferencePair, loadStorageFileGroupDocumentForReferencePair, makeDocuments, makeFirestoreCollection, makeFirestoreCollectionGroup, makeFirestoreCollectionWithParent, makeFirestoreItemPageIteratorDelegate, makeFirestoreQueryConstraintFunctionsDriver, makeRootSingleItemFirestoreCollection, makeSingleItemFirestoreCollection, mapDataFromSnapshot, mapHttpsCallable, mapLatestSnapshotsFromDocuments, mergeNotificationBoxRecipientTemplateConfigRecords, mergeNotificationBoxRecipientTemplateConfigs, mergeNotificationBoxRecipients, mergeNotificationSendMessagesResult, mergeNotificationUserDefaultNotificationBoxRecipientConfig, mergeNotificationUserNotificationBoxRecipientConfigs, modelStorageSlashPathFactory, modifyBeforeSetInterceptAccessorFactoryFunction, newDocuments, newNotificationBoxRecipientForUid, noContentNotificationMessageFunctionFactory, noStringFormatInStorageUploadOptionsError, notificationBoxCollectionReference, notificationBoxConverter, notificationBoxFirestoreCollection, notificationBoxIdForModel, notificationBoxIdentity, notificationBoxModelCrudFunctionsConfig, notificationBoxRecipientTemplateConfigArrayToRecord, notificationBoxRecipientTemplateConfigRecordToArray, notificationBoxesFlaggedForNeedsInitializationQuery, notificationBoxesFlaggedInvalidQuery, notificationCollectionReference, notificationCollectionReferenceFactory, notificationConverter, notificationFirestoreCollectionFactory, notificationFirestoreCollectionGroup, notificationFunctionMap, notificationFunctionTypeConfigMap, notificationIdentity, notificationMessageFunction, notificationSendExclusionCanSendFunction, notificationSendFlagsImplyIsComplete, notificationSubtaskComplete, notificationSummariesFlaggedForNeedsInitializationQuery, notificationSummaryCollectionReference, notificationSummaryConverter, notificationSummaryFirestoreCollection, notificationSummaryIdForModel, notificationSummaryIdForUidFunctionForRootFirestoreModelIdentity, notificationSummaryIdentity, notificationTaskCanRunNextCheckpoint, notificationTaskComplete, notificationTaskDelayRetry, notificationTaskFailed, notificationTaskPartiallyComplete, notificationTaskUniqueId, notificationTemplateTypeInfoRecord, notificationUserCollectionReference, notificationUserConverter, notificationUserFirestoreCollection, notificationUserHasExclusionQuery, notificationUserIdentity, notificationUsersFlaggedForNeedsSyncQuery, notificationWeekCollectionReference, notificationWeekCollectionReferenceFactory, notificationWeekConverter, notificationWeekFirestoreCollectionFactory, notificationWeekFirestoreCollectionGroup, notificationWeekIdentity, notificationsPastSendAtTimeQuery, notificationsReadyForCleanupQuery, offset, onCallCreateModelParams, onCallCreateModelResult, onCallCreateModelResultWithDocs, onCallDeleteModelParams, onCallDevelopmentParams, onCallReadModelParams, onCallTypedModelParams, onCallTypedModelParamsFunction, onCallUpdateModelParams, optionalFirestoreArray, optionalFirestoreBoolean, optionalFirestoreDate, optionalFirestoreDateNumber, optionalFirestoreEnum, optionalFirestoreField, optionalFirestoreNumber, optionalFirestoreString, optionalFirestoreUID, optionalFirestoreUnitedStatesAddress, optionalFirestoreUnixDateTimeSecondsNumber, orderBy, orderByDocumentId, readFirestoreModelKey, readFirestoreModelKeyFromDocumentSnapshot, replaceConstraints, selectFromFirebaseModelsService, separateConstraints, setIdAndKeyFromKeyIdRefOnDocumentData, setIdAndKeyFromSnapshotOnDocumentData, shouldSaveNotificationToNotificationWeek, shouldSendCreatedNotificationInput, snapshotConverterFunctions, snapshotStreamDataForAccessor, snapshotStreamForAccessor, sortNotificationItemsFunction, startAfter, startAt, startAtValue, storageFileCollectionReference, storageFileConverter, storageFileFirestoreCollection, storageFileFlaggedForSyncWithGroupsQuery, storageFileFunctionMap, storageFileFunctionTypeConfigMap, storageFileGroupCollectionReference, storageFileGroupConverter, storageFileGroupCreateStorageFileKeyFactory, storageFileGroupCreatedStorageFileKey, storageFileGroupEmbeddedFile, storageFileGroupFirestoreCollection, storageFileGroupFolderPath, storageFileGroupIdForModel, storageFileGroupIdentity, storageFileGroupZipFileStoragePath, storageFileGroupZipStorageFileKey, storageFileGroupsFlaggedForContentRegenerationQuery, storageFileGroupsFlaggedForNeedsInitializationQuery, storageFileGroupsFlaggedInvalidQuery, storageFileIdentity, storageFileModelCrudFunctionsConfig, storageFileProcessingNotificationTaskTemplate, storageFilePurposeAndUserQuery, storageFileUploadUserSimpleClaimsConfiguration, storageFilesQueuedForDeleteQuery, storageFilesQueuedForProcessingQuery, storageListFilesResultFactory, storageListFilesResultHasNoNextError, storagePathFactory, storedFileReaderFactory, streamDocumentSnapshotDataPairs, streamDocumentSnapshotDataPairsWithData, streamFromOnSnapshot, systemStateCollectionReference, systemStateConverter, systemStateFirestoreCollection, systemStateIdentity, twoWayFlatFirestoreModelKey, unreadNotificationItems, unsupportedFirestoreDriverFunctionError, updateNotificationBoxRecipientTemplateConfigRecord, updateNotificationRecipient, updateNotificationUserDefaultNotificationBoxRecipientConfig, updateNotificationUserNotificationBoxRecipientConfigIfChanged, updateNotificationUserNotificationBoxRecipientConfigs, updateNotificationUserNotificationSendExclusions, updateWithAccessorUpdateAndConverterFunction, uploadFileWithStream, useContextAuth, useContextAuthUid, useDocumentSnapshot, useDocumentSnapshotData, useFirebaseModelsService, userUploadsFolderSlashPathFactory, userUploadsFolderStoragePathFactory, where, whereDateIsAfter, whereDateIsAfterWithSort, whereDateIsBefore, whereDateIsBeforeWithSort, whereDateIsBetween, whereDateIsInRange, whereDateIsOnOrAfter, whereDateIsOnOrAfterWithSort, whereDateIsOnOrBefore, whereDateIsOnOrBeforeWithSort, whereDocumentId, whereStringHasRootIdentityModelKey, whereStringValueHasPrefix };
9253
9459
  //# sourceMappingURL=index.esm.js.map