* feat: Ensure that calls to `c.json()` have a type equivalent to `c.jsonT()`
* refactor: Objects with "response" properties are never returned by the handler
* refactor: "status" is not needed in TypedResponse
* refactor: Revive `c.jsonT()` and add @deprecated label
* refactor: Tweaks commenting on "eslint-disable" broken by `format:fix`
* test: Use `c.json()` instead of `c.jsonT()` to make sure there are no problems
* refactor: allow ambiguous type for `c.json()`
* chore: denoify
* fix: Remove unused TypedResponse from import statement
* feat(dev): Introduce "dev" helper
* feat(dev): Expose "dev" helper
* refactor: Use "named function" in some middleware.
* feat: `app.showRoutes()` is now deprecated. Use `showRoutes()` in `helper` instead.
* refactor: export RouterRoute interface for utility
* refactor: remove captureRouteStackTrace, add inspectRoutes
`captureRouteStackTrace` will be implemented after some more thought.
Instead, I added `inspectRoutes` to get routes as data.
* test: add tests for helper/dev/index.ts
* fix: run `format:fix`
* refactor: use named functions for middleware
* chore: denoify
* docs: tweaks deprecation warning message
* refactor(dev): Simplification of showList options
* chore: denoify
* Invalid HTTP header error is hidden
This error is captured and never shown which may by misleading. This PR suggest to throw this error directly to the reponse.
* fixed the linter error
* add a test
* denoify
---------
Co-authored-by: Yusuke Wada <yusuke@kamawada.com>
* feat(jsx/streaming): Support Suspense in non-streaming mode.
* feat(jsx): Introduce ErrorBoundary component.
* chore: denoify
* feat: Support ErrorBoundary[fallbackRender].
* chore: denoify
* Rename utils.ts to components.ts
* refactor: export the ErrorBoundary component from the top level.
* fix: tweaks `resolveStream` to work with nested components
* refactor: Import `childrenToString` from `components.ts`
* fix: return immediately if the element is not found
* test: add test for jsx/components
* fix: run `npm run format:fix`
* chore: denoify
* Export APIGatewayProxyResult from aws-lambda
Adds an export for `APIGatewayProxyResult` so that it can be referenced from a handler:
```ts
export const handler: APIGatewayProxyResult = handle(app);
```
Without it exposed, TS complains:
```
Exported variable 'handler' has or is using name 'APIGatewayProxyResult' from external module "node_modules/.pnpm/hono@3.10.1/node_modules/hono/dist/types/adapter/aws-lambda/handler" but cannot be named.
```
* Separate APIGatewayProxyResult type export
Separates APIGatewayProxyResult type export
* Updated handler.ts
* fix: References this._s only when paramStash is passed from the router.
* chore: denoify
* fix: remove debug statement.
* test: Fix test for param keys.
* fix(jsx/streaming): Fixed a problem when multiple children are added directly under Suspense.
* refactor: Use `raw()` helper as constructor of `HtmlEscapedString`.
* chore: denoify.