feat: adding refactoring for repetitive event plugin processing

This commit is contained in:
Jacob Nguyen
2022-05-28 20:29:23 -05:00
parent e69dae92cd
commit 475b0736d5
7 changed files with 59 additions and 27 deletions

View File

@@ -23,10 +23,15 @@ export type SlashOptions = Omit<CommandInteractionOptionResolver, 'getMessage' |
export type Override<T1, T2> = Omit<T1, keyof T2> & T2;
export type DefinitelyDefined<T, K> = T & Override<T, K>;
export type Expand<T> = T extends object ? { [K in keyof T]: Expand<T[K]> } : T;
type Reconstruct<T> = T extends Omit<infer O, infer _> ? O & Reconstruct<O> : T;
type IsOptional<T> = {
[K in keyof T]-?: T[K] extends Required<T>[K] ? false : true;
};
export type UnionToIntersection<T> = (T extends unknown ? (x: T) => unknown : never) extends (
x: infer R,
) => unknown
? R
: never;