@morojs/moro 1.6.1 → 1.6.2
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/README.md +74 -256
- package/dist/core/auth/morojs-adapter.js +20 -20
- package/dist/core/auth/morojs-adapter.js.map +1 -1
- package/dist/core/config/config-manager.d.ts +44 -0
- package/dist/core/config/config-manager.js +104 -0
- package/dist/core/config/config-manager.js.map +1 -0
- package/dist/core/config/config-sources.d.ts +21 -0
- package/dist/core/config/config-sources.js +503 -0
- package/dist/core/config/config-sources.js.map +1 -0
- package/dist/core/config/config-validator.d.ts +21 -0
- package/dist/core/config/config-validator.js +791 -0
- package/dist/core/config/config-validator.js.map +1 -0
- package/dist/core/config/file-loader.d.ts +1 -6
- package/dist/core/config/file-loader.js +21 -249
- package/dist/core/config/file-loader.js.map +1 -1
- package/dist/core/config/index.d.ts +41 -12
- package/dist/core/config/index.js +65 -54
- package/dist/core/config/index.js.map +1 -1
- package/dist/core/config/schema.d.ts +2 -2
- package/dist/core/config/schema.js +55 -44
- package/dist/core/config/schema.js.map +1 -1
- package/dist/core/config/utils.d.ts +10 -3
- package/dist/core/config/utils.js +31 -58
- package/dist/core/config/utils.js.map +1 -1
- package/dist/core/database/adapters/drizzle.d.ts +1 -1
- package/dist/core/database/adapters/drizzle.js +18 -11
- package/dist/core/database/adapters/drizzle.js.map +1 -1
- package/dist/core/database/adapters/index.d.ts +7 -7
- package/dist/core/database/adapters/index.js +19 -29
- package/dist/core/database/adapters/index.js.map +1 -1
- package/dist/core/database/adapters/mongodb.d.ts +13 -1
- package/dist/core/database/adapters/mongodb.js +46 -10
- package/dist/core/database/adapters/mongodb.js.map +1 -1
- package/dist/core/database/adapters/mysql.d.ts +14 -1
- package/dist/core/database/adapters/mysql.js +19 -9
- package/dist/core/database/adapters/mysql.js.map +1 -1
- package/dist/core/database/adapters/postgresql.d.ts +12 -2
- package/dist/core/database/adapters/postgresql.js +19 -9
- package/dist/core/database/adapters/postgresql.js.map +1 -1
- package/dist/core/database/adapters/redis.d.ts +12 -1
- package/dist/core/database/adapters/redis.js +48 -13
- package/dist/core/database/adapters/redis.js.map +1 -1
- package/dist/core/database/adapters/sqlite.d.ts +3 -1
- package/dist/core/database/adapters/sqlite.js +19 -8
- package/dist/core/database/adapters/sqlite.js.map +1 -1
- package/dist/core/database/index.d.ts +2 -2
- package/dist/core/database/index.js +2 -18
- package/dist/core/database/index.js.map +1 -1
- package/dist/core/docs/index.d.ts +9 -9
- package/dist/core/docs/index.js +14 -35
- package/dist/core/docs/index.js.map +1 -1
- package/dist/core/docs/openapi-generator.d.ts +2 -2
- package/dist/core/docs/openapi-generator.js +11 -16
- package/dist/core/docs/openapi-generator.js.map +1 -1
- package/dist/core/docs/schema-to-openapi.d.ts +2 -2
- package/dist/core/docs/schema-to-openapi.js +5 -11
- package/dist/core/docs/schema-to-openapi.js.map +1 -1
- package/dist/core/docs/simple-docs.d.ts +1 -1
- package/dist/core/docs/simple-docs.js +4 -9
- package/dist/core/docs/simple-docs.js.map +1 -1
- package/dist/core/docs/swagger-ui.d.ts +2 -2
- package/dist/core/docs/swagger-ui.js +26 -29
- package/dist/core/docs/swagger-ui.js.map +1 -1
- package/dist/core/docs/zod-to-openapi.js +31 -28
- package/dist/core/docs/zod-to-openapi.js.map +1 -1
- package/dist/core/events/event-bus.d.ts +1 -1
- package/dist/core/events/event-bus.js +7 -11
- package/dist/core/events/event-bus.js.map +1 -1
- package/dist/core/events/index.d.ts +2 -2
- package/dist/core/events/index.js +1 -5
- package/dist/core/events/index.js.map +1 -1
- package/dist/core/framework.d.ts +20 -13
- package/dist/core/framework.js +285 -102
- package/dist/core/framework.js.map +1 -1
- package/dist/core/http/http-server.d.ts +59 -7
- package/dist/core/http/http-server.js +190 -176
- package/dist/core/http/http-server.js.map +1 -1
- package/dist/core/http/index.d.ts +4 -3
- package/dist/core/http/index.js +3 -8
- package/dist/core/http/index.js.map +1 -1
- package/dist/core/http/uws-http-server.d.ts +46 -0
- package/dist/core/http/uws-http-server.js +523 -0
- package/dist/core/http/uws-http-server.js.map +1 -0
- package/dist/core/logger/filters.d.ts +1 -1
- package/dist/core/logger/filters.js +20 -23
- package/dist/core/logger/filters.js.map +1 -1
- package/dist/core/logger/index.d.ts +3 -3
- package/dist/core/logger/index.js +2 -24
- package/dist/core/logger/index.js.map +1 -1
- package/dist/core/logger/logger.d.ts +30 -14
- package/dist/core/logger/logger.js +398 -223
- package/dist/core/logger/logger.js.map +1 -1
- package/dist/core/logger/outputs.d.ts +1 -1
- package/dist/core/logger/outputs.js +8 -17
- package/dist/core/logger/outputs.js.map +1 -1
- package/dist/core/middleware/built-in/adapters/cache/file.d.ts +1 -1
- package/dist/core/middleware/built-in/adapters/cache/file.js +10 -47
- package/dist/core/middleware/built-in/adapters/cache/file.js.map +1 -1
- package/dist/core/middleware/built-in/adapters/cache/index.d.ts +4 -4
- package/dist/core/middleware/built-in/adapters/cache/index.js +10 -17
- package/dist/core/middleware/built-in/adapters/cache/index.js.map +1 -1
- package/dist/core/middleware/built-in/adapters/cache/memory.d.ts +1 -1
- package/dist/core/middleware/built-in/adapters/cache/memory.js +3 -7
- package/dist/core/middleware/built-in/adapters/cache/memory.js.map +1 -1
- package/dist/core/middleware/built-in/adapters/cache/redis.d.ts +3 -1
- package/dist/core/middleware/built-in/adapters/cache/redis.js +11 -9
- package/dist/core/middleware/built-in/adapters/cache/redis.js.map +1 -1
- package/dist/core/middleware/built-in/adapters/cdn/azure.d.ts +1 -1
- package/dist/core/middleware/built-in/adapters/cdn/azure.js +3 -7
- package/dist/core/middleware/built-in/adapters/cdn/azure.js.map +1 -1
- package/dist/core/middleware/built-in/adapters/cdn/cloudflare.d.ts +1 -1
- package/dist/core/middleware/built-in/adapters/cdn/cloudflare.js +3 -7
- package/dist/core/middleware/built-in/adapters/cdn/cloudflare.js.map +1 -1
- package/dist/core/middleware/built-in/adapters/cdn/cloudfront.d.ts +3 -1
- package/dist/core/middleware/built-in/adapters/cdn/cloudfront.js +12 -10
- package/dist/core/middleware/built-in/adapters/cdn/cloudfront.js.map +1 -1
- package/dist/core/middleware/built-in/adapters/cdn/index.d.ts +4 -4
- package/dist/core/middleware/built-in/adapters/cdn/index.js +10 -17
- package/dist/core/middleware/built-in/adapters/cdn/index.js.map +1 -1
- package/dist/core/middleware/built-in/adapters/index.d.ts +4 -4
- package/dist/core/middleware/built-in/adapters/index.js +4 -23
- package/dist/core/middleware/built-in/adapters/index.js.map +1 -1
- package/dist/core/middleware/built-in/auth-helpers.js +11 -22
- package/dist/core/middleware/built-in/auth-helpers.js.map +1 -1
- package/dist/core/middleware/built-in/auth-providers.d.ts +1 -1
- package/dist/core/middleware/built-in/auth-providers.js +4 -9
- package/dist/core/middleware/built-in/auth-providers.js.map +1 -1
- package/dist/core/middleware/built-in/auth.d.ts +2 -2
- package/dist/core/middleware/built-in/auth.js +93 -26
- package/dist/core/middleware/built-in/auth.js.map +1 -1
- package/dist/core/middleware/built-in/cache.d.ts +2 -2
- package/dist/core/middleware/built-in/cache.js +11 -12
- package/dist/core/middleware/built-in/cache.js.map +1 -1
- package/dist/core/middleware/built-in/cdn.d.ts +2 -2
- package/dist/core/middleware/built-in/cdn.js +5 -9
- package/dist/core/middleware/built-in/cdn.js.map +1 -1
- package/dist/core/middleware/built-in/cookie.d.ts +1 -1
- package/dist/core/middleware/built-in/cookie.js +3 -7
- package/dist/core/middleware/built-in/cookie.js.map +1 -1
- package/dist/core/middleware/built-in/cors.d.ts +1 -1
- package/dist/core/middleware/built-in/cors.js +3 -7
- package/dist/core/middleware/built-in/cors.js.map +1 -1
- package/dist/core/middleware/built-in/csp.d.ts +1 -1
- package/dist/core/middleware/built-in/csp.js +5 -8
- package/dist/core/middleware/built-in/csp.js.map +1 -1
- package/dist/core/middleware/built-in/csrf.d.ts +1 -1
- package/dist/core/middleware/built-in/csrf.js +5 -8
- package/dist/core/middleware/built-in/csrf.js.map +1 -1
- package/dist/core/middleware/built-in/error-tracker.js +3 -7
- package/dist/core/middleware/built-in/error-tracker.js.map +1 -1
- package/dist/core/middleware/built-in/index.d.ts +28 -27
- package/dist/core/middleware/built-in/index.js +48 -78
- package/dist/core/middleware/built-in/index.js.map +1 -1
- package/dist/core/middleware/built-in/jwt-helpers.d.ts +118 -0
- package/dist/core/middleware/built-in/jwt-helpers.js +218 -0
- package/dist/core/middleware/built-in/jwt-helpers.js.map +1 -0
- package/dist/core/middleware/built-in/performance-monitor.js +3 -7
- package/dist/core/middleware/built-in/performance-monitor.js.map +1 -1
- package/dist/core/middleware/built-in/rate-limit.d.ts +1 -1
- package/dist/core/middleware/built-in/rate-limit.js +3 -7
- package/dist/core/middleware/built-in/rate-limit.js.map +1 -1
- package/dist/core/middleware/built-in/request-logger.js +5 -8
- package/dist/core/middleware/built-in/request-logger.js.map +1 -1
- package/dist/core/middleware/built-in/session.d.ts +2 -2
- package/dist/core/middleware/built-in/session.js +11 -15
- package/dist/core/middleware/built-in/session.js.map +1 -1
- package/dist/core/middleware/built-in/sse.d.ts +1 -1
- package/dist/core/middleware/built-in/sse.js +12 -14
- package/dist/core/middleware/built-in/sse.js.map +1 -1
- package/dist/core/middleware/built-in/validation.d.ts +1 -1
- package/dist/core/middleware/built-in/validation.js +3 -7
- package/dist/core/middleware/built-in/validation.js.map +1 -1
- package/dist/core/middleware/index.d.ts +4 -4
- package/dist/core/middleware/index.js +8 -28
- package/dist/core/middleware/index.js.map +1 -1
- package/dist/core/modules/auto-discovery.d.ts +19 -2
- package/dist/core/modules/auto-discovery.js +391 -74
- package/dist/core/modules/auto-discovery.js.map +1 -1
- package/dist/core/modules/index.d.ts +2 -2
- package/dist/core/modules/index.js +2 -9
- package/dist/core/modules/index.js.map +1 -1
- package/dist/core/modules/modules.d.ts +3 -3
- package/dist/core/modules/modules.js +23 -54
- package/dist/core/modules/modules.js.map +1 -1
- package/dist/core/networking/adapters/index.d.ts +4 -3
- package/dist/core/networking/adapters/index.js +3 -7
- package/dist/core/networking/adapters/index.js.map +1 -1
- package/dist/core/networking/adapters/socketio-adapter.d.ts +1 -1
- package/dist/core/networking/adapters/socketio-adapter.js +5 -40
- package/dist/core/networking/adapters/socketio-adapter.js.map +1 -1
- package/dist/core/networking/adapters/uws-adapter.d.ts +44 -0
- package/dist/core/networking/adapters/uws-adapter.js +513 -0
- package/dist/core/networking/adapters/uws-adapter.js.map +1 -0
- package/dist/core/networking/adapters/ws-adapter.d.ts +2 -2
- package/dist/core/networking/adapters/ws-adapter.js +8 -43
- package/dist/core/networking/adapters/ws-adapter.js.map +1 -1
- package/dist/core/networking/index.d.ts +3 -2
- package/dist/core/networking/index.js +2 -7
- package/dist/core/networking/index.js.map +1 -1
- package/dist/core/networking/service-discovery.js +8 -12
- package/dist/core/networking/service-discovery.js.map +1 -1
- package/dist/core/networking/websocket-adapter.js +1 -2
- package/dist/core/networking/websocket-adapter.js.map +1 -1
- package/dist/core/networking/websocket-manager.d.ts +3 -3
- package/dist/core/networking/websocket-manager.js +9 -11
- package/dist/core/networking/websocket-manager.js.map +1 -1
- package/dist/core/pooling/object-pool-manager.d.ts +140 -0
- package/dist/core/pooling/object-pool-manager.js +502 -0
- package/dist/core/pooling/object-pool-manager.js.map +1 -0
- package/dist/core/routing/app-integration.d.ts +14 -12
- package/dist/core/routing/app-integration.js +49 -85
- package/dist/core/routing/app-integration.js.map +1 -1
- package/dist/core/routing/index.d.ts +17 -11
- package/dist/core/routing/index.js +48 -237
- package/dist/core/routing/index.js.map +1 -1
- package/dist/core/routing/path-matcher.d.ts +67 -0
- package/dist/core/routing/path-matcher.js +182 -0
- package/dist/core/routing/path-matcher.js.map +1 -0
- package/dist/core/routing/router.d.ts +38 -0
- package/dist/core/routing/router.js +68 -0
- package/dist/core/routing/router.js.map +1 -0
- package/dist/core/routing/unified-router.d.ts +148 -0
- package/dist/core/routing/unified-router.js +684 -0
- package/dist/core/routing/unified-router.js.map +1 -0
- package/dist/core/runtime/aws-lambda-adapter.d.ts +3 -3
- package/dist/core/runtime/aws-lambda-adapter.js +2 -6
- package/dist/core/runtime/aws-lambda-adapter.js.map +1 -1
- package/dist/core/runtime/base-adapter.d.ts +2 -2
- package/dist/core/runtime/base-adapter.js +3 -7
- package/dist/core/runtime/base-adapter.js.map +1 -1
- package/dist/core/runtime/cloudflare-workers-adapter.d.ts +3 -3
- package/dist/core/runtime/cloudflare-workers-adapter.js +2 -6
- package/dist/core/runtime/cloudflare-workers-adapter.js.map +1 -1
- package/dist/core/runtime/index.d.ts +12 -12
- package/dist/core/runtime/index.js +22 -35
- package/dist/core/runtime/index.js.map +1 -1
- package/dist/core/runtime/node-adapter.d.ts +4 -4
- package/dist/core/runtime/node-adapter.js +18 -49
- package/dist/core/runtime/node-adapter.js.map +1 -1
- package/dist/core/runtime/vercel-edge-adapter.d.ts +3 -3
- package/dist/core/runtime/vercel-edge-adapter.js +2 -6
- package/dist/core/runtime/vercel-edge-adapter.js.map +1 -1
- package/dist/core/utilities/circuit-breaker.js +1 -5
- package/dist/core/utilities/circuit-breaker.js.map +1 -1
- package/dist/core/utilities/container.js +12 -22
- package/dist/core/utilities/container.js.map +1 -1
- package/dist/core/utilities/hooks.d.ts +2 -2
- package/dist/core/utilities/hooks.js +7 -12
- package/dist/core/utilities/hooks.js.map +1 -1
- package/dist/core/utilities/index.d.ts +5 -4
- package/dist/core/utilities/index.js +5 -19
- package/dist/core/utilities/index.js.map +1 -1
- package/dist/core/utilities/package-utils.d.ts +38 -0
- package/dist/core/utilities/package-utils.js +57 -0
- package/dist/core/utilities/package-utils.js.map +1 -0
- package/dist/core/validation/adapters.d.ts +1 -1
- package/dist/core/validation/adapters.js +15 -26
- package/dist/core/validation/adapters.js.map +1 -1
- package/dist/core/validation/index.d.ts +6 -4
- package/dist/core/validation/index.js +57 -28
- package/dist/core/validation/index.js.map +1 -1
- package/dist/core/validation/schema-interface.js +3 -9
- package/dist/core/validation/schema-interface.js.map +1 -1
- package/dist/index.d.ts +51 -52
- package/dist/index.js +23 -132
- package/dist/index.js.map +1 -1
- package/dist/moro.d.ts +70 -16
- package/dist/moro.js +658 -271
- package/dist/moro.js.map +1 -1
- package/dist/types/auth.js +3 -9
- package/dist/types/auth.js.map +1 -1
- package/dist/types/cache.js +1 -2
- package/dist/types/cdn.js +1 -2
- package/dist/types/config.d.ts +73 -2
- package/dist/types/config.js +1 -2
- package/dist/types/config.js.map +1 -1
- package/dist/types/core.d.ts +36 -42
- package/dist/types/core.js +1 -2
- package/dist/types/database.js +1 -2
- package/dist/types/discovery.js +1 -2
- package/dist/types/events.js +1 -2
- package/dist/types/hooks.d.ts +1 -1
- package/dist/types/hooks.js +1 -2
- package/dist/types/http.d.ts +16 -1
- package/dist/types/http.js +1 -2
- package/dist/types/logger.d.ts +7 -0
- package/dist/types/logger.js +1 -2
- package/dist/types/module.d.ts +11 -0
- package/dist/types/module.js +1 -2
- package/dist/types/runtime.d.ts +1 -1
- package/dist/types/runtime.js +1 -2
- package/dist/types/session.js +1 -2
- package/jest.config.mjs +41 -0
- package/package.json +19 -52
- package/src/core/auth/morojs-adapter.ts +18 -13
- package/src/core/config/config-manager.ts +133 -0
- package/src/core/config/config-sources.ts +600 -0
- package/src/core/config/config-validator.ts +1116 -0
- package/src/core/config/file-loader.ts +16 -273
- package/src/core/config/index.ts +83 -34
- package/src/core/config/schema.ts +47 -33
- package/src/core/config/utils.ts +24 -31
- package/src/core/database/README.md +26 -16
- package/src/core/database/adapters/drizzle.ts +18 -6
- package/src/core/database/adapters/index.ts +13 -13
- package/src/core/database/adapters/mongodb.ts +53 -5
- package/src/core/database/adapters/mysql.ts +32 -4
- package/src/core/database/adapters/postgresql.ts +30 -5
- package/src/core/database/adapters/redis.ts +61 -8
- package/src/core/database/adapters/sqlite.ts +19 -3
- package/src/core/database/index.ts +2 -2
- package/src/core/docs/index.ts +8 -8
- package/src/core/docs/openapi-generator.ts +4 -4
- package/src/core/docs/schema-to-openapi.ts +3 -6
- package/src/core/docs/simple-docs.ts +2 -2
- package/src/core/docs/swagger-ui.ts +19 -16
- package/src/core/docs/zod-to-openapi.ts +34 -34
- package/src/core/events/event-bus.ts +3 -3
- package/src/core/events/index.ts +2 -2
- package/src/core/framework.ts +320 -71
- package/src/core/http/http-server.ts +203 -143
- package/src/core/http/index.ts +4 -3
- package/src/core/http/uws-http-server.ts +591 -0
- package/src/core/logger/filters.ts +13 -5
- package/src/core/logger/index.ts +4 -3
- package/src/core/logger/logger.ts +435 -216
- package/src/core/logger/outputs.ts +1 -3
- package/src/core/middleware/built-in/adapters/cache/file.ts +3 -3
- package/src/core/middleware/built-in/adapters/cache/index.ts +7 -7
- package/src/core/middleware/built-in/adapters/cache/memory.ts +2 -2
- package/src/core/middleware/built-in/adapters/cache/redis.ts +18 -4
- package/src/core/middleware/built-in/adapters/cdn/azure.ts +2 -2
- package/src/core/middleware/built-in/adapters/cdn/cloudflare.ts +2 -2
- package/src/core/middleware/built-in/adapters/cdn/cloudfront.ts +16 -5
- package/src/core/middleware/built-in/adapters/cdn/index.ts +7 -7
- package/src/core/middleware/built-in/adapters/index.ts +4 -4
- package/src/core/middleware/built-in/auth-helpers.ts +1 -1
- package/src/core/middleware/built-in/auth-providers.ts +1 -1
- package/src/core/middleware/built-in/auth.ts +102 -21
- package/src/core/middleware/built-in/cache.ts +8 -6
- package/src/core/middleware/built-in/cdn.ts +4 -4
- package/src/core/middleware/built-in/cookie.ts +2 -2
- package/src/core/middleware/built-in/cors.ts +2 -2
- package/src/core/middleware/built-in/csp.ts +3 -3
- package/src/core/middleware/built-in/csrf.ts +3 -3
- package/src/core/middleware/built-in/error-tracker.ts +1 -1
- package/src/core/middleware/built-in/index.ts +38 -30
- package/src/core/middleware/built-in/jwt-helpers.ts +243 -0
- package/src/core/middleware/built-in/performance-monitor.ts +1 -1
- package/src/core/middleware/built-in/rate-limit.ts +2 -2
- package/src/core/middleware/built-in/request-logger.ts +3 -1
- package/src/core/middleware/built-in/session.ts +7 -8
- package/src/core/middleware/built-in/sse.ts +11 -9
- package/src/core/middleware/built-in/validation.ts +2 -2
- package/src/core/middleware/index.ts +6 -6
- package/src/core/modules/auto-discovery.ts +478 -15
- package/src/core/modules/index.ts +2 -2
- package/src/core/modules/modules.ts +23 -12
- package/src/core/networking/adapters/index.ts +4 -3
- package/src/core/networking/adapters/socketio-adapter.ts +5 -3
- package/src/core/networking/adapters/uws-adapter.ts +619 -0
- package/src/core/networking/adapters/ws-adapter.ts +8 -9
- package/src/core/networking/index.ts +3 -2
- package/src/core/networking/service-discovery.ts +6 -7
- package/src/core/networking/websocket-manager.ts +7 -7
- package/src/core/pooling/object-pool-manager.ts +630 -0
- package/src/core/routing/app-integration.ts +60 -112
- package/src/core/routing/index.ts +66 -293
- package/src/core/routing/path-matcher.ts +222 -0
- package/src/core/routing/router.ts +97 -0
- package/src/core/routing/unified-router.ts +870 -0
- package/src/core/runtime/aws-lambda-adapter.ts +3 -3
- package/src/core/runtime/base-adapter.ts +2 -2
- package/src/core/runtime/cloudflare-workers-adapter.ts +3 -3
- package/src/core/runtime/index.ts +13 -13
- package/src/core/runtime/node-adapter.ts +16 -10
- package/src/core/runtime/vercel-edge-adapter.ts +3 -3
- package/src/core/utilities/hooks.ts +3 -3
- package/src/core/utilities/index.ts +5 -4
- package/src/core/utilities/package-utils.ts +59 -0
- package/src/core/validation/adapters.ts +1 -1
- package/src/core/validation/index.ts +68 -16
- package/src/index.ts +73 -66
- package/src/moro.ts +784 -253
- package/src/types/config.ts +74 -2
- package/src/types/core.ts +49 -47
- package/src/types/hooks.ts +1 -1
- package/src/types/http.ts +23 -1
- package/src/types/logger.ts +9 -0
- package/src/types/module.ts +12 -0
- package/src/types/runtime.ts +1 -1
- package/tsconfig.json +4 -2
- package/dist/core/config/loader.d.ts +0 -7
- package/dist/core/config/loader.js +0 -269
- package/dist/core/config/loader.js.map +0 -1
- package/dist/core/config/validation.d.ts +0 -17
- package/dist/core/config/validation.js +0 -131
- package/dist/core/config/validation.js.map +0 -1
- package/dist/core/http/router.d.ts +0 -14
- package/dist/core/http/router.js +0 -109
- package/dist/core/http/router.js.map +0 -1
- package/src/core/config/loader.ts +0 -633
- package/src/core/config/validation.ts +0 -140
- package/src/core/http/router.ts +0 -141
|
@@ -1,77 +1,41 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
// Integration layer for intelligent routing system with main Moro app
|
|
3
2
|
// Provides both chainable and schema-first APIs
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
3
|
+
//
|
|
4
|
+
// NOTE: This is now a thin facade to UnifiedRouter
|
|
5
|
+
// All routing logic has been consolidated in unified-router.ts
|
|
6
|
+
import { createRoute, defineRoute, } from './index.js';
|
|
7
|
+
import { UnifiedRouter } from './unified-router.js';
|
|
8
|
+
import { createFrameworkLogger } from '../logger/index.js';
|
|
9
|
+
const logger = createFrameworkLogger('AppIntegration');
|
|
10
|
+
// ===== RouteRegistry (Public API - Backward Compatibility) =====
|
|
11
|
+
/**
|
|
12
|
+
* RouteRegistry - Facade to UnifiedRouter for backward compatibility
|
|
13
|
+
* This was part of the public API, so we maintain it as an alias
|
|
14
|
+
*/
|
|
15
|
+
export class RouteRegistry {
|
|
16
|
+
router = UnifiedRouter.getInstance();
|
|
13
17
|
register(route) {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
// Convert path to regex pattern for matching
|
|
17
|
-
const { pattern, paramNames } = this.pathToRegex(route.schema.path);
|
|
18
|
-
this.routePatterns.push({
|
|
19
|
-
pattern,
|
|
20
|
-
route,
|
|
21
|
-
method: route.schema.method,
|
|
22
|
-
paramNames,
|
|
23
|
-
});
|
|
24
|
-
logger.debug(`Registered route: ${key}`, 'RouteRegistry', {
|
|
25
|
-
path: route.schema.path,
|
|
26
|
-
hasValidation: !!route.schema.validation,
|
|
27
|
-
hasAuth: !!route.schema.auth,
|
|
28
|
-
hasRateLimit: !!route.schema.rateLimit,
|
|
29
|
-
});
|
|
18
|
+
// Routes are automatically registered with UnifiedRouter when created
|
|
19
|
+
// This is a no-op for API compatibility
|
|
30
20
|
}
|
|
31
21
|
async handleRequest(req, res) {
|
|
32
|
-
|
|
33
|
-
const path = req.path;
|
|
34
|
-
// Find matching route
|
|
35
|
-
for (const routePattern of this.routePatterns) {
|
|
36
|
-
if (routePattern.method === method && routePattern.pattern.test(path)) {
|
|
37
|
-
// Extract path parameters
|
|
38
|
-
const matches = path.match(routePattern.pattern);
|
|
39
|
-
if (matches) {
|
|
40
|
-
req.params = {};
|
|
41
|
-
routePattern.paramNames.forEach((name, index) => {
|
|
42
|
-
req.params[name] = matches[index + 1];
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
// Execute the route
|
|
46
|
-
await routePattern.route.execute(req, res);
|
|
47
|
-
return true; // Route handled
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
return false; // No route matched
|
|
22
|
+
return this.router.handleRequest(req, res);
|
|
51
23
|
}
|
|
52
24
|
getRoutes() {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
.replace(/:([^/]+)/g, (match, paramName) => {
|
|
61
|
-
paramNames.push(paramName);
|
|
62
|
-
return '([^/]+)'; // Match parameter value
|
|
63
|
-
});
|
|
64
|
-
return {
|
|
65
|
-
pattern: new RegExp(`^${regexPath}$`),
|
|
66
|
-
paramNames,
|
|
67
|
-
};
|
|
25
|
+
const routes = this.router.getAllRoutes();
|
|
26
|
+
return routes.map(routeSchema => ({
|
|
27
|
+
schema: routeSchema,
|
|
28
|
+
execute: async (_req, _res) => {
|
|
29
|
+
throw new Error('CompiledRoute.execute() not used - routing handled by UnifiedRouter');
|
|
30
|
+
},
|
|
31
|
+
}));
|
|
68
32
|
}
|
|
69
33
|
}
|
|
70
|
-
exports.RouteRegistry = RouteRegistry;
|
|
71
34
|
// Intelligent routing manager class
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
35
|
+
// Now a thin facade to UnifiedRouter
|
|
36
|
+
export class IntelligentRoutingManager {
|
|
37
|
+
router = UnifiedRouter.getInstance();
|
|
38
|
+
// Chainable route methods - delegate to createRoute
|
|
75
39
|
get(path) {
|
|
76
40
|
return this.createChainableRoute('GET', path);
|
|
77
41
|
}
|
|
@@ -95,30 +59,38 @@ class IntelligentRoutingManager {
|
|
|
95
59
|
}
|
|
96
60
|
// Schema-first route method
|
|
97
61
|
route(schema) {
|
|
98
|
-
const compiledRoute =
|
|
62
|
+
const compiledRoute = defineRoute(schema);
|
|
99
63
|
this.register(compiledRoute);
|
|
100
64
|
return compiledRoute;
|
|
101
65
|
}
|
|
102
|
-
// Register compiled route
|
|
103
|
-
register(
|
|
104
|
-
|
|
66
|
+
// Register compiled route (no-op, already registered by defineRoute)
|
|
67
|
+
register(_route) {
|
|
68
|
+
// Routes are automatically registered with UnifiedRouter in defineRoute()
|
|
69
|
+
// This is just for API compatibility
|
|
105
70
|
}
|
|
106
|
-
// Handle incoming requests
|
|
71
|
+
// Handle incoming requests - delegates to UnifiedRouter
|
|
107
72
|
async handleIntelligentRoute(req, res) {
|
|
108
|
-
return
|
|
73
|
+
return this.router.handleRequest(req, res);
|
|
109
74
|
}
|
|
110
|
-
// Get all registered routes
|
|
75
|
+
// Get all registered routes - fetch from UnifiedRouter
|
|
111
76
|
getIntelligentRoutes() {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
77
|
+
// Convert UnifiedRouter's internal routes to CompiledRoute format for docs
|
|
78
|
+
const routes = this.router.getAllRoutes();
|
|
79
|
+
return routes.map(routeSchema => ({
|
|
80
|
+
schema: routeSchema, // Cast to match CompiledRoute interface
|
|
81
|
+
execute: async (_req, _res) => {
|
|
82
|
+
// Not used - routing handled by UnifiedRouter
|
|
83
|
+
throw new Error('CompiledRoute.execute() not used - routing handled by UnifiedRouter');
|
|
84
|
+
},
|
|
85
|
+
}));
|
|
86
|
+
}
|
|
87
|
+
// Direct route method (deprecated but kept for compatibility)
|
|
115
88
|
directRoute(method, path, handler, options) {
|
|
116
89
|
logger.warn('Using deprecated direct route method', 'DirectRoute', {
|
|
117
90
|
method,
|
|
118
91
|
path,
|
|
119
92
|
suggestion: 'Use chainable or schema-first API instead',
|
|
120
93
|
});
|
|
121
|
-
// Convert direct options to new schema format
|
|
122
94
|
const schema = {
|
|
123
95
|
method: method.toUpperCase(),
|
|
124
96
|
path,
|
|
@@ -133,16 +105,8 @@ class IntelligentRoutingManager {
|
|
|
133
105
|
this.route(schema);
|
|
134
106
|
}
|
|
135
107
|
createChainableRoute(method, path) {
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
const originalHandler = builder.handler.bind(builder);
|
|
139
|
-
builder.handler = (handler) => {
|
|
140
|
-
const compiledRoute = originalHandler(handler);
|
|
141
|
-
this.register(compiledRoute);
|
|
142
|
-
return compiledRoute;
|
|
143
|
-
};
|
|
144
|
-
return builder;
|
|
108
|
+
// Just create and return the builder - it auto-registers with UnifiedRouter
|
|
109
|
+
return createRoute(method, path);
|
|
145
110
|
}
|
|
146
111
|
}
|
|
147
|
-
exports.IntelligentRoutingManager = IntelligentRoutingManager;
|
|
148
112
|
//# sourceMappingURL=app-integration.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-integration.js","sourceRoot":"","sources":["../../../src/core/routing/app-integration.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"app-integration.js","sourceRoot":"","sources":["../../../src/core/routing/app-integration.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ValidationSchema } from '../validation/schema-interface';
|
|
2
|
-
import { HttpRequest, HttpResponse } from '../http';
|
|
1
|
+
import { ValidationSchema } from '../validation/schema-interface.js';
|
|
2
|
+
import { HttpRequest, HttpResponse } from '../http/index.js';
|
|
3
3
|
export type HttpMethod = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD' | 'OPTIONS';
|
|
4
4
|
export type RouteHandler<T = any> = (req: HttpRequest, res: HttpResponse) => T | Promise<T>;
|
|
5
5
|
export type Middleware = (req: HttpRequest, res: HttpResponse, next: () => void) => void | Promise<void>;
|
|
@@ -65,14 +65,19 @@ export interface RouteBuilder {
|
|
|
65
65
|
use(...middleware: Middleware[]): RouteBuilder;
|
|
66
66
|
describe(description: string): RouteBuilder;
|
|
67
67
|
tag(...tags: string[]): RouteBuilder;
|
|
68
|
-
handler<T>(handler: RouteHandler<T>):
|
|
68
|
+
handler<T>(handler: RouteHandler<T>): void;
|
|
69
69
|
}
|
|
70
70
|
export interface CompiledRoute {
|
|
71
71
|
schema: RouteSchema;
|
|
72
72
|
execute(req: HttpRequest, res: HttpResponse): Promise<void>;
|
|
73
73
|
}
|
|
74
|
+
/**
|
|
75
|
+
* Thin facade to UnifiedRouter.RouteBuilder
|
|
76
|
+
* Maintains backward compatibility while using optimized implementation
|
|
77
|
+
*/
|
|
74
78
|
export declare class IntelligentRouteBuilder implements RouteBuilder {
|
|
75
79
|
private schema;
|
|
80
|
+
private router;
|
|
76
81
|
constructor(method: HttpMethod, path: string);
|
|
77
82
|
validate(config: ValidationConfig): RouteBuilder;
|
|
78
83
|
body<T>(schema: ValidationSchema<T>): RouteBuilder;
|
|
@@ -88,19 +93,20 @@ export declare class IntelligentRouteBuilder implements RouteBuilder {
|
|
|
88
93
|
use(...middleware: Middleware[]): RouteBuilder;
|
|
89
94
|
describe(description: string): RouteBuilder;
|
|
90
95
|
tag(...tags: string[]): RouteBuilder;
|
|
91
|
-
handler<T>(handler: RouteHandler<T>):
|
|
96
|
+
handler<T>(handler: RouteHandler<T>): void;
|
|
92
97
|
}
|
|
98
|
+
/**
|
|
99
|
+
* Thin facade implementing CompiledRoute interface
|
|
100
|
+
* Just stores schema for documentation purposes
|
|
101
|
+
*/
|
|
93
102
|
export declare class ExecutableRoute implements CompiledRoute {
|
|
94
103
|
readonly schema: RouteSchema;
|
|
95
104
|
constructor(schema: RouteSchema);
|
|
96
105
|
execute(req: HttpRequest, res: HttpResponse): Promise<void>;
|
|
97
|
-
private executePhase;
|
|
98
|
-
private executeMiddleware;
|
|
99
|
-
private executeRateLimit;
|
|
100
|
-
private executeAuth;
|
|
101
|
-
private executeValidation;
|
|
102
|
-
private sendValidationError;
|
|
103
|
-
private executeCache;
|
|
104
106
|
}
|
|
105
107
|
export declare function createRoute(method: HttpMethod, path: string): RouteBuilder;
|
|
106
108
|
export declare function defineRoute(schema: RouteSchema): CompiledRoute;
|
|
109
|
+
export { UnifiedRouter } from './unified-router.js';
|
|
110
|
+
export { RouteBuilder as UnifiedRouteBuilder } from './unified-router.js';
|
|
111
|
+
export { PathMatcher, type CompiledPath, type MatchResult } from './path-matcher.js';
|
|
112
|
+
export { ObjectPoolManager, getPoolManager } from '../pooling/object-pool-manager.js';
|
|
@@ -1,28 +1,29 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
// Intelligent Routing System for Moro Framework
|
|
3
2
|
// Schema-first with automatic middleware ordering and chainable API
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
'
|
|
13
|
-
'
|
|
14
|
-
'
|
|
15
|
-
'
|
|
16
|
-
'
|
|
17
|
-
'
|
|
18
|
-
'
|
|
19
|
-
'cache', // Caching logic
|
|
20
|
-
'after', // Custom post-processing middleware
|
|
21
|
-
'handler', // Route handler (always last)
|
|
3
|
+
//
|
|
4
|
+
// NOTE: This file exports types and thin facades to UnifiedRouter
|
|
5
|
+
// All routing logic has been consolidated in unified-router.ts
|
|
6
|
+
import { UnifiedRouter } from './unified-router.js';
|
|
7
|
+
export const EXECUTION_PHASES = [
|
|
8
|
+
'security',
|
|
9
|
+
'parsing',
|
|
10
|
+
'rateLimit',
|
|
11
|
+
'before',
|
|
12
|
+
'auth',
|
|
13
|
+
'validation',
|
|
14
|
+
'transform',
|
|
15
|
+
'cache',
|
|
16
|
+
'after',
|
|
17
|
+
'handler',
|
|
22
18
|
];
|
|
23
|
-
//
|
|
24
|
-
|
|
19
|
+
// ===== FACADE IMPLEMENTATIONS (Delegate to UnifiedRouter) =====
|
|
20
|
+
/**
|
|
21
|
+
* Thin facade to UnifiedRouter.RouteBuilder
|
|
22
|
+
* Maintains backward compatibility while using optimized implementation
|
|
23
|
+
*/
|
|
24
|
+
export class IntelligentRouteBuilder {
|
|
25
25
|
schema;
|
|
26
|
+
router = UnifiedRouter.getInstance();
|
|
26
27
|
constructor(method, path) {
|
|
27
28
|
this.schema = {
|
|
28
29
|
method,
|
|
@@ -30,7 +31,6 @@ class IntelligentRouteBuilder {
|
|
|
30
31
|
middleware: {},
|
|
31
32
|
};
|
|
32
33
|
}
|
|
33
|
-
// Validation methods
|
|
34
34
|
validate(config) {
|
|
35
35
|
this.schema.validation = { ...this.schema.validation, ...config };
|
|
36
36
|
return this;
|
|
@@ -59,7 +59,6 @@ class IntelligentRouteBuilder {
|
|
|
59
59
|
this.schema.validation.headers = schema;
|
|
60
60
|
return this;
|
|
61
61
|
}
|
|
62
|
-
// Security methods
|
|
63
62
|
auth(config) {
|
|
64
63
|
this.schema.auth = config;
|
|
65
64
|
return this;
|
|
@@ -68,34 +67,34 @@ class IntelligentRouteBuilder {
|
|
|
68
67
|
this.schema.rateLimit = config;
|
|
69
68
|
return this;
|
|
70
69
|
}
|
|
71
|
-
// Caching
|
|
72
70
|
cache(config) {
|
|
73
71
|
this.schema.cache = config;
|
|
74
72
|
return this;
|
|
75
73
|
}
|
|
76
|
-
// Custom middleware
|
|
77
74
|
before(...middleware) {
|
|
78
75
|
if (!this.schema.middleware)
|
|
79
76
|
this.schema.middleware = {};
|
|
80
|
-
|
|
77
|
+
const phases = this.schema.middleware;
|
|
78
|
+
phases.before = [...(phases.before || []), ...middleware];
|
|
81
79
|
return this;
|
|
82
80
|
}
|
|
83
81
|
after(...middleware) {
|
|
84
82
|
if (!this.schema.middleware)
|
|
85
83
|
this.schema.middleware = {};
|
|
86
|
-
|
|
84
|
+
const phases = this.schema.middleware;
|
|
85
|
+
phases.after = [...(phases.after || []), ...middleware];
|
|
87
86
|
return this;
|
|
88
87
|
}
|
|
89
88
|
transform(...middleware) {
|
|
90
89
|
if (!this.schema.middleware)
|
|
91
90
|
this.schema.middleware = {};
|
|
92
|
-
|
|
91
|
+
const phases = this.schema.middleware;
|
|
92
|
+
phases.transform = [...(phases.transform || []), ...middleware];
|
|
93
93
|
return this;
|
|
94
94
|
}
|
|
95
95
|
use(...middleware) {
|
|
96
96
|
return this.after(...middleware);
|
|
97
97
|
}
|
|
98
|
-
// Metadata
|
|
99
98
|
describe(description) {
|
|
100
99
|
this.schema.description = description;
|
|
101
100
|
return this;
|
|
@@ -104,7 +103,6 @@ class IntelligentRouteBuilder {
|
|
|
104
103
|
this.schema.tags = [...(this.schema.tags || []), ...tags];
|
|
105
104
|
return this;
|
|
106
105
|
}
|
|
107
|
-
// Terminal method - compiles the route
|
|
108
106
|
handler(handler) {
|
|
109
107
|
if (!handler) {
|
|
110
108
|
throw new Error('Handler is required');
|
|
@@ -113,224 +111,37 @@ class IntelligentRouteBuilder {
|
|
|
113
111
|
...this.schema,
|
|
114
112
|
handler,
|
|
115
113
|
};
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
hasAuth: !!completeSchema.auth,
|
|
119
|
-
hasRateLimit: !!completeSchema.rateLimit,
|
|
120
|
-
hasCache: !!completeSchema.cache,
|
|
121
|
-
customMiddleware: {
|
|
122
|
-
before: completeSchema.middleware?.before?.length || 0,
|
|
123
|
-
after: completeSchema.middleware?.after?.length || 0,
|
|
124
|
-
transform: completeSchema.middleware?.transform?.length || 0,
|
|
125
|
-
},
|
|
126
|
-
});
|
|
127
|
-
return new ExecutableRoute(completeSchema);
|
|
114
|
+
// Delegate to UnifiedRouter
|
|
115
|
+
this.router.registerRoute(completeSchema);
|
|
128
116
|
}
|
|
129
117
|
}
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
118
|
+
/**
|
|
119
|
+
* Thin facade implementing CompiledRoute interface
|
|
120
|
+
* Just stores schema for documentation purposes
|
|
121
|
+
*/
|
|
122
|
+
export class ExecutableRoute {
|
|
133
123
|
schema;
|
|
134
124
|
constructor(schema) {
|
|
135
125
|
this.schema = schema;
|
|
126
|
+
// Register with UnifiedRouter
|
|
127
|
+
UnifiedRouter.getInstance().registerRoute(schema);
|
|
136
128
|
}
|
|
137
129
|
async execute(req, res) {
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
await this.executePhase('before', validatedReq, res);
|
|
142
|
-
await this.executePhase('rateLimit', validatedReq, res);
|
|
143
|
-
await this.executePhase('auth', validatedReq, res);
|
|
144
|
-
await this.executePhase('validation', validatedReq, res);
|
|
145
|
-
await this.executePhase('transform', validatedReq, res);
|
|
146
|
-
await this.executePhase('cache', validatedReq, res);
|
|
147
|
-
await this.executePhase('after', validatedReq, res);
|
|
148
|
-
// Execute handler last
|
|
149
|
-
if (!res.headersSent) {
|
|
150
|
-
await this.executePhase('handler', validatedReq, res);
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
catch (error) {
|
|
154
|
-
logger.error('Route execution error', 'RouteExecution', {
|
|
155
|
-
error: error instanceof Error ? error.message : String(error),
|
|
156
|
-
route: `${this.schema.method} ${this.schema.path}`,
|
|
157
|
-
requestId: req.requestId,
|
|
158
|
-
});
|
|
159
|
-
if (!res.headersSent) {
|
|
160
|
-
res.status(500).json({
|
|
161
|
-
success: false,
|
|
162
|
-
error: 'Internal server error',
|
|
163
|
-
requestId: req.requestId,
|
|
164
|
-
});
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
async executePhase(phase, req, res) {
|
|
169
|
-
switch (phase) {
|
|
170
|
-
case 'before':
|
|
171
|
-
if (this.schema.middleware?.before) {
|
|
172
|
-
for (const middleware of this.schema.middleware.before) {
|
|
173
|
-
await this.executeMiddleware(middleware, req, res);
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
break;
|
|
177
|
-
case 'rateLimit':
|
|
178
|
-
if (this.schema.rateLimit) {
|
|
179
|
-
await this.executeRateLimit(req, res);
|
|
180
|
-
}
|
|
181
|
-
break;
|
|
182
|
-
case 'auth':
|
|
183
|
-
if (this.schema.auth) {
|
|
184
|
-
await this.executeAuth(req, res);
|
|
185
|
-
}
|
|
186
|
-
break;
|
|
187
|
-
case 'validation':
|
|
188
|
-
if (this.schema.validation) {
|
|
189
|
-
await this.executeValidation(req, res);
|
|
190
|
-
}
|
|
191
|
-
break;
|
|
192
|
-
case 'transform':
|
|
193
|
-
if (this.schema.middleware?.transform) {
|
|
194
|
-
for (const middleware of this.schema.middleware.transform) {
|
|
195
|
-
await this.executeMiddleware(middleware, req, res);
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
break;
|
|
199
|
-
case 'cache':
|
|
200
|
-
if (this.schema.cache) {
|
|
201
|
-
await this.executeCache(req, res);
|
|
202
|
-
}
|
|
203
|
-
break;
|
|
204
|
-
case 'after':
|
|
205
|
-
if (this.schema.middleware?.after) {
|
|
206
|
-
for (const middleware of this.schema.middleware.after) {
|
|
207
|
-
await this.executeMiddleware(middleware, req, res);
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
break;
|
|
211
|
-
case 'handler': {
|
|
212
|
-
const result = await this.schema.handler(req, res);
|
|
213
|
-
if (result !== undefined && !res.headersSent) {
|
|
214
|
-
res.json(result);
|
|
215
|
-
}
|
|
216
|
-
break;
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
async executeMiddleware(middleware, req, res) {
|
|
221
|
-
return new Promise((resolve, reject) => {
|
|
222
|
-
try {
|
|
223
|
-
const next = () => resolve();
|
|
224
|
-
const result = middleware(req, res, next);
|
|
225
|
-
if (result instanceof Promise) {
|
|
226
|
-
result.then(() => resolve()).catch(reject);
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
catch (error) {
|
|
230
|
-
reject(error);
|
|
231
|
-
}
|
|
232
|
-
});
|
|
233
|
-
}
|
|
234
|
-
async executeRateLimit(req, res) {
|
|
235
|
-
// Rate limiting implementation will be added
|
|
236
|
-
logger.debug('Rate limit check', 'RateLimit', {
|
|
237
|
-
config: this.schema.rateLimit,
|
|
238
|
-
ip: req.ip,
|
|
239
|
-
});
|
|
240
|
-
}
|
|
241
|
-
async executeAuth(req, res) {
|
|
242
|
-
// Authentication implementation will be added
|
|
243
|
-
logger.debug('Auth check', 'Auth', {
|
|
244
|
-
config: this.schema.auth,
|
|
245
|
-
});
|
|
246
|
-
}
|
|
247
|
-
async executeValidation(req, res) {
|
|
248
|
-
if (!this.schema.validation)
|
|
249
|
-
return;
|
|
250
|
-
const { body, query, params, headers } = this.schema.validation;
|
|
251
|
-
// Validate body
|
|
252
|
-
if (body && req.body !== undefined) {
|
|
253
|
-
try {
|
|
254
|
-
req.validatedBody = await body.parseAsync(req.body);
|
|
255
|
-
req.body = req.validatedBody; // Update original for compatibility
|
|
256
|
-
}
|
|
257
|
-
catch (error) {
|
|
258
|
-
this.sendValidationError(res, error, 'body', req.requestId);
|
|
259
|
-
return;
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
// Validate query
|
|
263
|
-
if (query && req.query !== undefined) {
|
|
264
|
-
try {
|
|
265
|
-
req.validatedQuery = await query.parseAsync(req.query);
|
|
266
|
-
req.query = req.validatedQuery; // Update original for compatibility
|
|
267
|
-
}
|
|
268
|
-
catch (error) {
|
|
269
|
-
this.sendValidationError(res, error, 'query', req.requestId);
|
|
270
|
-
return;
|
|
271
|
-
}
|
|
272
|
-
}
|
|
273
|
-
// Validate params
|
|
274
|
-
if (params && req.params !== undefined) {
|
|
275
|
-
try {
|
|
276
|
-
req.validatedParams = await params.parseAsync(req.params);
|
|
277
|
-
req.params = req.validatedParams; // Update original for compatibility
|
|
278
|
-
}
|
|
279
|
-
catch (error) {
|
|
280
|
-
this.sendValidationError(res, error, 'params', req.requestId);
|
|
281
|
-
return;
|
|
282
|
-
}
|
|
283
|
-
}
|
|
284
|
-
// Validate headers
|
|
285
|
-
if (headers && req.headers !== undefined) {
|
|
286
|
-
try {
|
|
287
|
-
req.validatedHeaders = await headers.parseAsync(req.headers);
|
|
288
|
-
}
|
|
289
|
-
catch (error) {
|
|
290
|
-
this.sendValidationError(res, error, 'headers', req.requestId);
|
|
291
|
-
return;
|
|
292
|
-
}
|
|
293
|
-
}
|
|
294
|
-
logger.debug('Validation passed', 'Validation', {
|
|
295
|
-
route: `${this.schema.method} ${this.schema.path}`,
|
|
296
|
-
validatedFields: Object.keys(this.schema.validation),
|
|
297
|
-
});
|
|
298
|
-
}
|
|
299
|
-
sendValidationError(res, error, field, requestId) {
|
|
300
|
-
if (error.issues) {
|
|
301
|
-
res.status(400).json({
|
|
302
|
-
success: false,
|
|
303
|
-
error: `Validation failed for ${field}`,
|
|
304
|
-
details: error.issues.map((issue) => ({
|
|
305
|
-
field: issue.path.length > 0 ? issue.path.join('.') : field,
|
|
306
|
-
message: issue.message,
|
|
307
|
-
code: issue.code,
|
|
308
|
-
})),
|
|
309
|
-
requestId,
|
|
310
|
-
});
|
|
311
|
-
}
|
|
312
|
-
else {
|
|
313
|
-
res.status(400).json({
|
|
314
|
-
success: false,
|
|
315
|
-
error: `Validation failed for ${field}`,
|
|
316
|
-
requestId,
|
|
317
|
-
});
|
|
318
|
-
}
|
|
319
|
-
}
|
|
320
|
-
async executeCache(req, res) {
|
|
321
|
-
// Caching implementation will be added
|
|
322
|
-
logger.debug('Cache check', 'Cache', {
|
|
323
|
-
config: this.schema.cache,
|
|
324
|
-
});
|
|
130
|
+
// This is never called - UnifiedRouter handles execution
|
|
131
|
+
// But we implement it for interface compatibility
|
|
132
|
+
throw new Error('ExecutableRoute.execute() should not be called directly - routing handled by UnifiedRouter');
|
|
325
133
|
}
|
|
326
134
|
}
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
function createRoute(method, path) {
|
|
135
|
+
// ===== FACTORY FUNCTIONS (Backward Compatibility) =====
|
|
136
|
+
export function createRoute(method, path) {
|
|
330
137
|
return new IntelligentRouteBuilder(method, path);
|
|
331
138
|
}
|
|
332
|
-
|
|
333
|
-
function defineRoute(schema) {
|
|
139
|
+
export function defineRoute(schema) {
|
|
334
140
|
return new ExecutableRoute(schema);
|
|
335
141
|
}
|
|
142
|
+
// ===== RE-EXPORTS FROM UNIFIED ROUTER =====
|
|
143
|
+
export { UnifiedRouter } from './unified-router.js';
|
|
144
|
+
export { RouteBuilder as UnifiedRouteBuilder } from './unified-router.js';
|
|
145
|
+
export { PathMatcher } from './path-matcher.js';
|
|
146
|
+
export { ObjectPoolManager, getPoolManager } from '../pooling/object-pool-manager.js';
|
|
336
147
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/routing/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/routing/index.ts"],"names":[],"mappings":"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"}
|