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

supabase / supabase-flutter / 39603824352
92%

Build:
DEFAULT BRANCH: main
Ran 21 Oct 2026 12:58PM UTC
Jobs 11
Files 171
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:57PM UTC coverage: 91.847% (+0.03%) from 91.819%
39603824352

push

github

web-flow
feat(typegen)!: read multirange columns into a multirange type (#1999)

## Summary

Multirange columns (`int4multirange`, `int8multirange`, `nummultirange`,
`datemultirange`, `tsmultirange`, `tstzmultirange`) generated `String`
getters. They now map to `PostgresMultirange<Bound>`, a new value type
in `supabase_common` re-exported from postgrest. Its bounds are typed
like those of the matching range type, so a `datemultirange` is a
`PostgresMultirange<PostgresDate>` and a `tstzmultirange` a
`PostgresMultirange<DateTime>`.

- It wraps an unmodifiable list of `PostgresRange<Bound>`, rather than
being a bare `List<PostgresRange<Bound>>`. A bare list would render in a
filter as an array literal (`{"[1,3)"}`), not as the multirange literal
(`{[1,3)}`), and arrays of multiranges would be ambiguous.
- `parse(literal, parseBound)` splits the `{[1,3),[5,7)}` literal into
its ranges, keeping brackets and commas inside quoted bounds, and reads
each with `PostgresRange.parse`.
- `render(renderBound)` and `literal` mirror `PostgresRange`. The
generator writes timestamp bounds through `render`, exactly as it does
for ranges.

It implements `PostgresValue`, so filters and writes need no postgrest
change. The parser resolves the bound kind of multiranges, and of arrays
of them, through a table that mirrors the range one.

The range-specific filters (`PostgrestRangeFilters`) still only apply to
range columns. Multirange columns get the generic comparisons.

## Breaking change

Regenerated getters for multirange columns change from `String` to
`PostgresMultirange`.

## Tests

- Unit tests covering parse, quoted bounds containing brackets,
whitespace and `empty` members, malformed literals, render, round trips
and the unmodifiable list.
- The parser test covers every multirange format and its bound kind.
- Fixture columns for `datemultirange` and `tsmultirange`, regenerated
goldens, and a behavior test covering read, write and `eq`.
- `catalog_values` gains `datemultiran... (continued)

76 of 79 new or added lines in 4 files covered. (96.2%)

3 existing lines in 1 file now uncovered.

10623 of 11566 relevant lines covered (91.85%)

5.37 hits per line

Uncovered Changes

Lines Coverage ∆ File
3
92.37
-0.26% packages/supabase_typegen/lib/src/dart_generator.dart

Coverage Regressions

Lines Coverage ∆ File
3
92.37
-0.26% packages/supabase_typegen/lib/src/dart_generator.dart
Jobs
ID Job ID Ran Files Coverage
1 supabase_functions - 39603824352.1 21 Oct 2026 12:59PM UTC 4
93.28
GitHub Action Run
2 supabase_auth - 39603824352.2 21 Oct 2026 01:01PM UTC 34
93.38
GitHub Action Run
3 supabase_realtime - 39603824352.3 21 Oct 2026 01:01PM UTC 14
91.17
GitHub Action Run
4 supabase - 39603824352.4 21 Oct 2026 01:01PM UTC 17
93.96
GitHub Action Run
5 supabase_typegen - 39603824352.5 21 Oct 2026 12:59PM UTC 6
94.36
GitHub Action Run
6 supabase_flutter - 39603824352.6 21 Oct 2026 12:59PM UTC 16
80.85
GitHub Action Run
7 supabase_common - 39603824352.7 21 Oct 2026 12:59PM UTC 35
93.58
GitHub Action Run
8 iceberg - 39603824352.8 21 Oct 2026 12:59PM UTC 6
71.32
GitHub Action Run
9 yet_another_json_isolate - 39603824352.9 21 Oct 2026 12:58PM UTC 1
98.44
GitHub Action Run
10 supabase_storage - 39603824352.10 21 Oct 2026 01:00PM UTC 10
96.26
GitHub Action Run
11 postgrest - 39603824352.11 21 Oct 2026 01:01PM UTC 28
92.4
GitHub Action Run
Source Files on build 39603824352
  • Tree
  • List 171
  • Changed 4
  • Source Changed 4
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #39603824352
  • e5b8bdeb on github
  • Prev Build on main (#39601637929)
  • Next Build on main (#39605471296)
  • 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