@@ -97,7 +97,7 @@ function isRiveFile(source: ViewModelSource | null): source is RiveFile {
9797}
9898
9999type CreateInstanceResult = {
100- instance : ViewModelInstance | null ;
100+ instance : ViewModelInstance | null | undefined ;
101101 needsDispose : boolean ;
102102 error ?: string ;
103103} ;
@@ -110,7 +110,7 @@ function createInstance(
110110 useNew : boolean
111111) : CreateInstanceResult {
112112 if ( ! source ) {
113- return { instance : null , needsDispose : false } ;
113+ return { instance : undefined , needsDispose : false } ;
114114 }
115115
116116 if ( isRiveViewRef ( source ) ) {
@@ -179,7 +179,8 @@ function createInstance(
179179export type UseViewModelInstanceResult =
180180 | { instance : ViewModelInstance ; error : null }
181181 | { instance : null ; error : Error }
182- | { instance : null ; error : null } ;
182+ | { instance : null ; error : null }
183+ | { instance : undefined ; error : null } ;
183184
184185/**
185186 * Hook for getting a ViewModelInstance from a RiveFile, ViewModel, or RiveViewRef.
@@ -266,7 +267,7 @@ export type UseViewModelInstanceResult =
266267export function useViewModelInstance (
267268 source : RiveFile ,
268269 params : UseViewModelInstanceFileParams & { required : true }
269- ) : { instance : ViewModelInstance ; error : null } ;
270+ ) : { instance : ViewModelInstance ; error : null } | { instance : undefined ; error : null } ;
270271export function useViewModelInstance (
271272 source : RiveFile | null ,
272273 params ?: UseViewModelInstanceFileParams
@@ -276,7 +277,7 @@ export function useViewModelInstance(
276277export function useViewModelInstance (
277278 source : ViewModel ,
278279 params : UseViewModelInstanceViewModelParams & { required : true }
279- ) : { instance : ViewModelInstance ; error : null } ;
280+ ) : { instance : ViewModelInstance ; error : null } | { instance : undefined ; error : null } ;
280281export function useViewModelInstance (
281282 source : ViewModel | null ,
282283 params ?: UseViewModelInstanceViewModelParams
@@ -286,7 +287,7 @@ export function useViewModelInstance(
286287export function useViewModelInstance (
287288 source : RiveViewRef ,
288289 params : UseViewModelInstanceRefParams & { required : true }
289- ) : { instance : ViewModelInstance ; error : null } ;
290+ ) : { instance : ViewModelInstance ; error : null } | { instance : undefined ; error : null } ;
290291export function useViewModelInstance (
291292 source : RiveViewRef | null ,
292293 params ?: UseViewModelInstanceRefParams
@@ -315,7 +316,7 @@ export function useViewModelInstance(
315316 const onInit = params ?. onInit ;
316317
317318 const prevInstanceRef = useRef < {
318- instance : ViewModelInstance | null ;
319+ instance : ViewModelInstance | null | undefined ;
319320 needsDispose : boolean ;
320321 } | null > ( null ) ;
321322
@@ -372,5 +373,8 @@ export function useViewModelInstance(
372373 if ( result . instance ) {
373374 return { instance : result . instance , error : null } ;
374375 }
376+ if ( result . instance === undefined ) {
377+ return { instance : undefined , error : null } ;
378+ }
375379 return { instance : null , error } ;
376380}
0 commit comments