refactor: move to inert handles
This commit is contained in:
@@ -1,12 +1,18 @@
|
||||
import { Ref, WritableComputedRef } from "vue"
|
||||
|
||||
export type Handle<T, InvalidateReason = unknown> = {
|
||||
get: () => HandleRef<T, InvalidateReason>
|
||||
}
|
||||
|
||||
export type HandleRef<T, InvalidateReason = unknown> = Ref<
|
||||
{ type: "ok"; data: T } | { type: "invalid"; reason: InvalidateReason }
|
||||
HandleState<T, InvalidateReason>
|
||||
>
|
||||
|
||||
export type HandleState<T, InvalidateReason> =
|
||||
| { type: "ok"; data: T }
|
||||
| { type: "invalid"; reason: InvalidateReason }
|
||||
|
||||
export type WritableHandleRef<
|
||||
T,
|
||||
InvalidateReason = unknown,
|
||||
> = WritableComputedRef<
|
||||
{ type: "ok"; data: T } | { type: "invalid"; reason: InvalidateReason }
|
||||
>
|
||||
> = WritableComputedRef<HandleState<T, InvalidateReason>>
|
||||
|
||||
Reference in New Issue
Block a user