• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

supabase / supabase-flutter / 37467066164
92%

Build:
DEFAULT BRANCH: main
Ran 06 Oct 2026 01:01PM UTC
Jobs 11
Files 173
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

06 Oct 2026 12:57PM UTC coverage: 91.479% (-0.008%) from 91.487%
37467066164

push

github

web-flow
fix(typegen): suffix a member named like a generated type (#1921)

## Summary

A column named like its own enum type generates a file that does not
compile when the name starts with a digit.

```sql
create type "2fa_method" as enum ('totp', 'sms');
create table logins ("2fa_method" "2fa_method" not null);
```

```dart
extension type const LoginsRow(Map<String, dynamic> _json) implements Object {
  $2faMethod get $2faMethod => $2faMethod.fromWire(_json['2fa_method'] as String);
```

```
error - Undefined class '$2faMethod'. - undefined_class
error - The name '$2faMethod' isn't a type, so it can't be used as a type argument. - non_type_as_type_argument
```

Type names are PascalCase and members are camelCase, so the two normally
cannot meet. A name that starts with a digit is the exception: both get
a `$` in front and are otherwise spelled the same, so the getter
`$2faMethod` hides the enum `$2faMethod` inside the row type, and the
column constant does the same inside the namespace class. A relation
member can hide a row type the same way (`2fa_row` next to a table
`2fa`).

The member sets already reserve some type names one by one: the table's
own row, insert, update and namespace types, and since #1914 `int`,
`double`, `num` and `bool`. This change replaces those lists with one
rule: a member takes no name the type registry has handed out.
`_TypeNameRegistry` already holds every such name, the generated types
and the ones the source references, so the four reservations (row
members, column constants, computed fields, relations) now read from it
and `_coreTypeNames` is no longer needed.

For the schema above the member becomes `$2faMethod$`, suffixed like
every other taken name:

```dart
  $2faMethod get $2faMethod$ => $2faMethod.fromWire(_json['2fa_method'] as String);
```

Output for existing schemas does not change: both goldens are untouched
and their tests pass. The rule is slightly wider than strictly needed. A
member is also suffixed when the ty... (continued)

9 of 9 new or added lines in 1 file covered. (100.0%)

9308 of 10175 relevant lines covered (91.48%)

5.15 hits per line

Jobs
ID Job ID Ran Files Coverage
11 supabase_typegen - 37467066164.11 06 Oct 2026 01:01PM UTC 24
96.19
GitHub Action Run
6 supabase_common - 37446858483.6 06 Oct 2026 10:02AM UTC 22
87.55
GitHub Action Run
3 supabase_flutter - 37465783234.3 06 Oct 2026 12:48PM UTC 15
81.0
GitHub Action Run
5 iceberg - 37465783234.5 06 Oct 2026 12:48PM UTC 6
68.57
GitHub Action Run
11 supabase_functions - 37465783234.11 06 Oct 2026 12:48PM UTC 4
96.04
GitHub Action Run
6 yet_another_json_isolate - 36864123641.6 01 Oct 2026 12:48PM UTC 1
98.44
GitHub Action Run
7 supabase_storage - 37465783234.7 06 Oct 2026 12:50PM UTC 9
98.1
GitHub Action Run
8 supabase_realtime - 37465783234.8 06 Oct 2026 12:51PM UTC 13
90.67
GitHub Action Run
9 postgrest - 37465783234.9 06 Oct 2026 12:52PM UTC 29
93.55
GitHub Action Run
10 supabase_auth - 37465783234.10 06 Oct 2026 12:52PM UTC 32
92.07
GitHub Action Run
4 supabase - 37465783234.4 06 Oct 2026 12:52PM UTC 18
94.27
GitHub Action Run
Source Files on build 37467066164
  • Tree
  • List 173
  • Changed 13
  • Source Changed 13
  • Coverage Changed 11
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #37467066164
  • cf5624fa on github
  • Prev Build on main (#37465783234)
  • Next Build on main (#37468012283)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc