UNPKG

firesage

Version:

🔥 Extremely High Precision Typescript Wrapper for Firestore Web, Providing Unparalleled Type Safe and Dev Experience

12 lines (11 loc) • 1.07 kB
import { MetaType, Query, CollectionReference, QueryConstraints, QueryConstraintLimitation, AddSentinelFieldPathToCompare, IsEqual, AddSentinelFieldPathToCompareHighLevel } from '../types'; /** * Creates a new immutable instance of {@link Query} that is extended to also include * additional query constraints. * * @param query - The {@link Query} instance to use as a base for the new constraints. * @param queryConstraints - The list of {@link QueryConstraint}s to apply. * @throws if any of the provided query constraints cannot be combined with the * existing or new constraints. */ export declare const query: <T extends MetaType, Q extends Query<T>, QC extends QueryConstraints<AddSentinelFieldPathToCompare<T>>[]>(query: Q extends never ? Q : IsEqual<Q, Query<T>> extends true ? Query<T> : IsEqual<Q, CollectionReference<T>> extends true ? CollectionReference<T> : never, ...queryConstraints: QC extends never ? QC : QueryConstraintLimitation<AddSentinelFieldPathToCompare<T>, AddSentinelFieldPathToCompareHighLevel<T, Q>, QC, [], QC>) => Query<T>;