Sha256: b7a81d9ddd3fcf7d4154b570c3f9d25e5095bcfd95fc2fd33ee89c30d4785f19
Contents?: true
Size: 1.01 KB
Versions: 33
Compression:
Stored size: 1.01 KB
Contents
import {Except} from './except'; import {ConditionalKeys} from './conditional-keys'; /** Exclude keys from a shape that matches the given `Condition`. This is useful when you want to create a new type with a specific set of keys from a shape. For example, you might want to exclude all the primitive properties from a class and form a new shape containing everything but the primitive properties. @example ``` import {Primitive, ConditionalExcept} from 'type-fest'; class Awesome { name: string; successes: number; failures: bigint; run() {} } type ExceptPrimitivesFromAwesome = ConditionalExcept<Awesome, Primitive>; //=> {run: () => void} ``` @example ``` import {ConditionalExcept} from 'type-fest'; interface Example { a: string; b: string | number; c: () => void; d: {}; } type NonStringKeysOnly = ConditionalExcept<Example, string>; //=> {b: string | number; c: () => void; d: {}} ``` @category Utilities */ export type ConditionalExcept<Base, Condition> = Except< Base, ConditionalKeys<Base, Condition> >;
Version data entries
33 entries across 33 versions & 1 rubygems