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

The readme mentions that there should be a corresponding `IfType` guard for every `IsType` check. > For every `IsT` type (e.g. `IsAny`), there is an associated `IfT` type that can...

help wanted
good first issue
type addition

[playground](https://www.typescriptlang.org/play?#code/C4TwDgpgBAsghmA0hEAeAQnAzhAKuCAPigF4pMd9IoIAPYCAOwBMtYFUBLRgMwgCcoyEFQgAaKAFdGAa0YB7AO6NiAfiEpRUAFxRGEAG4CA3AFgAUKGrwwANTgAbSRAzY8BYmQrvqdBizYbVGk5JUYJbj5BeycfIih1GOctXX0jfjNzCzoweX5gKCtoAEF+fjgQAFFGYH40by0-JlYofgg4ZnlGBxApWQVlAG0AXU8oQcZJAFsAIwEJBoIJ6bn+YeHMnLyCovYwatr6t1ExwZthV0oPCRskl0XIQg3s2lz8woIoAHkZgCsIADGwAOdUucVOMhQ8h45GOBAWcMgg0hIGhsKukHWm1e2w+1AAyhBgTVQQ94l5EdAmgEoITgFxeAIoABJBhTE4JcasiDs+EstmiYY6PSGEwWCwAegAVFKLPBGL0AfIHA5AcBOF02AALOBGKBwRhQAAGTFqnAgWCNUCmRK18mYUEUWs4AK1rSJkn4jDYBv1ZQqUDRcCgAHNOEZDfI-mqAORsMI0SY28ozVVQLBmxghgC0KIgDrA-HkkHyvWRKAkBkcziFYDgnH4WAAdFBcFroEaQSArbtFJwVe7gJ7DcB23joGjR3ACkqVWqNYw44nDk3xeYAGJ5Gi0OBTMBp0fQADeAAEHNwZFAtcBgGAsNoJRLmKKHMWBE2pvIAF79hxwJt5CGEpMNmACq+JPvIAJYBKADqEAzBKABSupwPiAL8JwYDABKABKEBREwAIQBKADir4zI4AD6Pz-ECMG0WqwEkuaWAAD5GoxQJGgAvhIp7nrIV43neD5Pi+b78B+36-v+gHMWBEGdNBcEIchqHoZh2F4QRAhESR5FRtRXHADBNjMWaFocTYvH8WeF7Cbe96Ps+RiviW0k-iqcn8EBIHgZBKnwYhKFVppWE4fhhGMMRZEUcZ0b0RKpTlCAFmYVZRopRUtn6iwUACQ515OWJrkQO576fl5f4Ab5CkBcpMHBepYUYRFOnRbFhmUQ4NGJaZEp0ulrEcXSvFQLOqpAguPoDjqeqjpwbA2qO9otgAcvIDCFDqBRGvBcAyDZeUOvt7QyGNUCdHoW1Xrq0CLcttr2um3DETtEANsuGU+m0N0FEw0wCHAqYQKuWTmCeOAdiCrFWpwMKopIjoGjs8hQL8kgZvqALEVgbCHuOgYwoTcD+r0aKmj9UAABROi6bpLR9g7DsTzNGk2VOsTTACUVorXazA8+DFgnnQu77hAFhGjLFicHuuK7EeXY8VAPBFlMUAxkU2Z8BmMaZHLNQCDwcDvZUO57mmR4WFA6byDawipCsYrmDxa5Kt6BRTAaWGSH+DBYF2pC0+LVsQLoXaoBbEuqoQPOkMQgy21Aj5QAAIvIFr2zafozJwtRk70hZQRaWDcCGgYjmOKK032o5E5EeQ++qXT6lW-Yg6qPMp2HkuDAADMMTbAPIoFgCWADCbi82Ia522nmfZ1gDvQGT+eF3UUAl3j5dZlXzNVrEdcF26uxN-wLcLu39Z-qDPfmHbfeqoMACMw+j+unC0Pms8WM8ENPbY2fhHKAMdw4hyPCvR2KBdCvx4pkIBAMSS9DICZTmLELQ0xATzQeQpsBgJQdHS2ktCCIM1AUeQkhbzUJDj7RgfsA4Wi7NglBPNDbmDTiZLAFgkGBn6uAyWkC4BwIQbwih-C6LEkOJHIhRQ0RRikYIuOIdBgxjgDGCQ78OFp2yiAHh5g+Fk1Sso6AZA1EaK0QAox5Muz4kzCGWRhxUDyJhMYiopjTgDwkOomM1iJHuKqCg9aLt+BONBK4v0JiSEqPMa-KxOiJR7AMXwn2+wYlmJFIoPYNNBgWM0VAd+wx2HiK9taBAXZwloEiWkzxqjfEJLXGnOkKSJE4GBBkkO+hsl0lyQ0wpxTyFlPaXYhxVSXEEDRCMjJpx+m+P8cMokXYQmzAEOMyJ0zY7knGPEgZmQZZGjXCeAE04IAhjyL0EyosTkMHOVvGw1zTl3N6Hox5tyLm0iJBYKUEoXhvB2J8KOZJPApzJNufwLQgghAGOEPooRlBqD2ECykhAU66DBdSFodJgj9DCIiukyKMREDReiOI4LmhsDaB0LoPQ4UwpGJyPRhLwQkoxfQClki1SchMsyk4JK0iuzXLsJlmCsBgkaOymkVLOjdF6NCsIIwxh6NQCK5xwKyEWF2DYWGFpxUeBDsq7VRD1WZF2Dy0VerHgGvJqgc1aqUUassJ8AlFq2UQrYNi+VCKlU2pdfaolhBHWShlHKA0iplRTVbt6O6epfQmlFfzZ6Dp6auhZl6H0hpAls2DGGCMnKgRLgTIDZMXdoAZkwlmXMKB8zbyLCWUA4wUSVmrBAWs9ZGwtjbDDBNRM+wDjaEOL0zNdiTl2hNCN84uhLi5haEWG4twgOZoVISxVRIuQkh5Kqslap+UYIpQKTU1KhTQm1bSUU9IxQMvFXq3CJQmWGplEyuVl2XlXc5cSblJKeW3fJfySkoKHpChpU9kVdJtEvXFIyN7+pmQQA+9iRobJ8QKvZFdIl31lQqlJLd3kd31X-UFI9wGtKgc6leqDfUpEwT0fBjiejcoGgdC+xya6P3lS-Thmqv690NQA6pIDrUSMdQvV1a9lG1QwSGjOhDY1VaTUndGxwDgY0PWdE9VazANpbVU9OY0B0joICtIxvT51LrXQUAUeaqmmYCxenvd6h4vrSb9NACziYgYplVHOqGEBu2HHhojKhKMaiFHRpjbGZtd7Ds+EGV6WY0xUxAN5kB0tZbmHlv8omytRWq3Vg7LWOs9bAANmubgDB+Cm3Np0m2j8c4QCdnoUJmR3aAIkfQxhpyg6ipDtgjJ95CGWTFZ4hOJBiAgObGk3rWzE7jBTovLObBoFr34BvcoW8d5lwrgfQmtc6an0brwZu05r6oU7vfXuGS8EjzHhPAQ08cB-whgvJJS9FurzzgXNbxciy7y223QmR9nAnwbufQ7l9jtt1O3fbuF2tlvw-vIL+P9mC83-iU1rZSQGR06WQKBq8GvwKGcA7raD+oYMG1N8OCcCE6qGzMonlDqFgFoWQdrzOmFdYp9J9HkokncNKdjRRapTHCNEQz-N0ifrhNYhMyACiBEzNUfkqxADedQD0a0spgSRfmP6dogXBRteiul7qyJ2vFfmMHj4jRwwJBvxV4k5JBvynpOm2QbpOS8l6-WOj1JFTjcDZ+rLiAaI0mnGVwM1XnCkktOd5siB7uIA9KJH0yxAzfdtKWQH2nweplLIt+MCP8y7e7KKfstLbyzkfKuZDG5Vf7kIEr88z5wAm8fNeeYH5fzFaAtdSi0goLKTkppFC3FygJBepUJyI1g3LXEtq+iofmKPVEhxfCqf6g-VB+BaypfkqWjSppXKsfjAGXqFVdvlFu+iXD5aELoE3KBF94Dfy0UGQ1wWB4NIaa-2LT0lwLfmwPhEqPwMwKgOWhXBPifoGjTNwMzsALoLgAnDVnbDwHkDTHwolmzOgtJrAYwPAdTmwHakHpEnAdQvHAVCnHbLsLXGQJEolngqnEkiiGiLgFQUTIDpkvQSgvDkwa2OWKiDCLgMMCnC1inGgfwBgRIlgWiDgaKngQQfqGwDnqQfgeQcgewTQSgCHNwYcIwWnBAVmJoZ8JwToZMjCAwe-HwZPqIRYDxEAA) The type of generic is lost. And it's useful when I want to make the result respect the key-value pair instead of a record with union keys-values So, maybe...

bug
help wanted

Create a type that can omit deeply nested properties. Something like this: ``` import { OmitDeep } from 'type-fest'; interface User { id: number; name: string; address: { street: string;...

Consider this simple nested data structure: ```typescript interface Inner { foo: string } interface Outer { bar: Inner } ``` A value of type `Outer` can be losslessly converted to...

Typescript doesn't support arithmetic operators on a type level. I suggest introducing new types for Addition and Subtraction I've semi successfully implemented these types already as they can be seen...

# Short summary Given: - `Type`: Any type Provide: A type that only includes properties from `Type` that don't have a value of type `never`. # Potential definition ```typescript type...

If I want to import `ConditionalSimplifyDeep` I have to do: ```ts import { ConditionalSimplifyDeep } from 'type-fest/source/conditional-simplify' ``` Because `ConditionalSimplifyDeep` is not imported from the root project. If you try...

help wanted
type addition

```ts import type { PartialDeep } from 'type-fest'; export interface TextElement { canvas: HTMLCanvasElement; } const a: PartialDeep = {} as TextElement; ``` ![image](https://github.com/sindresorhus/type-fest/assets/41773861/4e1a243d-c83f-46f7-8f00-1bb2bccbc275) versions: ``` ts: 5.1.6 type-fest: 4.0...

Example: ```ts import {PartialOnUndefinedDeep} from "type-fest" type WithoutSignature = { foo: number bar: number | undefined } // Output1 contains the `foo` property type Output1 = PartialOnUndefinedDeep type WithSignature =...

bug
help wanted