UNPKG

@typedly/property

Version:

A TypeScript type definitions package to handle object property-related operations.

11 lines (10 loc) 619 B
/** * @description Removes a property from an object type and ensures the final type is partially resolved. * @export * @template {object} Obj The original object type. * @template {keyof Obj} Name The property key name to remove. * @example * const object = { firstName: 'Someone', lastName: 'Someone surname', age: 227 } as const; * type Removed = Remove<typeof object, 'firstName'>; // { readonly lastName: "Someone surname"; readonly age: 227; } */ export type Remove<Obj extends object, Name extends keyof Obj> = Omit<Obj, Name> extends infer Captured ? Captured extends object ? Captured : never : never;