jimpex 7.0.2 → 9.0.0
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/CHANGELOG.md +93 -0
- package/LICENSE +1 -1
- package/README.md +447 -435
- package/dist/app/index.d.mts +14 -0
- package/dist/app/index.d.ts +14 -0
- package/dist/app/index.js +23 -0
- package/dist/app/index.js.map +1 -0
- package/dist/app/jimpex.d.mts +14 -0
- package/dist/app/jimpex.d.ts +14 -0
- package/dist/app/jimpex.js +665 -0
- package/dist/app/jimpex.js.map +1 -0
- package/dist/controllers/common/config.d.mts +79 -0
- package/dist/controllers/common/config.d.ts +79 -0
- package/dist/controllers/common/config.js +107 -0
- package/dist/controllers/common/config.js.map +1 -0
- package/dist/controllers/common/health.d.mts +83 -0
- package/dist/controllers/common/health.d.ts +83 -0
- package/dist/controllers/common/health.js +115 -0
- package/dist/controllers/common/health.js.map +1 -0
- package/dist/controllers/common/index.d.mts +21 -0
- package/dist/controllers/common/index.d.ts +21 -0
- package/dist/controllers/common/index.js +27 -0
- package/dist/controllers/common/index.js.map +1 -0
- package/dist/controllers/common/statics.d.mts +215 -0
- package/dist/controllers/common/statics.d.ts +215 -0
- package/dist/controllers/common/statics.js +253 -0
- package/dist/controllers/common/statics.js.map +1 -0
- package/dist/controllers/index.d.mts +24 -0
- package/dist/controllers/index.d.ts +24 -0
- package/dist/controllers/index.js +25 -0
- package/dist/controllers/index.js.map +1 -0
- package/dist/controllers/utils/gateway.d.mts +725 -0
- package/dist/controllers/utils/gateway.d.ts +725 -0
- package/dist/controllers/utils/gateway.js +577 -0
- package/dist/controllers/utils/gateway.js.map +1 -0
- package/dist/controllers/utils/index.d.mts +17 -0
- package/dist/controllers/utils/index.d.ts +17 -0
- package/dist/controllers/utils/index.js +23 -0
- package/dist/controllers/utils/index.js.map +1 -0
- package/dist/esm/app/index.js +2 -0
- package/dist/esm/app/index.js.map +1 -0
- package/dist/esm/app/jimpex.js +636 -0
- package/dist/esm/app/jimpex.js.map +1 -0
- package/dist/esm/chunk-2B2CG5KL.js +11 -0
- package/dist/esm/chunk-2B2CG5KL.js.map +1 -0
- package/dist/esm/controllers/common/config.js +80 -0
- package/dist/esm/controllers/common/config.js.map +1 -0
- package/dist/esm/controllers/common/health.js +88 -0
- package/dist/esm/controllers/common/health.js.map +1 -0
- package/dist/esm/controllers/common/index.js +4 -0
- package/dist/esm/controllers/common/index.js.map +1 -0
- package/dist/esm/controllers/common/statics.js +220 -0
- package/dist/esm/controllers/common/statics.js.map +1 -0
- package/dist/esm/controllers/index.js +3 -0
- package/dist/esm/controllers/index.js.map +1 -0
- package/dist/esm/controllers/utils/gateway.js +556 -0
- package/dist/esm/controllers/utils/gateway.js.map +1 -0
- package/dist/esm/controllers/utils/index.js +2 -0
- package/dist/esm/controllers/utils/index.js.map +1 -0
- package/dist/esm/index.js +7 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/middlewares/common/errorHandler.js +116 -0
- package/dist/esm/middlewares/common/errorHandler.js.map +1 -0
- package/dist/esm/middlewares/common/forceHTTPS.js +53 -0
- package/dist/esm/middlewares/common/forceHTTPS.js.map +1 -0
- package/dist/esm/middlewares/common/hsts.js +74 -0
- package/dist/esm/middlewares/common/hsts.js.map +1 -0
- package/dist/esm/middlewares/common/index.js +4 -0
- package/dist/esm/middlewares/common/index.js.map +1 -0
- package/dist/esm/middlewares/html/fastHTML.js +158 -0
- package/dist/esm/middlewares/html/fastHTML.js.map +1 -0
- package/dist/esm/middlewares/html/index.js +3 -0
- package/dist/esm/middlewares/html/index.js.map +1 -0
- package/dist/esm/middlewares/html/showHTML.js +100 -0
- package/dist/esm/middlewares/html/showHTML.js.map +1 -0
- package/dist/esm/middlewares/index.js +4 -0
- package/dist/esm/middlewares/index.js.map +1 -0
- package/dist/esm/middlewares/utils/index.js +2 -0
- package/dist/esm/middlewares/utils/index.js.map +1 -0
- package/dist/esm/middlewares/utils/versionValidator.js +135 -0
- package/dist/esm/middlewares/utils/versionValidator.js.map +1 -0
- package/dist/esm/services/common/appError.js +98 -0
- package/dist/esm/services/common/appError.js.map +1 -0
- package/dist/esm/services/common/httpError.js +28 -0
- package/dist/esm/services/common/httpError.js.map +1 -0
- package/dist/esm/services/common/index.js +17 -0
- package/dist/esm/services/common/index.js.map +1 -0
- package/dist/esm/services/common/sendFile.js +27 -0
- package/dist/esm/services/common/sendFile.js.map +1 -0
- package/dist/esm/services/frontend/frontendFs.js +66 -0
- package/dist/esm/services/frontend/frontendFs.js.map +1 -0
- package/dist/esm/services/frontend/index.js +11 -0
- package/dist/esm/services/frontend/index.js.map +1 -0
- package/dist/esm/services/html/htmlGenerator.js +194 -0
- package/dist/esm/services/html/htmlGenerator.js.map +1 -0
- package/dist/esm/services/html/index.js +11 -0
- package/dist/esm/services/html/index.js.map +1 -0
- package/dist/esm/services/http/apiClient.js +97 -0
- package/dist/esm/services/http/apiClient.js.map +1 -0
- package/dist/esm/services/http/http.js +174 -0
- package/dist/esm/services/http/http.js.map +1 -0
- package/dist/esm/services/http/index.js +17 -0
- package/dist/esm/services/http/index.js.map +1 -0
- package/dist/esm/services/http/responsesBuilder.js +152 -0
- package/dist/esm/services/http/responsesBuilder.js.map +1 -0
- package/dist/esm/services/index.js +6 -0
- package/dist/esm/services/index.js.map +1 -0
- package/dist/esm/services/utils/ensureBearerToken.js +94 -0
- package/dist/esm/services/utils/ensureBearerToken.js.map +1 -0
- package/dist/esm/services/utils/index.js +11 -0
- package/dist/esm/services/utils/index.js.map +1 -0
- package/dist/esm/types/events.js +1 -0
- package/dist/esm/types/events.js.map +1 -0
- package/dist/esm/types/express.js +1 -0
- package/dist/esm/types/express.js.map +1 -0
- package/dist/esm/types/http.js +1 -0
- package/dist/esm/types/http.js.map +1 -0
- package/dist/esm/types/index.js +7 -0
- package/dist/esm/types/index.js.map +1 -0
- package/dist/esm/types/options.js +1 -0
- package/dist/esm/types/options.js.map +1 -0
- package/dist/esm/types/utils.js +1 -0
- package/dist/esm/types/utils.js.map +1 -0
- package/dist/esm/types/wootils.js +1 -0
- package/dist/esm/types/wootils.js.map +1 -0
- package/dist/esm/utils/fns/index.js +5 -0
- package/dist/esm/utils/fns/index.js.map +1 -0
- package/dist/esm/utils/fns/others.js +6 -0
- package/dist/esm/utils/fns/others.js.map +1 -0
- package/dist/esm/utils/fns/routes.js +25 -0
- package/dist/esm/utils/fns/routes.js.map +1 -0
- package/dist/esm/utils/fns/statuses.js +6 -0
- package/dist/esm/utils/fns/statuses.js.map +1 -0
- package/dist/esm/utils/fns/text.js +6 -0
- package/dist/esm/utils/fns/text.js.map +1 -0
- package/dist/esm/utils/index.js +3 -0
- package/dist/esm/utils/index.js.map +1 -0
- package/dist/esm/utils/wrappers.js +41 -0
- package/dist/esm/utils/wrappers.js.map +1 -0
- package/dist/index-b2a04c78.d.ts +1282 -0
- package/dist/index-efeb437e.d.ts +1282 -0
- package/dist/index.d.mts +46 -0
- package/dist/index.d.ts +46 -0
- package/dist/index.js +33 -0
- package/dist/index.js.map +1 -0
- package/dist/middlewares/common/errorHandler.d.mts +132 -0
- package/dist/middlewares/common/errorHandler.d.ts +132 -0
- package/dist/middlewares/common/errorHandler.js +143 -0
- package/dist/middlewares/common/errorHandler.js.map +1 -0
- package/dist/middlewares/common/forceHTTPS.d.mts +69 -0
- package/dist/middlewares/common/forceHTTPS.d.ts +69 -0
- package/dist/middlewares/common/forceHTTPS.js +80 -0
- package/dist/middlewares/common/forceHTTPS.js.map +1 -0
- package/dist/middlewares/common/hsts.d.mts +110 -0
- package/dist/middlewares/common/hsts.d.ts +110 -0
- package/dist/middlewares/common/hsts.js +101 -0
- package/dist/middlewares/common/hsts.js.map +1 -0
- package/dist/middlewares/common/index.d.mts +22 -0
- package/dist/middlewares/common/index.d.ts +22 -0
- package/dist/middlewares/common/index.js +27 -0
- package/dist/middlewares/common/index.js.map +1 -0
- package/dist/middlewares/html/fastHTML.d.mts +180 -0
- package/dist/middlewares/html/fastHTML.d.ts +180 -0
- package/dist/middlewares/html/fastHTML.js +185 -0
- package/dist/middlewares/html/fastHTML.js.map +1 -0
- package/dist/middlewares/html/index.d.mts +21 -0
- package/dist/middlewares/html/index.d.ts +21 -0
- package/dist/middlewares/html/index.js +25 -0
- package/dist/middlewares/html/index.js.map +1 -0
- package/dist/middlewares/html/showHTML.d.mts +127 -0
- package/dist/middlewares/html/showHTML.d.ts +127 -0
- package/dist/middlewares/html/showHTML.js +127 -0
- package/dist/middlewares/html/showHTML.js.map +1 -0
- package/dist/middlewares/index.d.mts +30 -0
- package/dist/middlewares/index.d.ts +30 -0
- package/dist/middlewares/index.js +27 -0
- package/dist/middlewares/index.js.map +1 -0
- package/dist/middlewares/utils/index.d.mts +20 -0
- package/dist/middlewares/utils/index.d.ts +20 -0
- package/dist/middlewares/utils/index.js +23 -0
- package/dist/middlewares/utils/index.js.map +1 -0
- package/dist/middlewares/utils/versionValidator.d.mts +215 -0
- package/dist/middlewares/utils/versionValidator.d.ts +215 -0
- package/dist/middlewares/utils/versionValidator.js +162 -0
- package/dist/middlewares/utils/versionValidator.js.map +1 -0
- package/dist/services/common/appError.d.mts +139 -0
- package/dist/services/common/appError.d.ts +139 -0
- package/dist/services/common/appError.js +126 -0
- package/dist/services/common/appError.js.map +1 -0
- package/dist/services/common/httpError.d.mts +80 -0
- package/dist/services/common/httpError.d.ts +80 -0
- package/dist/services/common/httpError.js +53 -0
- package/dist/services/common/httpError.js.map +1 -0
- package/dist/services/common/index.d.mts +47 -0
- package/dist/services/common/index.d.ts +47 -0
- package/dist/services/common/index.js +44 -0
- package/dist/services/common/index.js.map +1 -0
- package/dist/services/common/sendFile.d.mts +102 -0
- package/dist/services/common/sendFile.d.ts +102 -0
- package/dist/services/common/sendFile.js +51 -0
- package/dist/services/common/sendFile.js.map +1 -0
- package/dist/services/frontend/frontendFs.d.mts +96 -0
- package/dist/services/frontend/frontendFs.d.ts +96 -0
- package/dist/services/frontend/frontendFs.js +103 -0
- package/dist/services/frontend/frontendFs.js.map +1 -0
- package/dist/services/frontend/index.d.mts +40 -0
- package/dist/services/frontend/index.d.ts +40 -0
- package/dist/services/frontend/index.js +36 -0
- package/dist/services/frontend/index.js.map +1 -0
- package/dist/services/html/htmlGenerator.d.mts +237 -0
- package/dist/services/html/htmlGenerator.d.ts +237 -0
- package/dist/services/html/htmlGenerator.js +221 -0
- package/dist/services/html/htmlGenerator.js.map +1 -0
- package/dist/services/html/index.d.mts +43 -0
- package/dist/services/html/index.d.ts +43 -0
- package/dist/services/html/index.js +36 -0
- package/dist/services/html/index.js.map +1 -0
- package/dist/services/http/apiClient.d.mts +170 -0
- package/dist/services/http/apiClient.d.ts +170 -0
- package/dist/services/http/apiClient.js +122 -0
- package/dist/services/http/apiClient.js.map +1 -0
- package/dist/services/http/http.d.mts +176 -0
- package/dist/services/http/http.d.ts +176 -0
- package/dist/services/http/http.js +211 -0
- package/dist/services/http/http.js.map +1 -0
- package/dist/services/http/index.d.mts +51 -0
- package/dist/services/http/index.d.ts +51 -0
- package/dist/services/http/index.js +44 -0
- package/dist/services/http/index.js.map +1 -0
- package/dist/services/http/responsesBuilder.d.mts +179 -0
- package/dist/services/http/responsesBuilder.d.ts +179 -0
- package/dist/services/http/responsesBuilder.js +179 -0
- package/dist/services/http/responsesBuilder.js.map +1 -0
- package/dist/services/index.d.mts +33 -0
- package/dist/services/index.d.ts +33 -0
- package/dist/services/index.js +31 -0
- package/dist/services/index.js.map +1 -0
- package/dist/services/utils/ensureBearerToken.d.mts +158 -0
- package/dist/services/utils/ensureBearerToken.d.ts +158 -0
- package/dist/services/utils/ensureBearerToken.js +121 -0
- package/dist/services/utils/ensureBearerToken.js.map +1 -0
- package/dist/services/utils/index.d.mts +44 -0
- package/dist/services/utils/index.d.ts +44 -0
- package/dist/services/utils/index.js +36 -0
- package/dist/services/utils/index.js.map +1 -0
- package/dist/types/events.d.mts +14 -0
- package/dist/types/events.d.ts +14 -0
- package/dist/types/events.js +17 -0
- package/dist/types/events.js.map +1 -0
- package/dist/types/express.d.mts +10 -0
- package/dist/types/express.d.ts +10 -0
- package/dist/types/express.js +17 -0
- package/dist/types/express.js.map +1 -0
- package/dist/types/http.d.mts +79 -0
- package/dist/types/http.d.ts +79 -0
- package/dist/types/http.js +17 -0
- package/dist/types/http.js.map +1 -0
- package/dist/types/index.d.mts +14 -0
- package/dist/types/index.d.ts +14 -0
- package/dist/types/index.js +33 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/options.d.mts +14 -0
- package/dist/types/options.d.ts +14 -0
- package/dist/types/options.js +17 -0
- package/dist/types/options.js.map +1 -0
- package/dist/types/utils.d.mts +48 -0
- package/dist/types/utils.d.ts +48 -0
- package/dist/types/utils.js +17 -0
- package/dist/types/utils.js.map +1 -0
- package/dist/types/wootils.d.mts +4 -0
- package/dist/types/wootils.d.ts +4 -0
- package/dist/types/wootils.js +17 -0
- package/dist/types/wootils.js.map +1 -0
- package/dist/utils/fns/index.d.mts +5 -0
- package/dist/utils/fns/index.d.ts +5 -0
- package/dist/utils/fns/index.js +29 -0
- package/dist/utils/fns/index.js.map +1 -0
- package/dist/utils/fns/others.d.mts +17 -0
- package/dist/utils/fns/others.d.ts +17 -0
- package/dist/utils/fns/others.js +29 -0
- package/dist/utils/fns/others.js.map +1 -0
- package/dist/utils/fns/routes.d.mts +39 -0
- package/dist/utils/fns/routes.d.ts +39 -0
- package/dist/utils/fns/routes.js +51 -0
- package/dist/utils/fns/routes.js.map +1 -0
- package/dist/utils/fns/statuses.d.mts +45 -0
- package/dist/utils/fns/statuses.d.ts +45 -0
- package/dist/utils/fns/statuses.js +39 -0
- package/dist/utils/fns/statuses.js.map +1 -0
- package/dist/utils/fns/text.d.mts +9 -0
- package/dist/utils/fns/text.d.ts +9 -0
- package/dist/utils/fns/text.js +29 -0
- package/dist/utils/fns/text.js.map +1 -0
- package/dist/utils/index.d.mts +19 -0
- package/dist/utils/index.d.ts +19 -0
- package/dist/utils/index.js +25 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/wrappers.d.mts +14 -0
- package/dist/utils/wrappers.d.ts +14 -0
- package/dist/utils/wrappers.js +68 -0
- package/dist/utils/wrappers.js.map +1 -0
- package/examples/basic/404.html +12 -0
- package/examples/basic/README.md +30 -0
- package/examples/basic/app.ts +18 -0
- package/examples/basic/controller.ts +45 -0
- package/examples/basic/index.ts +19 -0
- package/examples/basic/middleware.ts +13 -0
- package/examples/basic/service.ts +11 -0
- package/package.json +60 -39
- package/src/app/index.ts +1 -0
- package/src/app/jimpex.ts +743 -0
- package/src/controllers/common/config.ts +115 -0
- package/src/controllers/common/health.ts +128 -0
- package/src/controllers/common/index.ts +3 -0
- package/src/controllers/common/statics.ts +380 -0
- package/src/controllers/index.ts +2 -0
- package/src/controllers/utils/gateway.ts +1186 -0
- package/src/controllers/utils/index.ts +1 -0
- package/src/index.ts +6 -0
- package/src/middlewares/common/errorHandler.ts +203 -0
- package/src/middlewares/common/forceHTTPS.ts +83 -0
- package/src/middlewares/common/hsts.ts +135 -0
- package/src/middlewares/common/index.ts +3 -0
- package/src/middlewares/html/fastHTML.ts +255 -0
- package/src/middlewares/html/index.ts +2 -0
- package/src/middlewares/html/showHTML.ts +165 -0
- package/src/middlewares/index.ts +3 -0
- package/src/middlewares/utils/index.ts +1 -0
- package/src/middlewares/utils/versionValidator.ts +289 -0
- package/src/services/common/appError.ts +158 -0
- package/src/services/common/httpError.ts +74 -0
- package/src/services/common/index.ts +29 -0
- package/src/services/common/sendFile.ts +106 -0
- package/src/services/frontend/frontendFs.ts +101 -0
- package/src/services/frontend/index.ts +21 -0
- package/src/services/html/htmlGenerator.ts +356 -0
- package/src/services/html/index.ts +21 -0
- package/src/services/http/apiClient.ts +221 -0
- package/src/services/http/http.ts +286 -0
- package/src/services/http/index.ts +29 -0
- package/src/services/http/responsesBuilder.ts +265 -0
- package/src/services/index.ts +5 -0
- package/src/services/utils/ensureBearerToken.ts +202 -0
- package/src/services/utils/index.ts +21 -0
- package/src/types/events.ts +303 -0
- package/src/types/express.ts +21 -0
- package/src/types/http.ts +77 -0
- package/src/types/index.ts +6 -0
- package/src/types/options.ts +248 -0
- package/src/types/utils.ts +52 -0
- package/src/types/wootils.ts +4 -0
- package/src/utils/fns/index.ts +4 -0
- package/src/utils/fns/others.ts +15 -0
- package/src/utils/fns/routes.ts +64 -0
- package/src/utils/fns/statuses.ts +44 -0
- package/src/utils/fns/text.ts +8 -0
- package/src/utils/index.ts +2 -0
- package/src/utils/wrappers.ts +537 -0
- package/tsconfig.json +5 -8
- package/tsup.config.ts +10 -0
- package/src/app/index.js +0 -692
- package/src/constants/eventNames.js +0 -48
- package/src/constants/index.js +0 -7
- package/src/controllers/common/configuration.js +0 -116
- package/src/controllers/common/health.js +0 -79
- package/src/controllers/common/index.js +0 -7
- package/src/controllers/common/statics.js +0 -336
- package/src/controllers/index.js +0 -9
- package/src/controllers/utils/gateway.js +0 -1039
- package/src/controllers/utils/index.js +0 -3
- package/src/index.js +0 -30
- package/src/middlewares/common/errorHandler.js +0 -185
- package/src/middlewares/common/forceHTTPS.js +0 -80
- package/src/middlewares/common/hsts.js +0 -122
- package/src/middlewares/common/index.js +0 -7
- package/src/middlewares/html/fastHTML.js +0 -298
- package/src/middlewares/html/index.js +0 -5
- package/src/middlewares/html/showHTML.js +0 -167
- package/src/middlewares/index.js +0 -11
- package/src/middlewares/utils/index.js +0 -3
- package/src/middlewares/utils/versionValidator.js +0 -261
- package/src/services/common/appError.js +0 -136
- package/src/services/common/httpError.js +0 -60
- package/src/services/common/index.js +0 -25
- package/src/services/common/sendFile.js +0 -68
- package/src/services/frontend/frontendFs.js +0 -85
- package/src/services/frontend/index.js +0 -17
- package/src/services/html/htmlGenerator.js +0 -391
- package/src/services/html/index.js +0 -17
- package/src/services/http/apiClient.js +0 -148
- package/src/services/http/http.js +0 -256
- package/src/services/http/index.js +0 -25
- package/src/services/http/responsesBuilder.js +0 -193
- package/src/services/index.js +0 -15
- package/src/services/utils/ensureBearerToken.js +0 -147
- package/src/services/utils/index.js +0 -19
- package/src/types.js +0 -377
- package/src/utils/functions.js +0 -78
- package/src/utils/wrappers.js +0 -131
- package/types/app/index.d.ts +0 -417
- package/types/constants/eventNames.d.ts +0 -93
- package/types/constants/index.d.ts +0 -2
- package/types/controllers/common/configuration.d.ts +0 -71
- package/types/controllers/common/health.d.ts +0 -55
- package/types/controllers/common/index.d.ts +0 -4
- package/types/controllers/common/statics.d.ts +0 -271
- package/types/controllers/index.d.ts +0 -3
- package/types/controllers/utils/gateway.d.ts +0 -947
- package/types/controllers/utils/index.d.ts +0 -2
- package/types/index.d.ts +0 -15
- package/types/middlewares/common/errorHandler.d.ts +0 -143
- package/types/middlewares/common/forceHTTPS.d.ts +0 -64
- package/types/middlewares/common/hsts.d.ts +0 -111
- package/types/middlewares/common/index.d.ts +0 -4
- package/types/middlewares/html/fastHTML.d.ts +0 -238
- package/types/middlewares/html/index.d.ts +0 -3
- package/types/middlewares/html/showHTML.d.ts +0 -128
- package/types/middlewares/index.d.ts +0 -4
- package/types/middlewares/utils/index.d.ts +0 -2
- package/types/middlewares/utils/versionValidator.d.ts +0 -247
- package/types/services/common/appError.d.ts +0 -89
- package/types/services/common/httpError.d.ts +0 -37
- package/types/services/common/index.d.ts +0 -18
- package/types/services/common/sendFile.d.ts +0 -56
- package/types/services/frontend/frontendFs.d.ts +0 -72
- package/types/services/frontend/index.d.ts +0 -3
- package/types/services/html/htmlGenerator.d.ts +0 -298
- package/types/services/html/index.d.ts +0 -3
- package/types/services/http/apiClient.d.ts +0 -141
- package/types/services/http/http.d.ts +0 -159
- package/types/services/http/index.d.ts +0 -18
- package/types/services/http/responsesBuilder.d.ts +0 -140
- package/types/services/index.d.ts +0 -6
- package/types/services/utils/ensureBearerToken.d.ts +0 -137
- package/types/services/utils/index.d.ts +0 -16
- package/types/types.d.ts +0 -280
- package/types/utils/functions.d.ts +0 -55
- package/types/utils/wrappers.d.ts +0 -127
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import * as _homer0_jimple from '@homer0/jimple';
|
|
2
|
+
import { J as Jimpex } from '../../index-efeb437e.js';
|
|
3
|
+
export { AppError, AppErrorClass, AppErrorContext, CreateAppErrorFn, appErrorProvider, createAppError } from './appError.mjs';
|
|
4
|
+
export { CreateHTTPErrorFn, HTTPError, HTTPErrorClass, createHTTPError, httpErrorProvider } from './httpError.mjs';
|
|
5
|
+
export { SendFile, SendFileGeneratorOptions, SendFileOptions, sendFile, sendFileProvider } from './sendFile.mjs';
|
|
6
|
+
import '../../types/express.mjs';
|
|
7
|
+
import 'express';
|
|
8
|
+
import '../../types/http.mjs';
|
|
9
|
+
import 'https';
|
|
10
|
+
import 'http';
|
|
11
|
+
import 'spdy';
|
|
12
|
+
import 'node-fetch';
|
|
13
|
+
import '../../types/utils.mjs';
|
|
14
|
+
import '@homer0/path-utils';
|
|
15
|
+
import '@homer0/simple-logger';
|
|
16
|
+
import '@homer0/simple-config';
|
|
17
|
+
import '@homer0/events-hub';
|
|
18
|
+
import '../../utils/fns/statuses.mjs';
|
|
19
|
+
import 'statuses';
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Registers all the common services on the container.
|
|
23
|
+
*
|
|
24
|
+
* - {@link AppError | appError}
|
|
25
|
+
* - {@link HTTPError | httpError}
|
|
26
|
+
* - {@link SendFile | sendFile}
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
*
|
|
30
|
+
* // Register the collection on the container
|
|
31
|
+
* container.register(commonServicesProvider);
|
|
32
|
+
* // Getting access to one the services instance
|
|
33
|
+
* const sendFile = container.get<SendFile>('sendFile');
|
|
34
|
+
*
|
|
35
|
+
* @group Providers
|
|
36
|
+
*/
|
|
37
|
+
declare const commonServicesProvider: {
|
|
38
|
+
appErrorProvider: _homer0_jimple.Resource<"provider", "register", _homer0_jimple.ProviderRegisterFn<Jimpex>>;
|
|
39
|
+
httpErrorProvider: _homer0_jimple.Resource<"provider", "register", _homer0_jimple.ProviderRegisterFn<Jimpex>>;
|
|
40
|
+
sendFileProvider: _homer0_jimple.Resource<"provider", "register", _homer0_jimple.ProviderRegisterFn<Jimpex>>;
|
|
41
|
+
} & Record<string, _homer0_jimple.Resource<"provider", "register", _homer0_jimple.ProviderRegisterFn<Jimpex>>> & {
|
|
42
|
+
provider: true;
|
|
43
|
+
} & {
|
|
44
|
+
register: _homer0_jimple.ProviderRegisterFn<Jimpex>;
|
|
45
|
+
} & Record<string, unknown>;
|
|
46
|
+
|
|
47
|
+
export { commonServicesProvider };
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import * as _homer0_jimple from '@homer0/jimple';
|
|
2
|
+
import { J as Jimpex } from '../../index-b2a04c78.js';
|
|
3
|
+
export { AppError, AppErrorClass, AppErrorContext, CreateAppErrorFn, appErrorProvider, createAppError } from './appError.js';
|
|
4
|
+
export { CreateHTTPErrorFn, HTTPError, HTTPErrorClass, createHTTPError, httpErrorProvider } from './httpError.js';
|
|
5
|
+
export { SendFile, SendFileGeneratorOptions, SendFileOptions, sendFile, sendFileProvider } from './sendFile.js';
|
|
6
|
+
import '../../types/express.js';
|
|
7
|
+
import 'express';
|
|
8
|
+
import '../../types/http.js';
|
|
9
|
+
import 'https';
|
|
10
|
+
import 'http';
|
|
11
|
+
import 'spdy';
|
|
12
|
+
import 'node-fetch';
|
|
13
|
+
import '../../types/utils.js';
|
|
14
|
+
import '@homer0/path-utils';
|
|
15
|
+
import '@homer0/simple-logger';
|
|
16
|
+
import '@homer0/simple-config';
|
|
17
|
+
import '@homer0/events-hub';
|
|
18
|
+
import '../../utils/fns/statuses.js';
|
|
19
|
+
import 'statuses';
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Registers all the common services on the container.
|
|
23
|
+
*
|
|
24
|
+
* - {@link AppError | appError}
|
|
25
|
+
* - {@link HTTPError | httpError}
|
|
26
|
+
* - {@link SendFile | sendFile}
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
*
|
|
30
|
+
* // Register the collection on the container
|
|
31
|
+
* container.register(commonServicesProvider);
|
|
32
|
+
* // Getting access to one the services instance
|
|
33
|
+
* const sendFile = container.get<SendFile>('sendFile');
|
|
34
|
+
*
|
|
35
|
+
* @group Providers
|
|
36
|
+
*/
|
|
37
|
+
declare const commonServicesProvider: {
|
|
38
|
+
appErrorProvider: _homer0_jimple.Resource<"provider", "register", _homer0_jimple.ProviderRegisterFn<Jimpex>>;
|
|
39
|
+
httpErrorProvider: _homer0_jimple.Resource<"provider", "register", _homer0_jimple.ProviderRegisterFn<Jimpex>>;
|
|
40
|
+
sendFileProvider: _homer0_jimple.Resource<"provider", "register", _homer0_jimple.ProviderRegisterFn<Jimpex>>;
|
|
41
|
+
} & Record<string, _homer0_jimple.Resource<"provider", "register", _homer0_jimple.ProviderRegisterFn<Jimpex>>> & {
|
|
42
|
+
provider: true;
|
|
43
|
+
} & {
|
|
44
|
+
register: _homer0_jimple.ProviderRegisterFn<Jimpex>;
|
|
45
|
+
} & Record<string, unknown>;
|
|
46
|
+
|
|
47
|
+
export { commonServicesProvider };
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
19
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
|
+
var common_exports = {};
|
|
21
|
+
__export(common_exports, {
|
|
22
|
+
commonServicesProvider: () => commonServicesProvider
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(common_exports);
|
|
25
|
+
var import_utils = require("../../utils");
|
|
26
|
+
var import_appError = require("./appError");
|
|
27
|
+
var import_httpError = require("./httpError");
|
|
28
|
+
var import_sendFile = require("./sendFile");
|
|
29
|
+
__reExport(common_exports, require("./appError"), module.exports);
|
|
30
|
+
__reExport(common_exports, require("./httpError"), module.exports);
|
|
31
|
+
__reExport(common_exports, require("./sendFile"), module.exports);
|
|
32
|
+
const commonServicesProvider = (0, import_utils.providers)({
|
|
33
|
+
appErrorProvider: import_appError.appErrorProvider,
|
|
34
|
+
httpErrorProvider: import_httpError.httpErrorProvider,
|
|
35
|
+
sendFileProvider: import_sendFile.sendFileProvider
|
|
36
|
+
});
|
|
37
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
38
|
+
0 && (module.exports = {
|
|
39
|
+
commonServicesProvider,
|
|
40
|
+
...require("./appError"),
|
|
41
|
+
...require("./httpError"),
|
|
42
|
+
...require("./sendFile")
|
|
43
|
+
});
|
|
44
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/services/common/index.ts"],"sourcesContent":["import { providers } from '../../utils';\nimport { appErrorProvider } from './appError';\nimport { httpErrorProvider } from './httpError';\nimport { sendFileProvider } from './sendFile';\n/**\n * Registers all the common services on the container.\n *\n * - {@link AppError | appError}\n * - {@link HTTPError | httpError}\n * - {@link SendFile | sendFile}\n *\n * @example\n *\n * // Register the collection on the container\n * container.register(commonServicesProvider);\n * // Getting access to one the services instance\n * const sendFile = container.get<SendFile>('sendFile');\n *\n * @group Providers\n */\nexport const commonServicesProvider = providers({\n appErrorProvider,\n httpErrorProvider,\n sendFileProvider,\n});\n\nexport * from './appError';\nexport * from './httpError';\nexport * from './sendFile';\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA0B;AAC1B,sBAAiC;AACjC,uBAAkC;AAClC,sBAAiC;AAuBjC,2BAAc,uBA1Bd;AA2BA,2BAAc,wBA3Bd;AA4BA,2BAAc,uBA5Bd;AAoBO,MAAM,6BAAyB,wBAAU;AAAA,EAC9C;AAAA,EACA;AAAA,EACA;AACF,CAAC;","names":[]}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import * as _homer0_jimple from '@homer0/jimple';
|
|
2
|
+
import { J as Jimpex } from '../../index-efeb437e.js';
|
|
3
|
+
import { Response, NextFunction } from 'express';
|
|
4
|
+
import { PathUtils } from '@homer0/path-utils';
|
|
5
|
+
import '../../types/express.mjs';
|
|
6
|
+
import '../../types/http.mjs';
|
|
7
|
+
import 'https';
|
|
8
|
+
import 'http';
|
|
9
|
+
import 'spdy';
|
|
10
|
+
import 'node-fetch';
|
|
11
|
+
import '../../types/utils.mjs';
|
|
12
|
+
import '@homer0/simple-logger';
|
|
13
|
+
import '@homer0/simple-config';
|
|
14
|
+
import '@homer0/events-hub';
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* The options to create a {@link SendFile} function.
|
|
18
|
+
*
|
|
19
|
+
* @group Services/SendFile
|
|
20
|
+
*/
|
|
21
|
+
type SendFileGeneratorOptions = {
|
|
22
|
+
/**
|
|
23
|
+
* A dictionary with the dependencies to inject.
|
|
24
|
+
*/
|
|
25
|
+
inject: {
|
|
26
|
+
pathUtils: PathUtils;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* The options for the function that actually serves a file.
|
|
31
|
+
*
|
|
32
|
+
* @group Services/SendFile
|
|
33
|
+
*/
|
|
34
|
+
type SendFileOptions = {
|
|
35
|
+
/**
|
|
36
|
+
* The response object sent by the application. Necessary to write the file.
|
|
37
|
+
*/
|
|
38
|
+
res: Response;
|
|
39
|
+
/**
|
|
40
|
+
* The path of the file to serve. Depending on the `from` option, it will be either
|
|
41
|
+
* relative to the project root, or the application executable.
|
|
42
|
+
*/
|
|
43
|
+
filepath: string;
|
|
44
|
+
/**
|
|
45
|
+
* The name of a location on the `pathUtils` service from where the `filepath` is
|
|
46
|
+
* relative to. It can be `app` for the directory containing the application executable,
|
|
47
|
+
* or `project` for the project root. It could also be any other location that the
|
|
48
|
+
* implementation may have registered.
|
|
49
|
+
*
|
|
50
|
+
* @default 'app'
|
|
51
|
+
*/
|
|
52
|
+
from?: string;
|
|
53
|
+
/**
|
|
54
|
+
* The function to move to the next middleware. It can be used to report an error in
|
|
55
|
+
* case the file can't be served.
|
|
56
|
+
*
|
|
57
|
+
* @default {() => {}}
|
|
58
|
+
*/
|
|
59
|
+
next?: NextFunction;
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* The type of the function that serves a file.
|
|
63
|
+
* This is exported to make it easy to type the dependency injection.
|
|
64
|
+
*
|
|
65
|
+
* @group Services/SendFile
|
|
66
|
+
*/
|
|
67
|
+
type SendFile = (options: SendFileOptions) => void;
|
|
68
|
+
/**
|
|
69
|
+
* Generates a function to send files on the application response.
|
|
70
|
+
*
|
|
71
|
+
* @param options To inject the required dependencies.
|
|
72
|
+
* @example
|
|
73
|
+
*
|
|
74
|
+
* <caption>Basic usage</caption>
|
|
75
|
+
*
|
|
76
|
+
* // Let's say this is inside an Express middleware.
|
|
77
|
+
* // Get the function
|
|
78
|
+
* const send = sendFile(pathUtils);
|
|
79
|
+
* send({ res, filepath: 'some-file.html', next });
|
|
80
|
+
* // If your app is on "/app/index.js", this will send "/app/some-file.html".
|
|
81
|
+
*
|
|
82
|
+
* @group Services
|
|
83
|
+
* @group Services/SendFile
|
|
84
|
+
*/
|
|
85
|
+
declare const sendFile: ({ inject: { pathUtils } }: SendFileGeneratorOptions) => SendFile;
|
|
86
|
+
/**
|
|
87
|
+
* The service provider that once registered on the container will set the result of
|
|
88
|
+
* {@link sendFile} as the `sendFile` service.
|
|
89
|
+
*
|
|
90
|
+
* @example
|
|
91
|
+
*
|
|
92
|
+
* // Register it on the container
|
|
93
|
+
* container.register(sendFileProvider);
|
|
94
|
+
* // Getting access to the service instance
|
|
95
|
+
* const sendFile = container.get<SendFile>('sendFile');
|
|
96
|
+
*
|
|
97
|
+
* @group Providers
|
|
98
|
+
* @group Services/SendFile
|
|
99
|
+
*/
|
|
100
|
+
declare const sendFileProvider: _homer0_jimple.Resource<"provider", "register", _homer0_jimple.ProviderRegisterFn<Jimpex>>;
|
|
101
|
+
|
|
102
|
+
export { SendFile, SendFileGeneratorOptions, SendFileOptions, sendFile, sendFileProvider };
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import * as _homer0_jimple from '@homer0/jimple';
|
|
2
|
+
import { J as Jimpex } from '../../index-b2a04c78.js';
|
|
3
|
+
import { Response, NextFunction } from 'express';
|
|
4
|
+
import { PathUtils } from '@homer0/path-utils';
|
|
5
|
+
import '../../types/express.js';
|
|
6
|
+
import '../../types/http.js';
|
|
7
|
+
import 'https';
|
|
8
|
+
import 'http';
|
|
9
|
+
import 'spdy';
|
|
10
|
+
import 'node-fetch';
|
|
11
|
+
import '../../types/utils.js';
|
|
12
|
+
import '@homer0/simple-logger';
|
|
13
|
+
import '@homer0/simple-config';
|
|
14
|
+
import '@homer0/events-hub';
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* The options to create a {@link SendFile} function.
|
|
18
|
+
*
|
|
19
|
+
* @group Services/SendFile
|
|
20
|
+
*/
|
|
21
|
+
type SendFileGeneratorOptions = {
|
|
22
|
+
/**
|
|
23
|
+
* A dictionary with the dependencies to inject.
|
|
24
|
+
*/
|
|
25
|
+
inject: {
|
|
26
|
+
pathUtils: PathUtils;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* The options for the function that actually serves a file.
|
|
31
|
+
*
|
|
32
|
+
* @group Services/SendFile
|
|
33
|
+
*/
|
|
34
|
+
type SendFileOptions = {
|
|
35
|
+
/**
|
|
36
|
+
* The response object sent by the application. Necessary to write the file.
|
|
37
|
+
*/
|
|
38
|
+
res: Response;
|
|
39
|
+
/**
|
|
40
|
+
* The path of the file to serve. Depending on the `from` option, it will be either
|
|
41
|
+
* relative to the project root, or the application executable.
|
|
42
|
+
*/
|
|
43
|
+
filepath: string;
|
|
44
|
+
/**
|
|
45
|
+
* The name of a location on the `pathUtils` service from where the `filepath` is
|
|
46
|
+
* relative to. It can be `app` for the directory containing the application executable,
|
|
47
|
+
* or `project` for the project root. It could also be any other location that the
|
|
48
|
+
* implementation may have registered.
|
|
49
|
+
*
|
|
50
|
+
* @default 'app'
|
|
51
|
+
*/
|
|
52
|
+
from?: string;
|
|
53
|
+
/**
|
|
54
|
+
* The function to move to the next middleware. It can be used to report an error in
|
|
55
|
+
* case the file can't be served.
|
|
56
|
+
*
|
|
57
|
+
* @default {() => {}}
|
|
58
|
+
*/
|
|
59
|
+
next?: NextFunction;
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* The type of the function that serves a file.
|
|
63
|
+
* This is exported to make it easy to type the dependency injection.
|
|
64
|
+
*
|
|
65
|
+
* @group Services/SendFile
|
|
66
|
+
*/
|
|
67
|
+
type SendFile = (options: SendFileOptions) => void;
|
|
68
|
+
/**
|
|
69
|
+
* Generates a function to send files on the application response.
|
|
70
|
+
*
|
|
71
|
+
* @param options To inject the required dependencies.
|
|
72
|
+
* @example
|
|
73
|
+
*
|
|
74
|
+
* <caption>Basic usage</caption>
|
|
75
|
+
*
|
|
76
|
+
* // Let's say this is inside an Express middleware.
|
|
77
|
+
* // Get the function
|
|
78
|
+
* const send = sendFile(pathUtils);
|
|
79
|
+
* send({ res, filepath: 'some-file.html', next });
|
|
80
|
+
* // If your app is on "/app/index.js", this will send "/app/some-file.html".
|
|
81
|
+
*
|
|
82
|
+
* @group Services
|
|
83
|
+
* @group Services/SendFile
|
|
84
|
+
*/
|
|
85
|
+
declare const sendFile: ({ inject: { pathUtils } }: SendFileGeneratorOptions) => SendFile;
|
|
86
|
+
/**
|
|
87
|
+
* The service provider that once registered on the container will set the result of
|
|
88
|
+
* {@link sendFile} as the `sendFile` service.
|
|
89
|
+
*
|
|
90
|
+
* @example
|
|
91
|
+
*
|
|
92
|
+
* // Register it on the container
|
|
93
|
+
* container.register(sendFileProvider);
|
|
94
|
+
* // Getting access to the service instance
|
|
95
|
+
* const sendFile = container.get<SendFile>('sendFile');
|
|
96
|
+
*
|
|
97
|
+
* @group Providers
|
|
98
|
+
* @group Services/SendFile
|
|
99
|
+
*/
|
|
100
|
+
declare const sendFileProvider: _homer0_jimple.Resource<"provider", "register", _homer0_jimple.ProviderRegisterFn<Jimpex>>;
|
|
101
|
+
|
|
102
|
+
export { SendFile, SendFileGeneratorOptions, SendFileOptions, sendFile, sendFileProvider };
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var sendFile_exports = {};
|
|
20
|
+
__export(sendFile_exports, {
|
|
21
|
+
sendFile: () => sendFile,
|
|
22
|
+
sendFileProvider: () => sendFileProvider
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(sendFile_exports);
|
|
25
|
+
var import_utils = require("../../utils");
|
|
26
|
+
const sendFile = ({ inject: { pathUtils } }) => ({ res, filepath, from = "app", next = () => {
|
|
27
|
+
} }) => {
|
|
28
|
+
res.sendFile(pathUtils.joinFrom(from, filepath), (error) => {
|
|
29
|
+
if (error) {
|
|
30
|
+
next(error);
|
|
31
|
+
} else {
|
|
32
|
+
res.end();
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
};
|
|
36
|
+
const sendFileProvider = (0, import_utils.provider)((app) => {
|
|
37
|
+
app.set(
|
|
38
|
+
"sendFile",
|
|
39
|
+
() => sendFile({
|
|
40
|
+
inject: {
|
|
41
|
+
pathUtils: app.get("pathUtils")
|
|
42
|
+
}
|
|
43
|
+
})
|
|
44
|
+
);
|
|
45
|
+
});
|
|
46
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
47
|
+
0 && (module.exports = {
|
|
48
|
+
sendFile,
|
|
49
|
+
sendFileProvider
|
|
50
|
+
});
|
|
51
|
+
//# sourceMappingURL=sendFile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/services/common/sendFile.ts"],"sourcesContent":["import { provider } from '../../utils';\nimport type { Response, NextFunction, PathUtils } from '../../types';\n/**\n * The options to create a {@link SendFile} function.\n *\n * @group Services/SendFile\n */\nexport type SendFileGeneratorOptions = {\n /**\n * A dictionary with the dependencies to inject.\n */\n inject: {\n pathUtils: PathUtils;\n };\n};\n/**\n * The options for the function that actually serves a file.\n *\n * @group Services/SendFile\n */\nexport type SendFileOptions = {\n /**\n * The response object sent by the application. Necessary to write the file.\n */\n res: Response;\n /**\n * The path of the file to serve. Depending on the `from` option, it will be either\n * relative to the project root, or the application executable.\n */\n filepath: string;\n /**\n * The name of a location on the `pathUtils` service from where the `filepath` is\n * relative to. It can be `app` for the directory containing the application executable,\n * or `project` for the project root. It could also be any other location that the\n * implementation may have registered.\n *\n * @default 'app'\n */\n from?: string;\n /**\n * The function to move to the next middleware. It can be used to report an error in\n * case the file can't be served.\n *\n * @default {() => {}}\n */\n next?: NextFunction;\n};\n/**\n * The type of the function that serves a file.\n * This is exported to make it easy to type the dependency injection.\n *\n * @group Services/SendFile\n */\nexport type SendFile = (options: SendFileOptions) => void;\n/**\n * Generates a function to send files on the application response.\n *\n * @param options To inject the required dependencies.\n * @example\n *\n * <caption>Basic usage</caption>\n *\n * // Let's say this is inside an Express middleware.\n * // Get the function\n * const send = sendFile(pathUtils);\n * send({ res, filepath: 'some-file.html', next });\n * // If your app is on \"/app/index.js\", this will send \"/app/some-file.html\".\n *\n * @group Services\n * @group Services/SendFile\n */\nexport const sendFile =\n ({ inject: { pathUtils } }: SendFileGeneratorOptions): SendFile =>\n ({ res, filepath, from = 'app', next = () => {} }) => {\n res.sendFile(pathUtils.joinFrom(from, filepath), (error) => {\n if (error) {\n next(error);\n } else {\n res.end();\n }\n });\n };\n\n/**\n * The service provider that once registered on the container will set the result of\n * {@link sendFile} as the `sendFile` service.\n *\n * @example\n *\n * // Register it on the container\n * container.register(sendFileProvider);\n * // Getting access to the service instance\n * const sendFile = container.get<SendFile>('sendFile');\n *\n * @group Providers\n * @group Services/SendFile\n */\nexport const sendFileProvider = provider((app) => {\n app.set('sendFile', () =>\n sendFile({\n inject: {\n pathUtils: app.get('pathUtils'),\n },\n }),\n );\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAyB;AAuElB,MAAM,WACX,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,MACzB,CAAC,EAAE,KAAK,UAAU,OAAO,OAAO,OAAO,MAAM;AAAC,EAAE,MAAM;AACpD,MAAI,SAAS,UAAU,SAAS,MAAM,QAAQ,GAAG,CAAC,UAAU;AAC1D,QAAI,OAAO;AACT,WAAK,KAAK;AAAA,IACZ,OAAO;AACL,UAAI,IAAI;AAAA,IACV;AAAA,EACF,CAAC;AACH;AAgBK,MAAM,uBAAmB,uBAAS,CAAC,QAAQ;AAChD,MAAI;AAAA,IAAI;AAAA,IAAY,MAClB,SAAS;AAAA,MACP,QAAQ;AAAA,QACN,WAAW,IAAI,IAAI,WAAW;AAAA,MAChC;AAAA,IACF,CAAC;AAAA,EACH;AACF,CAAC;","names":[]}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import * as _homer0_jimple from '@homer0/jimple';
|
|
2
|
+
import { J as Jimpex } from '../../index-efeb437e.js';
|
|
3
|
+
import { PathUtils } from '@homer0/path-utils';
|
|
4
|
+
import fs from 'fs/promises';
|
|
5
|
+
import '../../types/express.mjs';
|
|
6
|
+
import 'express';
|
|
7
|
+
import '../../types/http.mjs';
|
|
8
|
+
import 'https';
|
|
9
|
+
import 'http';
|
|
10
|
+
import 'spdy';
|
|
11
|
+
import 'node-fetch';
|
|
12
|
+
import '../../types/utils.mjs';
|
|
13
|
+
import '@homer0/simple-logger';
|
|
14
|
+
import '@homer0/simple-config';
|
|
15
|
+
import '@homer0/events-hub';
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* The options to construct a {@link FrontendFs}.
|
|
19
|
+
*
|
|
20
|
+
* @group Services/FrontendFs
|
|
21
|
+
*/
|
|
22
|
+
type FrontendFsOptions = {
|
|
23
|
+
/**
|
|
24
|
+
* A dictionary with the dependencies to inject.
|
|
25
|
+
*/
|
|
26
|
+
inject: {
|
|
27
|
+
pathUtils: PathUtils;
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* This service allows the application to easily work with the filesystem. The idea behind
|
|
32
|
+
* centralizing this functionalities into a service is that is pretty common to have
|
|
33
|
+
* bundling tools to generate the frontend, and on that process files can have different
|
|
34
|
+
* paths or not even be generated all. The service can be extended/overwritten to
|
|
35
|
+
* accommodate any requirements and avoid having to update or add `if`s to every `fs` call
|
|
36
|
+
* the application does.
|
|
37
|
+
* Another _'feature'_ of this service is that all the paths are relative to the directory
|
|
38
|
+
* where the app executable is located, so you don't have to remember the relative path
|
|
39
|
+
* from the place you are accessing a file to the place where it's located.
|
|
40
|
+
*
|
|
41
|
+
* @group Services
|
|
42
|
+
* @group Services/FrontendFs
|
|
43
|
+
*/
|
|
44
|
+
declare class FrontendFs {
|
|
45
|
+
/**
|
|
46
|
+
* The service that generates the relative paths.
|
|
47
|
+
*/
|
|
48
|
+
protected readonly _pathUtils: PathUtils;
|
|
49
|
+
/**
|
|
50
|
+
* @param options The options to construct the service.
|
|
51
|
+
*/
|
|
52
|
+
constructor({ inject: { pathUtils } }: FrontendFsOptions);
|
|
53
|
+
/**
|
|
54
|
+
* Deletes a file from the file system.
|
|
55
|
+
*
|
|
56
|
+
* @param filepath The path to the file.
|
|
57
|
+
*/
|
|
58
|
+
delete(filepath: string): Promise<void>;
|
|
59
|
+
/**
|
|
60
|
+
* Reads a file from the file system.
|
|
61
|
+
*
|
|
62
|
+
* @param filepath The path to the file.
|
|
63
|
+
* @param encoding The text encoding in which the file should be read.
|
|
64
|
+
*/
|
|
65
|
+
read(filepath: string, encoding?: BufferEncoding): Promise<string>;
|
|
66
|
+
/**
|
|
67
|
+
* Writes a file on the file system.
|
|
68
|
+
*
|
|
69
|
+
* @param filepath The path to the file.
|
|
70
|
+
* @param content The contents of the file.
|
|
71
|
+
*/
|
|
72
|
+
write(filepath: string, content: Parameters<typeof fs.writeFile>[1]): Promise<void>;
|
|
73
|
+
/**
|
|
74
|
+
* Utility method to get the path of a file relative to the application executable.
|
|
75
|
+
*
|
|
76
|
+
* @param filepath The path to the file.
|
|
77
|
+
*/
|
|
78
|
+
protected getAppPath(filepath: string): string;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* The service provider that once registered on the container will set an instance of
|
|
82
|
+
* {@link FrontendFs} as the `frontendFs` service.
|
|
83
|
+
*
|
|
84
|
+
* @example
|
|
85
|
+
*
|
|
86
|
+
* // Register it on the container
|
|
87
|
+
* container.register(frontendFsProvider);
|
|
88
|
+
* // Getting access to the service instance
|
|
89
|
+
* const frontendFs = container.get<FrontendFs>('frontendFs');
|
|
90
|
+
*
|
|
91
|
+
* @group Providers
|
|
92
|
+
* @group Services/FrontendFs
|
|
93
|
+
*/
|
|
94
|
+
declare const frontendFsProvider: _homer0_jimple.Resource<"provider", "register", _homer0_jimple.ProviderRegisterFn<Jimpex>>;
|
|
95
|
+
|
|
96
|
+
export { FrontendFs, FrontendFsOptions, frontendFsProvider };
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import * as _homer0_jimple from '@homer0/jimple';
|
|
2
|
+
import { J as Jimpex } from '../../index-b2a04c78.js';
|
|
3
|
+
import { PathUtils } from '@homer0/path-utils';
|
|
4
|
+
import fs from 'fs/promises';
|
|
5
|
+
import '../../types/express.js';
|
|
6
|
+
import 'express';
|
|
7
|
+
import '../../types/http.js';
|
|
8
|
+
import 'https';
|
|
9
|
+
import 'http';
|
|
10
|
+
import 'spdy';
|
|
11
|
+
import 'node-fetch';
|
|
12
|
+
import '../../types/utils.js';
|
|
13
|
+
import '@homer0/simple-logger';
|
|
14
|
+
import '@homer0/simple-config';
|
|
15
|
+
import '@homer0/events-hub';
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* The options to construct a {@link FrontendFs}.
|
|
19
|
+
*
|
|
20
|
+
* @group Services/FrontendFs
|
|
21
|
+
*/
|
|
22
|
+
type FrontendFsOptions = {
|
|
23
|
+
/**
|
|
24
|
+
* A dictionary with the dependencies to inject.
|
|
25
|
+
*/
|
|
26
|
+
inject: {
|
|
27
|
+
pathUtils: PathUtils;
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* This service allows the application to easily work with the filesystem. The idea behind
|
|
32
|
+
* centralizing this functionalities into a service is that is pretty common to have
|
|
33
|
+
* bundling tools to generate the frontend, and on that process files can have different
|
|
34
|
+
* paths or not even be generated all. The service can be extended/overwritten to
|
|
35
|
+
* accommodate any requirements and avoid having to update or add `if`s to every `fs` call
|
|
36
|
+
* the application does.
|
|
37
|
+
* Another _'feature'_ of this service is that all the paths are relative to the directory
|
|
38
|
+
* where the app executable is located, so you don't have to remember the relative path
|
|
39
|
+
* from the place you are accessing a file to the place where it's located.
|
|
40
|
+
*
|
|
41
|
+
* @group Services
|
|
42
|
+
* @group Services/FrontendFs
|
|
43
|
+
*/
|
|
44
|
+
declare class FrontendFs {
|
|
45
|
+
/**
|
|
46
|
+
* The service that generates the relative paths.
|
|
47
|
+
*/
|
|
48
|
+
protected readonly _pathUtils: PathUtils;
|
|
49
|
+
/**
|
|
50
|
+
* @param options The options to construct the service.
|
|
51
|
+
*/
|
|
52
|
+
constructor({ inject: { pathUtils } }: FrontendFsOptions);
|
|
53
|
+
/**
|
|
54
|
+
* Deletes a file from the file system.
|
|
55
|
+
*
|
|
56
|
+
* @param filepath The path to the file.
|
|
57
|
+
*/
|
|
58
|
+
delete(filepath: string): Promise<void>;
|
|
59
|
+
/**
|
|
60
|
+
* Reads a file from the file system.
|
|
61
|
+
*
|
|
62
|
+
* @param filepath The path to the file.
|
|
63
|
+
* @param encoding The text encoding in which the file should be read.
|
|
64
|
+
*/
|
|
65
|
+
read(filepath: string, encoding?: BufferEncoding): Promise<string>;
|
|
66
|
+
/**
|
|
67
|
+
* Writes a file on the file system.
|
|
68
|
+
*
|
|
69
|
+
* @param filepath The path to the file.
|
|
70
|
+
* @param content The contents of the file.
|
|
71
|
+
*/
|
|
72
|
+
write(filepath: string, content: Parameters<typeof fs.writeFile>[1]): Promise<void>;
|
|
73
|
+
/**
|
|
74
|
+
* Utility method to get the path of a file relative to the application executable.
|
|
75
|
+
*
|
|
76
|
+
* @param filepath The path to the file.
|
|
77
|
+
*/
|
|
78
|
+
protected getAppPath(filepath: string): string;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* The service provider that once registered on the container will set an instance of
|
|
82
|
+
* {@link FrontendFs} as the `frontendFs` service.
|
|
83
|
+
*
|
|
84
|
+
* @example
|
|
85
|
+
*
|
|
86
|
+
* // Register it on the container
|
|
87
|
+
* container.register(frontendFsProvider);
|
|
88
|
+
* // Getting access to the service instance
|
|
89
|
+
* const frontendFs = container.get<FrontendFs>('frontendFs');
|
|
90
|
+
*
|
|
91
|
+
* @group Providers
|
|
92
|
+
* @group Services/FrontendFs
|
|
93
|
+
*/
|
|
94
|
+
declare const frontendFsProvider: _homer0_jimple.Resource<"provider", "register", _homer0_jimple.ProviderRegisterFn<Jimpex>>;
|
|
95
|
+
|
|
96
|
+
export { FrontendFs, FrontendFsOptions, frontendFsProvider };
|