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

baetheus / pick / 18237505540
100%

Build:
DEFAULT BRANCH: main
Ran 04 Oct 2025 01:17AM UTC
Jobs 3
Files 1
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

04 Oct 2025 12:57AM UTC coverage: 100.0%. First build
18237505540

push

github

baetheus
feat(0.1.0): release candidate for Router

This change pulls the core ideas of pick into a single router.ts file
and implements what I think is a decent interface for the original
Router. In the process I moved the indexed async state either monad, now
called Effect, to the fun library. Effect is now variadic in a clever
but very useful way. Many of the interfaces for Handler, Route, and
Router have breaking changes. I've implemented a very basic but quite
performant default router that does fallthrough routing after matching
on the request method.

There is also the majority of the initial SiteBuilder work done. The
idea behind a site builder was to point it at a directory and have it
turn .tsx files into a SPA, .ts files into api routes, and everything
else into static assets. It's construction should be extensible enough
that new RouteBuilders can be created externally so that other filetypes
can be turned into routes. ie. Markdown files can be pre-rendered, image
files can be compressed, etc etc. It's also meant to be generic enough
that it can be run on any platform and not just on Deno.

Currently, the SiteBuilder only has a static route builder. The
following is intended to be done soon:

* Server route builders should be straightforward, but I'd like to add
  some degree of type checking to make them break at app start and not
  at runtime.
* Client route builders are simple enough to build, since they will all
  serve the same index file.. but there is a chicken and egg issue here.
* I need to spec types for a ClientBuilder/ClientBundler that takes the
  array of ClientRoutes and turns them into a bundle! Hopefully it's
  easy enough.

Once these features are complete and test coverage is at 100% I will
likey take a break from pick for awhile, but I do want to return at a
later date to implement the following features:

* Routes should take optional input/output schemas that match OpenAPI
  definitions. Or default to unknown.
* Routers should... (continued)

6 of 6 branches covered (100.0%)

Branch coverage included in aggregate %.

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

205 of 205 relevant lines covered (100.0%)

11.17 hits per line

Jobs
ID Job ID Ran Files Coverage
1 run-v2.2.12-ubuntu-latest - 18237505540.1 04 Oct 2025 01:17AM UTC 1
100.0
GitHub Action Run
2 run-v2.2.12-macOS-latest - 18237505540.2 04 Oct 2025 01:17AM UTC 1
100.0
GitHub Action Run
3 run-v2.2.12-windows-latest - 18237505540.3 04 Oct 2025 01:17AM UTC 0
0.0
GitHub Action Run
Source Files on build 18237505540
  • Tree
  • List 1
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • 536fb734 on github
  • Next Build on main (#18237612806)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc