UNPKG

@pashoo2/clean-architecture-boilerplate

Version:
9 lines (8 loc) 493 B
import { TPickReadOnlyProperties } from './common'; import { TPropertySerializable, TSerializableSimple } from './serialization'; export declare type TPickTransferableProperties<C extends Object> = { [K in TPickReadOnlyProperties<C>]: C[K] extends TPropertySerializable | ITransferable | TSerializableSimple ? C[K] : C[K] extends {} ? TPickTransferableProperties<C[K]> : never; }; export interface ITransferable { getTransferableProps(): Readonly<TPickTransferableProperties<this>>; }