refactor: move type utils to shared
This commit is contained in:
@@ -12,6 +12,7 @@ export * from './domAttrConfig'
|
||||
export * from './escapeHtml'
|
||||
export * from './looseEqual'
|
||||
export * from './toDisplayString'
|
||||
export * from './typeUtils'
|
||||
|
||||
export const EMPTY_OBJ: { readonly [key: string]: any } = __DEV__
|
||||
? Object.freeze({})
|
||||
|
||||
10
packages/shared/src/typeUtils.ts
Normal file
10
packages/shared/src/typeUtils.ts
Normal file
@@ -0,0 +1,10 @@
|
||||
export type UnionToIntersection<U> = (
|
||||
U extends any ? (k: U) => void : never
|
||||
) extends (k: infer I) => void
|
||||
? I
|
||||
: never
|
||||
|
||||
// make keys required but keep undefined values
|
||||
export type LooseRequired<T> = { [P in string & keyof T]: T[P] }
|
||||
|
||||
export type IfAny<T, Y, N> = 0 extends (1 & T) ? Y : N
|
||||
Reference in New Issue
Block a user