Class EntireRowTransforms<DB, TB, KeyColumns, InsertReturnColumns, UpdateReturnColumns>

Transforms for a table mapper that only receives and returns entire table rows, given by type Selectable<DB[TB]>.

Type Parameters

  • DB

    Interface whose fields are table names defining tables.

  • TB extends keyof DB & string

    Name of the table.

  • KeyColumns extends Readonly<SelectableColumnTuple<DB[TB]>> | Readonly<[]>

    Tuple of the names of the table's key columns. Defaults to [], indicating no key columns. Supports up to 4 columns.

  • InsertReturnColumns extends Readonly<SelectionColumn<DB, TB>[]> | ["*"]

    Columns to return from the table on insert queries that return columns. ['*'] returns all columns; [] returns none. May specify aliases. Defaults to KeyColumns.

  • UpdateReturnColumns extends Readonly<SelectionColumn<DB, TB>[]> | ["*"]

    Columns to return from the table on update queries that return columns. ['*'] returns all columns; [] returns none and is the default. May specify aliases.

Hierarchy

  • EntireRowTransforms

Implements

  • Required<TableMapperTransforms<DB, TB, KeyColumns, ["*"], Selectable<DB[TB]>, Selectable<DB[TB]>, Selectable<DB[TB]>, number, InsertReturnColumns, UpdateReturnColumns, Selectable<DB[TB]>, Selectable<DB[TB]>>>

Constructors

  • Constructs an object providing transforms for entire table rows.

    Type Parameters

    • DB

    • TB extends string

    • KeyColumns extends readonly [] | Readonly<SelectableColumnTuple<DB[TB]>>

    • InsertReturnColumns extends ["*"] | readonly SelectionColumn<DB, TB>[]

    • UpdateReturnColumns extends ["*"] | readonly SelectionColumn<DB, TB>[]

    Parameters

    • keyColumns: KeyColumns

    Returns EntireRowTransforms<DB, TB, KeyColumns, InsertReturnColumns, UpdateReturnColumns>

Properties

keyColumns: KeyColumns

Methods

  • Transform a count of the number of rows affected into a number.

    Parameters

    • count: bigint

    Returns number

  • Transforms the returns of an insert query into the the object returned to the caller, merging the returned values into the inserted object.

    Parameters

    • source: Selectable<DB[TB]>
    • returns: InsertReturnColumns extends []
          ? never
          : SelectedRow<DB, TB, InsertReturnColumns extends ["*"]
              ? never
              : InsertReturnColumns[number], InsertReturnColumns>

    Returns Selectable<DB[TB]>

  • Transforms inserted objects into inserted rows, removing the columns that are keys having falsy values.

    Parameters

    • obj: Selectable<DB[TB]>
    • _columns: ["*"] | readonly (NonNullableInsertKeys<DB[TB]> | NullableInsertKeys<DB[TB]>)[]

    Returns Insertable<DB[TB]>

  • Returns selected rows to the caller as selected objects, unchanged.

    Parameters

    • row: Selectable<DB[TB]>

    Returns Selectable<DB[TB]>

  • Transforms the returns of an update query into the the object returned to the caller, merging the returned values into the updating object.

    Parameters

    • source: Selectable<DB[TB]>
    • returns: UpdateReturnColumns extends []
          ? never
          : SelectedRow<DB, TB, UpdateReturnColumns extends ["*"]
              ? never
              : UpdateReturnColumns[number], UpdateReturnColumns>

    Returns Selectable<DB[TB]>

  • Provides updating objects as the update values for an update query.

    Parameters

    • source: Selectable<DB[TB]>
    • _columns: ["*"] | readonly UpdateKeys<DB[TB]>[]

    Returns Updateable<DB[TB]>

Generated using TypeDoc