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

supabase / supabase-flutter / 39597942708
92%

Build:
DEFAULT BRANCH: main
Ran 21 Oct 2026 12:16PM UTC
Jobs 11
Files 169
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

21 Oct 2026 12:13PM UTC coverage: 92.009% (+0.06%) from 91.951%
39597942708

push

github

web-flow
feat(typegen)!: read inet and cidr columns into a network address type (#1997)

## Summary

`inet` and `cidr` columns generated `String` getters, and their column
tokens offered the text filters, which Postgres has no operators for on
these types (42883). They now map to `PostgresNetworkAddress`, a new
value type in `supabase_common` re-exported from postgrest.

- It holds the address `bytes` (4 for IPv4, 16 for IPv6), the
`prefixLength` of its netmask, and `isIpv6`.
- It is pure Dart, so unlike `InternetAddress` from `dart:io` it also
works on the web.
- `parse` reads dotted IPv4, IPv6 with `::` compression and a dotted
IPv4 tail, and an optional `/prefixLength`.
- `literal` prints the address the way Postgres does. It compresses the
longest run of two or more zero groups, the first of equally long ones.
It prints the last four bytes dotted for IPv4-compatible and IPv4-mapped
addresses. It leaves out a netmask that covers the whole address, as
`inet` output does.

`cidr` output keeps the whole-address netmask (`192.168.1.5/32`). That
parses to the same value as `192.168.1.5`, and Postgres reads the
shorter literal back as the same `cidr`.

The formatting was checked against 500 addresses Postgres 17 printed:
400 random IPv6 addresses biased toward zero groups, and 100 IPv4
addresses with random netmasks. The `literal` matched every one, apart
from the whole-address netmask difference above.

It implements `PostgresValue`, so filters and writes need no postgrest
change. `cidr[]` and `inet[]` columns become
`List<PostgresNetworkAddress>`.

## Breaking change

Regenerated getters for these columns change from `String` to
`PostgresNetworkAddress`, and the text filters are no longer offered on
them.

## Tests

- Unit tests covering parse, the canonical IPv6 forms Postgres prints,
netmask defaults, rejection of malformed input, round trips, validation
and equality.
- Parser test, fixture columns (including a `cidr[]`), regenerated
goldens, and a behavior t... (continued)

106 of 108 new or added lines in 3 files covered. (98.15%)

10409 of 11313 relevant lines covered (92.01%)

5.44 hits per line

Uncovered Changes

Lines Coverage ∆ File
2
93.85
-0.18% packages/supabase_typegen/lib/src/dart_generator.dart
Jobs
ID Job ID Ran Files Coverage
1 supabase_storage - 39597942708.1 21 Oct 2026 12:17PM UTC 10
96.26
GitHub Action Run
2 yet_another_json_isolate - 39597942708.2 21 Oct 2026 12:16PM UTC 1
98.44
GitHub Action Run
3 supabase_flutter - 39597942708.3 21 Oct 2026 12:16PM UTC 16
80.85
GitHub Action Run
4 postgrest - 39597942708.4 21 Oct 2026 12:19PM UTC 28
92.33
GitHub Action Run
5 supabase_auth - 39597942708.5 21 Oct 2026 12:19PM UTC 34
93.38
GitHub Action Run
6 supabase_functions - 39597942708.6 21 Oct 2026 12:16PM UTC 4
93.28
GitHub Action Run
7 iceberg - 39597942708.7 21 Oct 2026 12:16PM UTC 6
71.32
GitHub Action Run
8 supabase_realtime - 39597942708.8 21 Oct 2026 12:18PM UTC 14
91.17
GitHub Action Run
9 supabase - 39597942708.9 21 Oct 2026 12:19PM UTC 17
93.83
GitHub Action Run
10 supabase_typegen - 39597942708.10 21 Oct 2026 12:16PM UTC 6
95.43
GitHub Action Run
11 supabase_common - 39597942708.11 21 Oct 2026 12:16PM UTC 33
94.68
GitHub Action Run
Source Files on build 39597942708
  • Tree
  • List 169
  • Changed 3
  • Source Changed 3
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #39597942708
  • ed69ae31 on github
  • Prev Build on main (#39595018290)
  • Next Build on main (#39601146684)
  • 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