hono 4.10.6 → 4.10.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -9,6 +9,11 @@ var getConnInfo = (c) => {
9
9
  throw new TypeError("server.requestIP is not a function.");
10
10
  }
11
11
  const info = server.requestIP(c.req.raw);
12
+ if (!info) {
13
+ return {
14
+ remote: {}
15
+ };
16
+ }
12
17
  return {
13
18
  remote: {
14
19
  address: info.address,
@@ -31,6 +31,11 @@ const getConnInfo = (c) => {
31
31
  throw new TypeError("server.requestIP is not a function.");
32
32
  }
33
33
  const info = server.requestIP(c.req.raw);
34
+ if (!info) {
35
+ return {
36
+ remote: {}
37
+ };
38
+ }
34
39
  return {
35
40
  remote: {
36
41
  address: info.address,
@@ -11,7 +11,7 @@ export interface BunServer {
11
11
  address: string;
12
12
  family: string;
13
13
  port: number;
14
- };
14
+ } | null;
15
15
  upgrade<T>(req: Request, options?: {
16
16
  data: T;
17
17
  }): boolean;
@@ -3,5 +3,6 @@
3
3
  * This module provides the `hono/jsx/dom` dev runtime.
4
4
  */
5
5
  import type { JSXNode, Props } from '../base';
6
+ export type { JSX } from '../base';
6
7
  export declare const jsxDEV: (tag: string | Function, props: Props, key?: string) => JSXNode;
7
8
  export declare const Fragment: (props: Record<string, unknown>) => JSXNode;
@@ -4,3 +4,4 @@
4
4
  */
5
5
  export { jsxDEV as jsx, Fragment } from './jsx-dev-runtime';
6
6
  export { jsxDEV as jsxs } from './jsx-dev-runtime';
7
+ export type { JSX } from './jsx-dev-runtime';
@@ -58,9 +58,9 @@ declare const _default: {
58
58
  useId: () => string;
59
59
  useDebugValue: (_value: unknown, _formatter?: (value: unknown) => string) => void;
60
60
  createRef: <T>() => import("..").RefObject<T>;
61
- forwardRef: <T, P = {}>(Component: (props: P, ref?: import("..").RefObject<T>) => import("../base").JSX.Element) => ((props: P & {
61
+ forwardRef: <T, P = {}>(Component: (props: P, ref?: import("..").RefObject<T>) => import("./jsx-dev-runtime").JSX.Element) => ((props: P & {
62
62
  ref?: import("..").RefObject<T>;
63
- }) => import("../base").JSX.Element);
63
+ }) => import("./jsx-dev-runtime").JSX.Element);
64
64
  useImperativeHandle: <T>(ref: import("..").RefObject<T>, createHandle: () => T, deps: readonly unknown[]) => void;
65
65
  useSyncExternalStore: <T>(subscribe: (callback: () => void) => () => void, getSnapshot: () => T, getServerSnapshot?: () => T) => T;
66
66
  useFormStatus: () => {
@@ -89,7 +89,7 @@ declare const _default: {
89
89
  memo: <T>(component: import("..").FC<T>, propsAreEqual?: (prevProps: Readonly<T>, nextProps: Readonly<T>) => boolean) => import("..").FC<T>;
90
90
  isValidElement: (element: unknown) => element is import("..").JSXNode;
91
91
  createElement: (tag: string | ((props: import("../base").Props) => import("..").JSXNode), props: import("../base").Props | null, ...children: Child[]) => import("..").JSXNode;
92
- cloneElement: <T extends import("..").JSXNode | import("../base").JSX.Element>(element: T, props: import("../base").Props, ...children: Child[]) => T;
92
+ cloneElement: <T extends import("..").JSXNode | import("./jsx-dev-runtime").JSX.Element>(element: T, props: import("../base").Props, ...children: Child[]) => T;
93
93
  Children: {
94
94
  map: (children: Child[], fn: (child: Child, index: number) => Child) => Child[];
95
95
  forEach: (children: Child[], fn: (child: Child, index: number) => void) => void;
@@ -1,14 +1,14 @@
1
1
  import type { Context } from '../context';
2
- import type { Env, MiddlewareHandler, TypedResponse, ValidationTargets } from '../types';
2
+ import type { Env, MiddlewareHandler, TypedResponse, ValidationTargets, FormValue } from '../types';
3
3
  type ValidationTargetKeysWithBody = 'form' | 'json';
4
4
  type ValidationTargetByMethod<M> = M extends 'get' | 'head' ? Exclude<keyof ValidationTargets, ValidationTargetKeysWithBody> : keyof ValidationTargets;
5
5
  export type ValidationFunction<InputType, OutputType, E extends Env = {}, P extends string = string> = (value: InputType, c: Context<E, P>) => OutputType | TypedResponse | Promise<OutputType> | Promise<TypedResponse>;
6
6
  export type ExtractValidationResponse<VF> = VF extends (value: any, c: any) => infer R ? R extends Promise<infer PR> ? PR extends TypedResponse<infer T, infer S, infer F> ? TypedResponse<T, S, F> : PR extends Response ? PR : PR extends undefined ? never : never : R extends TypedResponse<infer T, infer S, infer F> ? TypedResponse<T, S, F> : R extends Response ? R : R extends undefined ? never : never : never;
7
7
  export declare const validator: <InputType, P extends string, M extends string, U extends ValidationTargetByMethod<M>, P2 extends string = P, VF extends (value: unknown extends InputType ? ValidationTargets[U] : InputType, c: Context<any, P2>) => any = (value: unknown extends InputType ? ValidationTargets[U] : InputType, c: Context<any, P2>) => any, V extends {
8
- in: { [K in U]: K extends "json" ? unknown extends InputType ? ExtractValidatorOutput<VF> : InputType : { [K2 in keyof ExtractValidatorOutput<VF>]: ValidationTargets[K][K2]; }; };
8
+ in: { [K in U]: K extends "json" ? unknown extends InputType ? ExtractValidatorOutput<VF> : InputType : { [K2 in keyof ExtractValidatorOutput<VF>]: ValidationTargets<FormValue>[K][K2]; }; };
9
9
  out: { [K in U]: ExtractValidatorOutput<VF>; };
10
10
  } = {
11
- in: { [K in U]: K extends "json" ? unknown extends InputType ? ExtractValidatorOutput<VF> : InputType : { [K2 in keyof ExtractValidatorOutput<VF>]: ValidationTargets[K][K2]; }; };
11
+ in: { [K in U]: K extends "json" ? unknown extends InputType ? ExtractValidatorOutput<VF> : InputType : { [K2 in keyof ExtractValidatorOutput<VF>]: ValidationTargets<FormValue>[K][K2]; }; };
12
12
  out: { [K in U]: ExtractValidatorOutput<VF>; };
13
13
  }, E extends Env = any>(target: U, validationFunc: VF) => MiddlewareHandler<E, P, V, ExtractValidationResponse<VF>>;
14
14
  export type ExtractValidatorOutput<VF> = VF extends (value: any, c: any) => infer R ? R extends Promise<infer PR> ? PR extends Response | TypedResponse<any, any, any> ? never : PR : R extends Response | TypedResponse<any, any, any> ? never : R : never;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hono",
3
- "version": "4.10.6",
3
+ "version": "4.10.7",
4
4
  "description": "Web framework built on Web Standards",
5
5
  "main": "dist/cjs/index.js",
6
6
  "type": "module",