github gajus/slonik slonik@49.10.0

latest releases: slonik-interceptor-field-name-transformation@49.10.0, @slonik/utilities@49.10.0, @slonik/types@49.10.0...
7 hours ago

Minor Changes

  • fbff275 Thanks @gajus! - Add record() query method

    record() returns the result rows as a keyvalue record. The query must return exactly two columns, named "key" and "value", which is enforced at the type level by requiring a typed query (sql.type). Throws DataIntegrityError if the query returns rows with any other columns, or if the query returns duplicate keys.

    const memberCounts = await pool.record(sql.type(
      z.object({
        key: z.number(),
        value: z.number(),
      })
    )`
      SELECT
        team_id AS "key",
        count(*)::int AS "value"
      FROM team_member
      GROUP BY team_id
    `);
    
    // Record<number, number>, e.g. { 1: 2, 2: 5 }

Patch Changes

  • Updated dependencies []:
    • @slonik/driver@49.10.0
    • @slonik/errors@49.10.0
    • @slonik/pg-driver@49.10.0
    • @slonik/sql-tag@49.10.0
    • @slonik/utilities@49.10.0

Don't miss a new slonik release

NewReleases is sending notifications on new releases.