deno.land / x / hono@v4.2.5 / jsx / dom / index.ts
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112import type { Props, Child, JSXNode } from '../base.ts'import { memo, isValidElement } from '../base.ts'import { useContext } from '../context.ts'import { useState, useEffect, useRef, useCallback, use, startTransition, useTransition, useDeferredValue, startViewTransition, useViewTransition, useMemo, useLayoutEffect, useReducer, useId, useDebugValue,} from '../hooks/index.ts'import { Suspense, ErrorBoundary } from './components.ts'import { createContext } from './context.ts'import { jsx } from './jsx-runtime.ts'
export { render } from './render.ts'
const createElement = ( tag: string | ((props: Props) => JSXNode), props: Props, ...children: Child[]): JSXNode => { const jsxProps: Props = { ...props, children } let key = undefined if ('key' in jsxProps) { key = jsxProps.key delete jsxProps.key } // eslint-disable-next-line @typescript-eslint/no-explicit-any return jsx(tag, jsxProps, key) as any}
const cloneElement = <T extends JSXNode | JSX.Element>( element: T, props: Props, ...children: Child[]): T => { return jsx( (element as JSXNode).tag, { ...(element as JSXNode).props, ...props, children: children.length ? children : (element as JSXNode).children, }, (element as JSXNode).key ) as T}
export { createElement as jsx, useState, useEffect, useRef, useCallback, use, startTransition, useTransition, useDeferredValue, startViewTransition, useViewTransition, useMemo, useLayoutEffect, useReducer, useId, useDebugValue, Suspense, ErrorBoundary, createContext, useContext, memo, isValidElement, createElement, cloneElement,}
export default { useState, useEffect, useRef, useCallback, use, startTransition, useTransition, useDeferredValue, startViewTransition, useViewTransition, useMemo, useLayoutEffect, useReducer, useId, useDebugValue, Suspense, ErrorBoundary, createContext, useContext, memo, isValidElement, createElement, cloneElement,}
export type { Context } from '../context.ts'
Version Info