@engjts/nexus 0.1.6 → 0.1.8
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/BENCHMARK_REPORT.md +343 -0
- package/dist/advanced/playground/generatePlaygroundHTML.d.ts.map +1 -1
- package/dist/advanced/playground/generatePlaygroundHTML.js +107 -0
- package/dist/advanced/playground/generatePlaygroundHTML.js.map +1 -1
- package/dist/advanced/playground/playground.d.ts +19 -0
- package/dist/advanced/playground/playground.d.ts.map +1 -1
- package/dist/advanced/playground/playground.js +70 -0
- package/dist/advanced/playground/playground.js.map +1 -1
- package/dist/advanced/playground/types.d.ts +20 -0
- package/dist/advanced/playground/types.d.ts.map +1 -1
- package/dist/cli/templates/generators.d.ts.map +1 -1
- package/dist/cli/templates/generators.js +16 -13
- package/dist/cli/templates/generators.js.map +1 -1
- package/dist/cli/templates/index.js +25 -25
- package/dist/core/application.d.ts +14 -0
- package/dist/core/application.d.ts.map +1 -1
- package/dist/core/application.js +173 -71
- package/dist/core/application.js.map +1 -1
- package/dist/core/context-pool.d.ts +2 -13
- package/dist/core/context-pool.d.ts.map +1 -1
- package/dist/core/context-pool.js +7 -45
- package/dist/core/context-pool.js.map +1 -1
- package/dist/core/context.d.ts +108 -5
- package/dist/core/context.d.ts.map +1 -1
- package/dist/core/context.js +449 -53
- package/dist/core/context.js.map +1 -1
- package/dist/core/index.d.ts +1 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +9 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/middleware.d.ts +6 -0
- package/dist/core/middleware.d.ts.map +1 -1
- package/dist/core/middleware.js +83 -84
- package/dist/core/middleware.js.map +1 -1
- package/dist/core/performance/fast-json.d.ts +149 -0
- package/dist/core/performance/fast-json.d.ts.map +1 -0
- package/dist/core/performance/fast-json.js +473 -0
- package/dist/core/performance/fast-json.js.map +1 -0
- package/dist/core/router/file-router.d.ts +20 -7
- package/dist/core/router/file-router.d.ts.map +1 -1
- package/dist/core/router/file-router.js +41 -13
- package/dist/core/router/file-router.js.map +1 -1
- package/dist/core/router/index.d.ts +6 -0
- package/dist/core/router/index.d.ts.map +1 -1
- package/dist/core/router/index.js +33 -6
- package/dist/core/router/index.js.map +1 -1
- package/dist/core/router/radix-tree.d.ts +4 -1
- package/dist/core/router/radix-tree.d.ts.map +1 -1
- package/dist/core/router/radix-tree.js +7 -3
- package/dist/core/router/radix-tree.js.map +1 -1
- package/dist/core/serializer.d.ts +251 -0
- package/dist/core/serializer.d.ts.map +1 -0
- package/dist/core/serializer.js +290 -0
- package/dist/core/serializer.js.map +1 -0
- package/dist/core/types.d.ts +39 -1
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -2
- package/dist/index.js.map +1 -1
- package/package.json +3 -1
- package/src/advanced/playground/generatePlaygroundHTML.ts +107 -0
- package/src/advanced/playground/playground.ts +225 -145
- package/src/advanced/playground/types.ts +29 -0
- package/src/cli/templates/generators.ts +16 -13
- package/src/cli/templates/index.ts +25 -25
- package/src/core/application.ts +202 -84
- package/src/core/context-pool.ts +8 -56
- package/src/core/context.ts +497 -53
- package/src/core/index.ts +14 -0
- package/src/core/middleware.ts +99 -89
- package/src/core/router/file-router.ts +41 -12
- package/src/core/router/index.ts +213 -180
- package/src/core/router/radix-tree.ts +20 -4
- package/src/core/serializer.ts +397 -0
- package/src/core/types.ts +43 -1
- package/src/index.ts +17 -0
package/dist/core/context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/core/context.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/core/context.ts"],"names":[],"mappings":"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"}
|
package/dist/core/index.d.ts
CHANGED
|
@@ -19,5 +19,6 @@ export { PluginManager, PluginBuilder, definePlugin, createPlugin, type NexusPlu
|
|
|
19
19
|
export { AdapterRegistry, type LoggerAdapter, type CacheAdapter, type SessionAdapter } from './adapter';
|
|
20
20
|
export { BufferPool, StreamUtils } from './performance/buffer-pool';
|
|
21
21
|
export { MiddlewareOptimizer, PerformanceMonitor } from './performance/middleware-optimizer';
|
|
22
|
+
export { createSerializer, createArraySerializer, serialize, serializerRegistry, SerializerRegistry, CommonSchemas, type JSONSchema, type ResponseSchemaConfig, type SerializerFunction, type SerializerOptions } from './serializer';
|
|
22
23
|
export { z } from 'zod';
|
|
23
24
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/core/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,WAAW,EAAE,WAAW,IAAI,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG7E,cAAc,SAAS,CAAC;AAGxB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACnF,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAG3F,OAAO,EACH,kBAAkB,EAClB,MAAM,EACN,IAAI,EACJ,YAAY,EACf,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,OAAO,EACH,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,OAAO,EACZ,KAAK,YAAY,EACjB,KAAK,uBAAuB,EAC5B,KAAK,cAAc,EACtB,MAAM,SAAS,CAAC;AAGjB,OAAO,EACH,aAAa,EACb,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACxB,MAAM,UAAU,CAAC;AAGlB,OAAO,EACH,eAAe,EACf,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,cAAc,EACtB,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAG7F,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,WAAW,EAAE,WAAW,IAAI,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG7E,cAAc,SAAS,CAAC;AAGxB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACnF,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAG3F,OAAO,EACH,kBAAkB,EAClB,MAAM,EACN,IAAI,EACJ,YAAY,EACf,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,OAAO,EACH,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,OAAO,EACZ,KAAK,YAAY,EACjB,KAAK,uBAAuB,EAC5B,KAAK,cAAc,EACtB,MAAM,SAAS,CAAC;AAGjB,OAAO,EACH,aAAa,EACb,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACxB,MAAM,UAAU,CAAC;AAGlB,OAAO,EACH,eAAe,EACf,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,cAAc,EACtB,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAG7F,OAAO,EACH,gBAAgB,EAChB,qBAAqB,EACrB,SAAS,EACT,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,KAAK,UAAU,EACf,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACzB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC"}
|
package/dist/core/index.js
CHANGED
|
@@ -22,7 +22,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
22
22
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
23
23
|
};
|
|
24
24
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
-
exports.z = exports.PerformanceMonitor = exports.MiddlewareOptimizer = exports.StreamUtils = exports.BufferPool = exports.AdapterRegistry = exports.createPlugin = exports.definePlugin = exports.PluginBuilder = exports.PluginManager = exports.createStoreRegistry = exports.RequestStoreRegistry = exports.StoreRegistry = exports.RequestStore = exports.ContextStore = exports.ContextPool = exports.parseBody = exports.ContextImpl = exports.errorHandler = exports.cors = exports.logger = exports.MiddlewareExecutor = exports.useFileRoutes = exports.createFileRouter = exports.FileRouter = exports.Router = exports.createApp = exports.Nexus = exports.Application = void 0;
|
|
25
|
+
exports.z = exports.CommonSchemas = exports.SerializerRegistry = exports.serializerRegistry = exports.serialize = exports.createArraySerializer = exports.createSerializer = exports.PerformanceMonitor = exports.MiddlewareOptimizer = exports.StreamUtils = exports.BufferPool = exports.AdapterRegistry = exports.createPlugin = exports.definePlugin = exports.PluginBuilder = exports.PluginManager = exports.createStoreRegistry = exports.RequestStoreRegistry = exports.StoreRegistry = exports.RequestStore = exports.ContextStore = exports.ContextPool = exports.parseBody = exports.ContextImpl = exports.errorHandler = exports.cors = exports.logger = exports.MiddlewareExecutor = exports.useFileRoutes = exports.createFileRouter = exports.FileRouter = exports.Router = exports.createApp = exports.Nexus = exports.Application = void 0;
|
|
26
26
|
// Application
|
|
27
27
|
var application_1 = require("./application");
|
|
28
28
|
Object.defineProperty(exports, "Application", { enumerable: true, get: function () { return application_1.Application; } });
|
|
@@ -72,6 +72,14 @@ Object.defineProperty(exports, "StreamUtils", { enumerable: true, get: function
|
|
|
72
72
|
var middleware_optimizer_1 = require("./performance/middleware-optimizer");
|
|
73
73
|
Object.defineProperty(exports, "MiddlewareOptimizer", { enumerable: true, get: function () { return middleware_optimizer_1.MiddlewareOptimizer; } });
|
|
74
74
|
Object.defineProperty(exports, "PerformanceMonitor", { enumerable: true, get: function () { return middleware_optimizer_1.PerformanceMonitor; } });
|
|
75
|
+
// Fast JSON Serializer
|
|
76
|
+
var serializer_1 = require("./serializer");
|
|
77
|
+
Object.defineProperty(exports, "createSerializer", { enumerable: true, get: function () { return serializer_1.createSerializer; } });
|
|
78
|
+
Object.defineProperty(exports, "createArraySerializer", { enumerable: true, get: function () { return serializer_1.createArraySerializer; } });
|
|
79
|
+
Object.defineProperty(exports, "serialize", { enumerable: true, get: function () { return serializer_1.serialize; } });
|
|
80
|
+
Object.defineProperty(exports, "serializerRegistry", { enumerable: true, get: function () { return serializer_1.serializerRegistry; } });
|
|
81
|
+
Object.defineProperty(exports, "SerializerRegistry", { enumerable: true, get: function () { return serializer_1.SerializerRegistry; } });
|
|
82
|
+
Object.defineProperty(exports, "CommonSchemas", { enumerable: true, get: function () { return serializer_1.CommonSchemas; } });
|
|
75
83
|
// Re-export Zod for convenience
|
|
76
84
|
var zod_1 = require("zod");
|
|
77
85
|
Object.defineProperty(exports, "z", { enumerable: true, get: function () { return zod_1.z; } });
|
package/dist/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;;;;;;;;;;;;;;;AAEH,cAAc;AACd,6CAA6E;AAApE,0GAAA,WAAW,OAAA;AAAE,oGAAA,WAAW,OAAS;AAAE,wGAAA,SAAS,OAAA;AAErD,aAAa;AACb,0CAAwB;AAExB,SAAS;AACT,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AACf,oDAAmF;AAA1E,yGAAA,UAAU,OAAA;AAAE,+GAAA,gBAAgB,OAAA;AAAE,4GAAA,aAAa,OAAA;AAGpD,aAAa;AACb,2CAKsB;AAJlB,gHAAA,kBAAkB,OAAA;AAClB,oGAAA,MAAM,OAAA;AACN,kGAAA,IAAI,OAAA;AACJ,0GAAA,YAAY,OAAA;AAGhB,UAAU;AACV,qCAAmD;AAA1C,sGAAA,WAAW,OAAA;AAAE,oGAAA,SAAS,OAAA;AAC/B,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AAEpB,mBAAmB;AACnB,iCAaiB;AAZb,qGAAA,YAAY,OAAA;AACZ,qGAAA,YAAY,OAAA;AACZ,sGAAA,aAAa,OAAA;AACb,6GAAA,oBAAoB,OAAA;AACpB,4GAAA,mBAAmB,OAAA;AAUvB,gBAAgB;AAChB,mCAekB;AAdd,uGAAA,aAAa,OAAA;AACb,uGAAA,aAAa,OAAA;AACb,sGAAA,YAAY,OAAA;AACZ,sGAAA,YAAY,OAAA;AAahB,WAAW;AACX,qCAKmB;AAJf,0GAAA,eAAe,OAAA;AAMnB,cAAc;AACd,yDAAoE;AAA3D,yGAAA,UAAU,OAAA;AAAE,0GAAA,WAAW,OAAA;AAChC,2EAA6F;AAApF,2HAAA,mBAAmB,OAAA;AAAE,0HAAA,kBAAkB,OAAA;AAEhD,gCAAgC;AAChC,2BAAwB;AAAf,wFAAA,CAAC,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;;;;;;;;;;;;;;;AAEH,cAAc;AACd,6CAA6E;AAApE,0GAAA,WAAW,OAAA;AAAE,oGAAA,WAAW,OAAS;AAAE,wGAAA,SAAS,OAAA;AAErD,aAAa;AACb,0CAAwB;AAExB,SAAS;AACT,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AACf,oDAAmF;AAA1E,yGAAA,UAAU,OAAA;AAAE,+GAAA,gBAAgB,OAAA;AAAE,4GAAA,aAAa,OAAA;AAGpD,aAAa;AACb,2CAKsB;AAJlB,gHAAA,kBAAkB,OAAA;AAClB,oGAAA,MAAM,OAAA;AACN,kGAAA,IAAI,OAAA;AACJ,0GAAA,YAAY,OAAA;AAGhB,UAAU;AACV,qCAAmD;AAA1C,sGAAA,WAAW,OAAA;AAAE,oGAAA,SAAS,OAAA;AAC/B,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AAEpB,mBAAmB;AACnB,iCAaiB;AAZb,qGAAA,YAAY,OAAA;AACZ,qGAAA,YAAY,OAAA;AACZ,sGAAA,aAAa,OAAA;AACb,6GAAA,oBAAoB,OAAA;AACpB,4GAAA,mBAAmB,OAAA;AAUvB,gBAAgB;AAChB,mCAekB;AAdd,uGAAA,aAAa,OAAA;AACb,uGAAA,aAAa,OAAA;AACb,sGAAA,YAAY,OAAA;AACZ,sGAAA,YAAY,OAAA;AAahB,WAAW;AACX,qCAKmB;AAJf,0GAAA,eAAe,OAAA;AAMnB,cAAc;AACd,yDAAoE;AAA3D,yGAAA,UAAU,OAAA;AAAE,0GAAA,WAAW,OAAA;AAChC,2EAA6F;AAApF,2HAAA,mBAAmB,OAAA;AAAE,0HAAA,kBAAkB,OAAA;AAEhD,uBAAuB;AACvB,2CAWsB;AAVlB,8GAAA,gBAAgB,OAAA;AAChB,mHAAA,qBAAqB,OAAA;AACrB,uGAAA,SAAS,OAAA;AACT,gHAAA,kBAAkB,OAAA;AAClB,gHAAA,kBAAkB,OAAA;AAClB,2GAAA,aAAa,OAAA;AAOjB,gCAAgC;AAChC,2BAAwB;AAAf,wFAAA,CAAC,OAAA"}
|
|
@@ -10,11 +10,17 @@ import { Context, Middleware, Handler, Response, LifecycleHooks } from './types'
|
|
|
10
10
|
export declare class MiddlewareExecutor {
|
|
11
11
|
/**
|
|
12
12
|
* Execute middleware chain with a final handler
|
|
13
|
+
* Optimized: skip recursion when no middleware
|
|
13
14
|
*/
|
|
14
15
|
execute(ctx: Context, middlewares: Middleware[], handler: Handler, deps?: any): Promise<Response>;
|
|
16
|
+
/**
|
|
17
|
+
* Execute handler and normalize response - inlined for performance
|
|
18
|
+
*/
|
|
19
|
+
private executeHandler;
|
|
15
20
|
/**
|
|
16
21
|
* Execute middleware chain with lifecycle hooks
|
|
17
22
|
* This method integrates hooks at the appropriate points in the request lifecycle
|
|
23
|
+
* Optimized to check hooks existence only once
|
|
18
24
|
*/
|
|
19
25
|
executeWithHooks(ctx: Context, middlewares: Middleware[], handler: Handler, hooks: LifecycleHooks, deps?: any): Promise<Response>;
|
|
20
26
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/core/middleware.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAQ,cAAc,EAAE,MAAM,SAAS,CAAC;AAEvF;;;GAGG;AACH,qBAAa,kBAAkB;IAC3B
|
|
1
|
+
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/core/middleware.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAQ,cAAc,EAAE,MAAM,SAAS,CAAC;AAEvF;;;GAGG;AACH,qBAAa,kBAAkB;IAC3B;;;OAGG;IACG,OAAO,CACT,GAAG,EAAE,OAAO,EACZ,WAAW,EAAE,UAAU,EAAE,EACzB,OAAO,EAAE,OAAO,EAChB,IAAI,GAAE,GAAQ,GACf,OAAO,CAAC,QAAQ,CAAC;IA2BpB;;OAEG;YACW,cAAc;IAkB5B;;;;OAIG;IACG,gBAAgB,CAClB,GAAG,EAAE,OAAO,EACZ,WAAW,EAAE,UAAU,EAAE,EACzB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,cAAc,EACrB,IAAI,GAAE,GAAQ,GACf,OAAO,CAAC,QAAQ,CAAC;IA+EpB;;OAEG;IACH,OAAO,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,UAAU;IAmB9C;;OAEG;IACH,OAAO,CAAC,UAAU;CASrB;AAED;;GAEG;AAEH;;GAEG;AACH,wBAAgB,MAAM,IAAI,UAAU,CAgBnC;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,OAAO,GAAE;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACd,GAAG,UAAU,CA4BlB;AAED;;GAEG;AACH,wBAAgB,YAAY,CACxB,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,GACtE,UAAU,CAQZ"}
|
package/dist/core/middleware.js
CHANGED
|
@@ -15,113 +15,112 @@ exports.errorHandler = errorHandler;
|
|
|
15
15
|
class MiddlewareExecutor {
|
|
16
16
|
/**
|
|
17
17
|
* Execute middleware chain with a final handler
|
|
18
|
+
* Optimized: skip recursion when no middleware
|
|
18
19
|
*/
|
|
19
20
|
async execute(ctx, middlewares, handler, deps = {}) {
|
|
21
|
+
const len = middlewares.length;
|
|
22
|
+
// Fast path: no middleware - call handler directly
|
|
23
|
+
if (len === 0) {
|
|
24
|
+
return this.executeHandler(ctx, handler, deps);
|
|
25
|
+
}
|
|
26
|
+
// Single middleware - no recursion needed
|
|
27
|
+
if (len === 1) {
|
|
28
|
+
return middlewares[0](ctx, async (c) => this.executeHandler(c, handler, deps), deps);
|
|
29
|
+
}
|
|
30
|
+
// Multiple middleware - use optimized loop
|
|
20
31
|
let index = 0;
|
|
21
32
|
const next = async (currentCtx) => {
|
|
22
|
-
if (index <
|
|
33
|
+
if (index < len) {
|
|
23
34
|
const middleware = middlewares[index++];
|
|
24
|
-
|
|
25
|
-
// Execute middleware with next function and dependencies
|
|
26
|
-
return await middleware(currentCtx, next, deps);
|
|
27
|
-
}
|
|
28
|
-
catch (error) {
|
|
29
|
-
// Propagate error to be caught by error handler
|
|
30
|
-
throw error;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
// All middleware executed, call final handler
|
|
35
|
-
try {
|
|
36
|
-
const result = await handler(currentCtx, deps);
|
|
37
|
-
// If handler returns an Error, throw it to be caught by error handler
|
|
38
|
-
if (result instanceof Error) {
|
|
39
|
-
// Mark as intentional (returned, not thrown)
|
|
40
|
-
result._isIntentional = true;
|
|
41
|
-
throw result;
|
|
42
|
-
}
|
|
43
|
-
// If handler returns a Response, use it
|
|
44
|
-
if (this.isResponse(result)) {
|
|
45
|
-
return result;
|
|
46
|
-
}
|
|
47
|
-
// Otherwise, wrap in JSON response
|
|
48
|
-
return currentCtx.json(result);
|
|
49
|
-
}
|
|
50
|
-
catch (error) {
|
|
51
|
-
throw error;
|
|
52
|
-
}
|
|
35
|
+
return middleware(currentCtx, next, deps);
|
|
53
36
|
}
|
|
37
|
+
return this.executeHandler(currentCtx, handler, deps);
|
|
54
38
|
};
|
|
55
39
|
return next(ctx);
|
|
56
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* Execute handler and normalize response - inlined for performance
|
|
43
|
+
*/
|
|
44
|
+
async executeHandler(ctx, handler, deps) {
|
|
45
|
+
const result = await handler(ctx, deps);
|
|
46
|
+
// If handler returns an Error, throw it
|
|
47
|
+
if (result instanceof Error) {
|
|
48
|
+
result._isIntentional = true;
|
|
49
|
+
throw result;
|
|
50
|
+
}
|
|
51
|
+
// Fast path: already a Response
|
|
52
|
+
if (result && typeof result === 'object' && 'statusCode' in result && 'body' in result) {
|
|
53
|
+
return result;
|
|
54
|
+
}
|
|
55
|
+
// Wrap in JSON response
|
|
56
|
+
return ctx.json(result);
|
|
57
|
+
}
|
|
57
58
|
/**
|
|
58
59
|
* Execute middleware chain with lifecycle hooks
|
|
59
60
|
* This method integrates hooks at the appropriate points in the request lifecycle
|
|
61
|
+
* Optimized to check hooks existence only once
|
|
60
62
|
*/
|
|
61
63
|
async executeWithHooks(ctx, middlewares, handler, hooks, deps = {}) {
|
|
64
|
+
// Check if we have any hooks at all (optimization)
|
|
65
|
+
const hasHooks = hooks.beforeValidation || hooks.afterValidation ||
|
|
66
|
+
hooks.beforeHandler || hooks.afterHandler;
|
|
67
|
+
// Fast path: no hooks and no middleware
|
|
68
|
+
if (!hasHooks && middlewares.length === 0) {
|
|
69
|
+
return this.executeHandler(ctx, handler, deps);
|
|
70
|
+
}
|
|
71
|
+
// Fast path: no hooks but has middleware
|
|
72
|
+
if (!hasHooks) {
|
|
73
|
+
return this.execute(ctx, middlewares, handler, deps);
|
|
74
|
+
}
|
|
62
75
|
let index = 0;
|
|
76
|
+
const len = middlewares.length;
|
|
63
77
|
const next = async (currentCtx) => {
|
|
64
|
-
if (index <
|
|
78
|
+
if (index < len) {
|
|
65
79
|
const middleware = middlewares[index++];
|
|
66
|
-
|
|
67
|
-
// Execute middleware with next function and dependencies
|
|
68
|
-
return await middleware(currentCtx, next, deps);
|
|
69
|
-
}
|
|
70
|
-
catch (error) {
|
|
71
|
-
throw error;
|
|
72
|
-
}
|
|
80
|
+
return middleware(currentCtx, next, deps);
|
|
73
81
|
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
return hookResult;
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
// TODO: Schema validation happens here (if route has schema)
|
|
84
|
-
// For now, validation is handled in middleware or by the handler itself
|
|
85
|
-
// === HOOK: afterValidation ===
|
|
86
|
-
if (hooks.afterValidation) {
|
|
87
|
-
const hookResult = await hooks.afterValidation(currentCtx);
|
|
88
|
-
if (this.isResponse(hookResult)) {
|
|
89
|
-
return hookResult;
|
|
90
|
-
}
|
|
82
|
+
// All middleware executed, now run handler with hooks
|
|
83
|
+
// === HOOK: beforeValidation ===
|
|
84
|
+
if (hooks.beforeValidation) {
|
|
85
|
+
const hookResult = await hooks.beforeValidation(currentCtx);
|
|
86
|
+
if (hookResult && typeof hookResult === 'object' && 'statusCode' in hookResult) {
|
|
87
|
+
return hookResult;
|
|
91
88
|
}
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
89
|
+
}
|
|
90
|
+
// === HOOK: afterValidation ===
|
|
91
|
+
if (hooks.afterValidation) {
|
|
92
|
+
const hookResult = await hooks.afterValidation(currentCtx);
|
|
93
|
+
if (hookResult && typeof hookResult === 'object' && 'statusCode' in hookResult) {
|
|
94
|
+
return hookResult;
|
|
98
95
|
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
throw result;
|
|
106
|
-
}
|
|
107
|
-
// === HOOK: afterHandler ===
|
|
108
|
-
if (hooks.afterHandler) {
|
|
109
|
-
const transformedResult = await hooks.afterHandler(currentCtx, result);
|
|
110
|
-
if (transformedResult !== undefined) {
|
|
111
|
-
result = transformedResult;
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
// If result is a Response, return it
|
|
115
|
-
if (this.isResponse(result)) {
|
|
116
|
-
return result;
|
|
117
|
-
}
|
|
118
|
-
// Otherwise, wrap in JSON response
|
|
119
|
-
return currentCtx.json(result);
|
|
96
|
+
}
|
|
97
|
+
// === HOOK: beforeHandler ===
|
|
98
|
+
if (hooks.beforeHandler) {
|
|
99
|
+
const hookResult = await hooks.beforeHandler(currentCtx);
|
|
100
|
+
if (hookResult && typeof hookResult === 'object' && 'statusCode' in hookResult) {
|
|
101
|
+
return hookResult;
|
|
120
102
|
}
|
|
121
|
-
|
|
122
|
-
|
|
103
|
+
}
|
|
104
|
+
// Execute the handler with dependencies
|
|
105
|
+
let result = await handler(currentCtx, deps);
|
|
106
|
+
// If handler returns an Error, throw it
|
|
107
|
+
if (result instanceof Error) {
|
|
108
|
+
result._isIntentional = true;
|
|
109
|
+
throw result;
|
|
110
|
+
}
|
|
111
|
+
// === HOOK: afterHandler ===
|
|
112
|
+
if (hooks.afterHandler) {
|
|
113
|
+
const transformedResult = await hooks.afterHandler(currentCtx, result);
|
|
114
|
+
if (transformedResult !== undefined) {
|
|
115
|
+
result = transformedResult;
|
|
123
116
|
}
|
|
124
117
|
}
|
|
118
|
+
// If result is a Response, return it
|
|
119
|
+
if (result && typeof result === 'object' && 'statusCode' in result && 'body' in result) {
|
|
120
|
+
return result;
|
|
121
|
+
}
|
|
122
|
+
// Otherwise, wrap in JSON response
|
|
123
|
+
return currentCtx.json(result);
|
|
125
124
|
};
|
|
126
125
|
return next(ctx);
|
|
127
126
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/core/middleware.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;
|
|
1
|
+
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/core/middleware.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fast JSON Serialization
|
|
3
|
+
*
|
|
4
|
+
* Provides optimized JSON serialization for common response patterns.
|
|
5
|
+
* Inspired by fast-json-stringify but zero dependencies.
|
|
6
|
+
*
|
|
7
|
+
* Key optimizations:
|
|
8
|
+
* 1. Schema-based serialization with pre-compiled serializers
|
|
9
|
+
* 2. Avoids JSON.stringify overhead for simple objects
|
|
10
|
+
* 3. Caches stringified templates for known schemas
|
|
11
|
+
* 4. Fast path for primitives and simple objects
|
|
12
|
+
*/
|
|
13
|
+
export type JsonSchema = {
|
|
14
|
+
type: 'object' | 'array' | 'string' | 'number' | 'boolean' | 'null';
|
|
15
|
+
properties?: Record<string, JsonSchema>;
|
|
16
|
+
items?: JsonSchema;
|
|
17
|
+
required?: string[];
|
|
18
|
+
additionalProperties?: boolean;
|
|
19
|
+
};
|
|
20
|
+
export type Serializer<T = any> = (data: T) => string;
|
|
21
|
+
/**
|
|
22
|
+
* Create a fast serializer from a JSON schema
|
|
23
|
+
* Pre-compiles the serialization logic for maximum performance
|
|
24
|
+
*/
|
|
25
|
+
export declare function createSerializer<T = any>(schema: JsonSchema): Serializer<T>;
|
|
26
|
+
/**
|
|
27
|
+
* Ultra-fast serializers for common response patterns
|
|
28
|
+
* These are hand-optimized for maximum performance
|
|
29
|
+
*/
|
|
30
|
+
export declare const FastSerializers: {
|
|
31
|
+
/**
|
|
32
|
+
* { "message": string }
|
|
33
|
+
* Common for simple JSON responses like "Hello, World!"
|
|
34
|
+
*/
|
|
35
|
+
message: (data: {
|
|
36
|
+
message: string;
|
|
37
|
+
}) => string;
|
|
38
|
+
/**
|
|
39
|
+
* { "echo": string }
|
|
40
|
+
* Common for echo endpoints
|
|
41
|
+
*/
|
|
42
|
+
echo: (data: {
|
|
43
|
+
echo: string;
|
|
44
|
+
}) => string;
|
|
45
|
+
/**
|
|
46
|
+
* { "success": boolean, "data": any }
|
|
47
|
+
* Common API response wrapper
|
|
48
|
+
*/
|
|
49
|
+
successResponse: (data: {
|
|
50
|
+
success: boolean;
|
|
51
|
+
data?: any;
|
|
52
|
+
}) => string;
|
|
53
|
+
/**
|
|
54
|
+
* { "error": string }
|
|
55
|
+
* Common error response
|
|
56
|
+
*/
|
|
57
|
+
error: (data: {
|
|
58
|
+
error: string;
|
|
59
|
+
}) => string;
|
|
60
|
+
/**
|
|
61
|
+
* { "received": any, "processed": boolean }
|
|
62
|
+
* Common for POST echo endpoints
|
|
63
|
+
* OPTIMIZED: Use fast path for nested data
|
|
64
|
+
*/
|
|
65
|
+
received: (data: {
|
|
66
|
+
received: any;
|
|
67
|
+
processed: boolean;
|
|
68
|
+
}) => string;
|
|
69
|
+
};
|
|
70
|
+
/**
|
|
71
|
+
* Smart JSON stringify that uses fast paths when possible
|
|
72
|
+
* Falls back to JSON.stringify for complex objects
|
|
73
|
+
*
|
|
74
|
+
* OPTIMIZED: Now handles arrays efficiently!
|
|
75
|
+
*/
|
|
76
|
+
export declare function fastStringify(data: any): string;
|
|
77
|
+
/**
|
|
78
|
+
* Create a route-specific serializer based on schema
|
|
79
|
+
* Use this in route registration to pre-compile serializers
|
|
80
|
+
*
|
|
81
|
+
* @example
|
|
82
|
+
* ```typescript
|
|
83
|
+
* const serialize = createRouteSerializer({
|
|
84
|
+
* type: 'object',
|
|
85
|
+
* properties: {
|
|
86
|
+
* id: { type: 'number' },
|
|
87
|
+
* name: { type: 'string' },
|
|
88
|
+
* email: { type: 'string' }
|
|
89
|
+
* }
|
|
90
|
+
* });
|
|
91
|
+
*
|
|
92
|
+
* app.get('/user/:id', async (ctx) => {
|
|
93
|
+
* const user = await getUser(ctx.params.id);
|
|
94
|
+
* return {
|
|
95
|
+
* statusCode: 200,
|
|
96
|
+
* headers: { 'Content-Type': 'application/json' },
|
|
97
|
+
* body: serialize(user) // 2-3x faster than JSON.stringify!
|
|
98
|
+
* };
|
|
99
|
+
* });
|
|
100
|
+
* ```
|
|
101
|
+
*/
|
|
102
|
+
export declare function createRouteSerializer<T>(schema: JsonSchema): Serializer<T>;
|
|
103
|
+
declare const _default: {
|
|
104
|
+
createSerializer: typeof createSerializer;
|
|
105
|
+
createRouteSerializer: typeof createRouteSerializer;
|
|
106
|
+
fastStringify: typeof fastStringify;
|
|
107
|
+
FastSerializers: {
|
|
108
|
+
/**
|
|
109
|
+
* { "message": string }
|
|
110
|
+
* Common for simple JSON responses like "Hello, World!"
|
|
111
|
+
*/
|
|
112
|
+
message: (data: {
|
|
113
|
+
message: string;
|
|
114
|
+
}) => string;
|
|
115
|
+
/**
|
|
116
|
+
* { "echo": string }
|
|
117
|
+
* Common for echo endpoints
|
|
118
|
+
*/
|
|
119
|
+
echo: (data: {
|
|
120
|
+
echo: string;
|
|
121
|
+
}) => string;
|
|
122
|
+
/**
|
|
123
|
+
* { "success": boolean, "data": any }
|
|
124
|
+
* Common API response wrapper
|
|
125
|
+
*/
|
|
126
|
+
successResponse: (data: {
|
|
127
|
+
success: boolean;
|
|
128
|
+
data?: any;
|
|
129
|
+
}) => string;
|
|
130
|
+
/**
|
|
131
|
+
* { "error": string }
|
|
132
|
+
* Common error response
|
|
133
|
+
*/
|
|
134
|
+
error: (data: {
|
|
135
|
+
error: string;
|
|
136
|
+
}) => string;
|
|
137
|
+
/**
|
|
138
|
+
* { "received": any, "processed": boolean }
|
|
139
|
+
* Common for POST echo endpoints
|
|
140
|
+
* OPTIMIZED: Use fast path for nested data
|
|
141
|
+
*/
|
|
142
|
+
received: (data: {
|
|
143
|
+
received: any;
|
|
144
|
+
processed: boolean;
|
|
145
|
+
}) => string;
|
|
146
|
+
};
|
|
147
|
+
};
|
|
148
|
+
export default _default;
|
|
149
|
+
//# sourceMappingURL=fast-json.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fast-json.d.ts","sourceRoot":"","sources":["../../../src/core/performance/fast-json.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,MAAM,UAAU,GAAG;IACrB,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxC,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,UAAU,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;AAOtD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAc3E;AAiRD;;;GAGG;AACH,eAAO,MAAM,eAAe;IACxB;;;OAGG;oBACa;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,KAAG,MAAM;IAQ5C;;;OAGG;iBACU;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,KAAG,MAAM;IAQtC;;;OAGG;4BACqB;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,GAAG,CAAA;KAAE,KAAG,MAAM;IAOjE;;;OAGG;kBACW;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,KAAG,MAAM;IAQxC;;;;OAIG;qBACc;QAAE,QAAQ,EAAE,GAAG,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,KAAG,MAAM;CAuBlE,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,CA4D/C;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAE1E;;;;;;QA5KG;;;WAGG;wBACa;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,KAAG,MAAM;QAQ5C;;;WAGG;qBACU;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,KAAG,MAAM;QAQtC;;;WAGG;gCACqB;YAAE,OAAO,EAAE,OAAO,CAAC;YAAC,IAAI,CAAC,EAAE,GAAG,CAAA;SAAE,KAAG,MAAM;QAOjE;;;WAGG;sBACW;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,KAAG,MAAM;QAQxC;;;;WAIG;yBACc;YAAE,QAAQ,EAAE,GAAG,CAAC;YAAC,SAAS,EAAE,OAAO,CAAA;SAAE,KAAG,MAAM;;;AA0HnE,wBAKE"}
|