jimpex 7.0.1 → 8.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 +87 -0
- package/LICENSE +1 -1
- package/README.md +446 -434
- package/dist/app/index.d.ts +13 -0
- package/dist/app/index.js +19 -0
- package/dist/app/index.js.map +1 -0
- package/dist/app/jimpex.d.ts +13 -0
- package/dist/app/jimpex.js +440 -0
- package/dist/app/jimpex.js.map +1 -0
- package/dist/controllers/common/config.d.ts +78 -0
- package/dist/controllers/common/config.js +89 -0
- package/dist/controllers/common/config.js.map +1 -0
- package/dist/controllers/common/health.d.ts +82 -0
- package/dist/controllers/common/health.js +97 -0
- package/dist/controllers/common/health.js.map +1 -0
- package/dist/controllers/common/index.d.ts +21 -0
- package/dist/controllers/common/index.js +21 -0
- package/dist/controllers/common/index.js.map +1 -0
- package/dist/controllers/common/statics.d.ts +215 -0
- package/dist/controllers/common/statics.js +202 -0
- package/dist/controllers/common/statics.js.map +1 -0
- package/dist/controllers/index.d.ts +24 -0
- package/dist/controllers/index.js +20 -0
- package/dist/controllers/index.js.map +1 -0
- package/dist/controllers/utils/gateway.d.ts +724 -0
- package/dist/controllers/utils/gateway.js +425 -0
- package/dist/controllers/utils/gateway.js.map +1 -0
- package/dist/controllers/utils/index.d.ts +16 -0
- package/dist/controllers/utils/index.js +19 -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 +415 -0
- package/dist/esm/app/jimpex.js.map +1 -0
- package/dist/esm/chunk-T2T6Q22Z.js +11 -0
- package/dist/esm/chunk-T2T6Q22Z.js.map +1 -0
- package/dist/esm/controllers/common/config.js +62 -0
- package/dist/esm/controllers/common/config.js.map +1 -0
- package/dist/esm/controllers/common/health.js +70 -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 +173 -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 +404 -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 +92 -0
- package/dist/esm/middlewares/common/errorHandler.js.map +1 -0
- package/dist/esm/middlewares/common/forceHTTPS.js +41 -0
- package/dist/esm/middlewares/common/forceHTTPS.js.map +1 -0
- package/dist/esm/middlewares/common/hsts.js +53 -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 +104 -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 +68 -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 +101 -0
- package/dist/esm/middlewares/utils/versionValidator.js.map +1 -0
- package/dist/esm/services/common/appError.js +52 -0
- package/dist/esm/services/common/appError.js.map +1 -0
- package/dist/esm/services/common/httpError.js +19 -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 +38 -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 +144 -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 +71 -0
- package/dist/esm/services/http/apiClient.js.map +1 -0
- package/dist/esm/services/http/http.js +125 -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 +105 -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 +78 -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.d.ts +46 -0
- package/dist/index.js +24 -0
- package/dist/index.js.map +1 -0
- package/dist/jimpex-7eaee271.d.ts +1278 -0
- package/dist/middlewares/common/errorHandler.d.ts +131 -0
- package/dist/middlewares/common/errorHandler.js +119 -0
- package/dist/middlewares/common/errorHandler.js.map +1 -0
- package/dist/middlewares/common/forceHTTPS.d.ts +68 -0
- package/dist/middlewares/common/forceHTTPS.js +68 -0
- package/dist/middlewares/common/forceHTTPS.js.map +1 -0
- package/dist/middlewares/common/hsts.d.ts +109 -0
- package/dist/middlewares/common/hsts.js +80 -0
- package/dist/middlewares/common/hsts.js.map +1 -0
- package/dist/middlewares/common/index.d.ts +21 -0
- package/dist/middlewares/common/index.js +21 -0
- package/dist/middlewares/common/index.js.map +1 -0
- package/dist/middlewares/html/fastHTML.d.ts +180 -0
- package/dist/middlewares/html/fastHTML.js +131 -0
- package/dist/middlewares/html/fastHTML.js.map +1 -0
- package/dist/middlewares/html/index.d.ts +21 -0
- package/dist/middlewares/html/index.js +20 -0
- package/dist/middlewares/html/index.js.map +1 -0
- package/dist/middlewares/html/showHTML.d.ts +127 -0
- package/dist/middlewares/html/showHTML.js +95 -0
- package/dist/middlewares/html/showHTML.js.map +1 -0
- package/dist/middlewares/index.d.ts +30 -0
- package/dist/middlewares/index.js +21 -0
- package/dist/middlewares/index.js.map +1 -0
- package/dist/middlewares/utils/index.d.ts +19 -0
- package/dist/middlewares/utils/index.js +19 -0
- package/dist/middlewares/utils/index.js.map +1 -0
- package/dist/middlewares/utils/versionValidator.d.ts +214 -0
- package/dist/middlewares/utils/versionValidator.js +128 -0
- package/dist/middlewares/utils/versionValidator.js.map +1 -0
- package/dist/services/common/appError.d.ts +138 -0
- package/dist/services/common/appError.js +80 -0
- package/dist/services/common/appError.js.map +1 -0
- package/dist/services/common/httpError.d.ts +79 -0
- package/dist/services/common/httpError.js +44 -0
- package/dist/services/common/httpError.js.map +1 -0
- package/dist/services/common/index.d.ts +47 -0
- package/dist/services/common/index.js +41 -0
- package/dist/services/common/index.js.map +1 -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.ts +96 -0
- package/dist/services/frontend/frontendFs.js +71 -0
- package/dist/services/frontend/frontendFs.js.map +1 -0
- package/dist/services/frontend/index.d.ts +40 -0
- package/dist/services/frontend/index.js +35 -0
- package/dist/services/frontend/index.js.map +1 -0
- package/dist/services/html/htmlGenerator.d.ts +237 -0
- package/dist/services/html/htmlGenerator.js +171 -0
- package/dist/services/html/htmlGenerator.js.map +1 -0
- package/dist/services/html/index.d.ts +43 -0
- package/dist/services/html/index.js +35 -0
- package/dist/services/html/index.js.map +1 -0
- package/dist/services/http/apiClient.d.ts +169 -0
- package/dist/services/http/apiClient.js +96 -0
- package/dist/services/http/apiClient.js.map +1 -0
- package/dist/services/http/http.d.ts +175 -0
- package/dist/services/http/http.js +158 -0
- package/dist/services/http/http.js.map +1 -0
- package/dist/services/http/index.d.ts +50 -0
- package/dist/services/http/index.js +41 -0
- package/dist/services/http/index.js.map +1 -0
- package/dist/services/http/responsesBuilder.d.ts +178 -0
- package/dist/services/http/responsesBuilder.js +132 -0
- package/dist/services/http/responsesBuilder.js.map +1 -0
- package/dist/services/index.d.ts +33 -0
- package/dist/services/index.js +23 -0
- package/dist/services/index.js.map +1 -0
- package/dist/services/utils/ensureBearerToken.d.ts +157 -0
- package/dist/services/utils/ensureBearerToken.js +105 -0
- package/dist/services/utils/ensureBearerToken.js.map +1 -0
- package/dist/services/utils/index.d.ts +43 -0
- package/dist/services/utils/index.js +35 -0
- package/dist/services/utils/index.js.map +1 -0
- package/dist/types/events.d.ts +13 -0
- package/dist/types/events.js +17 -0
- package/dist/types/events.js.map +1 -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.ts +79 -0
- package/dist/types/http.js +17 -0
- package/dist/types/http.js.map +1 -0
- package/dist/types/index.d.ts +14 -0
- package/dist/types/index.js +24 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/options.d.ts +13 -0
- package/dist/types/options.js +17 -0
- package/dist/types/options.js.map +1 -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.ts +4 -0
- package/dist/types/wootils.js +17 -0
- package/dist/types/wootils.js.map +1 -0
- package/dist/utils/fns/index.d.ts +5 -0
- package/dist/utils/fns/index.js +22 -0
- package/dist/utils/fns/index.js.map +1 -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.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.ts +45 -0
- package/dist/utils/fns/statuses.js +35 -0
- package/dist/utils/fns/statuses.js.map +1 -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.ts +18 -0
- package/dist/utils/index.js +20 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/wrappers.d.ts +13 -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 +59 -38
- 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
|
@@ -1,271 +0,0 @@
|
|
|
1
|
-
export type Jimpex = import('../../app').Jimpex;
|
|
2
|
-
export type ExpressMiddleware = import('../../types').ExpressMiddleware;
|
|
3
|
-
export type ExpressRouter = import('../../types').ExpressRouter;
|
|
4
|
-
export type Controller = import('../../types').Controller;
|
|
5
|
-
export type MiddlewareLike = import('../../types').MiddlewareLike;
|
|
6
|
-
export type SendFile = import('../../services/common/sendFile').SendFile;
|
|
7
|
-
/**
|
|
8
|
-
* <O>
|
|
9
|
-
*/
|
|
10
|
-
export type ControllerCreator<O> = import('../../types').ControllerCreator<O>;
|
|
11
|
-
/**
|
|
12
|
-
* If you wan to customize how, to, and from where files are served, instead of just
|
|
13
|
-
* sending a list of strings, you can use an object with these properties.
|
|
14
|
-
*/
|
|
15
|
-
export type StaticsControllerFile = {
|
|
16
|
-
/**
|
|
17
|
-
* The route the controller will use for the
|
|
18
|
-
* file.
|
|
19
|
-
*/
|
|
20
|
-
route: string;
|
|
21
|
-
/**
|
|
22
|
-
* The path for the file, relative to the
|
|
23
|
-
* root of the app.
|
|
24
|
-
*/
|
|
25
|
-
path: string;
|
|
26
|
-
/**
|
|
27
|
-
* A dictionary of custom headers to send on
|
|
28
|
-
* the file response.
|
|
29
|
-
*/
|
|
30
|
-
headers: {
|
|
31
|
-
[x: string]: string;
|
|
32
|
-
};
|
|
33
|
-
};
|
|
34
|
-
/**
|
|
35
|
-
* They are like "master paths" that get prepended to all the file paths and routes the
|
|
36
|
-
* controller use.
|
|
37
|
-
*/
|
|
38
|
-
export type StaticsControllerPathsOptions = {
|
|
39
|
-
/**
|
|
40
|
-
* A custom route to prefix all the file routes.
|
|
41
|
-
*/
|
|
42
|
-
route: string;
|
|
43
|
-
/**
|
|
44
|
-
* A custom path to prefix all the file paths.
|
|
45
|
-
*/
|
|
46
|
-
source: string;
|
|
47
|
-
};
|
|
48
|
-
export type StaticsControllerFileLike = string | StaticsControllerFile;
|
|
49
|
-
/**
|
|
50
|
-
* These are the options that allow you to customize the controller, how, to and from
|
|
51
|
-
* where the files are served.
|
|
52
|
-
*/
|
|
53
|
-
export type StaticsControllerOptions = {
|
|
54
|
-
/**
|
|
55
|
-
* A list of filenames or
|
|
56
|
-
* {@link StaticsControllerFile }definitions.
|
|
57
|
-
*/
|
|
58
|
-
files: StaticsControllerFileLike[];
|
|
59
|
-
/**
|
|
60
|
-
* A dictionary of all the HTTP methods
|
|
61
|
-
* the controller will use in order to
|
|
62
|
-
* serve the files. If `all` is set to
|
|
63
|
-
* true, all the other flags will be
|
|
64
|
-
* ignored.
|
|
65
|
-
*/
|
|
66
|
-
methods: {
|
|
67
|
-
[x: string]: boolean;
|
|
68
|
-
};
|
|
69
|
-
/**
|
|
70
|
-
* The "master paths" the controller
|
|
71
|
-
* uses to prefix all file routes and
|
|
72
|
-
* paths.
|
|
73
|
-
*/
|
|
74
|
-
paths: StaticsControllerPathsOptions;
|
|
75
|
-
};
|
|
76
|
-
export type StaticsControllerWrapperOptions = StaticsControllerOptions & StaticsControllerWrapperOptionsProperties;
|
|
77
|
-
export type StaticsControllerWrapperOptionsProperties = {
|
|
78
|
-
/**
|
|
79
|
-
* Function can be used to add custom middlewares on the file routes. If implemented, it
|
|
80
|
-
* must return a list of middlewares when executed.
|
|
81
|
-
*/
|
|
82
|
-
middlewares: StaticsControllerMiddlewaresFn;
|
|
83
|
-
};
|
|
84
|
-
export type StaticsControllerMiddlewaresFn = (app: Jimpex) => MiddlewareLike[];
|
|
85
|
-
/**
|
|
86
|
-
* @typedef {import('../../app').Jimpex} Jimpex
|
|
87
|
-
* @typedef {import('../../types').ExpressMiddleware} ExpressMiddleware
|
|
88
|
-
* @typedef {import('../../types').ExpressRouter} ExpressRouter
|
|
89
|
-
* @typedef {import('../../types').Controller} Controller
|
|
90
|
-
* @typedef {import('../../types').MiddlewareLike} MiddlewareLike
|
|
91
|
-
* @typedef {import('../../services/common/sendFile').SendFile} SendFile
|
|
92
|
-
*/
|
|
93
|
-
/**
|
|
94
|
-
* @typedef {import('../../types').ControllerCreator<O>} ControllerCreator<O>
|
|
95
|
-
* @template O
|
|
96
|
-
*/
|
|
97
|
-
/**
|
|
98
|
-
* If you wan to customize how, to, and from where files are served, instead of just
|
|
99
|
-
* sending a list of strings, you can use an object with these properties.
|
|
100
|
-
*
|
|
101
|
-
* @typedef {Object} StaticsControllerFile
|
|
102
|
-
* @property {string} route The route the controller will use for the
|
|
103
|
-
* file.
|
|
104
|
-
* @property {string} path The path for the file, relative to the
|
|
105
|
-
* root of the app.
|
|
106
|
-
* @property {Object.<string, string>} headers A dictionary of custom headers to send on
|
|
107
|
-
* the file response.
|
|
108
|
-
* @parent module:controllers
|
|
109
|
-
*/
|
|
110
|
-
/**
|
|
111
|
-
* They are like "master paths" that get prepended to all the file paths and routes the
|
|
112
|
-
* controller use.
|
|
113
|
-
*
|
|
114
|
-
* @typedef {Object} StaticsControllerPathsOptions
|
|
115
|
-
* @property {string} route A custom route to prefix all the file routes.
|
|
116
|
-
* @property {string} source A custom path to prefix all the file paths.
|
|
117
|
-
* @parent module:controllers
|
|
118
|
-
*/
|
|
119
|
-
/**
|
|
120
|
-
* @typedef {string | StaticsControllerFile} StaticsControllerFileLike
|
|
121
|
-
* @parent module:controllers
|
|
122
|
-
*/
|
|
123
|
-
/**
|
|
124
|
-
* These are the options that allow you to customize the controller, how, to and from
|
|
125
|
-
* where the files are served.
|
|
126
|
-
*
|
|
127
|
-
* @typedef {Object} StaticsControllerOptions
|
|
128
|
-
* @property {StaticsControllerFileLike[]} files A list of filenames or
|
|
129
|
-
* {@link StaticsControllerFile}
|
|
130
|
-
* definitions.
|
|
131
|
-
* @property {Object.<string, boolean>} methods A dictionary of all the HTTP methods
|
|
132
|
-
* the controller will use in order to
|
|
133
|
-
* serve the files. If `all` is set to
|
|
134
|
-
* true, all the other flags will be
|
|
135
|
-
* ignored.
|
|
136
|
-
* @property {StaticsControllerPathsOptions} paths The "master paths" the controller
|
|
137
|
-
* uses to prefix all file routes and
|
|
138
|
-
* paths.
|
|
139
|
-
* @parent module:controllers
|
|
140
|
-
*/
|
|
141
|
-
/**
|
|
142
|
-
* @typedef {StaticsControllerOptions & StaticsControllerWrapperOptionsProperties} StaticsControllerWrapperOptions
|
|
143
|
-
* @parent module:controllers
|
|
144
|
-
* @prettierignore
|
|
145
|
-
*/
|
|
146
|
-
/**
|
|
147
|
-
* @typedef {Object} StaticsControllerWrapperOptionsProperties
|
|
148
|
-
* @property {StaticsControllerMiddlewaresFn} middlewares
|
|
149
|
-
* Function can be used to add custom middlewares on the file routes. If implemented, it
|
|
150
|
-
* must return a list of middlewares when executed.
|
|
151
|
-
* @parent module:controllers
|
|
152
|
-
*/
|
|
153
|
-
/**
|
|
154
|
-
* @callback StaticsControllerMiddlewaresFn
|
|
155
|
-
* @param {Jimpex} app A reference for the container.
|
|
156
|
-
* @returns {MiddlewareLike[]}
|
|
157
|
-
* @parent module:controllers
|
|
158
|
-
*/
|
|
159
|
-
/**
|
|
160
|
-
* This controller allows you to serve specific files from any folder to any route without
|
|
161
|
-
* the need of mounting directories as "static".
|
|
162
|
-
*
|
|
163
|
-
* @parent module:controllers
|
|
164
|
-
*/
|
|
165
|
-
export class StaticsController {
|
|
166
|
-
/**
|
|
167
|
-
* @param {SendFile} sendFile
|
|
168
|
-
* To send the responses for the files.
|
|
169
|
-
* @param {Partial<StaticsControllerOptions>} options
|
|
170
|
-
* The options to customize the controller.
|
|
171
|
-
*/
|
|
172
|
-
constructor(sendFile: SendFile, options?: Partial<StaticsControllerOptions>);
|
|
173
|
-
/**
|
|
174
|
-
* A local reference for the `sendFile` service.
|
|
175
|
-
*
|
|
176
|
-
* @type {SendFile}
|
|
177
|
-
* @access protected
|
|
178
|
-
* @ignore
|
|
179
|
-
*/
|
|
180
|
-
_sendFile: SendFile;
|
|
181
|
-
/**
|
|
182
|
-
* The controller configuration options.
|
|
183
|
-
*
|
|
184
|
-
* @type {StaticsControllerOptions}
|
|
185
|
-
* @access protected
|
|
186
|
-
* @ignore
|
|
187
|
-
*/
|
|
188
|
-
_options: StaticsControllerOptions;
|
|
189
|
-
/**
|
|
190
|
-
* A dictionary of all the formatted files ({@link StaticsControllerFile}). It uses
|
|
191
|
-
* the files routes as keys.
|
|
192
|
-
*
|
|
193
|
-
* @type {Object.<string, StaticsControllerFile>}
|
|
194
|
-
* @access protected
|
|
195
|
-
* @ignore
|
|
196
|
-
*/
|
|
197
|
-
_files: {
|
|
198
|
-
[x: string]: StaticsControllerFile;
|
|
199
|
-
};
|
|
200
|
-
/**
|
|
201
|
-
* Defines all the needed routes to serve the files.
|
|
202
|
-
*
|
|
203
|
-
* @param {ExpressRouter} router To generate the routes.
|
|
204
|
-
* @param {ExpressMiddleware[]} [middlewares=[]] A list of custom middlewares that will
|
|
205
|
-
* be added before the one that serves a
|
|
206
|
-
* file.
|
|
207
|
-
* @returns {ExpressRouter}
|
|
208
|
-
*/
|
|
209
|
-
addRoutes(router: ExpressRouter, middlewares?: ExpressMiddleware[]): ExpressRouter;
|
|
210
|
-
/**
|
|
211
|
-
* The controller configuration options.
|
|
212
|
-
*
|
|
213
|
-
* @type {StaticsControllerOptions}
|
|
214
|
-
* @todo Remove Object.freeze.
|
|
215
|
-
*/
|
|
216
|
-
get options(): StaticsControllerOptions;
|
|
217
|
-
/**
|
|
218
|
-
* Generates a route for an specific file.
|
|
219
|
-
*
|
|
220
|
-
* @param {ExpressRouter} router To create the actual route.
|
|
221
|
-
* @param {string} method The HTTP method for the route.
|
|
222
|
-
* @param {StaticsControllerFile} file The file information.
|
|
223
|
-
* @param {ExpressMiddleware} fileMiddleware The middleware that serves the file.
|
|
224
|
-
* @param {ExpressMiddleware[]} middlewares A list of custom middlewares to add
|
|
225
|
-
* before the one that serves the file.
|
|
226
|
-
* @returns {ExpressRouter}
|
|
227
|
-
* @access protected
|
|
228
|
-
* @ignore
|
|
229
|
-
*/
|
|
230
|
-
_addRoute(router: ExpressRouter, method: string, file: StaticsControllerFile, fileMiddleware: ExpressMiddleware, middlewares: ExpressMiddleware[]): ExpressRouter;
|
|
231
|
-
/**
|
|
232
|
-
* Parses each of the received files in order to create a {@link StaticsControllerFile}.
|
|
233
|
-
*
|
|
234
|
-
* @returns {Object.<string, StaticsControllerFile>}
|
|
235
|
-
* @access protected
|
|
236
|
-
* @ignore
|
|
237
|
-
*/
|
|
238
|
-
_createFiles(): {
|
|
239
|
-
[x: string]: StaticsControllerFile;
|
|
240
|
-
};
|
|
241
|
-
/**
|
|
242
|
-
* Generates the middleware to serve a specific file.
|
|
243
|
-
*
|
|
244
|
-
* @param {StaticsControllerFile} file The file information.
|
|
245
|
-
* @returns {ExpressMiddleware}
|
|
246
|
-
* @access protected
|
|
247
|
-
* @ignore
|
|
248
|
-
*/
|
|
249
|
-
_getMiddleware(file: StaticsControllerFile): ExpressMiddleware;
|
|
250
|
-
/**
|
|
251
|
-
* Helper method that validates and normalizes the options received by the controller.
|
|
252
|
-
*
|
|
253
|
-
* @param {StaticsControllerOptions} options The options to validate.
|
|
254
|
-
* @returns {StaticsControllerOptions}
|
|
255
|
-
* @throws {Error} If no files are specified.
|
|
256
|
-
* @throws {Error} If methods is not defined.
|
|
257
|
-
* @throws {Error} If no methods are enabled.
|
|
258
|
-
* @throws {Error} If there's an invalid HTTP method.
|
|
259
|
-
* @access protected
|
|
260
|
-
* @ignore
|
|
261
|
-
*/
|
|
262
|
-
_normalizeOptions(options: StaticsControllerOptions): StaticsControllerOptions;
|
|
263
|
-
}
|
|
264
|
-
/**
|
|
265
|
-
* This controller allows you to serve specific files from any folder to any route without
|
|
266
|
-
* the need of mounting directories as "static".
|
|
267
|
-
*
|
|
268
|
-
* @type {ControllerCreator<StaticsControllerWrapperOptions>}
|
|
269
|
-
* @parent module:controllers
|
|
270
|
-
*/
|
|
271
|
-
export const staticsController: ControllerCreator<StaticsControllerWrapperOptions>;
|