type-fest icon indicating copy to clipboard operation
type-fest copied to clipboard

A collection of essential TypeScript types

Results 242 type-fest issues
Sort by recently updated
recently updated
newest added

Context: https://stackoverflow.com/q/60737502 ```js const obj = {first: 'First Name', last: 'Last Name'}; type Keys = keyof typeof obj; // first | last ``` ```js const map = new Map([ [first,...

help wanted
type addition

I'm looking for something similar to `RequireAtleastOne`, however I don't want it to be required. Say I have two fields that should be mutually exclusive, but at the same time...

I needed to find out what keys that are assignable and remove all keys but those, but found no way in `type-fest` or stock `typescript`, but did stumble upon [this...

help wanted
type addition

See https://github.com/sindresorhus/type-fest/pull/94 for the initial attempt.

help wanted
type addition

Would allow to easily modify all the keys of an interface by appending or prepending the given string: ``` interface Operations { get: () => any update: () => any...

## Environment ```ts { "typescript": "4.2.4", "type-fest": "1.0.2" } ``` ## Problem MergeExclusive is broken when used together with Except or the built-in Omit ## How to reproduce ```ts import...

bug
help wanted

See: [`1af6d4a` (#157)](https://github.com/sindresorhus/type-fest/pull/157/commits/1af6d4a2cb0982ab76f611943d5f9c47a49d7e74#r533532327) `SetOptional` would be renamed to `Optional`. However `Required` already exists, so not sure what to do about that? Can we make it an overload?

Hi, Thanks for the types. I was looking for a type-safe version of `lodash.get` with string paths, and `Get` solves my problem greatly. Is it possible to get a compile...

We've found this type handy in our codebase and thought this would be useful in `type-fest` too. ## Proposal `ArrayItem` extracts the type of the item(s) in the array: ```ts...

# Problem let's say we have these types ```ts type Email = {id: number, type: "Email", email: string} type Phone = {id: number, type: "Phone", phone: string} type ContactInfo= Email...