DeepWritable<T>: {
    -readonly [P in keyof T]: T[P] extends TypeName<T[P]>
        ? T[P]
        : T[P] extends Promise<infer InnerPromiseType>
            ? undefined extends InnerPromiseType
                ? InnerPromiseType | null
                : InnerPromiseType
            : T[P] extends AsyncCollection<infer InnerCollectionType>
                ? InnerCollectionType[] | undefined | null
                : DeepWritable<T[P]>
}

Type Parameters

  • T