UNPKG

firesage

Version:

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

20 lines (19 loc) • 1.81 kB
import { LimitConstraint, OriQueryConstraint, ErrorLimitInvalidNumber } from '../types'; export declare const limitCreator: <Type extends "limitToLast" | "limit">(type: Type, clause: (limit: number) => OriQueryConstraint) => <Value extends number>(limit: Value extends 0 ? "Error: do not use negative, 0 or decimal value" : number extends Value ? Value : Value extends infer R ? `${R & number}` extends `-${number}` | `${number}.${number}` ? "Error: do not use negative, 0 or decimal value" : Value : never) => LimitConstraint<Type, Value>; /** * Creates a {@link QueryConstraint} that only returns the first matching documents. * * @param limit - The maximum number of items to return. * @returns The created {@link Query}. */ export declare const limit: <Value extends number>(limit: Value extends 0 ? "Error: do not use negative, 0 or decimal value" : number extends Value ? Value : Value extends infer R ? `${R & number}` extends `-${number}` | `${number}.${number}` ? "Error: do not use negative, 0 or decimal value" : Value : never) => LimitConstraint<"limit", Value>; /** * Creates a {@link QueryConstraint} that only returns the last matching documents. * * You must specify at least one `orderBy` clause for `limitToLast` queries, * otherwise an exception will be thrown during execution.(Prevented on type level) * * @param limit - The maximum number of items to return. * @returns The created {@link Query}. */ export declare const limitToLast: <Value extends number>(limit: Value extends 0 ? "Error: do not use negative, 0 or decimal value" : number extends Value ? Value : Value extends infer R ? `${R & number}` extends `-${number}` | `${number}.${number}` ? "Error: do not use negative, 0 or decimal value" : Value : never) => LimitConstraint<"limitToLast", Value>;