UNPKG

@angular-devkit/architect

Version:
16 lines (15 loc) 568 B
/** * @license * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.dev/license */ export type DeepReadonly<T> = T extends (infer R)[] ? DeepReadonlyArray<R> : T extends Function ? T : T extends object ? DeepReadonlyObject<T> : T; export type DeepReadonlyArray<T> = Array<DeepReadonly<T>>; export type DeepReadonlyObject<T> = { readonly [P in keyof T]: DeepReadonly<T[P]>; }; export type Readwrite<T> = { -readonly [P in keyof T]: T[P]; };