From da35a421af90b688b9c570ce517c4758f4d0dc74 Mon Sep 17 00:00:00 2001 From: Alec Larson <1925840+aleclarson@users.noreply.github.com> Date: Sun, 17 Mar 2024 17:44:26 -0400 Subject: [PATCH] chore(style): remove `any` spam on Elysia type constraints --- src/index.ts | 113 ++++++++++++++------------------------------------- 1 file changed, 31 insertions(+), 82 deletions(-) diff --git a/src/index.ts b/src/index.ts index 10d43a38..22ac600e 100644 --- a/src/index.ts +++ b/src/index.ts @@ -102,6 +102,8 @@ import type { EphemeralType } from './types' +type AnyElysia = Elysia // prettier-ignore + /** * ### Elysia Server * Main instance to create web server using Elysia @@ -1886,7 +1888,7 @@ export default class Elysia< error?: { prototype: Error } - ): Elysia { + ): AnyElysia { switch (typeof name) { case 'string': // @ts-ignore @@ -2146,10 +2148,7 @@ export default class Elysia< return this } - group< - const Prefix extends string, - const NewElysia extends Elysia - >( + group( prefix: Prefix, run: ( group: Elysia< @@ -2176,7 +2175,7 @@ export default class Elysia< group< const Prefix extends string, - const NewElysia extends Elysia, + const NewElysia extends AnyElysia, const Input extends InputSchema< Extract >, @@ -2241,13 +2240,9 @@ export default class Elysia< prefix: string, schemaOrRun: | LocalHook - | (( - group: Elysia - ) => Elysia), - run?: ( - group: Elysia - ) => Elysia - ): Elysia { + | ((group: AnyElysia) => AnyElysia), + run?: (group: AnyElysia) => AnyElysia + ): AnyElysia { const instance = new Elysia({ ...(this.config || {}), prefix: '' @@ -2375,7 +2370,7 @@ export default class Elysia< const LocalSchema extends InputSchema< Extract >, - const NewElysia extends Elysia, + const NewElysia extends AnyElysia, const Schema extends MergeSchema< UnwrapRoute, Metadata['schema'] @@ -2411,7 +2406,7 @@ export default class Elysia< const LocalSchema extends InputSchema< Extract >, - const NewElysia extends Elysia, + const NewElysia extends AnyElysia, const Schema extends MergeSchema< UnwrapRoute, Metadata['schema'] @@ -2480,13 +2475,9 @@ export default class Elysia< guard( hook: | LocalHook - | (( - group: Elysia - ) => Elysia), - run?: ( - group: Elysia - ) => Elysia - ): Elysia { + | ((group: AnyElysia) => AnyElysia), + run?: (group: AnyElysia) => AnyElysia + ): AnyElysia { if (!run) { if (typeof hook === 'object') { this.event = mergeLifeCycle( @@ -2507,7 +2498,7 @@ export default class Elysia< return this.guard({}, hook) } - const instance = new Elysia({ + const instance: AnyElysia = new Elysia({ ...this.config, prefix: '' }) @@ -2569,17 +2560,8 @@ export default class Elysia< * Inline fn */ use< - const NewElysia extends Elysia, - const Param extends Elysia< - any, - any, - any, - any, - any, - any, - any, - any - > = this + const NewElysia extends AnyElysia, + const Param extends AnyElysia = this >( plugin: MaybePromise<(app: Param) => MaybePromise> ): NewElysia['_scoped'] extends false @@ -2612,7 +2594,7 @@ export default class Elysia< /** * Entire Instance **/ - use>( + use( instance: MaybePromise ): NewElysia['_scoped'] extends false ? Elysia< @@ -2644,11 +2626,9 @@ export default class Elysia< /** * Import fn */ - use>( + use( plugin: Promise<{ - default: ( - elysia: Elysia - ) => MaybePromise + default: (elysia: AnyElysia) => MaybePromise }> ): NewElysia['_scoped'] extends false ? Elysia< @@ -2680,18 +2660,7 @@ export default class Elysia< /** * Import entire instance */ - use< - const LazyLoadElysia extends Elysia< - any, - any, - any, - any, - any, - any, - any, - any - > - >( + use( plugin: Promise<{ default: LazyLoadElysia }> @@ -2739,27 +2708,17 @@ export default class Elysia< */ use( plugin: - | MaybePromise> - | Elysia[] + | AnyElysia[] | MaybePromise< - ( - app: Elysia - ) => MaybePromise< - Elysia - > + AnyElysia | ((app: AnyElysia) => MaybePromise) > | Promise<{ - default: Elysia - }> - | Promise<{ - default: ( - elysia: Elysia - ) => MaybePromise< - Elysia - > + default: + | AnyElysia + | ((app: AnyElysia) => MaybePromise) }>, options?: { scoped?: boolean } - ): Elysia { + ): AnyElysia { if (options?.scoped) return this.guard({}, (app) => app.use(plugin as any)) @@ -2805,11 +2764,7 @@ export default class Elysia< } private _use( - plugin: - | Elysia - | (( - app: Elysia - ) => MaybePromise>) + plugin: AnyElysia | ((app: AnyElysia) => MaybePromise) ) { if (typeof plugin === 'function') { const instance = plugin(this as unknown as any) as unknown as any @@ -3243,25 +3198,19 @@ export default class Elysia< } mount( - handle: - | ((request: Request) => MaybePromise) - | Elysia + handle: ((request: Request) => MaybePromise) | AnyElysia ): this mount( path: string, - handle: - | ((request: Request) => MaybePromise) - | Elysia + handle: ((request: Request) => MaybePromise) | AnyElysia ): this mount( path: | string | ((request: Request) => MaybePromise) - | Elysia, - handle?: - | ((request: Request) => MaybePromise) - | Elysia + | AnyElysia, + handle?: ((request: Request) => MaybePromise) | AnyElysia ) { if ( path instanceof Elysia ||