Definition
/**
* Create a default constructor-based row mapper.
*
* Maps database rows directly to constructor parameters.
* Column names must match parameter names exactly (1:1).
* Use SQL aliases if column names differ from parameter names.
*
* @example
* // DTO where column names match parameter names
* readonly class User {
* public function __construct(
* public int $id,
* public string $name,
* public string $email,
* ) {}
* }
*
* // Usage
* $client = pgsql_client(pgsql_connection('...'), mapper: pgsql_mapper());
*
* // For snake_case columns, use SQL aliases
* $user = $client->fetchInto(
* User::class,
* 'SELECT id, user_name AS name, user_email AS email FROM users WHERE id = $1',
* [1]
* );
*/
pgsql_mapper() : ConstructorMapper