From e7d039f4daec4de6a77755a19353d6b5159e8b3a Mon Sep 17 00:00:00 2001 From: Yuzuru Date: Tue, 6 Jun 2023 14:27:54 -0500 Subject: [PATCH] nuke applyToClass --- packages/common/src/applyToClass.ts | 29 ----------------------------- packages/common/src/index.ts | 1 - 2 files changed, 30 deletions(-) delete mode 100644 packages/common/src/applyToClass.ts diff --git a/packages/common/src/applyToClass.ts b/packages/common/src/applyToClass.ts deleted file mode 100644 index e1a3a82..0000000 --- a/packages/common/src/applyToClass.ts +++ /dev/null @@ -1,29 +0,0 @@ -export function applyToClass< - T extends new ( - ..._args: ConstructorParameters - ) => InstanceType, - U extends new ( - ..._args: ConstructorParameters - ) => InstanceType - // @ts-expect-error ->(structToApply: T, struct: U, ignore?: (keyof T['prototype'])[]) { - const props = Object.getOwnPropertyNames(structToApply.prototype); - for (const prop of props) { - if (ignore?.includes(prop as keyof T) || prop === 'constructor') continue; - Object.defineProperty(struct.prototype, prop, Object.getOwnPropertyDescriptor(structToApply.prototype, prop)!); - } - return struct as unknown as Struct; -} - -// rome-ignore lint/nursery/noBannedTypes: fix applyToClass typing -export type Struct = Final extends new ( - ..._args: never[] -) => infer F - ? ToMix extends new ( - ..._args: never[] - ) => infer TM - ? new ( - ..._args: ConstructorParameters - ) => F & TM - : never - : never; diff --git a/packages/common/src/index.ts b/packages/common/src/index.ts index e200ec3..eee595e 100644 --- a/packages/common/src/index.ts +++ b/packages/common/src/index.ts @@ -2,6 +2,5 @@ export * from './Constants'; export * from './Util'; export * from './Types'; export * from 'discord-api-types/v10'; -export * from './applyToClass'; export * from './Collection'; export * from './Logger';