From 66757bb85a315648c276dff7d37f09225c33a782 Mon Sep 17 00:00:00 2001 From: Lukas Klingsbo Date: Thu, 17 Sep 2026 17:32:40 +0200 Subject: [PATCH] fix(postgrest): build the typed transform builder with the row converter #1848 added stripNulls, dryRun, maxAffected and csv to the typed transform builder while #1849 replaced the builder's table field with a row converter. Both landed on main without seeing each other, so main does not compile: the four new methods still pass the removed `_table`, and two of their tests pass raw maps to the now typed insert and update. --- .../postgrest_typed_transform_builder.dart | 19 ++++++++++++++----- packages/postgrest/test/typed_query_test.dart | 4 ++-- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/packages/postgrest/lib/src/postgrest_typed_transform_builder.dart b/packages/postgrest/lib/src/postgrest_typed_transform_builder.dart index 24059e6a6..8cc2ff495 100644 --- a/packages/postgrest/lib/src/postgrest_typed_transform_builder.dart +++ b/packages/postgrest/lib/src/postgrest_typed_transform_builder.dart @@ -112,7 +112,10 @@ class PostgrestTypedTransformBuilder extends PostgrestTypedBuilder { /// This uses the `nulls=stripped` variant of the `Accept` header and /// requires PostgREST 11.2 or higher. PostgrestTypedTransformBuilder stripNulls() => - PostgrestTypedTransformBuilder._(_transformBuilder.stripNulls(), _table); + PostgrestTypedTransformBuilder._( + _transformBuilder.stripNulls(), + _rowFromJson, + ); /// Runs the query but rolls back the transaction, so no changes are /// persisted. @@ -121,10 +124,13 @@ class PostgrestTypedTransformBuilder extends PostgrestTypedBuilder { /// which is useful for previewing the effect of a mutation. /// /// ```dart - /// await client.table(Books.table).insert({'title': 'foo'}).dryRun(); + /// await client.table(Books.table).insert(BookInsert(title: 'foo')).dryRun(); /// ``` PostgrestTypedTransformBuilder dryRun() => - PostgrestTypedTransformBuilder._(_transformBuilder.dryRun(), _table); + PostgrestTypedTransformBuilder._( + _transformBuilder.dryRun(), + _rowFromJson, + ); /// Sets the maximum number of rows that can be affected by the query. /// @@ -141,7 +147,7 @@ class PostgrestTypedTransformBuilder extends PostgrestTypedBuilder { PostgrestTypedTransformBuilder maxAffected(int value) => PostgrestTypedTransformBuilder._( _transformBuilder.maxAffected(value), - _table, + _rowFromJson, ); /// Retrieves the response as CSV. @@ -152,7 +158,10 @@ class PostgrestTypedTransformBuilder extends PostgrestTypedBuilder { /// final String csv = await client.table(Books.table).select().csv(); /// ``` PostgrestTypedTransformBuilder csv() => - PostgrestTypedTransformBuilder._(_transformBuilder.csv(), _table); + PostgrestTypedTransformBuilder._( + _transformBuilder.csv(), + _rowFromJson, + ); /// Performs a head request. /// diff --git a/packages/postgrest/test/typed_query_test.dart b/packages/postgrest/test/typed_query_test.dart index 2ef3efe93..aa9a8fe2f 100644 --- a/packages/postgrest/test/typed_query_test.dart +++ b/packages/postgrest/test/typed_query_test.dart @@ -562,7 +562,7 @@ void main() { final Book book = await client .table(Books.table) - .insert({'title': 'foo'}) + .insert(BookInsert(title: 'foo')) .select() .single() .dryRun(); @@ -613,7 +613,7 @@ void main() { final List books = await client .table(Books.table) - .update({'title': 'bar'}) + .update(BookUpdate(title: 'bar')) .where(Books.id.eq(1)) .maxAffected(1) .select();