Socket
Socket
Sign inDemoInstall

elysia

Package Overview
Dependencies
Maintainers
1
Versions
400
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

elysia - npm Package Compare versions

Comparing version 1.1.0-rc.7 to 1.1.0-rc.8

16

dist/cjs/context.d.ts

@@ -5,3 +5,3 @@ import type { Server } from 'bun';

import { error, type ELYSIA_RESPONSE } from './error';
import type { RouteSchema, Prettify, GetPathParameter, SingletonBase, HTTPHeaders } from './types';
import type { RouteSchema, Prettify, ResolvePath, SingletonBase, HTTPHeaders } from './types';
type InvertedStatusMapKey = keyof InvertedStatusMap;

@@ -19,3 +19,3 @@ type WithoutNullableKeys<Type> = {

query: undefined extends Route['query'] ? Record<string, string | string[] | undefined> : Route['query'];
params: undefined extends Route['params'] ? Path extends `${string}/${':' | '*'}${string}` ? Record<GetPathParameter<Path>, string> : never : Route['params'];
params: undefined extends Route['params'] ? Path extends `${string}/${':' | '*'}${string}` ? ResolvePath<Path> : never : Route['params'];
headers: undefined extends Route['headers'] ? Record<string, string | undefined> : Route['headers'];

@@ -66,5 +66,3 @@ cookie: undefined extends Route['cookie'] ? Record<string, Cookie<string | undefined>> : Record<string, Cookie<string | undefined>> & Prettify<WithoutNullableKeys<{

query: undefined extends Route['query'] ? Record<string, string | string[] | undefined> : Route['query'];
params: undefined extends Route['params'] ? Path extends `${string}/${':' | '*'}${string}` ? {
[path in GetPathParameter<Path>]: string;
} : never : Route['params'];
params: undefined extends Route['params'] ? Path extends `${string}/${':' | '*'}${string}` ? ResolvePath<Path> : never : Route['params'];
headers: undefined extends Route['headers'] ? Record<string, string | undefined> : Route['headers'];

@@ -117,5 +115,5 @@ cookie: undefined extends Route['cookie'] ? Record<string, Cookie<string | undefined>> : Record<string, Cookie<string | undefined>> & Prettify<WithoutNullableKeys<{

response?: Route['response'];
} & (Route['response'] extends {
200: unknown;
} ? {
} & ({} extends Route['response'] ? {
error: typeof error;
} : {
error: <const Code extends keyof Route['response'] | InvertedStatusMap[Extract<InvertedStatusMapKey, keyof Route['response']>], const T extends Code extends keyof Route['response'] ? Route['response'][Code] : Code extends keyof StatusMap ? Route['response'][StatusMap[Code]] : never>(code: Code, response: T) => {

@@ -128,4 +126,2 @@ [ELYSIA_RESPONSE]: Code extends keyof StatusMap ? StatusMap[Code] : Code;

};
} : {
error: typeof error;
}) & Singleton['decorator'] & Singleton['derive'] & Singleton['resolve']>;

@@ -132,0 +128,0 @@ export type PreContext<in out Singleton extends SingletonBase = {

@@ -128,2 +128,7 @@ import type { Elysia } from '.';

export type GetPathParameter<Path extends string> = Path extends `${infer A}/${infer B}` ? IsPathParameter<A> | GetPathParameter<B> : IsPathParameter<Path>;
export type ResolvePath<Path extends string> = Prettify<{
[Param in GetPathParameter<Path> as Param extends `${string}?` ? never : Param]: string;
} & {
[Param in GetPathParameter<Path> as Param extends `${infer OptionalParam}?` ? OptionalParam : never]?: string;
}>;
export type Prettify<T> = {

@@ -141,7 +146,11 @@ [K in keyof T]: T[K];

} & {};
type IsBothObject<A, B> = A extends Record<string | number | symbol, unknown> ? B extends Record<string | number | symbol, unknown> ? true : false : false;
export type Reconcile<A extends Object, B extends Object, Override extends boolean = false> = Override extends true ? {
type IsBothObject<A, B> = A extends Record<string | number | symbol, unknown> ? B extends Record<string | number | symbol, unknown> ? IsClass<A> extends false ? IsClass<B> extends false ? true : false : false : false : false;
type IsClass<V> = V extends abstract new (...args: any) => any ? true : false;
export type Reconcile<A extends Object, B extends Object, Override extends boolean = false, Stack extends number[] = []> = Stack['length'] extends 16 ? A : Override extends true ? {
[key in keyof A as key extends keyof B ? never : key]: A[key];
} extends infer Collision ? {} extends Collision ? {
[key in keyof B]: IsBothObject<A[key], B[key]> extends true ? Reconcile<A[key], B[key], Override> : B[key];
[key in keyof B]: IsBothObject<A[key], B[key]> extends true ? Reconcile<A[key], B[key], Override, [
0,
...Stack
]> : B[key];
} : Prettify<Collision & {

@@ -152,3 +161,6 @@ [key in keyof B]: B[key];

} extends infer Collision ? {} extends Collision ? {
[key in keyof A]: IsBothObject<A[key], B[key]> extends true ? Reconcile<A[key], B[key], Override> : A[key];
[key in keyof A]: IsBothObject<A[key], B[key]> extends true ? Reconcile<A[key], B[key], Override, [
0,
...Stack
]> : A[key];
} : Prettify<{

@@ -191,23 +203,2 @@ [key in keyof A]: A[key];

export type UnwrapBodySchema<Schema extends TSchema | string | undefined, Definitions extends Record<string, unknown> = {}> = undefined extends Schema ? unknown : Schema extends TSchema ? Schema extends OptionalField ? Prettify<Partial<Static<Schema>>> | null : StaticDecode<Schema> : Schema extends string ? Definitions extends Record<Schema, infer NamedSchema> ? NamedSchema : Definitions : unknown;
export type SuccessfulResponse<T = unknown> = {
200: T;
} | {
201: T;
} | {
202: T;
} | {
203: T;
} | {
204: T;
} | {
205: T;
} | {
206: T;
} | {
207: T;
} | {
208: T;
} | {
226: T;
};
export interface UnwrapRoute<in out Schema extends InputSchema<any>, in out Definitions extends DefinitionBase['type'] = {}> {

@@ -219,3 +210,5 @@ body: UnwrapBodySchema<Schema['body'], Definitions>;

cookie: UnwrapSchema<Schema['cookie'], Definitions>;
response: Schema['response'] extends TSchema | string ? CoExist<UnwrapSchema<Schema['response'], Definitions>, File, BunFile> : Schema['response'] extends SuccessfulResponse<TAnySchema | string> ? {
response: Schema['response'] extends TSchema | string ? {
200: CoExist<UnwrapSchema<Schema['response'], Definitions>, File, BunFile>;
} : Schema['response'] extends Record<number, TAnySchema | string> ? {
[k in keyof Schema['response']]: CoExist<UnwrapSchema<Schema['response'][k], Definitions>, File, BunFile>;

@@ -271,3 +264,7 @@ } : unknown | void;

cookie: undefined extends A['cookie'] ? B['cookie'] : A['cookie'];
response: undefined extends A['response'] ? B['response'] : A['response'];
response: Prettify<{
[v in keyof A['response']]: A['response'][v];
} & {
[v in keyof Omit<B['response'], keyof A['response']>]: B['response'][v];
}>;
}

@@ -279,3 +276,3 @@ export type Handler<in out Route extends RouteSchema = {}, in out Singleton extends SingletonBase = {

resolve: {};
}, Path extends string = ''> = (context: Context<Route, Singleton, Path>) => Route['response'] extends SuccessfulResponse ? Response | MaybePromise<Route['response'][keyof Route['response']]> : Response | MaybePromise<Route['response']>;
}, Path extends string = ''> = (context: Context<Route, Singleton, Path>) => MaybePromise<{} extends Route['response'] ? unknown : Route['response'][keyof Route['response']]>;
export type Replace<Original, Target, With> = IsAny<Target> extends true ? Original : Original extends Record<string, unknown> ? {

@@ -293,3 +290,3 @@ [K in keyof Original]: Original[K] extends Target ? With : Original[K];

resolve: {};
}, Path extends string = '', MacroContext = {}> = ((context: MacroContext extends Record<string | number | symbol, unknown> ? Prettify<MacroContext & Context<Route, Singleton, Path>> : Context<Route, Singleton, Path>) => Route['response'] extends SuccessfulResponse ? Response | MaybePromise<Route['response'][keyof Route['response']] | {
}, Path extends string = '', MacroContext = {}> = ((context: MacroContext extends Record<string | number | symbol, unknown> ? Prettify<MacroContext & Context<Route, Singleton, Path>> : Context<Route, Singleton, Path>) => Response | MaybePromise<{} extends Route['response'] ? unknown : Route['response'][keyof Route['response']] | {
[Status in keyof Route['response']]: {

@@ -299,3 +296,8 @@ _type: Record<Status, Route['response'][Status]>;

};
}[keyof Route['response']]> : Response | MaybePromise<Route['response']>) | (unknown extends Route['response'] ? string | number | Object : Route['response'] extends SuccessfulResponse ? Route['response'][keyof Route['response']] : Route['response']);
}[keyof Route['response']]>) | ({} extends Route['response'] ? string | number | boolean | Object : Route['response'][keyof Route['response']] | {
[Status in keyof Route['response']]: {
_type: Record<Status, Route['response'][Status]>;
[ELYSIA_RESPONSE]: Status;
};
}[keyof Route['response']]);
export type OptionalHandler<in out Route extends RouteSchema = {}, in out Singleton extends SingletonBase = {

@@ -439,3 +441,3 @@ decorator: {};

} ? Schema : Schema & {
params: undefined extends Schema['params'] ? Record<GetPathParameter<Path>, string> : Schema['params'];
params: undefined extends Schema['params'] ? ResolvePath<Path> : Schema['params'];
}> = (LocalSchema extends {} ? LocalSchema : Isolate<LocalSchema>) & Extension & {

@@ -582,3 +584,3 @@ /**

export type ComposeElysiaResponse<Response, Handle> = Handle extends (...a: any[]) => infer A ? _ComposeElysiaResponse<Response, Replace<Awaited<A>, BunFile, File>> : _ComposeElysiaResponse<Response, Replace<Awaited<Handle>, BunFile, File>>;
type _ComposeElysiaResponse<Response, Handle> = Prettify<unknown extends Response ? {
type _ComposeElysiaResponse<Response, Handle> = Prettify<{} extends Response ? {
200: Exclude<Handle, {

@@ -593,5 +595,3 @@ [ELYSIA_RESPONSE]: any;

} ? Status : never]: ErrorResponse['response'];
} : Response extends SuccessfulResponse ? Response : {
200: Response;
}>;
} : Response>;
export type MergeElysiaInstances<Instances extends Elysia<any, any, any, any, any, any>[] = [], Prefix extends string = '', Scoped extends boolean = false, Singleton extends SingletonBase = {

@@ -598,0 +598,0 @@ decorator: {};

@@ -1604,3 +1604,3 @@ "use strict";

});
var redirect = (url, status = 301) => Response.redirect(url, status);
var redirect = (url, status = 302) => Response.redirect(url, status);
var ELYSIA_FORM_DATA = Symbol("ElysiaFormData");

@@ -1607,0 +1607,0 @@ var ELYSIA_REQUEST_ID = Symbol("ElysiaRequestId");

@@ -5,3 +5,3 @@ import type { Server } from 'bun';

import { error, type ELYSIA_RESPONSE } from './error';
import type { RouteSchema, Prettify, GetPathParameter, SingletonBase, HTTPHeaders } from './types';
import type { RouteSchema, Prettify, ResolvePath, SingletonBase, HTTPHeaders } from './types';
type InvertedStatusMapKey = keyof InvertedStatusMap;

@@ -19,3 +19,3 @@ type WithoutNullableKeys<Type> = {

query: undefined extends Route['query'] ? Record<string, string | string[] | undefined> : Route['query'];
params: undefined extends Route['params'] ? Path extends `${string}/${':' | '*'}${string}` ? Record<GetPathParameter<Path>, string> : never : Route['params'];
params: undefined extends Route['params'] ? Path extends `${string}/${':' | '*'}${string}` ? ResolvePath<Path> : never : Route['params'];
headers: undefined extends Route['headers'] ? Record<string, string | undefined> : Route['headers'];

@@ -66,5 +66,3 @@ cookie: undefined extends Route['cookie'] ? Record<string, Cookie<string | undefined>> : Record<string, Cookie<string | undefined>> & Prettify<WithoutNullableKeys<{

query: undefined extends Route['query'] ? Record<string, string | string[] | undefined> : Route['query'];
params: undefined extends Route['params'] ? Path extends `${string}/${':' | '*'}${string}` ? {
[path in GetPathParameter<Path>]: string;
} : never : Route['params'];
params: undefined extends Route['params'] ? Path extends `${string}/${':' | '*'}${string}` ? ResolvePath<Path> : never : Route['params'];
headers: undefined extends Route['headers'] ? Record<string, string | undefined> : Route['headers'];

@@ -117,5 +115,5 @@ cookie: undefined extends Route['cookie'] ? Record<string, Cookie<string | undefined>> : Record<string, Cookie<string | undefined>> & Prettify<WithoutNullableKeys<{

response?: Route['response'];
} & (Route['response'] extends {
200: unknown;
} ? {
} & ({} extends Route['response'] ? {
error: typeof error;
} : {
error: <const Code extends keyof Route['response'] | InvertedStatusMap[Extract<InvertedStatusMapKey, keyof Route['response']>], const T extends Code extends keyof Route['response'] ? Route['response'][Code] : Code extends keyof StatusMap ? Route['response'][StatusMap[Code]] : never>(code: Code, response: T) => {

@@ -128,4 +126,2 @@ [ELYSIA_RESPONSE]: Code extends keyof StatusMap ? StatusMap[Code] : Code;

};
} : {
error: typeof error;
}) & Singleton['decorator'] & Singleton['derive'] & Singleton['resolve']>;

@@ -132,0 +128,0 @@ export type PreContext<in out Singleton extends SingletonBase = {

@@ -128,2 +128,7 @@ import type { Elysia } from '.';

export type GetPathParameter<Path extends string> = Path extends `${infer A}/${infer B}` ? IsPathParameter<A> | GetPathParameter<B> : IsPathParameter<Path>;
export type ResolvePath<Path extends string> = Prettify<{
[Param in GetPathParameter<Path> as Param extends `${string}?` ? never : Param]: string;
} & {
[Param in GetPathParameter<Path> as Param extends `${infer OptionalParam}?` ? OptionalParam : never]?: string;
}>;
export type Prettify<T> = {

@@ -141,7 +146,11 @@ [K in keyof T]: T[K];

} & {};
type IsBothObject<A, B> = A extends Record<string | number | symbol, unknown> ? B extends Record<string | number | symbol, unknown> ? true : false : false;
export type Reconcile<A extends Object, B extends Object, Override extends boolean = false> = Override extends true ? {
type IsBothObject<A, B> = A extends Record<string | number | symbol, unknown> ? B extends Record<string | number | symbol, unknown> ? IsClass<A> extends false ? IsClass<B> extends false ? true : false : false : false : false;
type IsClass<V> = V extends abstract new (...args: any) => any ? true : false;
export type Reconcile<A extends Object, B extends Object, Override extends boolean = false, Stack extends number[] = []> = Stack['length'] extends 16 ? A : Override extends true ? {
[key in keyof A as key extends keyof B ? never : key]: A[key];
} extends infer Collision ? {} extends Collision ? {
[key in keyof B]: IsBothObject<A[key], B[key]> extends true ? Reconcile<A[key], B[key], Override> : B[key];
[key in keyof B]: IsBothObject<A[key], B[key]> extends true ? Reconcile<A[key], B[key], Override, [
0,
...Stack
]> : B[key];
} : Prettify<Collision & {

@@ -152,3 +161,6 @@ [key in keyof B]: B[key];

} extends infer Collision ? {} extends Collision ? {
[key in keyof A]: IsBothObject<A[key], B[key]> extends true ? Reconcile<A[key], B[key], Override> : A[key];
[key in keyof A]: IsBothObject<A[key], B[key]> extends true ? Reconcile<A[key], B[key], Override, [
0,
...Stack
]> : A[key];
} : Prettify<{

@@ -191,23 +203,2 @@ [key in keyof A]: A[key];

export type UnwrapBodySchema<Schema extends TSchema | string | undefined, Definitions extends Record<string, unknown> = {}> = undefined extends Schema ? unknown : Schema extends TSchema ? Schema extends OptionalField ? Prettify<Partial<Static<Schema>>> | null : StaticDecode<Schema> : Schema extends string ? Definitions extends Record<Schema, infer NamedSchema> ? NamedSchema : Definitions : unknown;
export type SuccessfulResponse<T = unknown> = {
200: T;
} | {
201: T;
} | {
202: T;
} | {
203: T;
} | {
204: T;
} | {
205: T;
} | {
206: T;
} | {
207: T;
} | {
208: T;
} | {
226: T;
};
export interface UnwrapRoute<in out Schema extends InputSchema<any>, in out Definitions extends DefinitionBase['type'] = {}> {

@@ -219,3 +210,5 @@ body: UnwrapBodySchema<Schema['body'], Definitions>;

cookie: UnwrapSchema<Schema['cookie'], Definitions>;
response: Schema['response'] extends TSchema | string ? CoExist<UnwrapSchema<Schema['response'], Definitions>, File, BunFile> : Schema['response'] extends SuccessfulResponse<TAnySchema | string> ? {
response: Schema['response'] extends TSchema | string ? {
200: CoExist<UnwrapSchema<Schema['response'], Definitions>, File, BunFile>;
} : Schema['response'] extends Record<number, TAnySchema | string> ? {
[k in keyof Schema['response']]: CoExist<UnwrapSchema<Schema['response'][k], Definitions>, File, BunFile>;

@@ -271,3 +264,7 @@ } : unknown | void;

cookie: undefined extends A['cookie'] ? B['cookie'] : A['cookie'];
response: undefined extends A['response'] ? B['response'] : A['response'];
response: Prettify<{
[v in keyof A['response']]: A['response'][v];
} & {
[v in keyof Omit<B['response'], keyof A['response']>]: B['response'][v];
}>;
}

@@ -279,3 +276,3 @@ export type Handler<in out Route extends RouteSchema = {}, in out Singleton extends SingletonBase = {

resolve: {};
}, Path extends string = ''> = (context: Context<Route, Singleton, Path>) => Route['response'] extends SuccessfulResponse ? Response | MaybePromise<Route['response'][keyof Route['response']]> : Response | MaybePromise<Route['response']>;
}, Path extends string = ''> = (context: Context<Route, Singleton, Path>) => MaybePromise<{} extends Route['response'] ? unknown : Route['response'][keyof Route['response']]>;
export type Replace<Original, Target, With> = IsAny<Target> extends true ? Original : Original extends Record<string, unknown> ? {

@@ -293,3 +290,3 @@ [K in keyof Original]: Original[K] extends Target ? With : Original[K];

resolve: {};
}, Path extends string = '', MacroContext = {}> = ((context: MacroContext extends Record<string | number | symbol, unknown> ? Prettify<MacroContext & Context<Route, Singleton, Path>> : Context<Route, Singleton, Path>) => Route['response'] extends SuccessfulResponse ? Response | MaybePromise<Route['response'][keyof Route['response']] | {
}, Path extends string = '', MacroContext = {}> = ((context: MacroContext extends Record<string | number | symbol, unknown> ? Prettify<MacroContext & Context<Route, Singleton, Path>> : Context<Route, Singleton, Path>) => Response | MaybePromise<{} extends Route['response'] ? unknown : Route['response'][keyof Route['response']] | {
[Status in keyof Route['response']]: {

@@ -299,3 +296,8 @@ _type: Record<Status, Route['response'][Status]>;

};
}[keyof Route['response']]> : Response | MaybePromise<Route['response']>) | (unknown extends Route['response'] ? string | number | Object : Route['response'] extends SuccessfulResponse ? Route['response'][keyof Route['response']] : Route['response']);
}[keyof Route['response']]>) | ({} extends Route['response'] ? string | number | boolean | Object : Route['response'][keyof Route['response']] | {
[Status in keyof Route['response']]: {
_type: Record<Status, Route['response'][Status]>;
[ELYSIA_RESPONSE]: Status;
};
}[keyof Route['response']]);
export type OptionalHandler<in out Route extends RouteSchema = {}, in out Singleton extends SingletonBase = {

@@ -439,3 +441,3 @@ decorator: {};

} ? Schema : Schema & {
params: undefined extends Schema['params'] ? Record<GetPathParameter<Path>, string> : Schema['params'];
params: undefined extends Schema['params'] ? ResolvePath<Path> : Schema['params'];
}> = (LocalSchema extends {} ? LocalSchema : Isolate<LocalSchema>) & Extension & {

@@ -582,3 +584,3 @@ /**

export type ComposeElysiaResponse<Response, Handle> = Handle extends (...a: any[]) => infer A ? _ComposeElysiaResponse<Response, Replace<Awaited<A>, BunFile, File>> : _ComposeElysiaResponse<Response, Replace<Awaited<Handle>, BunFile, File>>;
type _ComposeElysiaResponse<Response, Handle> = Prettify<unknown extends Response ? {
type _ComposeElysiaResponse<Response, Handle> = Prettify<{} extends Response ? {
200: Exclude<Handle, {

@@ -593,5 +595,3 @@ [ELYSIA_RESPONSE]: any;

} ? Status : never]: ErrorResponse['response'];
} : Response extends SuccessfulResponse ? Response : {
200: Response;
}>;
} : Response>;
export type MergeElysiaInstances<Instances extends Elysia<any, any, any, any, any, any>[] = [], Prefix extends string = '', Scoped extends boolean = false, Singleton extends SingletonBase = {

@@ -598,0 +598,0 @@ decorator: {};

{
"name": "elysia",
"description": "Ergonomic Framework for Human",
"version": "1.1.0-rc.7",
"version": "1.1.0-rc.8",
"author": {

@@ -6,0 +6,0 @@ "name": "saltyAom",

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc