@@ -98,26 +98,30 @@ export interface ProvideContextOptions<T> {
9898 clearOnDestroy ?: boolean ;
9999}
100100
101+ export type Maybe < T = unknown > = NonNullable < T > | undefined ;
102+
101103export interface ShadowObjectCreationAPI {
102104 entity : EntityApi ;
103105
104106 provideContext < T = unknown > (
105107 name : string | symbol ,
106108 sourceOrInitialValue ?: T | SignalReader < T > ,
107- isEqual ?: ProvideContextOptions < T > | CompareFunc < T > ,
109+ options ?: ProvideContextOptions < T > | CompareFunc < T > ,
108110 ) : Signal < T > ;
111+
109112 provideGlobalContext < T = unknown > (
110113 name : string | symbol ,
111114 sourceOrInitialValue ?: T | SignalReader < T > ,
112- isEqual ?: ProvideContextOptions < T > | CompareFunc < T > ,
115+ options ?: ProvideContextOptions < T > | CompareFunc < T > ,
113116 ) : Signal < T > ;
114117
115- useContext < T = any > ( name : string | symbol , isEqual ?: CompareFunc < T > ) : SignalReader < T > ;
116- useParentContext < T = any > ( name : string | symbol , isEqual ?: CompareFunc < T > ) : SignalReader < T > ;
117- useProperty < T = any > ( name : string , isEqual ?: CompareFunc < T > ) : SignalReader < T > ;
118+ useContext < T = unknown > ( name : string | symbol , isEqual ?: CompareFunc < T > ) : SignalReader < Maybe < T > > ;
119+ useParentContext < T = unknown > ( name : string | symbol , isEqual ?: CompareFunc < T > ) : SignalReader < Maybe < T > > ;
120+
121+ useProperty < T = unknown > ( name : string , isEqual ?: CompareFunc < T > ) : SignalReader < Maybe < T > > ;
118122 useProperties < K extends string > ( props : Record < K , string > ) : Record < K , SignalReader < any > > ;
119123
120- createResource < T > ( factory : ( ) => T | undefined , cleanup ?: ( resource : T ) => void ) : Signal < T | undefined > ;
124+ createResource < T = unknown > ( factory : ( ) => Maybe < T > , cleanup ?: ( resource : NonNullable < T > ) => any ) : Signal < Maybe < T > > ;
121125
122126 createEffect ( ...args : Parameters < typeof createEffect > ) : ReturnType < typeof createEffect > ;
123127 createSignal < T = unknown > ( ...args : Parameters < typeof createSignal < T > > ) : ReturnType < typeof createSignal < T > > ;
0 commit comments