Sha256: 1573cae51ae8a5b889ec55ecb58e88978fe251fd3962efa5c4fdb69ce00b23ba

Contents?: true

Size: 662 Bytes

Versions: 33

Compression:

Stored size: 662 Bytes

Contents

import {OptionalKeysOf} from './optional-keys-of';

/**
Creates a type that represents `true` or `false` depending on whether the given type has any optional fields.

This is useful when you want to create an API whose behavior depends on the presence or absence of optional fields.

@example
```
import type {HasOptionalKeys, OptionalKeysOf} from 'type-fest';

type UpdateService<Entity extends object> = {
	removeField: HasOptionalKeys<Entity> extends true
		? (field: OptionalKeysOf<Entity>) => Promise<void>
		: never
}
```

@category Utilities
*/
export type HasOptionalKeys<BaseType extends object> = OptionalKeysOf<BaseType> extends never ? false : true;

Version data entries

33 entries across 33 versions & 1 rubygems

Version Path
immosquare-cleaner-0.1.60 node_modules/type-fest/source/has-optional-keys.d.ts
immosquare-cleaner-0.1.59 node_modules/type-fest/source/has-optional-keys.d.ts
immosquare-cleaner-0.1.58 node_modules/type-fest/source/has-optional-keys.d.ts
immosquare-cleaner-0.1.57 node_modules/type-fest/source/has-optional-keys.d.ts
immosquare-cleaner-0.1.56 node_modules/type-fest/source/has-optional-keys.d.ts
immosquare-cleaner-0.1.55 node_modules/type-fest/source/has-optional-keys.d.ts
immosquare-cleaner-0.1.54 node_modules/type-fest/source/has-optional-keys.d.ts
immosquare-cleaner-0.1.53 node_modules/type-fest/source/has-optional-keys.d.ts
immosquare-cleaner-0.1.52 node_modules/type-fest/source/has-optional-keys.d.ts
immosquare-cleaner-0.1.51 node_modules/type-fest/source/has-optional-keys.d.ts
immosquare-cleaner-0.1.50 node_modules/type-fest/source/has-optional-keys.d.ts
immosquare-cleaner-0.1.49 node_modules/type-fest/source/has-optional-keys.d.ts
immosquare-cleaner-0.1.48 node_modules/type-fest/source/has-optional-keys.d.ts
immosquare-cleaner-0.1.47 node_modules/type-fest/source/has-optional-keys.d.ts
immosquare-cleaner-0.1.46 node_modules/type-fest/source/has-optional-keys.d.ts
immosquare-cleaner-0.1.45 node_modules/type-fest/source/has-optional-keys.d.ts
immosquare-cleaner-0.1.44 node_modules/type-fest/source/has-optional-keys.d.ts
immosquare-cleaner-0.1.43 node_modules/type-fest/source/has-optional-keys.d.ts
immosquare-cleaner-0.1.42 node_modules/type-fest/source/has-optional-keys.d.ts
immosquare-cleaner-0.1.41 node_modules/type-fest/source/has-optional-keys.d.ts