Skip to content

Commit

Permalink
fix(context): remove duplicate definition of render method (#2191)
Browse files Browse the repository at this point in the history
* fix(context): remove duplicate definition of render method

The `render` method was defined twice in the `Context` class.
This duplicate definition was causing a TypeScript error below if `tsc` is used to compile the project:

```
node_modules/hono/dist/types/context.d.ts(134,5): error TS2300: Duplicate identifier 'render'.
```

* chore: denoify
  • Loading branch information
usualoma authored Feb 11, 2024
1 parent ca6f365 commit c62556a
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 22 deletions.
15 changes: 4 additions & 11 deletions deno_dist/context.ts
Original file line number Diff line number Diff line change
Expand Up @@ -209,10 +209,10 @@ export class Context<
* ```
* @see https://hono.dev/api/context#render-setrenderer
*/
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
// eslint-disable-next-line @typescript-eslint/no-explicit-any
render: Renderer = (...args: any[]) => this.renderer(...args)
render: Renderer = (...args) => this.renderer(...args)

setLayout = (layout: FC<PropsForRenderer & { Layout: FC }>) => (this.layout = layout)
getLayout = () => this.layout

/**
* `.setRenderer()` can set the layout in the custom middleware.
Expand All @@ -233,13 +233,6 @@ export class Context<
* ```
* @see https://hono.dev/api/context#render-setrenderer
*/
// @ts-expect-error It is unknown how many arguments the renderer will receive.
// eslint-disable-next-line @typescript-eslint/no-explicit-any
render: Renderer = (...args: any[]) => this.renderer(...args)

setLayout = (layout: FC<PropsForRenderer & { Layout: FC }>) => (this.layout = layout)
getLayout = () => this.layout

setRenderer = (renderer: Renderer) => {
this.renderer = renderer
}
Expand Down
15 changes: 4 additions & 11 deletions src/context.ts
Original file line number Diff line number Diff line change
Expand Up @@ -209,10 +209,10 @@ export class Context<
* ```
* @see https://hono.dev/api/context#render-setrenderer
*/
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
// eslint-disable-next-line @typescript-eslint/no-explicit-any
render: Renderer = (...args: any[]) => this.renderer(...args)
render: Renderer = (...args) => this.renderer(...args)

setLayout = (layout: FC<PropsForRenderer & { Layout: FC }>) => (this.layout = layout)
getLayout = () => this.layout

/**
* `.setRenderer()` can set the layout in the custom middleware.
Expand All @@ -233,13 +233,6 @@ export class Context<
* ```
* @see https://hono.dev/api/context#render-setrenderer
*/
// @ts-expect-error It is unknown how many arguments the renderer will receive.
// eslint-disable-next-line @typescript-eslint/no-explicit-any
render: Renderer = (...args: any[]) => this.renderer(...args)

setLayout = (layout: FC<PropsForRenderer & { Layout: FC }>) => (this.layout = layout)
getLayout = () => this.layout

setRenderer = (renderer: Renderer) => {
this.renderer = renderer
}
Expand Down

0 comments on commit c62556a

Please sign in to comment.