Comparing version 1.1.16 to 1.1.17
import { type Elysia } from '.'; | ||
import type { TAnySchema } from '@sinclair/typebox'; | ||
import { type TAnySchema } from '@sinclair/typebox'; | ||
import { Sucrose } from './sucrose'; | ||
@@ -4,0 +4,0 @@ import type { ComposedHandler, Handler, HookContainer, LifeCycleStore, SchemaValidator } from './types'; |
@@ -329,3 +329,3 @@ import type { Elysia } from '.'; | ||
}, Path extends string | undefined = undefined> = Handler<Omit<Route, 'response'> & { | ||
response: MaybePromise<Response | undefined | unknown>; | ||
response: {} extends Route['response'] ? unknown : Route['response']; | ||
}, Singleton & { | ||
@@ -386,4 +386,4 @@ derive: { | ||
resolve: {}; | ||
}> = (context: Prettify<Context<Route, Singleton> & { | ||
response: Route['response']; | ||
}> = (context: Prettify<Omit<Context<Route, Singleton>, 'response'> & { | ||
response: {} extends Route['response'] ? unknown : Route['response'][keyof Route['response']]; | ||
}>) => MaybePromise<void>; | ||
@@ -497,3 +497,3 @@ export type GracefulHandler<in Instance extends Elysia<any, any, any, any, any, any, any, any>> = (data: Instance) => any; | ||
*/ | ||
afterResponse?: MaybeArray<VoidHandler<TypedRoute, Singleton>>; | ||
afterResponse?: MaybeArray<AfterResponseHandler<TypedRoute, Singleton>>; | ||
/** | ||
@@ -500,0 +500,0 @@ * Catch error |
@@ -23,4 +23,5 @@ import type { BunFile } from 'bun'; | ||
from: TSchema; | ||
to(): TSchema; | ||
to(options: Object): TSchema; | ||
excludeRoot?: boolean; | ||
rootOnly?: boolean; | ||
/** | ||
@@ -48,2 +49,3 @@ * Traverse until object is found except root object | ||
export declare const stringToStructureCoercions: () => ReplaceSchemaTypeOptions[]; | ||
export declare const coercePrimitiveRoot: () => ReplaceSchemaTypeOptions[]; | ||
export declare const getCookieValidator: ({ validator, defaultConfig, config, dynamic, models }: { | ||
@@ -189,7 +191,2 @@ validator: TSchema | string | undefined; | ||
export declare const promoteEvent: (events: (HookContainer | Function)[], as?: "scoped" | "global") => void; | ||
type PropertyKeys<T> = { | ||
[K in keyof T]: T[K] extends (...args: any[]) => any ? never : K; | ||
}[keyof T]; | ||
type PropertiesOnly<T> = Pick<T, PropertyKeys<T>>; | ||
export declare const classToObject: <T>(instance: T, processed?: WeakMap<object, object>) => T extends object ? PropertiesOnly<T> : T; | ||
export {}; |
@@ -40,4 +40,4 @@ "use strict"; | ||
checksum: () => checksum, | ||
classToObject: () => classToObject, | ||
cloneInference: () => cloneInference, | ||
coercePrimitiveRoot: () => coercePrimitiveRoot, | ||
createMacroManager: () => createMacroManager, | ||
@@ -905,3 +905,3 @@ deduplicateChecksum: () => deduplicateChecksum, | ||
const { anyOf, oneOf, allOf, not, properties: properties2, items, ...rest } = schema; | ||
const to = options.to(); | ||
const to = options.to(rest); | ||
let transform; | ||
@@ -1011,3 +1011,3 @@ const composeProperties = (v) => { | ||
const properties = schema?.properties; | ||
if (properties) | ||
if (properties && root && options.rootOnly !== true) | ||
for (const [key, value] of Object.entries(properties)) { | ||
@@ -1017,3 +1017,3 @@ switch (value[import_typebox3.Kind]) { | ||
const { anyOf, oneOf, allOf, not, type, ...rest } = value; | ||
const to = options.to(); | ||
const to = options.to(rest); | ||
if (to.anyOf) | ||
@@ -1071,16 +1071,23 @@ for (let i = 0; i < to.anyOf.length; i++) | ||
let schema = typeof s === "string" ? models[s] : s; | ||
if (coerce) | ||
schema = replaceSchemaType(schema, [ | ||
{ | ||
from: t.Number(), | ||
to: () => t.Numeric(), | ||
untilObjectFound: true | ||
}, | ||
{ | ||
from: t.Boolean(), | ||
to: () => t.BooleanString(), | ||
untilObjectFound: true | ||
}, | ||
...Array.isArray(additionalCoerce) ? additionalCoerce : [additionalCoerce] | ||
]); | ||
if (coerce || additionalCoerce) { | ||
if (coerce) | ||
schema = replaceSchemaType(schema, [ | ||
{ | ||
from: t.Number(), | ||
to: (options) => t.Numeric(options), | ||
untilObjectFound: true | ||
}, | ||
{ | ||
from: t.Boolean(), | ||
to: (options) => t.BooleanString(options), | ||
untilObjectFound: true | ||
}, | ||
...Array.isArray(additionalCoerce) ? additionalCoerce : [additionalCoerce] | ||
]); | ||
else { | ||
schema = replaceSchemaType(schema, [ | ||
...Array.isArray(additionalCoerce) ? additionalCoerce : [additionalCoerce] | ||
]); | ||
} | ||
} | ||
if (schema.type === "object" && "additionalProperties" in schema === false) | ||
@@ -1245,2 +1252,19 @@ schema.additionalProperties = additionalProperties; | ||
}; | ||
var _coercePrimitiveRoot; | ||
var coercePrimitiveRoot = () => { | ||
if (!_coercePrimitiveRoot) | ||
_coercePrimitiveRoot = [ | ||
{ | ||
from: t.Number(), | ||
to: (options) => t.Numeric(options), | ||
rootOnly: true | ||
}, | ||
{ | ||
from: t.Boolean(), | ||
to: (options) => t.BooleanString(options), | ||
rootOnly: true | ||
} | ||
]; | ||
return _coercePrimitiveRoot; | ||
}; | ||
var getCookieValidator = ({ | ||
@@ -1712,33 +1736,2 @@ validator, | ||
}; | ||
var classToObject = (instance, processed = /* @__PURE__ */ new WeakMap()) => { | ||
if (typeof instance !== "object" || instance === null) | ||
return instance; | ||
if (Array.isArray(instance)) | ||
return instance.map((x) => classToObject(x, processed)); | ||
if (processed.has(instance)) return processed.get(instance); | ||
const result = {}; | ||
for (const key of Object.keys(instance)) { | ||
const value = instance[key]; | ||
if (typeof value === "object" && value !== null) | ||
result[key] = classToObject(value, processed); | ||
else result[key] = value; | ||
} | ||
const prototype = Object.getPrototypeOf(instance); | ||
if (!prototype) return result; | ||
const properties = Object.getOwnPropertyNames(prototype); | ||
for (const property of properties) { | ||
const descriptor = Object.getOwnPropertyDescriptor( | ||
Object.getPrototypeOf(instance), | ||
property | ||
); | ||
if (descriptor && typeof descriptor.get === "function") { | ||
if (property === "__proto__") continue; | ||
console.log(property); | ||
result[property] = classToObject( | ||
instance[property] | ||
); | ||
} | ||
} | ||
return result; | ||
}; | ||
// Annotate the CommonJS export names for ESM import in node: | ||
@@ -1753,4 +1746,4 @@ 0 && (module.exports = { | ||
checksum, | ||
classToObject, | ||
cloneInference, | ||
coercePrimitiveRoot, | ||
createMacroManager, | ||
@@ -1757,0 +1750,0 @@ deduplicateChecksum, |
import { type Elysia } from '.'; | ||
import type { TAnySchema } from '@sinclair/typebox'; | ||
import { type TAnySchema } from '@sinclair/typebox'; | ||
import { Sucrose } from './sucrose'; | ||
@@ -4,0 +4,0 @@ import type { ComposedHandler, Handler, HookContainer, LifeCycleStore, SchemaValidator } from './types'; |
@@ -329,3 +329,3 @@ import type { Elysia } from '.'; | ||
}, Path extends string | undefined = undefined> = Handler<Omit<Route, 'response'> & { | ||
response: MaybePromise<Response | undefined | unknown>; | ||
response: {} extends Route['response'] ? unknown : Route['response']; | ||
}, Singleton & { | ||
@@ -386,4 +386,4 @@ derive: { | ||
resolve: {}; | ||
}> = (context: Prettify<Context<Route, Singleton> & { | ||
response: Route['response']; | ||
}> = (context: Prettify<Omit<Context<Route, Singleton>, 'response'> & { | ||
response: {} extends Route['response'] ? unknown : Route['response'][keyof Route['response']]; | ||
}>) => MaybePromise<void>; | ||
@@ -497,3 +497,3 @@ export type GracefulHandler<in Instance extends Elysia<any, any, any, any, any, any, any, any>> = (data: Instance) => any; | ||
*/ | ||
afterResponse?: MaybeArray<VoidHandler<TypedRoute, Singleton>>; | ||
afterResponse?: MaybeArray<AfterResponseHandler<TypedRoute, Singleton>>; | ||
/** | ||
@@ -500,0 +500,0 @@ * Catch error |
@@ -23,4 +23,5 @@ import type { BunFile } from 'bun'; | ||
from: TSchema; | ||
to(): TSchema; | ||
to(options: Object): TSchema; | ||
excludeRoot?: boolean; | ||
rootOnly?: boolean; | ||
/** | ||
@@ -48,2 +49,3 @@ * Traverse until object is found except root object | ||
export declare const stringToStructureCoercions: () => ReplaceSchemaTypeOptions[]; | ||
export declare const coercePrimitiveRoot: () => ReplaceSchemaTypeOptions[]; | ||
export declare const getCookieValidator: ({ validator, defaultConfig, config, dynamic, models }: { | ||
@@ -189,7 +191,2 @@ validator: TSchema | string | undefined; | ||
export declare const promoteEvent: (events: (HookContainer | Function)[], as?: "scoped" | "global") => void; | ||
type PropertyKeys<T> = { | ||
[K in keyof T]: T[K] extends (...args: any[]) => any ? never : K; | ||
}[keyof T]; | ||
type PropertiesOnly<T> = Pick<T, PropertyKeys<T>>; | ||
export declare const classToObject: <T>(instance: T, processed?: WeakMap<object, object>) => T extends object ? PropertiesOnly<T> : T; | ||
export {}; |
{ | ||
"name": "elysia", | ||
"description": "Ergonomic Framework for Human", | ||
"version": "1.1.16", | ||
"version": "1.1.17", | ||
"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 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 not supported yet
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 not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
2640835
56274