@morojs/moro 1.6.0 → 1.6.1
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 +256 -74
- package/dist/core/auth/morojs-adapter.js +20 -20
- package/dist/core/auth/morojs-adapter.js.map +1 -1
- package/dist/core/config/file-loader.d.ts +6 -1
- package/dist/core/config/file-loader.js +249 -19
- package/dist/core/config/file-loader.js.map +1 -1
- package/dist/core/config/index.d.ts +12 -41
- package/dist/core/config/index.js +54 -65
- package/dist/core/config/index.js.map +1 -1
- package/dist/core/config/loader.d.ts +7 -0
- package/dist/core/config/loader.js +269 -0
- package/dist/core/config/loader.js.map +1 -0
- package/dist/core/config/schema.d.ts +2 -2
- package/dist/core/config/schema.js +44 -52
- package/dist/core/config/schema.js.map +1 -1
- package/dist/core/config/utils.d.ts +3 -10
- package/dist/core/config/utils.js +58 -31
- package/dist/core/config/utils.js.map +1 -1
- package/dist/core/config/validation.d.ts +17 -0
- package/dist/core/config/validation.js +131 -0
- package/dist/core/config/validation.js.map +1 -0
- package/dist/core/database/adapters/drizzle.d.ts +1 -1
- package/dist/core/database/adapters/drizzle.js +11 -18
- 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 +29 -19
- package/dist/core/database/adapters/index.js.map +1 -1
- package/dist/core/database/adapters/mongodb.d.ts +1 -13
- package/dist/core/database/adapters/mongodb.js +10 -46
- package/dist/core/database/adapters/mongodb.js.map +1 -1
- package/dist/core/database/adapters/mysql.d.ts +1 -14
- package/dist/core/database/adapters/mysql.js +9 -19
- package/dist/core/database/adapters/mysql.js.map +1 -1
- package/dist/core/database/adapters/postgresql.d.ts +2 -12
- package/dist/core/database/adapters/postgresql.js +9 -19
- package/dist/core/database/adapters/postgresql.js.map +1 -1
- package/dist/core/database/adapters/redis.d.ts +1 -12
- package/dist/core/database/adapters/redis.js +13 -48
- package/dist/core/database/adapters/redis.js.map +1 -1
- package/dist/core/database/adapters/sqlite.d.ts +1 -3
- package/dist/core/database/adapters/sqlite.js +8 -19
- 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 +18 -2
- package/dist/core/database/index.js.map +1 -1
- package/dist/core/docs/index.d.ts +9 -9
- package/dist/core/docs/index.js +35 -14
- 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 +16 -11
- 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 +11 -5
- 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 +9 -4
- 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 +29 -26
- package/dist/core/docs/swagger-ui.js.map +1 -1
- package/dist/core/docs/zod-to-openapi.js +28 -31
- 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 +10 -6
- 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 +5 -1
- package/dist/core/events/index.js.map +1 -1
- package/dist/core/framework.d.ts +12 -19
- package/dist/core/framework.js +100 -277
- package/dist/core/framework.js.map +1 -1
- package/dist/core/http/http-server.d.ts +1 -13
- package/dist/core/http/http-server.js +85 -175
- package/dist/core/http/http-server.js.map +1 -1
- package/dist/core/http/index.d.ts +3 -4
- package/dist/core/http/index.js +8 -3
- package/dist/core/http/index.js.map +1 -1
- package/dist/core/http/router.d.ts +1 -13
- package/dist/core/http/router.js +43 -117
- package/dist/core/http/router.js.map +1 -1
- package/dist/core/logger/filters.d.ts +1 -1
- package/dist/core/logger/filters.js +23 -20
- package/dist/core/logger/filters.js.map +1 -1
- package/dist/core/logger/index.d.ts +3 -3
- package/dist/core/logger/index.js +24 -2
- package/dist/core/logger/index.js.map +1 -1
- package/dist/core/logger/logger.d.ts +14 -30
- package/dist/core/logger/logger.js +223 -398
- package/dist/core/logger/logger.js.map +1 -1
- package/dist/core/logger/outputs.d.ts +1 -1
- package/dist/core/logger/outputs.js +17 -8
- 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 +47 -10
- 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 +17 -10
- 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 +7 -3
- package/dist/core/middleware/built-in/adapters/cache/memory.js.map +1 -1
- package/dist/core/middleware/built-in/adapters/cache/redis.d.ts +1 -3
- package/dist/core/middleware/built-in/adapters/cache/redis.js +9 -11
- 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 +7 -3
- 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 +7 -3
- package/dist/core/middleware/built-in/adapters/cdn/cloudflare.js.map +1 -1
- package/dist/core/middleware/built-in/adapters/cdn/cloudfront.d.ts +1 -3
- package/dist/core/middleware/built-in/adapters/cdn/cloudfront.js +10 -12
- 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 +17 -10
- 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 +23 -4
- package/dist/core/middleware/built-in/adapters/index.js.map +1 -1
- package/dist/core/middleware/built-in/auth-helpers.js +22 -11
- 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 +9 -4
- 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 +26 -93
- 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 +12 -11
- 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 +9 -5
- 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 +7 -3
- 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 +7 -3
- 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 +8 -5
- 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 +8 -5
- package/dist/core/middleware/built-in/csrf.js.map +1 -1
- package/dist/core/middleware/built-in/error-tracker.js +7 -3
- package/dist/core/middleware/built-in/error-tracker.js.map +1 -1
- package/dist/core/middleware/built-in/index.d.ts +27 -28
- package/dist/core/middleware/built-in/index.js +78 -48
- package/dist/core/middleware/built-in/index.js.map +1 -1
- package/dist/core/middleware/built-in/performance-monitor.js +7 -3
- 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 +7 -3
- package/dist/core/middleware/built-in/rate-limit.js.map +1 -1
- package/dist/core/middleware/built-in/request-logger.js +8 -5
- 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 +15 -11
- 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 +14 -12
- 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 +7 -3
- 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 +28 -8
- package/dist/core/middleware/index.js.map +1 -1
- package/dist/core/modules/auto-discovery.d.ts +2 -19
- package/dist/core/modules/auto-discovery.js +74 -391
- 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 +9 -2
- package/dist/core/modules/index.js.map +1 -1
- package/dist/core/modules/modules.d.ts +3 -3
- package/dist/core/modules/modules.js +54 -23
- package/dist/core/modules/modules.js.map +1 -1
- package/dist/core/networking/adapters/index.d.ts +3 -4
- package/dist/core/networking/adapters/index.js +7 -3
- 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 +40 -5
- package/dist/core/networking/adapters/socketio-adapter.js.map +1 -1
- package/dist/core/networking/adapters/ws-adapter.d.ts +2 -2
- package/dist/core/networking/adapters/ws-adapter.js +43 -8
- package/dist/core/networking/adapters/ws-adapter.js.map +1 -1
- package/dist/core/networking/index.d.ts +2 -3
- package/dist/core/networking/index.js +7 -2
- package/dist/core/networking/index.js.map +1 -1
- package/dist/core/networking/service-discovery.js +12 -8
- package/dist/core/networking/service-discovery.js.map +1 -1
- package/dist/core/networking/websocket-adapter.js +2 -1
- 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 +11 -9
- package/dist/core/networking/websocket-manager.js.map +1 -1
- package/dist/core/routing/app-integration.d.ts +2 -2
- package/dist/core/routing/app-integration.js +12 -7
- package/dist/core/routing/app-integration.js.map +1 -1
- package/dist/core/routing/index.d.ts +2 -22
- package/dist/core/routing/index.js +27 -185
- package/dist/core/routing/index.js.map +1 -1
- package/dist/core/runtime/aws-lambda-adapter.d.ts +3 -3
- package/dist/core/runtime/aws-lambda-adapter.js +6 -2
- 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 +7 -3
- 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 +6 -2
- 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 +35 -22
- 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 +49 -18
- 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 +6 -2
- package/dist/core/runtime/vercel-edge-adapter.js.map +1 -1
- package/dist/core/utilities/circuit-breaker.js +5 -1
- package/dist/core/utilities/circuit-breaker.js.map +1 -1
- package/dist/core/utilities/container.js +22 -12
- package/dist/core/utilities/container.js.map +1 -1
- package/dist/core/utilities/hooks.d.ts +2 -2
- package/dist/core/utilities/hooks.js +12 -7
- package/dist/core/utilities/hooks.js.map +1 -1
- package/dist/core/utilities/index.d.ts +4 -5
- package/dist/core/utilities/index.js +19 -5
- package/dist/core/utilities/index.js.map +1 -1
- package/dist/core/validation/adapters.d.ts +1 -1
- package/dist/core/validation/adapters.js +26 -15
- package/dist/core/validation/adapters.js.map +1 -1
- package/dist/core/validation/index.d.ts +4 -6
- package/dist/core/validation/index.js +28 -57
- package/dist/core/validation/index.js.map +1 -1
- package/dist/core/validation/schema-interface.js +9 -3
- package/dist/core/validation/schema-interface.js.map +1 -1
- package/dist/index.d.ts +52 -51
- package/dist/index.js +132 -23
- package/dist/index.js.map +1 -1
- package/dist/moro.d.ts +10 -61
- package/dist/moro.js +237 -575
- package/dist/moro.js.map +1 -1
- package/dist/types/auth.js +9 -3
- package/dist/types/auth.js.map +1 -1
- package/dist/types/cache.js +2 -1
- package/dist/types/cdn.js +2 -1
- package/dist/types/config.d.ts +2 -70
- package/dist/types/config.js +2 -1
- package/dist/types/config.js.map +1 -1
- package/dist/types/core.d.ts +42 -36
- package/dist/types/core.js +2 -1
- package/dist/types/database.js +2 -1
- package/dist/types/discovery.js +2 -1
- package/dist/types/events.js +2 -1
- package/dist/types/hooks.d.ts +1 -1
- package/dist/types/hooks.js +2 -1
- package/dist/types/http.d.ts +1 -16
- package/dist/types/http.js +2 -1
- package/dist/types/logger.d.ts +0 -7
- package/dist/types/logger.js +2 -1
- package/dist/types/module.d.ts +0 -11
- package/dist/types/module.js +2 -1
- package/dist/types/runtime.d.ts +1 -1
- package/dist/types/runtime.js +2 -1
- package/dist/types/session.js +2 -1
- package/package.json +52 -19
- package/src/core/auth/morojs-adapter.ts +13 -18
- package/src/core/config/file-loader.ts +273 -13
- package/src/core/config/index.ts +34 -83
- package/src/core/config/loader.ts +633 -0
- package/src/core/config/schema.ts +33 -44
- package/src/core/config/utils.ts +31 -24
- package/src/core/config/validation.ts +140 -0
- package/src/core/database/README.md +16 -26
- package/src/core/database/adapters/drizzle.ts +6 -18
- package/src/core/database/adapters/index.ts +13 -13
- package/src/core/database/adapters/mongodb.ts +5 -53
- package/src/core/database/adapters/mysql.ts +4 -32
- package/src/core/database/adapters/postgresql.ts +5 -30
- package/src/core/database/adapters/redis.ts +8 -61
- package/src/core/database/adapters/sqlite.ts +3 -19
- 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 +6 -3
- package/src/core/docs/simple-docs.ts +2 -2
- package/src/core/docs/swagger-ui.ts +16 -19
- package/src/core/docs/zod-to-openapi.ts +34 -34
- package/src/core/events/event-bus.ts +2 -2
- package/src/core/events/index.ts +2 -2
- package/src/core/framework.ts +67 -311
- package/src/core/http/http-server.ts +45 -190
- package/src/core/http/index.ts +3 -4
- package/src/core/http/router.ts +40 -129
- package/src/core/logger/filters.ts +5 -13
- package/src/core/logger/index.ts +3 -4
- package/src/core/logger/logger.ts +216 -435
- package/src/core/logger/outputs.ts +3 -1
- 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 +4 -18
- 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 +5 -16
- 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 +21 -102
- package/src/core/middleware/built-in/cache.ts +6 -8
- 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 +30 -38
- 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 +1 -3
- package/src/core/middleware/built-in/session.ts +8 -7
- package/src/core/middleware/built-in/sse.ts +9 -11
- 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 +15 -478
- package/src/core/modules/index.ts +2 -2
- package/src/core/modules/modules.ts +12 -23
- package/src/core/networking/adapters/index.ts +3 -4
- package/src/core/networking/adapters/socketio-adapter.ts +3 -5
- package/src/core/networking/adapters/ws-adapter.ts +9 -8
- package/src/core/networking/index.ts +2 -3
- package/src/core/networking/service-discovery.ts +7 -6
- package/src/core/networking/websocket-manager.ts +7 -7
- package/src/core/routing/app-integration.ts +3 -3
- package/src/core/routing/index.ts +17 -201
- 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 +10 -16
- package/src/core/runtime/vercel-edge-adapter.ts +3 -3
- package/src/core/utilities/hooks.ts +3 -3
- package/src/core/utilities/index.ts +4 -5
- package/src/core/validation/adapters.ts +1 -1
- package/src/core/validation/index.ts +16 -68
- package/src/index.ts +66 -73
- package/src/moro.ts +204 -685
- package/src/types/config.ts +2 -71
- package/src/types/core.ts +47 -49
- package/src/types/hooks.ts +1 -1
- package/src/types/http.ts +1 -23
- package/src/types/logger.ts +0 -9
- package/src/types/module.ts +0 -12
- package/src/types/runtime.ts +1 -1
- package/tsconfig.json +2 -4
- package/dist/core/config/config-manager.d.ts +0 -44
- package/dist/core/config/config-manager.js +0 -104
- package/dist/core/config/config-manager.js.map +0 -1
- package/dist/core/config/config-sources.d.ts +0 -21
- package/dist/core/config/config-sources.js +0 -499
- package/dist/core/config/config-sources.js.map +0 -1
- package/dist/core/config/config-validator.d.ts +0 -21
- package/dist/core/config/config-validator.js +0 -788
- package/dist/core/config/config-validator.js.map +0 -1
- package/dist/core/http/uws-http-server.d.ts +0 -64
- package/dist/core/http/uws-http-server.js +0 -688
- package/dist/core/http/uws-http-server.js.map +0 -1
- package/dist/core/middleware/built-in/jwt-helpers.d.ts +0 -118
- package/dist/core/middleware/built-in/jwt-helpers.js +0 -218
- package/dist/core/middleware/built-in/jwt-helpers.js.map +0 -1
- package/dist/core/networking/adapters/uws-adapter.d.ts +0 -44
- package/dist/core/networking/adapters/uws-adapter.js +0 -513
- package/dist/core/networking/adapters/uws-adapter.js.map +0 -1
- package/dist/core/utilities/package-utils.d.ts +0 -38
- package/dist/core/utilities/package-utils.js +0 -57
- package/dist/core/utilities/package-utils.js.map +0 -1
- package/jest.config.mjs +0 -41
- package/src/core/config/config-manager.ts +0 -133
- package/src/core/config/config-sources.ts +0 -596
- package/src/core/config/config-validator.ts +0 -1113
- package/src/core/http/uws-http-server.ts +0 -794
- package/src/core/middleware/built-in/jwt-helpers.ts +0 -243
- package/src/core/networking/adapters/uws-adapter.ts +0 -619
- package/src/core/utilities/package-utils.ts +0 -59
|
@@ -1,22 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.middleware = exports.HookManager = exports.HOOK_EVENTS = void 0;
|
|
1
4
|
// Hook System for Moro
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
+
const events_1 = require("events");
|
|
6
|
+
const logger_1 = require("../logger");
|
|
7
|
+
exports.HOOK_EVENTS = {
|
|
5
8
|
BEFORE_REQUEST: 'before:request',
|
|
6
9
|
AFTER_REQUEST: 'after:request',
|
|
7
10
|
BEFORE_RESPONSE: 'before:response',
|
|
8
11
|
AFTER_RESPONSE: 'after:response',
|
|
9
12
|
ERROR: 'error',
|
|
10
13
|
};
|
|
11
|
-
|
|
14
|
+
class HookManager extends events_1.EventEmitter {
|
|
12
15
|
hooks = new Map();
|
|
13
16
|
beforeHooks = new Map();
|
|
14
17
|
afterHooks = new Map();
|
|
15
|
-
logger = createFrameworkLogger('Hooks');
|
|
18
|
+
logger = (0, logger_1.createFrameworkLogger)('Hooks');
|
|
16
19
|
constructor() {
|
|
17
20
|
super();
|
|
18
21
|
// Initialize hook arrays
|
|
19
|
-
Object.values(HOOK_EVENTS).forEach(event => {
|
|
22
|
+
Object.values(exports.HOOK_EVENTS).forEach(event => {
|
|
20
23
|
this.hooks.set(event, []);
|
|
21
24
|
this.beforeHooks.set(event, []);
|
|
22
25
|
this.afterHooks.set(event, []);
|
|
@@ -121,6 +124,8 @@ export class HookManager extends EventEmitter {
|
|
|
121
124
|
return allHooks;
|
|
122
125
|
}
|
|
123
126
|
}
|
|
127
|
+
exports.HookManager = HookManager;
|
|
124
128
|
// Built-in middleware - now organized in individual files
|
|
125
|
-
|
|
129
|
+
var index_1 = require("../middleware/index");
|
|
130
|
+
Object.defineProperty(exports, "middleware", { enumerable: true, get: function () { return index_1.simpleMiddleware; } });
|
|
126
131
|
//# sourceMappingURL=hooks.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../src/core/utilities/hooks.ts"],"names":[],"mappings":"AAAA,uBAAuB;AACvB,
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../src/core/utilities/hooks.ts"],"names":[],"mappings":";;;AAAA,uBAAuB;AACvB,mCAAsC;AAEtC,sCAAkD;AAErC,QAAA,WAAW,GAAG;IACzB,cAAc,EAAE,gBAAgB;IAChC,aAAa,EAAE,eAAe;IAC9B,eAAe,EAAE,iBAAiB;IAClC,cAAc,EAAE,gBAAgB;IAChC,KAAK,EAAE,OAAO;CACN,CAAC;AAEX,MAAa,WAAY,SAAQ,qBAAY;IACnC,KAAK,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC1C,WAAW,GAAG,IAAI,GAAG,EAA0B,CAAC;IAChD,UAAU,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC/C,MAAM,GAAG,IAAA,8BAAqB,EAAC,OAAO,CAAC,CAAC;IAEhD;QACE,KAAK,EAAE,CAAC;QACR,yBAAyB;QACzB,MAAM,CAAC,MAAM,CAAC,mBAAW,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACzC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC1B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAChC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,uCAAuC;IACvC,IAAI,CAAC,KAAa,EAAE,EAAgB;QAClC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,yBAAyB;IACzB,MAAM,CAAC,KAAa,EAAE,EAAgB;QACpC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,yBAAyB;IACzB,KAAK,CAAC,KAAa,EAAE,EAAgB;QACnC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,6BAA6B;IAC7B,KAAK,CAAC,OAAO,CAAC,KAAa,EAAE,UAAuB,EAAE;QACpD,uBAAuB;QACvB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACtD,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC/B,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACxC,CAAC;QAED,qBAAqB;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAC1C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACxC,CAAC;QAED,sBAAsB;QACtB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACpD,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACxC,CAAC;QAED,2BAA2B;QAC3B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAE1B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,4CAA4C;IACpC,KAAK,CAAC,WAAW,CAAC,IAAkB,EAAE,OAAoB;QAChE,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;QACtB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,eAAe,EAAE;gBACzD,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7D,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,IAAI,SAAS;aAC9C,CAAC,CAAC;YACH,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,eAAe;IACf,UAAU,CAAC,KAAa,EAAE,EAAiB;QACzC,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBAC5D,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC7B,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBAChC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;wBACjB,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;oBACzB,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,yCAAyC;IACzC,QAAQ,CAAC,KAAc;QACrB,IAAI,KAAK,EAAE,CAAC;YACV,OAAO;gBACL,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE;gBACzC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE;gBACjC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE;aACxC,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAwB,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC;YACxB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;YACpB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;YAC1B,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;SAC1B,CAAC,CAAC;QAEH,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACxB,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AA7HD,kCA6HC;AAED,0DAA0D;AAC1D,6CAAqE;AAA5D,mGAAA,gBAAgB,OAAc"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
export { Container, FunctionalContainer, ServiceScope, ServiceLifecycle, withLogging, withCaching, withRetry, withTimeout, } from './container
|
|
2
|
-
export { CircuitBreaker } from './circuit-breaker
|
|
3
|
-
export { HookManager, HOOK_EVENTS } from './hooks
|
|
4
|
-
export {
|
|
5
|
-
export { middleware } from './hooks.js';
|
|
1
|
+
export { Container, FunctionalContainer, ServiceScope, ServiceLifecycle, withLogging, withCaching, withRetry, withTimeout, } from './container';
|
|
2
|
+
export { CircuitBreaker } from './circuit-breaker';
|
|
3
|
+
export { HookManager, HOOK_EVENTS } from './hooks';
|
|
4
|
+
export { middleware } from './hooks';
|
|
@@ -1,8 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.middleware = exports.HOOK_EVENTS = exports.HookManager = exports.CircuitBreaker = exports.withTimeout = exports.withRetry = exports.withCaching = exports.withLogging = exports.ServiceLifecycle = exports.ServiceScope = exports.FunctionalContainer = exports.Container = void 0;
|
|
1
4
|
// Core Utilities - Centralized Exports
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
5
|
+
var container_1 = require("./container");
|
|
6
|
+
Object.defineProperty(exports, "Container", { enumerable: true, get: function () { return container_1.Container; } });
|
|
7
|
+
Object.defineProperty(exports, "FunctionalContainer", { enumerable: true, get: function () { return container_1.FunctionalContainer; } });
|
|
8
|
+
Object.defineProperty(exports, "ServiceScope", { enumerable: true, get: function () { return container_1.ServiceScope; } });
|
|
9
|
+
Object.defineProperty(exports, "ServiceLifecycle", { enumerable: true, get: function () { return container_1.ServiceLifecycle; } });
|
|
10
|
+
Object.defineProperty(exports, "withLogging", { enumerable: true, get: function () { return container_1.withLogging; } });
|
|
11
|
+
Object.defineProperty(exports, "withCaching", { enumerable: true, get: function () { return container_1.withCaching; } });
|
|
12
|
+
Object.defineProperty(exports, "withRetry", { enumerable: true, get: function () { return container_1.withRetry; } });
|
|
13
|
+
Object.defineProperty(exports, "withTimeout", { enumerable: true, get: function () { return container_1.withTimeout; } });
|
|
14
|
+
var circuit_breaker_1 = require("./circuit-breaker");
|
|
15
|
+
Object.defineProperty(exports, "CircuitBreaker", { enumerable: true, get: function () { return circuit_breaker_1.CircuitBreaker; } });
|
|
16
|
+
var hooks_1 = require("./hooks");
|
|
17
|
+
Object.defineProperty(exports, "HookManager", { enumerable: true, get: function () { return hooks_1.HookManager; } });
|
|
18
|
+
Object.defineProperty(exports, "HOOK_EVENTS", { enumerable: true, get: function () { return hooks_1.HOOK_EVENTS; } });
|
|
6
19
|
// Re-export middleware from hooks
|
|
7
|
-
|
|
20
|
+
var hooks_2 = require("./hooks");
|
|
21
|
+
Object.defineProperty(exports, "middleware", { enumerable: true, get: function () { return hooks_2.middleware; } });
|
|
8
22
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/utilities/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/utilities/index.ts"],"names":[],"mappings":";;;AAAA,uCAAuC;AACvC,yCASqB;AARnB,sGAAA,SAAS,OAAA;AACT,gHAAA,mBAAmB,OAAA;AACnB,yGAAA,YAAY,OAAA;AACZ,6GAAA,gBAAgB,OAAA;AAChB,wGAAA,WAAW,OAAA;AACX,wGAAA,WAAW,OAAA;AACX,sGAAA,SAAS,OAAA;AACT,wGAAA,WAAW,OAAA;AAEb,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AACvB,iCAAmD;AAA1C,oGAAA,WAAW,OAAA;AAAE,oGAAA,WAAW,OAAA;AAEjC,kCAAkC;AAClC,iCAAqC;AAA5B,mGAAA,UAAU,OAAA"}
|
|
@@ -1,6 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
// Validation Library Adapters for Moro Framework
|
|
2
3
|
// Makes Joi, Yup, and other libraries compatible with ValidationSchema interface
|
|
3
|
-
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.ClassValidatorAdapter = exports.FunctionAdapter = exports.YupAdapter = exports.JoiAdapter = void 0;
|
|
6
|
+
exports.joi = joi;
|
|
7
|
+
exports.yup = yup;
|
|
8
|
+
exports.fn = fn;
|
|
9
|
+
exports.classValidator = classValidator;
|
|
10
|
+
const schema_interface_1 = require("./schema-interface");
|
|
4
11
|
/**
|
|
5
12
|
* Zod Compatibility Check
|
|
6
13
|
* Zod ALREADY implements ValidationSchema interface natively!
|
|
@@ -9,7 +16,7 @@ import { ValidationError, normalizeValidationError } from './schema-interface.js
|
|
|
9
16
|
/**
|
|
10
17
|
* Joi Adapter - makes Joi schemas compatible with ValidationSchema
|
|
11
18
|
*/
|
|
12
|
-
|
|
19
|
+
class JoiAdapter {
|
|
13
20
|
joiSchema;
|
|
14
21
|
constructor(joiSchema) {
|
|
15
22
|
this.joiSchema = joiSchema;
|
|
@@ -23,14 +30,15 @@ export class JoiAdapter {
|
|
|
23
30
|
return result;
|
|
24
31
|
}
|
|
25
32
|
catch (error) {
|
|
26
|
-
throw normalizeValidationError(error);
|
|
33
|
+
throw (0, schema_interface_1.normalizeValidationError)(error);
|
|
27
34
|
}
|
|
28
35
|
}
|
|
29
36
|
}
|
|
37
|
+
exports.JoiAdapter = JoiAdapter;
|
|
30
38
|
/**
|
|
31
39
|
* Yup Adapter - makes Yup schemas compatible with ValidationSchema
|
|
32
40
|
*/
|
|
33
|
-
|
|
41
|
+
class YupAdapter {
|
|
34
42
|
yupSchema;
|
|
35
43
|
constructor(yupSchema) {
|
|
36
44
|
this.yupSchema = yupSchema;
|
|
@@ -44,15 +52,16 @@ export class YupAdapter {
|
|
|
44
52
|
return result;
|
|
45
53
|
}
|
|
46
54
|
catch (error) {
|
|
47
|
-
throw normalizeValidationError(error);
|
|
55
|
+
throw (0, schema_interface_1.normalizeValidationError)(error);
|
|
48
56
|
}
|
|
49
57
|
}
|
|
50
58
|
}
|
|
59
|
+
exports.YupAdapter = YupAdapter;
|
|
51
60
|
/**
|
|
52
61
|
* Custom Validation Function Adapter
|
|
53
62
|
* Allows users to use simple validation functions
|
|
54
63
|
*/
|
|
55
|
-
|
|
64
|
+
class FunctionAdapter {
|
|
56
65
|
validateFn;
|
|
57
66
|
name;
|
|
58
67
|
constructor(validateFn, name = 'custom') {
|
|
@@ -67,7 +76,7 @@ export class FunctionAdapter {
|
|
|
67
76
|
return await this.validateFn(data);
|
|
68
77
|
}
|
|
69
78
|
catch (error) {
|
|
70
|
-
throw new ValidationError([
|
|
79
|
+
throw new schema_interface_1.ValidationError([
|
|
71
80
|
{
|
|
72
81
|
path: [],
|
|
73
82
|
message: error instanceof Error ? error.message : String(error),
|
|
@@ -77,10 +86,11 @@ export class FunctionAdapter {
|
|
|
77
86
|
}
|
|
78
87
|
}
|
|
79
88
|
}
|
|
89
|
+
exports.FunctionAdapter = FunctionAdapter;
|
|
80
90
|
/**
|
|
81
91
|
* Class Validator Adapter (for TypeScript decorators)
|
|
82
92
|
*/
|
|
83
|
-
|
|
93
|
+
class ClassValidatorAdapter {
|
|
84
94
|
ClassType;
|
|
85
95
|
validate;
|
|
86
96
|
constructor(ClassType, validate) {
|
|
@@ -96,7 +106,7 @@ export class ClassValidatorAdapter {
|
|
|
96
106
|
if (this.validate) {
|
|
97
107
|
const errors = await this.validate(instance);
|
|
98
108
|
if (errors && errors.length > 0) {
|
|
99
|
-
throw new ValidationError(errors.map((error, index) => ({
|
|
109
|
+
throw new schema_interface_1.ValidationError(errors.map((error, index) => ({
|
|
100
110
|
path: error.property ? [error.property] : [index],
|
|
101
111
|
message: Object.values(error.constraints || {}).join(', ') || 'Validation failed',
|
|
102
112
|
code: 'class_validator',
|
|
@@ -106,25 +116,26 @@ export class ClassValidatorAdapter {
|
|
|
106
116
|
return instance;
|
|
107
117
|
}
|
|
108
118
|
catch (error) {
|
|
109
|
-
if (error instanceof ValidationError)
|
|
119
|
+
if (error instanceof schema_interface_1.ValidationError)
|
|
110
120
|
throw error;
|
|
111
|
-
throw normalizeValidationError(error);
|
|
121
|
+
throw (0, schema_interface_1.normalizeValidationError)(error);
|
|
112
122
|
}
|
|
113
123
|
}
|
|
114
124
|
}
|
|
125
|
+
exports.ClassValidatorAdapter = ClassValidatorAdapter;
|
|
115
126
|
/**
|
|
116
127
|
* Utility functions for creating adapters
|
|
117
128
|
*/
|
|
118
|
-
|
|
129
|
+
function joi(joiSchema) {
|
|
119
130
|
return new JoiAdapter(joiSchema);
|
|
120
131
|
}
|
|
121
|
-
|
|
132
|
+
function yup(yupSchema) {
|
|
122
133
|
return new YupAdapter(yupSchema);
|
|
123
134
|
}
|
|
124
|
-
|
|
135
|
+
function fn(validateFn, name) {
|
|
125
136
|
return new FunctionAdapter(validateFn, name);
|
|
126
137
|
}
|
|
127
|
-
|
|
138
|
+
function classValidator(ClassType, validate) {
|
|
128
139
|
return new ClassValidatorAdapter(ClassType, validate);
|
|
129
140
|
}
|
|
130
141
|
//# sourceMappingURL=adapters.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapters.js","sourceRoot":"","sources":["../../../src/core/validation/adapters.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,iFAAiF;
|
|
1
|
+
{"version":3,"file":"adapters.js","sourceRoot":"","sources":["../../../src/core/validation/adapters.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { HttpRequest, HttpResponse } from '../http
|
|
2
|
-
import { ValidationSchema } from './schema-interface
|
|
3
|
-
export declare const z: any;
|
|
1
|
+
import { HttpRequest, HttpResponse } from '../http';
|
|
2
|
+
import { ValidationSchema } from './schema-interface';
|
|
4
3
|
export interface ValidationConfig {
|
|
5
4
|
body?: ValidationSchema;
|
|
6
5
|
query?: ValidationSchema;
|
|
@@ -28,6 +27,5 @@ export declare function body<T>(schema: ValidationSchema<T>): (handler: (req: Va
|
|
|
28
27
|
export declare function query<T>(schema: ValidationSchema<T>): (handler: (req: ValidatedRequest<any>, res: HttpResponse) => any | Promise<any>) => (req: HttpRequest, res: HttpResponse) => Promise<any>;
|
|
29
28
|
export declare function params<T>(schema: ValidationSchema<T>): (handler: (req: ValidatedRequest<any>, res: HttpResponse) => any | Promise<any>) => (req: HttpRequest, res: HttpResponse) => Promise<any>;
|
|
30
29
|
export declare function combineSchemas(schemas: ValidationConfig): ValidationConfig;
|
|
31
|
-
export { ValidationError, normalizeValidationError } from './schema-interface
|
|
32
|
-
export
|
|
33
|
-
export { joi, yup, fn as customValidator, classValidator } from './adapters.js';
|
|
30
|
+
export { ValidationSchema, ValidationError, normalizeValidationError, InferSchemaType, } from './schema-interface';
|
|
31
|
+
export { joi, yup, fn as customValidator, classValidator } from './adapters';
|
|
@@ -1,56 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
// Universal Validation System for Moro Framework
|
|
2
3
|
// Works with Zod, Joi, Yup, and any validation library via adapters
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}
|
|
16
|
-
zodLoadAttempted = true;
|
|
17
|
-
try {
|
|
18
|
-
if (!isPackageAvailable('zod')) {
|
|
19
|
-
zodModule = null;
|
|
20
|
-
return zodModule;
|
|
21
|
-
}
|
|
22
|
-
// Use synchronous require for immediate availability
|
|
23
|
-
const userRequire = createUserRequire();
|
|
24
|
-
zodModule = userRequire('zod');
|
|
25
|
-
}
|
|
26
|
-
catch {
|
|
27
|
-
// Zod not installed or failed to load
|
|
28
|
-
zodModule = null;
|
|
29
|
-
}
|
|
30
|
-
return zodModule;
|
|
31
|
-
}
|
|
32
|
-
export const z = new Proxy({}, {
|
|
33
|
-
get(_target, prop) {
|
|
34
|
-
const zod = loadZodSync();
|
|
35
|
-
if (!zod) {
|
|
36
|
-
throw new Error('Zod is not installed. Please install it with: npm install zod\n' +
|
|
37
|
-
'Or use an alternative validation library (joi, yup, class-validator) via adapters.');
|
|
38
|
-
}
|
|
39
|
-
if (!zod.z) {
|
|
40
|
-
throw new Error('Zod module loaded but z export not found. This may be a version compatibility issue.');
|
|
41
|
-
}
|
|
42
|
-
return zod.z[prop];
|
|
43
|
-
},
|
|
44
|
-
apply(_target, thisArg, args) {
|
|
45
|
-
const zod = loadZodSync();
|
|
46
|
-
if (!zod?.z) {
|
|
47
|
-
throw new Error('Zod is not installed. Please install it with: npm install zod');
|
|
48
|
-
}
|
|
49
|
-
return zod.z.apply(thisArg, args);
|
|
50
|
-
},
|
|
51
|
-
});
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.classValidator = exports.customValidator = exports.yup = exports.joi = exports.normalizeValidationError = exports.ValidationError = void 0;
|
|
6
|
+
exports.validate = validate;
|
|
7
|
+
exports.body = body;
|
|
8
|
+
exports.query = query;
|
|
9
|
+
exports.params = params;
|
|
10
|
+
exports.combineSchemas = combineSchemas;
|
|
11
|
+
const logger_1 = require("../logger");
|
|
12
|
+
const schema_interface_1 = require("./schema-interface");
|
|
13
|
+
// Re-export zod if available (for backward compatibility)
|
|
14
|
+
// The dynamic import is handled in the main index.ts
|
|
15
|
+
const logger = (0, logger_1.createFrameworkLogger)('Validation');
|
|
52
16
|
// Main validation wrapper function
|
|
53
|
-
|
|
17
|
+
function validate(config, handler) {
|
|
54
18
|
return async (req, res) => {
|
|
55
19
|
try {
|
|
56
20
|
const validatedReq = req;
|
|
@@ -123,7 +87,7 @@ async function validateField(schema, data, fieldName) {
|
|
|
123
87
|
};
|
|
124
88
|
}
|
|
125
89
|
catch (error) {
|
|
126
|
-
const normalizedError = normalizeValidationError(error);
|
|
90
|
+
const normalizedError = (0, schema_interface_1.normalizeValidationError)(error);
|
|
127
91
|
const errors = normalizedError.issues.map(issue => ({
|
|
128
92
|
field: issue.path.length > 0 ? issue.path.join('.') : fieldName,
|
|
129
93
|
message: issue.message,
|
|
@@ -154,26 +118,33 @@ function sendValidationError(res, errors, field) {
|
|
|
154
118
|
});
|
|
155
119
|
}
|
|
156
120
|
// Convenience functions for single-field validation
|
|
157
|
-
|
|
121
|
+
function body(schema) {
|
|
158
122
|
return (handler) => {
|
|
159
123
|
return validate({ body: schema }, handler);
|
|
160
124
|
};
|
|
161
125
|
}
|
|
162
|
-
|
|
126
|
+
function query(schema) {
|
|
163
127
|
return (handler) => {
|
|
164
128
|
return validate({ query: schema }, handler);
|
|
165
129
|
};
|
|
166
130
|
}
|
|
167
|
-
|
|
131
|
+
function params(schema) {
|
|
168
132
|
return (handler) => {
|
|
169
133
|
return validate({ params: schema }, handler);
|
|
170
134
|
};
|
|
171
135
|
}
|
|
172
136
|
// Schema composition helpers
|
|
173
|
-
|
|
137
|
+
function combineSchemas(schemas) {
|
|
174
138
|
return schemas;
|
|
175
139
|
}
|
|
176
140
|
// Re-export common validation tools
|
|
177
|
-
|
|
178
|
-
|
|
141
|
+
var schema_interface_2 = require("./schema-interface");
|
|
142
|
+
Object.defineProperty(exports, "ValidationError", { enumerable: true, get: function () { return schema_interface_2.ValidationError; } });
|
|
143
|
+
Object.defineProperty(exports, "normalizeValidationError", { enumerable: true, get: function () { return schema_interface_2.normalizeValidationError; } });
|
|
144
|
+
var adapters_1 = require("./adapters");
|
|
145
|
+
Object.defineProperty(exports, "joi", { enumerable: true, get: function () { return adapters_1.joi; } });
|
|
146
|
+
Object.defineProperty(exports, "yup", { enumerable: true, get: function () { return adapters_1.yup; } });
|
|
147
|
+
Object.defineProperty(exports, "customValidator", { enumerable: true, get: function () { return adapters_1.fn; } });
|
|
148
|
+
Object.defineProperty(exports, "classValidator", { enumerable: true, get: function () { return adapters_1.classValidator; } });
|
|
149
|
+
// Note: z is re-exported from main index.ts with dynamic import
|
|
179
150
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/validation/index.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,oEAAoE
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/validation/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
// Universal Validation Schema Interface for Moro Framework
|
|
2
3
|
// Allows Zod, Joi, Yup, and other validation libraries to work seamlessly
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.ValidationError = void 0;
|
|
6
|
+
exports.isValidationSchema = isValidationSchema;
|
|
7
|
+
exports.normalizeValidationError = normalizeValidationError;
|
|
3
8
|
/**
|
|
4
9
|
* Standard validation error class
|
|
5
10
|
* Compatible with ZodError structure
|
|
6
11
|
*/
|
|
7
|
-
|
|
12
|
+
class ValidationError extends Error {
|
|
8
13
|
issues;
|
|
9
14
|
constructor(issues) {
|
|
10
15
|
const message = `Validation failed: ${issues.map(i => i.message).join(', ')}`;
|
|
@@ -13,16 +18,17 @@ export class ValidationError extends Error {
|
|
|
13
18
|
this.issues = issues;
|
|
14
19
|
}
|
|
15
20
|
}
|
|
21
|
+
exports.ValidationError = ValidationError;
|
|
16
22
|
/**
|
|
17
23
|
* Check if an object implements the ValidationSchema interface
|
|
18
24
|
*/
|
|
19
|
-
|
|
25
|
+
function isValidationSchema(obj) {
|
|
20
26
|
return obj && typeof obj.parseAsync === 'function';
|
|
21
27
|
}
|
|
22
28
|
/**
|
|
23
29
|
* Convert various error formats to our standard ValidationError
|
|
24
30
|
*/
|
|
25
|
-
|
|
31
|
+
function normalizeValidationError(error) {
|
|
26
32
|
// Already our format
|
|
27
33
|
if (error instanceof ValidationError) {
|
|
28
34
|
return error;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-interface.js","sourceRoot":"","sources":["../../../src/core/validation/schema-interface.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,0EAA0E;
|
|
1
|
+
{"version":3,"file":"schema-interface.js","sourceRoot":"","sources":["../../../src/core/validation/schema-interface.ts"],"names":[],"mappings":";AAAA,2DAA2D;AAC3D,0EAA0E;;;AAyC1E,gDAEC;AAKD,4DA+CC;AApFD;;;GAGG;AACH,MAAa,eAAgB,SAAQ,KAAK;IACxB,MAAM,CAAoB;IAE1C,YAAY,MAAyB;QACnC,MAAM,OAAO,GAAG,sBAAsB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9E,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AATD,0CASC;AAcD;;GAEG;AACH,SAAgB,kBAAkB,CAAC,GAAQ;IACzC,OAAO,GAAG,IAAI,OAAO,GAAG,CAAC,UAAU,KAAK,UAAU,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,SAAgB,wBAAwB,CAAC,KAAU;IACjD,qBAAqB;IACrB,IAAI,KAAK,YAAY,eAAe,EAAE,CAAC;QACrC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,mBAAmB;IACnB,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QACzD,OAAO,IAAI,eAAe,CACxB,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,CAAC;YAChC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;YACtB,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,mBAAmB;YAC7C,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,SAAS;SAC9B,CAAC,CAAC,CACJ,CAAC;IACJ,CAAC;IAED,mBAAmB;IACnB,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3D,OAAO,IAAI,eAAe,CACxB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,CAAC;YAClC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE;YACvB,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,mBAAmB;YAC9C,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,SAAS;SAC/B,CAAC,CAAC,CACJ,CAAC;IACJ,CAAC;IAED,mBAAmB;IACnB,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QACzD,OAAO,IAAI,eAAe,CACxB,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAW,EAAE,KAAa,EAAE,EAAE,CAAC,CAAC;YAChD,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACzC,OAAO,EAAE,GAAG;YACZ,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,SAAS;SAC9B,CAAC,CAAC,CACJ,CAAC;IACJ,CAAC;IAED,gBAAgB;IAChB,OAAO,IAAI,eAAe,CAAC;QACzB;YACE,IAAI,EAAE,EAAE;YACR,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC;YACvC,IAAI,EAAE,SAAS;SAChB;KACF,CAAC,CAAC;AACL,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,51 +1,52 @@
|
|
|
1
|
-
export { Moro, Moro as MoroCore, createApp, createAppNode, createAppEdge, createAppLambda, createAppWorker, } from './moro
|
|
2
|
-
export type { MoroOptions } from './core/framework
|
|
3
|
-
export type { AuthOptions, AuthProvider, AuthUser, AuthSession, AuthRequest, AuthAccount, AuthJWT, AuthCallbacks, AuthEvents, AuthPages, AuthAdapter, OAuthProvider, CredentialsProvider, EmailProvider, SignInOptions, SignOutOptions, } from './types/auth
|
|
4
|
-
export { createAuthMiddleware, MoroJSAuth } from './core/auth/morojs-adapter
|
|
5
|
-
export { auth, providers } from './core/middleware/built-in/auth
|
|
6
|
-
export type { RuntimeType, RuntimeAdapter, RuntimeConfig, RuntimeHttpResponse, } from './types/runtime
|
|
7
|
-
export { NodeRuntimeAdapter, VercelEdgeAdapter, AWSLambdaAdapter, CloudflareWorkersAdapter, createRuntimeAdapter, createNodeHandler, createEdgeHandler, createLambdaHandler, createWorkerHandler, } from './core/runtime
|
|
8
|
-
export type { LambdaEvent, LambdaContext, LambdaResponse
|
|
9
|
-
export type { WorkersEnv, WorkersContext } from './core/runtime/cloudflare-workers-adapter
|
|
10
|
-
export { MoroHttpServer,
|
|
11
|
-
export { builtInMiddleware, simpleMiddleware } from './core/middleware/built-in
|
|
12
|
-
export { WebSocketManager, ServiceRegistry } from './core/networking
|
|
13
|
-
export
|
|
14
|
-
export {
|
|
15
|
-
export {
|
|
16
|
-
export
|
|
17
|
-
export {
|
|
18
|
-
|
|
19
|
-
export
|
|
20
|
-
export type {
|
|
21
|
-
export {
|
|
22
|
-
export {
|
|
23
|
-
export {
|
|
24
|
-
export
|
|
25
|
-
export type {
|
|
26
|
-
export {
|
|
27
|
-
export {
|
|
28
|
-
export {
|
|
29
|
-
export
|
|
30
|
-
export {
|
|
31
|
-
export
|
|
32
|
-
export {
|
|
33
|
-
export {
|
|
34
|
-
export
|
|
35
|
-
export {
|
|
36
|
-
export
|
|
37
|
-
export type
|
|
38
|
-
export type * from './types/
|
|
39
|
-
export type * from './types/
|
|
40
|
-
export type * from './types/
|
|
41
|
-
export type * from './types/
|
|
42
|
-
export type * from './types/
|
|
43
|
-
export type * from './types/
|
|
44
|
-
export type * from './types/
|
|
45
|
-
export type * from './types/
|
|
46
|
-
export * from './
|
|
47
|
-
export * from './core/
|
|
48
|
-
export
|
|
49
|
-
export type {
|
|
50
|
-
export type {
|
|
51
|
-
export type {
|
|
1
|
+
export { Moro, Moro as MoroCore, createApp, createAppNode, createAppEdge, createAppLambda, createAppWorker, } from './moro';
|
|
2
|
+
export type { MoroOptions } from './core/framework';
|
|
3
|
+
export type { AuthOptions, AuthProvider, AuthUser, AuthSession, AuthRequest, AuthAccount, AuthJWT, AuthCallbacks, AuthEvents, AuthPages, AuthAdapter, OAuthProvider, CredentialsProvider, EmailProvider, SignInOptions, SignOutOptions, } from './types/auth';
|
|
4
|
+
export { createAuthMiddleware, MoroJSAuth } from './core/auth/morojs-adapter';
|
|
5
|
+
export { auth, providers } from './core/middleware/built-in/auth';
|
|
6
|
+
export type { RuntimeType, RuntimeAdapter, RuntimeConfig, RuntimeHttpResponse, } from './types/runtime';
|
|
7
|
+
export { NodeRuntimeAdapter, VercelEdgeAdapter, AWSLambdaAdapter, CloudflareWorkersAdapter, createRuntimeAdapter, createNodeHandler, createEdgeHandler, createLambdaHandler, createWorkerHandler, } from './core/runtime';
|
|
8
|
+
export type { LambdaEvent, LambdaContext, LambdaResponse } from './core/runtime/aws-lambda-adapter';
|
|
9
|
+
export type { WorkersEnv, WorkersContext } from './core/runtime/cloudflare-workers-adapter';
|
|
10
|
+
export { MoroHttpServer, middleware as httpMiddleware } from './core/http';
|
|
11
|
+
export { builtInMiddleware, simpleMiddleware } from './core/middleware/built-in';
|
|
12
|
+
export { WebSocketManager, ServiceRegistry, ServiceInfo, ServiceDiscoveryOptions, } from './core/networking';
|
|
13
|
+
export { Container, FunctionalContainer, ServiceScope, ServiceLifecycle, withLogging, withCaching, withRetry, withTimeout, CircuitBreaker, HookManager, HOOK_EVENTS, middleware, } from './core/utilities';
|
|
14
|
+
export { MoroEventBus } from './core/events';
|
|
15
|
+
export type { EventContext, EventPayload, EventBusOptions, ModuleEventBus, GlobalEventBus, EventMetrics, SystemEvents, EventHandler, } from './types/events';
|
|
16
|
+
export { createFrameworkLogger, logger } from './core/logger';
|
|
17
|
+
export { validate, body, query, params, combineSchemas } from './core/validation';
|
|
18
|
+
declare let z: any;
|
|
19
|
+
export { z };
|
|
20
|
+
export type { ValidationConfig, ValidationResult, ValidationErrorDetail, ValidatedRequest, } from './core/validation';
|
|
21
|
+
export type { ValidationSchema, ValidationError, InferSchemaType, } from './core/validation/schema-interface';
|
|
22
|
+
export { normalizeValidationError } from './core/validation/schema-interface';
|
|
23
|
+
export { joi, yup, fn as customValidator, classValidator } from './core/validation/adapters';
|
|
24
|
+
export { defineModule, ModuleLoader, ModuleDiscovery, autoDiscoverModuleDirectories, } from './core/modules';
|
|
25
|
+
export type { ModuleDefinition, ModuleRoute, ModuleSocket, ModuleConfig } from './types/module';
|
|
26
|
+
export type { WebSocketAdapter, WebSocketAdapterOptions, WebSocketNamespace, WebSocketConnection, WebSocketEmitter, WebSocketMiddleware, WebSocketEventHandler, } from './core/networking/websocket-adapter';
|
|
27
|
+
export { SocketIOAdapter, WSAdapter } from './core/networking/adapters';
|
|
28
|
+
export { createRoute, defineRoute, EXECUTION_PHASES } from './core/routing';
|
|
29
|
+
export { IntelligentRoutingManager, RouteRegistry } from './core/routing/app-integration';
|
|
30
|
+
export type { RouteBuilder, RouteSchema, CompiledRoute, HttpMethod, AuthConfig, RateLimitConfig, CacheConfig, MiddlewarePhases, ExecutionPhase, } from './core/routing';
|
|
31
|
+
export { DocumentationSystem, AppDocumentationManager, createDocumentationSystem, generateDocsFromIntelligentRoutes, } from './core/docs';
|
|
32
|
+
export type { DocsConfig } from './core/docs';
|
|
33
|
+
export { getConfig, createModuleConfig, getEnvVar, getEnvArray, getEnvJson, isDevelopment, isProduction, isStaging, requireEnvVars, envVar, getConfigValue, } from './core/config/utils';
|
|
34
|
+
export { initializeConfig, getGlobalConfig, isConfigInitialized, resetConfig } from './core/config';
|
|
35
|
+
export type { AppConfig } from './core/config';
|
|
36
|
+
export { MiddlewareManager } from './core/middleware';
|
|
37
|
+
export type { MiddlewareInterface, MoroMiddleware } from './core/middleware';
|
|
38
|
+
export type * from './types/core';
|
|
39
|
+
export type * from './types/http';
|
|
40
|
+
export type * from './types/hooks';
|
|
41
|
+
export type * from './types/cache';
|
|
42
|
+
export type * from './types/cdn';
|
|
43
|
+
export type * from './types/database';
|
|
44
|
+
export type * from './types/logger';
|
|
45
|
+
export type * from './types/session';
|
|
46
|
+
export type * from './types/discovery';
|
|
47
|
+
export * from './core/middleware/built-in/adapters';
|
|
48
|
+
export * from './core/database/adapters';
|
|
49
|
+
export type { CacheAdapter, CacheOptions, CacheStrategy } from './types/cache';
|
|
50
|
+
export type { CDNAdapter, CDNOptions } from './types/cdn';
|
|
51
|
+
export type { DatabaseAdapter, DatabaseTransaction, DatabaseConfig } from './types/database';
|
|
52
|
+
export type { CookieOptions } from './types/http';
|