mirror of
https://github.com/m-xlsea/ruoyi-plus-soybean.git
synced 2025-09-24 07:49:47 +08:00
feat(projects): useNaiveTable函数:类型部分
This commit is contained in:
14
src/typings/utils.d.ts
vendored
14
src/typings/utils.d.ts
vendored
@ -1,7 +1,21 @@
|
||||
declare namespace TypeUtil {
|
||||
type Noop = (...args: any) => any;
|
||||
|
||||
type UnionInclude<T, K extends keyof T> = K extends keyof T ? true : false;
|
||||
|
||||
type GetFunArgs<F extends Noop> = F extends (...args: infer P) => any ? P : never;
|
||||
|
||||
type GetFunReturn<F extends Noop> = F extends (...args: any) => infer R ? R : never;
|
||||
|
||||
type FirstOfArray<T extends any[]> = T extends [infer First, ...infer _Rest] ? First : never;
|
||||
|
||||
type LastOfArray<T extends any[]> = T extends [...infer _Rest, infer Last] ? Last : never;
|
||||
|
||||
type ArrayToUnion<T extends any[]> = T extends [infer First, ...infer Rest]
|
||||
? First extends any
|
||||
? Rest extends any[]
|
||||
? FirstOfArray<[First]> | ArrayToUnion<Rest>
|
||||
: [First]
|
||||
: never
|
||||
: never;
|
||||
}
|
||||
|
Reference in New Issue
Block a user