Sha256: ef4c9ef3ec432ccbf6508f8aa12fbb8b7f4d535c8b484258a3888476de2c6c36

Contents?: true

Size: 1.25 KB

Versions: 28

Compression:

Stored size: 1.25 KB

Contents

/**
Simplifies a type while including and/or excluding certain types from being simplified. Useful to improve type hints shown in editors. And also to transform an interface into a type to aide with assignability.

This type is **experimental** and was introduced as a result of this {@link https://github.com/sindresorhus/type-fest/issues/436 issue}. It should be used with caution.

@internal
@experimental
@see Simplify
@category Object
*/
export type ConditionalSimplify<Type, ExcludeType = never, IncludeType = unknown> = Type extends ExcludeType
	? Type
	: Type extends IncludeType
		? {[TypeKey in keyof Type]: Type[TypeKey]}
		: Type;

/**
Recursively simplifies a type while including and/or excluding certain types from being simplified.

This type is **experimental** and was introduced as a result of this {@link https://github.com/sindresorhus/type-fest/issues/436 issue}. It should be used with caution.

See {@link ConditionalSimplify} for usages and examples.

@internal
@experimental
@category Object
*/
export type ConditionalSimplifyDeep<Type, ExcludeType = never, IncludeType = unknown> = Type extends ExcludeType
	? Type
	: Type extends IncludeType
		? {[TypeKey in keyof Type]: ConditionalSimplifyDeep<Type[TypeKey], ExcludeType, IncludeType>}
		: Type;

Version data entries

28 entries across 28 versions & 2 rubygems

Version Path
clapton-0.0.26 lib/clapton/javascripts/node_modules/type-fest/source/conditional-simplify.d.ts
clapton-0.0.25 lib/clapton/javascripts/node_modules/type-fest/source/conditional-simplify.d.ts
clapton-0.0.24 lib/clapton/javascripts/node_modules/type-fest/source/conditional-simplify.d.ts
clapton-0.0.23 lib/clapton/javascripts/node_modules/type-fest/source/conditional-simplify.d.ts
clapton-0.0.22 lib/clapton/javascripts/node_modules/type-fest/source/conditional-simplify.d.ts
clapton-0.0.21 lib/clapton/javascripts/node_modules/type-fest/source/conditional-simplify.d.ts
clapton-0.0.20 lib/clapton/javascripts/node_modules/type-fest/source/conditional-simplify.d.ts
clapton-0.0.19 lib/clapton/javascripts/node_modules/type-fest/source/conditional-simplify.d.ts
clapton-0.0.18 lib/clapton/javascripts/node_modules/type-fest/source/conditional-simplify.d.ts
clapton-0.0.17 lib/clapton/javascripts/node_modules/type-fest/source/conditional-simplify.d.ts
clapton-0.0.16 lib/clapton/javascripts/node_modules/type-fest/source/conditional-simplify.d.ts
clapton-0.0.15 lib/clapton/javascripts/node_modules/type-fest/source/conditional-simplify.d.ts
clapton-0.0.14 lib/clapton/javascripts/node_modules/type-fest/source/conditional-simplify.d.ts
clapton-0.0.13 lib/clapton/javascripts/node_modules/type-fest/source/conditional-simplify.d.ts
clapton-0.0.12 lib/clapton/javascripts/node_modules/type-fest/source/conditional-simplify.d.ts
clapton-0.0.11 lib/clapton/javascripts/node_modules/type-fest/source/conditional-simplify.d.ts
clapton-0.0.10 lib/clapton/javascripts/node_modules/type-fest/source/conditional-simplify.d.ts
clapton-0.0.9 lib/clapton/javascripts/node_modules/type-fest/source/conditional-simplify.d.ts
clapton-0.0.8 lib/clapton/javascripts/node_modules/type-fest/source/conditional-simplify.d.ts
clapton-0.0.7 lib/clapton/javascripts/node_modules/type-fest/source/conditional-simplify.d.ts