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

supabase / supabase-flutter / 29909032831
86%

Build:
DEFAULT BRANCH: main
Ran 22 Jul 2026 09:43AM UTC
Jobs 9
Files 103
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

22 Jul 2026 09:42AM UTC coverage: 86.869%. Remained the same
29909032831

push

github

web-flow
docs(examples): add Edge Functions example (#1632)

## What

Adds an `edge_functions` example under `examples/`, following the same
structure as `database_crud` and `storage_transforms`. It demonstrates
invoking Supabase Edge Functions with `supabase.functions.invoke(...)`:

- **JSON body over POST**, reading the JSON response back
(`invoke('greet', body: {...})`).
- **GET with query parameters** instead of a body (`method:
HttpMethod.get, queryParameters: {...}`).
- **Custom headers** sent to the function and echoed back (`headers:
{...}`).
- **Plain text in and out**: a `String` body is sent as `text/plain` and
the `text/plain` response arrives as a `String` (`invoke('shout', body:
text)`).
- **Error handling**: a non-2xx response throws a `FunctionException`
whose `details` carry the response body (`invoke('word-count', ...)`).

## How it's structured

- All Edge Function access lives in `lib/functions_repository.dart`
(`FunctionsRepository`), kept separate from the UI so the calls are easy
to read and to drive from tests. Models with `factory fromJson` live in
`lib/models.dart`. The Material 3 UI in `lib/main.dart` stays thin.
- Three demo functions ship under `examples/supabase/functions/`:
`greet`, `shout` and `word-count`.
- The Edge Runtime is enabled in `examples/supabase/config.toml`;
`supabase start` serves the functions automatically. The demo functions
set `verify_jwt = false` so the example can call them with just the
publishable key, matching the other examples which run unauthenticated.
- The new package is registered in the workspace `pubspec.yaml` and
listed in `examples/README.md`.

## Testing

- `dart format .` and `flutter analyze` are clean.
- `integration_test/functions_test.dart` was run against the local stack
(`supabase start`) on web (Chrome 150) via `flutter drive`: **all tests
passed**. It covers the repository flow (JSON greeting over POST and
GET, plain-text transform, and a 400 validation error surfacing as a
`FunctionE... (continued)

5577 of 6420 relevant lines covered (86.87%)

3.92 hits per line

Jobs
ID Job ID Ran Files Coverage
1 storage_client - 29909032831.1 22 Jul 2026 09:45AM UTC 13
84.63
GitHub Action Run
2 functions_client - 29909032831.2 22 Jul 2026 09:43AM UTC 3
98.85
GitHub Action Run
3 supabase_flutter - 29909032831.3 22 Jul 2026 09:44AM UTC 10
79.31
GitHub Action Run
4 realtime_client - 29909032831.4 22 Jul 2026 09:46AM UTC 11
90.16
GitHub Action Run
5 postgrest - 29909032831.5 22 Jul 2026 09:46AM UTC 10
85.33
GitHub Action Run
6 yet_another_json_isolate - 29909032831.6 22 Jul 2026 09:43AM UTC 1
93.65
GitHub Action Run
7 supabase_common - 29909032831.7 22 Jul 2026 09:44AM UTC 10
100.0
GitHub Action Run
8 gotrue - 29909032831.8 22 Jul 2026 09:47AM UTC 28
87.6
GitHub Action Run
9 supabase - 29909032831.9 22 Jul 2026 09:45AM UTC 17
83.2
GitHub Action Run
Source Files on build 29909032831
  • Tree
  • List 103
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #29909032831
  • 0b44b5a3 on github
  • Prev Build on main (#29906484816)
  • Next Build on main (#29927200486)
  • 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