Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
8939c92
feat: add typed table access with PostgrestTable and TableColumn
spydon Jul 22, 2026
2cac6e2
chore: address DCM lint warnings
spydon Jul 22, 2026
9b4170e
refactor: make ColumnFilter a sealed hierarchy with operator enums
spydon Jul 23, 2026
03af7a3
refactor: one sealed ColumnFilter class per operator
spydon Jul 23, 2026
9fdbc8e
fix(postgrest): review fixes for typed filters and asStream
spydon Jul 23, 2026
6a64143
feat: mark the typed table access API as experimental
spydon Jul 23, 2026
280c870
feat: add supabase_typegen package generating typed table definitions
spydon Jul 23, 2026
df80c5d
chore: trigger CI
spydon Jul 23, 2026
c0e83b0
refactor: model column type kinds as an enum in the schema description
spydon Jul 23, 2026
ad8fdf5
chore: trigger CI
spydon Jul 23, 2026
514450c
fix(supabase_typegen): review fixes for wire correctness and CLI robu…
spydon Jul 23, 2026
1d4a737
feat(supabase_typegen): generate setXToNull methods for explicit SQL …
spydon Jul 23, 2026
7f69d9d
feat: mark typed table access as experimental in typegen output
spydon Jul 23, 2026
c795ded
chore: drop duplicate sdk-parse-ignore entry
spydon Jul 23, 2026
967a276
Merge remote-tracking branch 'origin/main' into feat/typed-table-access
spydon Aug 5, 2026
abd8e1f
test(supabase): match the extension type style of the other typed tests
spydon Aug 5, 2026
9fa7841
Merge branch 'feat/typed-table-access' into feat/supabase-gen
spydon Aug 5, 2026
4e2aa86
feat(supabase_typegen): read the postgres-meta json metadata instead …
spydon Aug 17, 2026
d7f1bd4
Merge remote-tracking branch 'origin/main' into feat/typed-table-access
spydon Aug 17, 2026
f72fb21
Merge branch 'feat/typed-table-access' into feat/supabase-gen
spydon Aug 17, 2026
d99442d
fix(supabase_typegen): wrap generated doc comments at 80 characters
spydon Aug 17, 2026
2e6c294
feat(supabase_typegen): support writing the generated code to stdout …
spydon Aug 17, 2026
32f279c
fix(supabase_typegen): handle all-read-only tables and string-seriali…
spydon Aug 18, 2026
3ea9e56
docs(supabase_typegen): document the cross-schema enum name limitation
spydon Aug 18, 2026
6455a3e
docs(supabase_typegen): recommend the Supabase CLI as the easiest way…
spydon Aug 18, 2026
bef322b
docs(supabase_typegen): explain when committing schema.json makes sense
spydon Aug 18, 2026
29c584f
refactor(supabase_typegen): consume the postgrest-typegen GeneratorMe…
spydon Aug 18, 2026
fb5b915
test(supabase_typegen): pin key-column write behaviors of the generat…
spydon Aug 26, 2026
f399590
Merge remote-tracking branch 'origin/main' into feat/typed-table-access
spydon Aug 26, 2026
c16862a
Merge branch 'feat/typed-table-access' into feat/supabase-gen
spydon Aug 26, 2026
9779c13
fix(supabase_typegen): match the workspace postgrest version
spydon Aug 26, 2026
e210202
Merge branch 'feat/supabase-gen' into test/typed-key-column-writes
spydon Aug 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions packages/postgrest/lib/postgrest.dart
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,6 @@ export 'package:yet_another_json_isolate/yet_another_json_isolate.dart'

export 'src/postgrest.dart';
export 'src/postgrest_builder.dart';
export 'src/postgrest_typed_builder.dart';
export 'src/types.dart';
export 'package:http/http.dart' show RequestAbortedException;
18 changes: 18 additions & 0 deletions packages/postgrest/lib/src/postgrest.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import 'package:http/http.dart';
import 'package:meta/meta.dart';
import 'package:postgrest/src/logger.dart';
import 'package:postgrest/postgrest.dart';
import 'package:postgrest/src/constants.dart';
Expand Down Expand Up @@ -120,6 +121,23 @@ class PostgrestClient {
);
}

/// Perform a typed table operation.
///
/// Unlike [from], results are converted into the row type of [table]
/// instead of raw `Map<String, dynamic>` data, and filters are built from
/// [TableColumn]s, which makes them compile-time checked.
///
/// ```dart
/// final List<Book> books = await client
/// .table(Books.table)
/// .select()
/// .where(Books.id.gt(10));
/// ```
@experimental
PostgrestTypedQueryBuilder<Row> table<Row>(PostgrestTable<Row> table) {
return PostgrestTypedQueryBuilder(from(table.name), table);
}

/// Select a schema to query or perform an function (rpc) call.
///
/// The schema needs to be on the list of exposed schemas inside Supabase.
Expand Down
Loading
Loading