1- import {
2- type SessionStorage ,
3- type unstable_MiddlewareFunction ,
4- type unstable_RouterContextProvider ,
5- unstable_createContext ,
6- } from "react-router" ;
1+ import { type SessionStorage , type MiddlewareFunction , type RouterContextProvider , createContext } from "react-router" ;
72import { type ToastMessage , getToast as getToastPrimitive } from ".." ;
83import { FLASH_SESSION } from "../schema" ;
94import { sessionStorage } from "../session" ;
105
11- const toastContext = unstable_createContext < ToastMessage | null > ( null ) ;
12- const sessionToastContext = unstable_createContext < ToastMessage | null > ( null ) ;
6+ const toastContext = createContext < ToastMessage | null > ( null ) ;
7+ const sessionToastContext = createContext < ToastMessage | null > ( null ) ;
138
14- export function unstable_toastMiddleware ( props ?: { customSession ?: SessionStorage } ) : unstable_MiddlewareFunction {
9+ export function toastMiddleware ( props ?: { customSession ?: SessionStorage } ) : MiddlewareFunction {
1510 const { customSession } = props || { } ;
1611 const sessionToUse = customSession || sessionStorage ;
1712 return async function toastMiddleware ( { request, context } , next ) {
@@ -37,11 +32,16 @@ export function unstable_toastMiddleware(props?: { customSession?: SessionStorag
3732}
3833
3934export const setToast = (
40- context : unstable_RouterContextProvider | Readonly < unstable_RouterContextProvider > ,
35+ context : RouterContextProvider | Readonly < RouterContextProvider > ,
4136 toast : ToastMessage | null ,
4237) => {
4338 context . set ( sessionToastContext , toast ) ;
4439} ;
4540
46- export const getToast = ( context : unstable_RouterContextProvider | Readonly < unstable_RouterContextProvider > ) =>
41+ export const getToast = ( context : RouterContextProvider | Readonly < RouterContextProvider > ) =>
4742 context . get ( toastContext ) ;
43+
44+ /**
45+ * @deprecated Use `toastMiddleware` instead.
46+ */
47+ export const unstable_toastMiddleware = toastMiddleware ;
0 commit comments