mirror of
https://github.com/ArthurDanjou/ui.git
synced 2026-01-18 05:58:07 +01:00
fix(NavigationMenu): improve generic types (#2482)
Co-authored-by: Benjamin Canac <canacb1@gmail.com>
This commit is contained in:
@@ -25,10 +25,13 @@ export type PartialString<T> = {
|
||||
[K in keyof T]?: string
|
||||
}
|
||||
|
||||
export type SelectItems<T> = T[] | T[][]
|
||||
export type SelectItemType<I extends SelectItems<unknown>> = I extends (infer U)[][] ? U : I extends (infer U)[] ? U : never
|
||||
export type MaybeArrayOfArray<T> = T[] | T[][]
|
||||
export type MaybeArrayOfArrayItem<I> = I extends Array<infer T> ? T extends Array<infer U> ? U : T : never
|
||||
|
||||
export type SelectModelValue<T, V, M extends boolean = false, DV = T> = (T extends Record<string, any> ? V extends keyof T ? T[V] : DV : T) extends infer U ? M extends true ? U[] : U : never
|
||||
export type SelectItemKey<T> = (T extends Record<string, any> ? keyof T : string)
|
||||
|
||||
export type SelectItemKey<T> = T extends Record<string, any> ? keyof T : string
|
||||
|
||||
export type SelectModelValueEmits<T, V, M extends boolean = false, DV = T> = {
|
||||
'update:modelValue': [payload: SelectModelValue<T, V, M, DV>]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user