Actualizacion maquina principal
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / ansi-escapes / node_modules / type-fest / source / conditional-except.d.ts
diff --git a/.config/coc/extensions/node_modules/coc-prettier/node_modules/ansi-escapes/node_modules/type-fest/source/conditional-except.d.ts b/.config/coc/extensions/node_modules/coc-prettier/node_modules/ansi-escapes/node_modules/type-fest/source/conditional-except.d.ts
new file mode 100644 (file)
index 0000000..ac506cc
--- /dev/null
@@ -0,0 +1,43 @@
+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: {}}
+```
+*/
+export type ConditionalExcept<Base, Condition> = Except<
+       Base,
+       ConditionalKeys<Base, Condition>
+>;