hry-types
Version:
typescript工具类型库
14 lines (11 loc) • 427 B
text/typescript
import type { BuiltIns } from "../_internal/BuiltIns";
// 为了鼠标悬停时为_ReadonlyDeep而非细致的子项(看起来乱)
export type _ReadonlyDeep<O> = {
readonly [k in keyof O]: ReadonlyDeep<O[k]>;
};
/**
* 类型深度readonly,只针对数组和纯对象
*/
export type ReadonlyDeep<O> = unknown extends O ? O
: O extends Function | BuiltIns | Set<unknown> | Map<unknown, unknown> ? O
: _ReadonlyDeep<O>;