From e010d7cc06ed806833cd543781c84168b93ffebd Mon Sep 17 00:00:00 2001 From: Chris Sophos <72870724+That-Guy977@users.noreply.github.com> Date: Tue, 2 Jan 2024 01:59:51 +0700 Subject: [PATCH 1/2] [Types] Fix ClassMethodTypes, ClassMethodNames --- TYPES.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/TYPES.md b/TYPES.md index 8504722..5cfa970 100644 --- a/TYPES.md +++ b/TYPES.md @@ -39,7 +39,7 @@ const ClassFactory = (Ctor: T): InstanceType => new Ctor Returns a union of the **public** method types on a class. ```ts export type ClassMethodTypes = { - [K in keyof T]: T[K] extends (...args: unknown[]) => void ? T[K] : never; + [K in keyof T]: T[K] extends (...args: never[]) => void ? T[K] : never; }[keyof T]; /* Usage */ @@ -55,7 +55,7 @@ type MethodTypes = ClassMethodTypes; // (() => void | (param: string) => numb Returns a string union of **public** method names on a class. ```ts export type ClassMethodNames = { - [K in keyof T]: T[K] extends (...args: unknown[]) => void ? K : never; + [K in keyof T]: T[K] extends (...args: never[]) => void ? K : never; }[keyof T]; /* Usage */ From 84c217d2fa412f7ed7a844a09257c31d051e77ac Mon Sep 17 00:00:00 2001 From: Chris Sophos <72870724+That-Guy977@users.noreply.github.com> Date: Thu, 11 Apr 2024 18:22:46 +0700 Subject: [PATCH 2/2] `never[]` => `never` --- TYPES.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/TYPES.md b/TYPES.md index 5cfa970..35a4e7a 100644 --- a/TYPES.md +++ b/TYPES.md @@ -39,7 +39,7 @@ const ClassFactory = (Ctor: T): InstanceType => new Ctor Returns a union of the **public** method types on a class. ```ts export type ClassMethodTypes = { - [K in keyof T]: T[K] extends (...args: never[]) => void ? T[K] : never; + [K in keyof T]: T[K] extends (...args: never) => void ? T[K] : never; }[keyof T]; /* Usage */ @@ -55,7 +55,7 @@ type MethodTypes = ClassMethodTypes; // (() => void | (param: string) => numb Returns a string union of **public** method names on a class. ```ts export type ClassMethodNames = { - [K in keyof T]: T[K] extends (...args: never[]) => void ? K : never; + [K in keyof T]: T[K] extends (...args: never) => void ? K : never; }[keyof T]; /* Usage */