@threadplane/coreTypeAliasv0.0.0

DeepReadonly

Unpublished development API. This package is under development and is not available as a published release.

Recursively projects readonly data, mapping unknown to PlainValue, void to undefined, and functions to never.

import type { DeepReadonly } from '@threadplane/core';

Declaration

export type DeepReadonly<T> = unknown extends T ? PlainValue : T extends void ? undefined : T extends string | number | boolean | null | undefined ? T : T extends (...args: never[]) => unknown ? never : T extends object ? {
    readonly [K in keyof T]: DeepReadonly<T[K]>;
} : never;

Type parameters

T