Regrouper les routes pour RPC
Pour activer correctement l’inférence de types pour plusieurs app, vous pouvez utiliser app.route() comme suit.
Transmettez la valeur renvoyée par des méthodes comme app.get() ou app.post() comme deuxième argument de app.route().
ts
import { Hono } from 'hono'
import { hc } from 'hono/client'
const authorsApp = new Hono()
.get('/', (c) => c.json({ result: 'list authors' }))
.post('/', (c) => c.json({ result: 'create an author' }, 201))
.get('/:id', (c) => c.json({ result: `get ${c.req.param('id')}` }))
const booksApp = new Hono()
.get('/', (c) => c.json({ result: 'list books' }))
.post('/', (c) => c.json({ result: 'create a book' }, 201))
.get('/:id', (c) => c.json({ result: `get ${c.req.param('id')}` }))
const app = new Hono()
.route('/authors', authorsApp)
.route('/books', booksApp)
type AppType = typeof app