/** * Querying * * @since 1.0.0 */ import type * as Schema from "@effect/schema/Schema" import type * as Effect from "effect/Effect" import type * as Stream from "effect/Stream" import type * as pg from "pg" import * as internal_query from "./internal/query.js" import type * as PgError from "./PgError.js" /** * @category models * @since 1.0.0 */ export interface QueryStreamOptions { maxRowsPerRead: number } /** * @category querying * @since 1.0.0 */ export const all: { ( sql: string, schema: Schema.Schema ): ( ...values: Array ) => Effect.Effect, PgError.PostgresQueryError | PgError.PostgresValidationError, pg.ClientBase | R> ( sql: string ): ( ...values: Array ) => Effect.Effect, PgError.PostgresQueryError, pg.ClientBase> } = internal_query.all /** * @category querying * @since 1.0.0 */ export const one: { ( sql: string ): ( ...values: Array ) => Effect.Effect ( sql: string, schema?: Schema.Schema ): ( ...values: Array ) => Effect.Effect< A, | PgError.PostgresQueryError | PgError.PostgresValidationError | PgError.PostgresUnexpectedNumberOfRowsError, pg.ClientBase | R > } = internal_query.one /** * @category querying * @since 1.0.0 */ export const stream: { ( queryText: string, schema: Schema.Schema, options?: Partial ): ( ...values: Array ) => Stream.Stream< A, PgError.PostgresQueryError | PgError.PostgresValidationError, pg.ClientBase | R > ( queryText: string, options?: Partial ): ( ...values: Array ) => Stream.Stream } = internal_query.stream /** * @category transactions * @since 1.0.0 */ export const begin: Effect.Effect = internal_query.begin /** * @category transactions * @since 1.0.0 */ export const commit: Effect.Effect = internal_query.commit /** * @category transactions * @since 1.0.0 */ export const rollback: Effect.Effect = internal_query.rollback /** * @category transactions * @since 1.0.0 */ export const transaction: ( self: Effect.Effect ) => Effect.Effect = internal_query.transaction /** * @category transactions * @since 1.0.0 */ export const transactionRollback: ( self: Effect.Effect ) => Effect.Effect = internal_query.transactionRollback