diff --git a/src/util/class.ts b/src/util/class.ts index 616f709..a228590 100644 --- a/src/util/class.ts +++ b/src/util/class.ts @@ -1,69 +1,6 @@ -import { AbstractClass, Class as ConcreteClass } from "type-fest" +import { AbstractClass } from "type-fest" -/** - * Represents the possible types of a class. - */ -export type ClassType = "AbstractClass" | "Class" - -/** - * Represents a class based on the specified type. - * @template Type - The type of the class ("AbstractClass" or "Class"). - * @template T - The type parameter of the class. - * @template Arguments - The type of arguments the class constructor takes. - */ -export type Class< - Type extends ClassType, - T, - Arguments extends unknown[] = any[], -> = ( - Type extends "AbstractClass" - ? AbstractClass - : Type extends "Class" - ? ConcreteClass - : never -) - -/** - * Gets the type of a class (either "Class" or "AbstractClass"). - * @template C - The class type to determine. - */ -export type GetClassType = ( - C extends ConcreteClass - ? "Class" - : C extends AbstractClass - ? "AbstractClass" - : never -) - -/** - * Represents an array of instances corresponding to the provided classes. - * @template Classes - An array of classes extending AbstractClass. - */ -export type ClassesInstances[]> = ( - Classes extends [infer Class, ...infer Rest] - ? Class extends AbstractClass - ? Rest extends AbstractClass[] - ? [InstanceType, ...ClassesInstances] - : never - : never - : [] -) - -/** - * Represents an intersection of instances of the provided classes. - * @template Classes - An array of classes extending AbstractClass. - */ -export type ClassesInstancesIntersection[]> = ( - Classes extends [infer Class, ...infer Rest] - ? Class extends AbstractClass - ? Rest extends AbstractClass[] - ? InstanceType & ClassesInstancesIntersection - : never - : never - : {} -) - /** * Represents the static members of a class. * @template Class - A class extending AbstractClass. @@ -71,31 +8,3 @@ export type ClassesInstancesIntersection> = ( Omit ) - -/** - * Represents an array of static members corresponding to the provided classes. - * @template Classes - An array of classes extending AbstractClass. - */ -export type ClassesStaticMembers[]> = ( - Classes extends [infer Class, ...infer Rest] - ? Class extends AbstractClass - ? Rest extends AbstractClass[] - ? [StaticMembers, ...ClassesStaticMembers] - : never - : never - : [] -) - -/** - * Represents an intersection of static members of the provided classes. - * @template Classes - An array of classes extending AbstractClass. - */ -export type ClassesStaticMembersIntersection[]> = ( - Classes extends [infer Class, ...infer Rest] - ? Class extends AbstractClass - ? Rest extends AbstractClass[] - ? StaticMembers & ClassesStaticMembersIntersection - : never - : never - : {} -) diff --git a/src/util/misc.ts b/src/util/misc.ts deleted file mode 100644 index f381be2..0000000 --- a/src/util/misc.ts +++ /dev/null @@ -1,3 +0,0 @@ -export function identity(value: T) { - return value -}