Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(style): remove any spam on Elysia type constraints #551

Merged
merged 2 commits into from Mar 25, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
108 changes: 30 additions & 78 deletions src/index.ts
Expand Up @@ -107,6 +107,8 @@ import type {
ExcludeElysiaResponse
} from './types'

type AnyElysia = Elysia<any, any, any, any, any, any, any, any> // prettier-ignore

/**
* ### Elysia Server
* Main instance to create web server using Elysia
Expand Down Expand Up @@ -1909,7 +1911,7 @@ export default class Elysia<
error?: {
prototype: Error
}
): Elysia<any, any, any, any, any, any, any, any> {
): AnyElysia {
switch (typeof name) {
case 'string':
// @ts-ignore
Expand Down Expand Up @@ -2253,7 +2255,7 @@ export default class Elysia<

group<
const Prefix extends string,
const NewElysia extends Elysia<any, any, any, any, any, any, any, any>,
const NewElysia extends AnyElysia,
const Input extends InputSchema<
Extract<keyof Definitions['type'], string>
>,
Expand Down Expand Up @@ -2318,13 +2320,9 @@ export default class Elysia<
prefix: string,
schemaOrRun:
| LocalHook<any, any, any, any, any, any>
| ((
group: Elysia<any, any, any, any, any, any, any, any>
) => Elysia<any, any, any, any, any, any, any, any>),
run?: (
group: Elysia<any, any, any, any, any, any, any, any>
) => Elysia<any, any, any, any, any, any, any, any>
): Elysia<any, any, any, any, any, any, any, any> {
| ((group: AnyElysia) => AnyElysia),
run?: (group: AnyElysia) => AnyElysia
): AnyElysia {
const instance = new Elysia({
...(this.config || {}),
prefix: ''
Expand Down Expand Up @@ -2452,7 +2450,7 @@ export default class Elysia<
const LocalSchema extends InputSchema<
Extract<keyof Definitions['type'], string>
>,
const NewElysia extends Elysia<any, any, any, any, any, any, any, any>,
const NewElysia extends AnyElysia,
const Schema extends MergeSchema<
UnwrapRoute<LocalSchema, Definitions['type']>,
Metadata['schema']
Expand Down Expand Up @@ -2488,7 +2486,7 @@ export default class Elysia<
const LocalSchema extends InputSchema<
Extract<keyof Definitions['type'], string>
>,
const NewElysia extends Elysia<any, any, any, any, any, any, any, any>,
const NewElysia extends AnyElysia,
const Schema extends MergeSchema<
UnwrapRoute<LocalSchema, Definitions['type']>,
Metadata['schema']
Expand Down Expand Up @@ -2557,13 +2555,9 @@ export default class Elysia<
guard(
hook:
| LocalHook<any, any, any, any, any, any, any>
| ((
group: Elysia<any, any, any, any, any, any, any, any>
) => Elysia<any, any, any, any, any, any, any, any>),
run?: (
group: Elysia<any, any, any, any, any, any, any, any>
) => Elysia<any, any, any, any, any, any, any, any>
): Elysia<any, any, any, any, any, any, any, any> {
| ((group: AnyElysia) => AnyElysia),
run?: (group: AnyElysia) => AnyElysia
): AnyElysia {
if (!run) {
if (typeof hook === 'object') {
this.applyMacro(hook)
Expand All @@ -2583,7 +2577,7 @@ export default class Elysia<
return this.guard({}, hook)
}

const instance = new Elysia<any, any, any, any, any, any, any, any>({
const instance: AnyElysia = new Elysia({
...this.config,
prefix: ''
})
Expand Down Expand Up @@ -2654,17 +2648,8 @@ export default class Elysia<
* Inline fn
*/
use<
const NewElysia extends Elysia<any, any, any, any, any, any, any, any>,
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>>
): NewElysia['_scoped'] extends false
Expand Down Expand Up @@ -2697,7 +2682,7 @@ export default class Elysia<
/**
* Entire Instance
**/
use<const NewElysia extends Elysia<any, any, any, any, any, any, any, any>>(
use<const NewElysia extends AnyElysia>(
instance: MaybePromise<NewElysia>
): NewElysia['_scoped'] extends false
? Elysia<
Expand Down Expand Up @@ -2729,11 +2714,9 @@ export default class Elysia<
/**
* Import fn
*/
use<const NewElysia extends Elysia<any, any, any, any, any, any, any, any>>(
use<const NewElysia extends AnyElysia>(
plugin: Promise<{
default: (
elysia: Elysia<any, any, any, any, any, any, any, any>
) => MaybePromise<NewElysia>
default: (elysia: AnyElysia) => MaybePromise<NewElysia>
}>
): NewElysia['_scoped'] extends false
? Elysia<
Expand Down Expand Up @@ -2765,18 +2748,7 @@ export default class Elysia<
/**
* Import entire instance
*/
use<
const LazyLoadElysia extends Elysia<
any,
any,
any,
any,
any,
any,
any,
any
>
>(
use<const LazyLoadElysia extends AnyElysia>(
plugin: Promise<{
default: LazyLoadElysia
}>
Expand Down Expand Up @@ -2824,27 +2796,17 @@ export default class Elysia<
*/
use(
plugin:
| MaybePromise<Elysia<any, any, any, any, any, any, any, any>>
// | Elysia<any, any, any, any, any, any, any, any>[]
| MaybePromise<AnyElysia[]>
| MaybePromise<
(
app: Elysia<any, any, any, any, any, any, any, any>
) => MaybePromise<
Elysia<any, any, any, any, any, any, any, any>
>
AnyElysia | ((app: AnyElysia) => MaybePromise<AnyElysia>)
>
| Promise<{
default: Elysia<any, any, any, any, any, any, any, any>
}>
| Promise<{
default: (
elysia: Elysia<any, any, any, any, any, any, any, any>
) => MaybePromise<
Elysia<any, any, any, any, any, any, any, any>
>
default:
| AnyElysia
| ((app: AnyElysia) => MaybePromise<AnyElysia>)
}>,
options?: { scoped?: boolean }
): Elysia<any, any, any, any, any, any, any, any> {
): AnyElysia {
if (options?.scoped)
return this.guard({}, (app) => app.use(plugin as any))

Expand Down Expand Up @@ -2884,11 +2846,7 @@ export default class Elysia<
}

private _use(
plugin:
| Elysia<any, any, any, any, any, any, any, any>
| ((
app: Elysia<any, any, any, any, any, any, any, any>
) => MaybePromise<Elysia<any, any, any, any, any, any, any, any>>)
plugin: AnyElysia | ((app: AnyElysia) => MaybePromise<AnyElysia>)
) {
if (typeof plugin === 'function') {
const instance = plugin(this as unknown as any) as unknown as any
Expand Down Expand Up @@ -3323,25 +3281,19 @@ export default class Elysia<
}

mount(
handle:
| ((request: Request) => MaybePromise<Response>)
| Elysia<any, any, any, any, any, any, any, any>
handle: ((request: Request) => MaybePromise<Response>) | AnyElysia
): this
mount(
path: string,
handle:
| ((request: Request) => MaybePromise<Response>)
| Elysia<any, any, any, any, any, any, any, any>
handle: ((request: Request) => MaybePromise<Response>) | AnyElysia
): this

mount(
path:
| string
| ((request: Request) => MaybePromise<Response>)
| Elysia<any, any, any, any, any, any, any, any>,
handle?:
| ((request: Request) => MaybePromise<Response>)
| Elysia<any, any, any, any, any, any, any, any>
| AnyElysia,
handle?: ((request: Request) => MaybePromise<Response>) | AnyElysia
) {
if (
path instanceof Elysia ||
Expand Down