Category "typescript-generics"

Custom utility types (generic types) for classes `IsClass` of TypeScript

I am trying to create a generic type to make sure the first parameter to be a class. However, the factory function parameter cannot be replaced by a generic typ

How to create generic that extends union type of class programaticaly

I have following the code: const events = { a: ['event1' as const, 'event2' as const], b: ['event3' as const, 'event4' as const], }; class SomeClass<

Differentiating custom Typescript Interfaces that have the same fields

I have a custom interface like this: interface Pointer<T> { id: string } id is a pointer to other data structures, but the id field doesn't contain inf

Typescript: Enforcing property type based on another property value which is a key of a generic

Given the following type: export type MyType = { a: boolean; b: number; } I want to create a type: export type Mapper<T> = { key: keyof T;

Preserve Type Restriction between Generic Variables

Assume that we have some class that has an important generic variable T and another class we have two fields, one wrapped, and one not: class Wrapper<V> {

Typing Object.fromEntries(new FormData(form))

TypeScript newbie here, having problems with Object.fromEntries. I'm trying to pares form and cast its values to something else. For example, given homogeneous

Typescript generics with functions Parameters

I'm trying to open a typescript method using generics. There is an object with methods (the comment indicated different types of function parameters) const emai

Condtional type is not working properly as return type

I'm trying to make a settings system for my desktop app. having a config that includes several settings like add_while_paused, min_chars, and startup_settings (

Return subset of union depending on class in generic function

This is very much like my other question, but this time using classes instead of plain objects. class Error1 extends Error { constructor(message: string, pu

Typescript generic type constraint with conditional type, avoid circular type constraint

Suppose the following example class class X<T> { constructor(readonly t: Extract<'a' | 'b', T>) {} } The point is that the type function Extract

MethodOf type cannot be used to call the method

I would like to dynamically generate some tests, for that I have to call a method with the method name to be called and then all the test setup is done and the

Why am I getting "Type instantiation is excessively deep and possibly infinite"?

Playground link I have these general definitions: type Module<P extends Payloads, C extends Children> = { payloads: P; children: C; }; type Child

TypeScript: Can anyone difference between unknown and any? [duplicate]

I have a type: type Action<I extends unknown[], O> = (...args: I) => Promise<O>; and some test cases: // should be [boolean, s

Generics in typescript object indexers

I've been trying to make a type whose indexer has a return type which is based upon a string literal for the key. export enum Units { Enum = 'enum', Str

Tuple argument type inference in Typescript

Is it possible to achieve the folowing in Typescript: I want the type of state.initial to be deduced as a tuple based on the input to the takeConfig. It would a

Generic type parameter extending type "any" is not of type "any" anymore

I was not able to find an answer to the question why function thisDoesNotWork causes an error. In contrast, function thisWorks transpiles the line anyArgs.whate

TypeScript: Is it possible to safely access nested properties of an object given an array of keys? Can this be done in a type safe and composable way?

I'd like to write a function which gets a value from an object given an array of property keys. It would look something like this: function getValue<O, K ext

How to narrow down the union type of a class generic?

This class holds either a single Item or an array of items Item[], determined by a setting at runtime (this.config.isMultiple). How can I narrow down the class'

TypeScript failes to infer return type of constrained generic function in some cases, why is this happening?

I have this code, which works just fine in a simple case, meaning the "permissionList" const is type inferred, VSCode can suggest me the properties, such as "pe

Typescript: Type 'Promise<void>' is not assignable to type 'void | Destructor'

The editor is showing Type 'Promise' is not assignable to type 'void | Destructor'. for the checkUserLoggedIn() call in useEffect. I can get rid of it by doin