elysia 0.6.21 → 0.6.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bun/index.d.ts +2 -2
- package/dist/bun/index.js +55 -49
- package/dist/bun/index.js.map +8 -6
- package/dist/cjs/index.d.ts +2 -2
- package/dist/cjs/utils.d.ts +2 -2
- package/dist/cjs/utils.js +8 -20
- package/dist/index.d.ts +2 -2
- package/dist/utils.d.ts +2 -2
- package/dist/utils.js +1 -1
- package/package.json +2 -1
package/dist/cjs/index.d.ts
CHANGED
|
@@ -502,10 +502,10 @@ export default class Elysia<BasePath extends string = '', Instance extends Elysi
|
|
|
502
502
|
schema: Instance['schema'];
|
|
503
503
|
meta: Instance['meta'];
|
|
504
504
|
}>;
|
|
505
|
-
decorate<
|
|
505
|
+
decorate<Decorators extends Record<string, unknown>>(name: Decorators): Elysia<BasePath, {
|
|
506
506
|
store: Instance['store'];
|
|
507
507
|
error: Instance['error'];
|
|
508
|
-
request: Reconciliation<Instance['request'],
|
|
508
|
+
request: Reconciliation<Instance['request'], Decorators>;
|
|
509
509
|
schema: Instance['schema'];
|
|
510
510
|
meta: Instance['meta'];
|
|
511
511
|
}>;
|
package/dist/cjs/utils.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { TSchema } from '@sinclair/typebox';
|
|
2
2
|
import { TypeCheck } from '@sinclair/typebox/compiler';
|
|
3
|
-
import type { ElysiaInstance,
|
|
3
|
+
import type { ElysiaInstance, LifeCycleStore, LocalHook, TypedSchema, RegisteredHook, WithArray } from './types';
|
|
4
|
+
export declare const mergeDeep: any;
|
|
4
5
|
export declare const mergeObjectArray: <T>(a: T | T[], b: T | T[]) => T[];
|
|
5
6
|
export declare const mergeHook: (a: LocalHook<any, any> | LifeCycleStore<any>, b: LocalHook<any, any>) => RegisteredHook<any>;
|
|
6
|
-
export declare const mergeDeep: <A extends Object = Object, B extends Object = Object>(target: A, source: B) => DeepMergeTwoTypes<A, B>;
|
|
7
7
|
export declare const getSchemaValidator: (s: TSchema | string | undefined, { models, additionalProperties, dynamic }: {
|
|
8
8
|
models?: Record<string, TSchema> | undefined;
|
|
9
9
|
additionalProperties?: boolean | undefined;
|
package/dist/cjs/utils.js
CHANGED
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.filterGlobalHook = exports.asGlobal = exports.asGlobalHook = exports.mergeLifeCycle = exports.checksum = exports.getResponseSchemaValidator = exports.getSchemaValidator = exports.
|
|
6
|
+
exports.filterGlobalHook = exports.asGlobal = exports.asGlobalHook = exports.mergeLifeCycle = exports.checksum = exports.getResponseSchemaValidator = exports.getSchemaValidator = exports.mergeHook = exports.mergeObjectArray = exports.mergeDeep = void 0;
|
|
4
7
|
const typebox_1 = require("@sinclair/typebox");
|
|
5
8
|
const value_1 = require("@sinclair/typebox/value");
|
|
6
9
|
const compiler_1 = require("@sinclair/typebox/compiler");
|
|
10
|
+
const mergician_1 = __importDefault(require("mergician"));
|
|
11
|
+
exports.mergeDeep = (0, mergician_1.default)({
|
|
12
|
+
appendArrays: true
|
|
13
|
+
});
|
|
7
14
|
const mergeObjectArray = (a, b) => {
|
|
8
15
|
const array = [...(Array.isArray(a) ? a : [a])];
|
|
9
16
|
const checksums = [];
|
|
@@ -36,25 +43,6 @@ const mergeHook = (a, b) => {
|
|
|
36
43
|
};
|
|
37
44
|
};
|
|
38
45
|
exports.mergeHook = mergeHook;
|
|
39
|
-
const isObject = (item) => item && typeof item === 'object' && !Array.isArray(item);
|
|
40
|
-
const mergeDeep = (target, source) => {
|
|
41
|
-
const output = Object.assign({}, target);
|
|
42
|
-
if (isObject(target) && isObject(source)) {
|
|
43
|
-
Object.keys(source).forEach((key) => {
|
|
44
|
-
if (isObject(source[key])) {
|
|
45
|
-
if (!(key in target))
|
|
46
|
-
Object.assign(output, { [key]: source[key] });
|
|
47
|
-
else
|
|
48
|
-
output[key] = (0, exports.mergeDeep)(target[key], source[key]);
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
Object.assign(output, { [key]: source[key] });
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
return output;
|
|
56
|
-
};
|
|
57
|
-
exports.mergeDeep = mergeDeep;
|
|
58
46
|
const getSchemaValidator = (s, { models = {}, additionalProperties = false, dynamic = false }) => {
|
|
59
47
|
if (!s)
|
|
60
48
|
return;
|
package/dist/index.d.ts
CHANGED
|
@@ -502,10 +502,10 @@ export default class Elysia<BasePath extends string = '', Instance extends Elysi
|
|
|
502
502
|
schema: Instance['schema'];
|
|
503
503
|
meta: Instance['meta'];
|
|
504
504
|
}>;
|
|
505
|
-
decorate<
|
|
505
|
+
decorate<Decorators extends Record<string, unknown>>(name: Decorators): Elysia<BasePath, {
|
|
506
506
|
store: Instance['store'];
|
|
507
507
|
error: Instance['error'];
|
|
508
|
-
request: Reconciliation<Instance['request'],
|
|
508
|
+
request: Reconciliation<Instance['request'], Decorators>;
|
|
509
509
|
schema: Instance['schema'];
|
|
510
510
|
meta: Instance['meta'];
|
|
511
511
|
}>;
|
package/dist/utils.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { TSchema } from '@sinclair/typebox';
|
|
2
2
|
import { TypeCheck } from '@sinclair/typebox/compiler';
|
|
3
|
-
import type { ElysiaInstance,
|
|
3
|
+
import type { ElysiaInstance, LifeCycleStore, LocalHook, TypedSchema, RegisteredHook, WithArray } from './types';
|
|
4
|
+
export declare const mergeDeep: any;
|
|
4
5
|
export declare const mergeObjectArray: <T>(a: T | T[], b: T | T[]) => T[];
|
|
5
6
|
export declare const mergeHook: (a: LocalHook<any, any> | LifeCycleStore<any>, b: LocalHook<any, any>) => RegisteredHook<any>;
|
|
6
|
-
export declare const mergeDeep: <A extends Object = Object, B extends Object = Object>(target: A, source: B) => DeepMergeTwoTypes<A, B>;
|
|
7
7
|
export declare const getSchemaValidator: (s: TSchema | string | undefined, { models, additionalProperties, dynamic }: {
|
|
8
8
|
models?: Record<string, TSchema> | undefined;
|
|
9
9
|
additionalProperties?: boolean | undefined;
|
package/dist/utils.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Kind as e}from"@sinclair/typebox";import{Value as r}from"@sinclair/typebox/value";import{TypeCompiler as o}from"@sinclair/typebox/compiler";export const mergeObjectArray=(e,r)=>{let o=[...Array.isArray(e)?e:[e]],
|
|
1
|
+
import{Kind as e}from"@sinclair/typebox";import{Value as r}from"@sinclair/typebox/value";import{TypeCompiler as o}from"@sinclair/typebox/compiler";import a from"mergician";export const mergeDeep=a({appendArrays:!0});export const mergeObjectArray=(e,r)=>{let o=[...Array.isArray(e)?e:[e]],a=[];for(let e of o)e.$elysiaChecksum&&a.push(e.$elysiaChecksum);for(let e of Array.isArray(r)?r:[r])a.includes(e?.$elysiaChecksum)||o.push(e);return o};export const mergeHook=(e,r)=>({body:r?.body??e?.body,headers:r?.headers??e?.headers,params:r?.params??e?.params,query:r?.query??e?.query,response:r?.response??e?.response,type:e?.type||r?.type,detail:mergeDeep(r?.detail??{},e?.detail??{}),parse:mergeObjectArray(e.parse??[],r?.parse??[]),transform:mergeObjectArray(e.transform??[],r?.transform??[]),beforeHandle:mergeObjectArray(e.beforeHandle??[],r?.beforeHandle??[]),afterHandle:mergeObjectArray(e.afterHandle??[],r?.afterHandle??[]),onResponse:mergeObjectArray(e.onResponse??[],r?.onResponse??[]),error:mergeObjectArray(e.error??[],r?.error??[])});export const getSchemaValidator=(e,{models:a={},additionalProperties:t=!1,dynamic:s=!1})=>{if(!e||"string"==typeof e&&!(e in a))return;let n="string"==typeof e?a[e]:e;return("object"===n.type&&"additionalProperties"in n==!1&&(n.additionalProperties=t),s)?{schema:n,references:"",checkFunc:()=>{},code:"",Check:e=>r.Check(n,e),Errors:e=>r.Errors(n,e),Code:()=>""}:o.Compile(n)};export const getResponseSchemaValidator=(a,{models:t={},additionalProperties:s=!1,dynamic:n=!1})=>{if(!a||"string"==typeof a&&!(a in t))return;let l="string"==typeof a?t[a]:a,p=e=>n?{schema:e,references:"",checkFunc:()=>{},code:"",Check:o=>r.Check(e,o),Errors:o=>r.Errors(e,o),Code:()=>""}:o.Compile(e);if(e in l)return{200:p(l)};let i={};return Object.keys(l).forEach(r=>{let o=l[r];if("string"==typeof o){if(o in t){let a=t[o];a.type,i[+r]=e in a?p(a):a}return}"object"===o.type&&"additionalProperties"in o==!1&&(o.additionalProperties=s),i[+r]=e in o?p(o):o}),i};export const checksum=e=>{let r=9;for(let o=0;o<e.length;)r=Math.imul(r^e.charCodeAt(o++),387420489);return r^r>>>9};export const mergeLifeCycle=(e,r,o)=>{let a=e=>(o&&(e.$elysiaChecksum=o),e);return{start:mergeObjectArray(e.start,("start"in r?r.start:[]).map(a)),request:mergeObjectArray(e.request,("request"in r?r.request:[]).map(a)),parse:mergeObjectArray(e.parse,r?.parse??[]).map(a),transform:mergeObjectArray(e.transform,(r?.transform??[]).map(a)),beforeHandle:mergeObjectArray(e.beforeHandle,(r?.beforeHandle??[]).map(a)),afterHandle:mergeObjectArray(e.afterHandle,(r?.afterHandle??[]).map(a)),onResponse:mergeObjectArray(e.onResponse,(r?.onResponse??[]).map(a)),error:mergeObjectArray(e.error,(r?.error??[]).map(a)),stop:mergeObjectArray(e.stop,("stop"in r?r.stop:[]).map(a))}};export const asGlobalHook=(e,r=!0)=>({...e,type:e?.type,detail:e?.detail,parse:asGlobal(e?.parse,r),transform:asGlobal(e?.transform,r),beforeHandle:asGlobal(e?.beforeHandle,r),afterHandle:asGlobal(e?.afterHandle,r),onResponse:asGlobal(e?.onResponse,r),error:asGlobal(e?.error,r)});export const asGlobal=(e,r=!0)=>e?"function"==typeof e?(r?e.$elysiaHookType="global":e.$elysiaHookType=void 0,e):e.map(e=>(r?e.$elysiaHookType="global":e.$elysiaHookType=void 0,e)):e;let t=e=>e?"function"==typeof e?"global"===e.$elysiaHookType?e:void 0:e.filter(e=>"global"===e.$elysiaHookType):e;export const filterGlobalHook=e=>({...e,type:e?.type,detail:e?.detail,parse:t(e?.parse),transform:t(e?.transform),beforeHandle:t(e?.beforeHandle),afterHandle:t(e?.afterHandle),onResponse:t(e?.onResponse),error:t(e?.error)});
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "elysia",
|
|
3
3
|
"description": "Fast, and friendly Bun web framework",
|
|
4
|
-
"version": "0.6.
|
|
4
|
+
"version": "0.6.23",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "saltyAom",
|
|
7
7
|
"url": "https://github.com/SaltyAom",
|
|
@@ -113,6 +113,7 @@
|
|
|
113
113
|
"@sinclair/typebox": "^0.30.4",
|
|
114
114
|
"fast-querystring": "^1.1.2",
|
|
115
115
|
"memoirist": "0.1.4",
|
|
116
|
+
"mergician": "^1.1.0",
|
|
116
117
|
"openapi-types": "^12.1.3"
|
|
117
118
|
},
|
|
118
119
|
"devDependencies": {
|