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

supabase / supabase-swift / 32828369732
89%

Build:
DEFAULT BRANCH: main
Ran 25 Aug 2026 08:51AM UTC
Jobs 1
Files 108
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

25 Aug 2026 08:46AM UTC coverage: 87.22%. Remained the same
32828369732

push

github

web-flow
feat(postgrest): add the @Table macro and its marker attributes (#1259)

* feat(postgrest): add the @Table macro and its marker attributes

CodingKeys and the column mapping are generated from one input, so the
write path and the filter path cannot disagree about a column name.
@PrimaryKey is excluded from Insert and @Default is optional there;
readOnly: true conforms to PostgrestRelation only, so the writes from
SDK-1514 are not offered on a view.

Three things the plan did not call for, each a defect without it:

- Insert and Update carry their own CodingKeys. PostgREST's encoder sets
  no keyEncodingStrategy, so without them an insert sends "isDone" while
  a filter on the same column sends "is_done".
- Insert and Update get explicit inits defaulting every optional to nil.
  A partial update would otherwise spell out nil for every column it
  leaves alone, and the memberwise init of a public struct is internal.
- public and package are propagated to the generated members, since a
  protocol witness must be at least as accessible as the conformance.

Two macro rules cost most of the time here and are recorded in the code:
a macro-generated extension cannot witness a requirement with a member
added by a member role of the same attribute, and the emitted inheritance
clause must name every protocol in the refinement chain. Listing only
PostgrestWritableRelation reports a missing PostgrestRelation with no note
saying which requirement is unmet.

The inheritance clause is built from the compiler's `conformingTo:` list,
so `struct Todo: Decodable, Sendable` gets no redundant conformance.
MacroTesting expands without the declaration and always passes an empty
list, so the clause is asserted directly in TableMacroSupportTests.

columnName(for:) traps in its default arm rather than returning "": that
arm is reachable only through a key path to a computed property, and an
empty column name would surface as an opaque PostgREST 400.

* chore(compliance): regist... (continued)

9213 of 10563 relevant lines covered (87.22%)

90.75 hits per line

Jobs
ID Job ID Ran Files Coverage
1 32828369732.1 25 Aug 2026 08:51AM UTC 108
87.22
GitHub Action Run
Source Files on build 32828369732
  • Tree
  • List 108
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #32828369732
  • 7a2c4501 on github
  • Prev Build on main (#32826023883)
  • Next Build on main (#32830303852)
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