mirror of
https://github.com/langgenius/dify.git
synced 2026-02-24 09:55:09 +00:00
Some checks failed
autofix.ci / autofix (push) Has been cancelled
Build and Push API & Web / build (api, DIFY_API_IMAGE_NAME, linux/amd64, build-api-amd64) (push) Has been cancelled
Build and Push API & Web / build (api, DIFY_API_IMAGE_NAME, linux/arm64, build-api-arm64) (push) Has been cancelled
Build and Push API & Web / build (web, DIFY_WEB_IMAGE_NAME, linux/amd64, build-web-amd64) (push) Has been cancelled
Build and Push API & Web / build (web, DIFY_WEB_IMAGE_NAME, linux/arm64, build-web-arm64) (push) Has been cancelled
Build and Push API & Web / create-manifest (api, DIFY_API_IMAGE_NAME, merge-api-images) (push) Has been cancelled
Build and Push API & Web / create-manifest (web, DIFY_WEB_IMAGE_NAME, merge-web-images) (push) Has been cancelled
Main CI Pipeline / Check Changed Files (push) Has been cancelled
Main CI Pipeline / API Tests (push) Has been cancelled
Main CI Pipeline / Web Tests (push) Has been cancelled
Main CI Pipeline / Style Check (push) Has been cancelled
Main CI Pipeline / VDB Tests (push) Has been cancelled
Main CI Pipeline / DB Migration Test (push) Has been cancelled
28 lines
748 B
TypeScript
28 lines
748 B
TypeScript
import { noop } from 'es-toolkit/function'
|
|
import { createContext, useContext, useContextSelector } from 'use-context-selector'
|
|
import { useMitt } from '@/hooks/use-mitt'
|
|
|
|
type ContextValueType = ReturnType<typeof useMitt>
|
|
export const MittContext = createContext<ContextValueType>({
|
|
emit: noop,
|
|
useSubscribe: noop,
|
|
})
|
|
|
|
export const MittProvider = ({ children }: { children: React.ReactNode }) => {
|
|
const mitt = useMitt()
|
|
|
|
return (
|
|
<MittContext.Provider value={mitt}>
|
|
{children}
|
|
</MittContext.Provider>
|
|
)
|
|
}
|
|
|
|
export const useMittContext = () => {
|
|
return useContext(MittContext)
|
|
}
|
|
|
|
export function useMittContextSelector<T>(selector: (value: ContextValueType) => T): T {
|
|
return useContextSelector(MittContext, selector)
|
|
}
|