Libraries v5.0.0
    Preparing search index...

    Interface ReadPredicateBuilder<C, P>

    Predicate-only immutable builder; no execution, projection or ordering methods.

    interface ReadPredicateBuilder<C, P extends ParameterState = []> {
        "[PARAMETER_READER]": GroupParameterReader;
        "[PARAMETER_STATE]": P;
        "[finishGroup]"(): readonly ReadPredicate[];
        addReadPredicate(predicate: ReadPredicate): any;
        andWhere<G extends ReadPredicateBuilder<C, any>>(
            group: ReadPredicateGroup<
                C,
                G & CheckParameterState<
                    AppendOrigins<P, ParametersOf<NoInfer<G>>, "root">,
                >,
            >,
        ): ReadPredicateBuilder<
            C,
            AppendOrigins<P, ParametersOf<G>, "root"> extends ParameterState
                ? ParameterState & AppendOrigins<P, ParametersOf<G>, "root">
                : never,
        >;
        andWhere<const V extends Partial<Record<keyof C, unknown>>>(
            values: V & WithoutParameters<NoInfer<V>>,
        ): ReadPredicateBuilder<C, P extends ParameterState ? P : never>;
        andWhere<S extends string | ((columns: C) => AliasedColumn<any>), const A>(
            column: S,
            value: A & CheckScalarParameter<P, NoInfer<A>, PredicateValue<C, S>>,
        ): ReadPredicateBuilder<
            C,
            ValueParameters<P, A, PredicateValue<C, S>> extends ParameterState
                ? ParameterState & ValueParameters<P, A, PredicateValue<C, S>>
                : never,
        >;
        andWhere<S extends string | ((columns: C) => AliasedColumn<any>), const A>(
            column: S,
            operator: string,
            value: A & CheckScalarParameter<P, NoInfer<A>, PredicateValue<C, S>>,
        ): ReadPredicateBuilder<
            C,
            ValueParameters<P, A, PredicateValue<C, S>> extends ParameterState
                ? ParameterState & ValueParameters<P, A, PredicateValue<C, S>>
                : never,
        >;
        orWhere<G extends ReadPredicateBuilder<C, any>>(
            group: ReadPredicateGroup<
                C,
                G & CheckParameterState<
                    AppendOrigins<P, ParametersOf<NoInfer<G>>, "root">,
                >,
            >,
        ): ReadPredicateBuilder<
            C,
            AppendOrigins<P, ParametersOf<G>, "root"> extends ParameterState
                ? ParameterState & AppendOrigins<P, ParametersOf<G>, "root">
                : never,
        >;
        orWhere<const V extends Partial<Record<keyof C, unknown>>>(
            values: V & WithoutParameters<NoInfer<V>>,
        ): ReadPredicateBuilder<C, P extends ParameterState ? P : never>;
        orWhere<S extends string | ((columns: C) => AliasedColumn<any>), const A>(
            column: S,
            value: A & CheckScalarParameter<P, NoInfer<A>, PredicateValue<C, S>>,
        ): ReadPredicateBuilder<
            C,
            ValueParameters<P, A, PredicateValue<C, S>> extends ParameterState
                ? ParameterState & ValueParameters<P, A, PredicateValue<C, S>>
                : never,
        >;
        orWhere<S extends string | ((columns: C) => AliasedColumn<any>), const A>(
            column: S,
            operator: string,
            value: A & CheckScalarParameter<P, NoInfer<A>, PredicateValue<C, S>>,
        ): ReadPredicateBuilder<
            C,
            ValueParameters<P, A, PredicateValue<C, S>> extends ParameterState
                ? ParameterState & ValueParameters<P, A, PredicateValue<C, S>>
                : never,
        >;
        orWhereExists(
            query: QueryBuilder,
        ): ReadPredicateBuilder<C, P extends ParameterState ? P : never>;
        orWhereIn<
            S extends string
            | ((columns: C) => AliasedColumn<any>),
            const A extends ReadMembership,
        >(
            column: S,
            values: A & CheckParameterValue<P, NoInfer<A>, PredicateValue<C, S>>,
        ): ReadPredicateBuilder<
            C,
            ValueParameters<P, A, PredicateValue<C, S>> extends ParameterState
                ? ParameterState & ValueParameters<P, A, PredicateValue<C, S>>
                : never,
        >;
        orWhereNotExists(
            query: QueryBuilder,
        ): ReadPredicateBuilder<C, P extends ParameterState ? P : never>;
        orWhereNotIn<
            S extends string
            | ((columns: C) => AliasedColumn<any>),
            const A extends ReadMembership,
        >(
            column: S,
            values: A & CheckParameterValue<P, NoInfer<A>, PredicateValue<C, S>>,
        ): ReadPredicateBuilder<
            C,
            ValueParameters<P, A, PredicateValue<C, S>> extends ParameterState
                ? ParameterState & ValueParameters<P, A, PredicateValue<C, S>>
                : never,
        >;
        orWhereNotNull(
            column: ReadPredicateSelector<C>,
        ): ReadPredicateBuilder<C, P extends ParameterState ? P : never>;
        orWhereNull(
            column: ReadPredicateSelector<C>,
        ): ReadPredicateBuilder<C, P extends ParameterState ? P : never>;
        orWhereRaw<const A extends readonly RawBinding[]>(
            sql: string,
            bindings: A & WithoutParameters<NoInfer<A>>,
        ): ReadPredicateBuilder<C, P extends ParameterState ? P : never>;
        orWhereRaw(
            sql: string,
        ): ReadPredicateBuilder<C, P extends ParameterState ? P : never>;
        readPredicateContext(): ReadPredicateContext<C>;
        ref(selector: ReadPredicateSelector<C>): Raw<any> | Ref<string, {}>;
        sameSource(other: ReadPredicateBuilder<C, any>): boolean;
        where<G extends ReadPredicateBuilder<C, any>>(
            group: ReadPredicateGroup<
                C,
                G & CheckParameterState<
                    AppendOrigins<P, ParametersOf<NoInfer<G>>, "root">,
                >,
            >,
        ): ReadPredicateBuilder<
            C,
            AppendOrigins<P, ParametersOf<G>, "root"> extends ParameterState
                ? ParameterState & AppendOrigins<P, ParametersOf<G>, "root">
                : never,
        >;
        where<const V extends Partial<Record<keyof C, unknown>>>(
            values: V & WithoutParameters<NoInfer<V>>,
        ): ReadPredicateBuilder<C, P extends ParameterState ? P : never>;
        where<S extends string | ((columns: C) => AliasedColumn<any>), const A>(
            column: S,
            value: A & CheckScalarParameter<P, NoInfer<A>, PredicateValue<C, S>>,
        ): ReadPredicateBuilder<
            C,
            ValueParameters<P, A, PredicateValue<C, S>> extends ParameterState
                ? ParameterState & ValueParameters<P, A, PredicateValue<C, S>>
                : never,
        >;
        where<S extends string | ((columns: C) => AliasedColumn<any>), const A>(
            column: S,
            operator: string,
            value: A & CheckScalarParameter<P, NoInfer<A>, PredicateValue<C, S>>,
        ): ReadPredicateBuilder<
            C,
            ValueParameters<P, A, PredicateValue<C, S>> extends ParameterState
                ? ParameterState & ValueParameters<P, A, PredicateValue<C, S>>
                : never,
        >;
        whereBetween<
            S extends string
            | ((columns: C) => AliasedColumn<any>),
            const A extends readonly [unknown, unknown],
        >(
            column: S,
            range: A & CheckParameterValue<P, NoInfer<A>, PredicateValue<C, S>>,
        ): ReadPredicateBuilder<
            C,
            ValueParameters<P, A, PredicateValue<C, S>> extends ParameterState
                ? ParameterState & ValueParameters<P, A, PredicateValue<C, S>>
                : never,
        >;
        whereExists(
            query: QueryBuilder,
        ): ReadPredicateBuilder<C, P extends ParameterState ? P : never>;
        whereILike<
            S extends string
            | ((columns: C) => AliasedColumn<any>),
            const A,
        >(
            column: S,
            value: A & (
                A extends QueryParameter<string>
                    ? CheckParameterValue<P, NoInfer<A>, PredicateValue<C, S>>
                    : string
            ),
        ): ReadPredicateBuilder<
            C,
            ValueParameters<P, A, PredicateValue<C, S>> extends ParameterState
                ? ParameterState & ValueParameters<P, A, PredicateValue<C, S>>
                : never,
        >;
        whereIn<
            S extends string
            | ((columns: C) => AliasedColumn<any>),
            const A extends ReadMembership,
        >(
            column: S,
            values: A & CheckParameterValue<P, NoInfer<A>, PredicateValue<C, S>>,
        ): ReadPredicateBuilder<
            C,
            ValueParameters<P, A, PredicateValue<C, S>> extends ParameterState
                ? ParameterState & ValueParameters<P, A, PredicateValue<C, S>>
                : never,
        >;
        whereJsonPath<A>(
            column: ReadPredicateSelector<C>,
            path: string,
            operator?: string,
            value?: A & WithoutParameters<NoInfer<A>>,
        ): ReadPredicateBuilder<C, P extends ParameterState ? P : never>;
        whereLike<S extends string | ((columns: C) => AliasedColumn<any>), const A>(
            column: S,
            value: A & (
                A extends QueryParameter<string>
                    ? CheckParameterValue<P, NoInfer<A>, PredicateValue<C, S>>
                    : string
            ),
        ): ReadPredicateBuilder<
            C,
            ValueParameters<P, A, PredicateValue<C, S>> extends ParameterState
                ? ParameterState & ValueParameters<P, A, PredicateValue<C, S>>
                : never,
        >;
        whereNot<S extends string | ((columns: C) => AliasedColumn<any>), const A>(
            column: S,
            value: A & CheckScalarParameter<P, NoInfer<A>, PredicateValue<C, S>>,
        ): ReadPredicateBuilder<
            C,
            ValueParameters<P, A, PredicateValue<C, S>> extends ParameterState
                ? ParameterState & ValueParameters<P, A, PredicateValue<C, S>>
                : never,
        >;
        whereNotBetween<
            S extends string
            | ((columns: C) => AliasedColumn<any>),
            const A extends readonly [unknown, unknown],
        >(
            column: S,
            range: A & CheckParameterValue<P, NoInfer<A>, PredicateValue<C, S>>,
        ): ReadPredicateBuilder<
            C,
            ValueParameters<P, A, PredicateValue<C, S>> extends ParameterState
                ? ParameterState & ValueParameters<P, A, PredicateValue<C, S>>
                : never,
        >;
        whereNotExists(
            query: QueryBuilder,
        ): ReadPredicateBuilder<C, P extends ParameterState ? P : never>;
        whereNotIn<
            S extends string
            | ((columns: C) => AliasedColumn<any>),
            const A extends ReadMembership,
        >(
            column: S,
            values: A & CheckParameterValue<P, NoInfer<A>, PredicateValue<C, S>>,
        ): ReadPredicateBuilder<
            C,
            ValueParameters<P, A, PredicateValue<C, S>> extends ParameterState
                ? ParameterState & ValueParameters<P, A, PredicateValue<C, S>>
                : never,
        >;
        whereNotNull(
            column: ReadPredicateSelector<C>,
        ): ReadPredicateBuilder<C, P extends ParameterState ? P : never>;
        whereNull(
            column: ReadPredicateSelector<C>,
        ): ReadPredicateBuilder<C, P extends ParameterState ? P : never>;
        whereRaw<const A extends readonly RawBinding[]>(
            sql: string,
            bindings: A & WithoutParameters<NoInfer<A>>,
        ): ReadPredicateBuilder<C, P extends ParameterState ? P : never>;
        whereRaw(
            sql: string,
        ): ReadPredicateBuilder<C, P extends ParameterState ? P : never>;
    }

    Type Parameters

    Hierarchy

    • ReadPredicates<C, P, GroupParameterReader<C>>
      • ReadPredicateBuilder
    Index
    "[PARAMETER_READER]": GroupParameterReader

    Type-only fluent return constructor.

    "[PARAMETER_STATE]": P

    Type-only ordered argument contract.

    • Internal

      Snapshot the configured group without executing its callbacks again.

      Returns readonly ReadPredicate[]

    • Parameters

      • predicate: ReadPredicate

      Returns any

    • Type Parameters

      Parameters

      • column: S
      • values: A & CheckParameterValue<P, NoInfer<A>, PredicateValue<C, S>>

      Returns ReadPredicateBuilder<
          C,
          ValueParameters<P, A, PredicateValue<C, S>> extends ParameterState
              ? ParameterState & ValueParameters<P, A, PredicateValue<C, S>>
              : never,
      >

    • Type Parameters

      Parameters

      • column: S
      • values: A & CheckParameterValue<P, NoInfer<A>, PredicateValue<C, S>>

      Returns ReadPredicateBuilder<
          C,
          ValueParameters<P, A, PredicateValue<C, S>> extends ParameterState
              ? ParameterState & ValueParameters<P, A, PredicateValue<C, S>>
              : never,
      >

    • Returns ReadPredicateContext<C>

    • Quote a mapped column for trusted raw SQL or correlated subqueries.

      Parameters

      Returns Raw<any> | Ref<string, {}>

    • Internal

      Reject builders belonging to another predicate group.

      Parameters

      Returns boolean

    • Type Parameters

      • S extends string | ((columns: C) => AliasedColumn<any>)
      • const A extends readonly [unknown, unknown]

      Parameters

      • column: S
      • range: A & CheckParameterValue<P, NoInfer<A>, PredicateValue<C, S>>

      Returns ReadPredicateBuilder<
          C,
          ValueParameters<P, A, PredicateValue<C, S>> extends ParameterState
              ? ParameterState & ValueParameters<P, A, PredicateValue<C, S>>
              : never,
      >

    • Type Parameters

      Parameters

      • column: S
      • value: A & (
            A extends QueryParameter<string>
                ? CheckParameterValue<P, NoInfer<A>, PredicateValue<C, S>>
                : string
        )

      Returns ReadPredicateBuilder<
          C,
          ValueParameters<P, A, PredicateValue<C, S>> extends ParameterState
              ? ParameterState & ValueParameters<P, A, PredicateValue<C, S>>
              : never,
      >

    • Match a fixed value tuple or captured SELECT subquery.

      Type Parameters

      Parameters

      • column: S
      • values: A & CheckParameterValue<P, NoInfer<A>, PredicateValue<C, S>>

      Returns ReadPredicateBuilder<
          C,
          ValueParameters<P, A, PredicateValue<C, S>> extends ParameterState
              ? ParameterState & ValueParameters<P, A, PredicateValue<C, S>>
              : never,
      >

    • Type Parameters

      Parameters

      • column: S
      • value: A & (
            A extends QueryParameter<string>
                ? CheckParameterValue<P, NoInfer<A>, PredicateValue<C, S>>
                : string
        )

      Returns ReadPredicateBuilder<
          C,
          ValueParameters<P, A, PredicateValue<C, S>> extends ParameterState
              ? ParameterState & ValueParameters<P, A, PredicateValue<C, S>>
              : never,
      >

    • Negate equality while preserving ordinary SQL null semantics.

      Type Parameters

      Parameters

      • column: S
      • value: A & CheckScalarParameter<P, NoInfer<A>, PredicateValue<C, S>>

      Returns ReadPredicateBuilder<
          C,
          ValueParameters<P, A, PredicateValue<C, S>> extends ParameterState
              ? ParameterState & ValueParameters<P, A, PredicateValue<C, S>>
              : never,
      >

    • Type Parameters

      • S extends string | ((columns: C) => AliasedColumn<any>)
      • const A extends readonly [unknown, unknown]

      Parameters

      • column: S
      • range: A & CheckParameterValue<P, NoInfer<A>, PredicateValue<C, S>>

      Returns ReadPredicateBuilder<
          C,
          ValueParameters<P, A, PredicateValue<C, S>> extends ParameterState
              ? ParameterState & ValueParameters<P, A, PredicateValue<C, S>>
              : never,
      >

    • Type Parameters

      Parameters

      • column: S
      • values: A & CheckParameterValue<P, NoInfer<A>, PredicateValue<C, S>>

      Returns ReadPredicateBuilder<
          C,
          ValueParameters<P, A, PredicateValue<C, S>> extends ParameterState
              ? ParameterState & ValueParameters<P, A, PredicateValue<C, S>>
              : never,
      >

    • Trusted SQL with concrete bindings; use a typed predicate for placeholders.

      Type Parameters

      • const A extends readonly RawBinding[]

      Parameters

      • sql: string
      • bindings: A & WithoutParameters<NoInfer<A>>

      Returns ReadPredicateBuilder<C, P extends ParameterState ? P : never>

    • Trusted SQL with concrete bindings; use a typed predicate for placeholders.

      Parameters

      • sql: string

      Returns ReadPredicateBuilder<C, P extends ParameterState ? P : never>