All Projects → sparsetech → trail

sparsetech / trail

Licence: other
Routing library for the Scala platform

Programming Languages

scala
5932 projects

Projects that are alternatives of or similar to trail

Wouter
🥢 A minimalist-friendly ~1.5KB routing for React and Preact. Nothing else but HOOKS.
Stars: ✭ 3,654 (+4707.89%)
Mutual labels:  router, zero-dependency
nuxt-interpolation
Nuxt.js module as directive for binding every link to catch the click event, and if it's a relative link router will push.
Stars: ✭ 38 (-50%)
Mutual labels:  router
Tools-For-Web-Developers
Tools for web developers css code , ui , color generators animation , icons, vector libraries , cheatsheet , playground, vs code , chrome extensions etc...
Stars: ✭ 58 (-23.68%)
Mutual labels:  web-development
kanban-quarkus
Projeto Kanban Board
Stars: ✭ 20 (-73.68%)
Mutual labels:  web-development
yarr
A React router library enabling the render-as-you-fetch concurrent UI pattern.
Stars: ✭ 97 (+27.63%)
Mutual labels:  router
chomex
Chrome Extension Messaging Routing Kit / Promisify Chrome Messaging / LocalStorage Object Mapper
Stars: ✭ 41 (-46.05%)
Mutual labels:  router
react-mobx-router5
React components for routing solution using router5 and mobx
Stars: ✭ 58 (-23.68%)
Mutual labels:  router
dodgr
Distances on Directed Graphs in R
Stars: ✭ 106 (+39.47%)
Mutual labels:  router
make-react-apps
The code for the apps for the premium video courses: Make React Apps
Stars: ✭ 191 (+151.32%)
Mutual labels:  web-development
obvia
The Javascript framework to make web development obviously easy
Stars: ✭ 43 (-43.42%)
Mutual labels:  web-development
wolfpacs
WolfPACS is an DICOM load balancer written in Erlang.
Stars: ✭ 1 (-98.68%)
Mutual labels:  router
radvd
radvd | Official repository: https://github.com/radvd-project/radvd
Stars: ✭ 138 (+81.58%)
Mutual labels:  router
universal-router
↩️ Router for every occasions
Stars: ✭ 64 (-15.79%)
Mutual labels:  router
yew-router
Router extension to yew
Stars: ✭ 27 (-64.47%)
Mutual labels:  router
TutoAsus
Tutorial on how to setup a nginx reverse proxy on Asus router with Merlin firmware, and get Let's Encrypt certificate with acme.sh.
Stars: ✭ 35 (-53.95%)
Mutual labels:  router
smoovy
A collection of small and useful js packages (smooth scrolling, utils, etc.) preventing copy & paste
Stars: ✭ 25 (-67.11%)
Mutual labels:  router
react-native-boilerplate
Ready-made structure of your next React Native application within a few minutes.
Stars: ✭ 36 (-52.63%)
Mutual labels:  router
highway
Highway - A Modern Javascript Transitions Manager
Stars: ✭ 1,349 (+1675%)
Mutual labels:  router
VueStudy
Vue.js学习系列示例代码及教程
Stars: ✭ 80 (+5.26%)
Mutual labels:  router
froute
Type safe and flexible router for React
Stars: ✭ 31 (-59.21%)
Mutual labels:  router

Build Status Join the chat at https://gitter.im/sparsetech/trail Maven Central

Trail is a routing library for Scala. It is available for the JVM, Scala.js and Scala Native.

Features

  • Define type-safe routes
  • Parse and generate URLs
  • DSL to extract path elements, arguments and fragments
  • Express routing tables via pattern matching
  • Define custom codecs
  • IDE support
  • Cross-platform support (JVM, Scala.js, Scala Native)
  • Zero dependencies

Example

import trail._

val details  = Root / "details" / Arg[Int]
val userInfo = Root / "user" / Arg[String] & Param[Boolean]("show")

val result = "/user/hello?show=false" match {
  case details (a)      => s"details: $a"
  case userInfo((u, s)) => s"user: $u, show: $s"
}

Links

Licence

Trail is licensed under the terms of the Apache v2.0 licence.

Authors

  • Tim Nieradzik
  • Darren Gibson
  • Anatolii Kmetiuk
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].