@common-stack/frontend-stack-react 4.0.1-alpha.20 → 4.0.1-alpha.23
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.
|
@@ -1,3 +1,12 @@
|
|
|
1
1
|
import { IAppLoadContext } from '../interfaces/loaderContext';
|
|
2
2
|
import { Middleware, MiddlewareOptions } from '../interfaces/middleware';
|
|
3
|
-
|
|
3
|
+
/**
|
|
4
|
+
* Executes the middleware stack in sequence
|
|
5
|
+
* @param params - The loader context
|
|
6
|
+
* @param middlewareOptions - The middleware options
|
|
7
|
+
* @param middlewareStack - The middleware stack
|
|
8
|
+
* @returns The middleware options
|
|
9
|
+
*/
|
|
10
|
+
export declare function loaderWithMiddleware(params: {
|
|
11
|
+
context: IAppLoadContext;
|
|
12
|
+
}, middlewareOptions: MiddlewareOptions | undefined, middlewareStack: Middleware[]): Promise<MiddlewareOptions>;
|
|
@@ -1,21 +1,23 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Executes the middleware stack in sequence
|
|
3
|
+
* @param params - The loader context
|
|
4
|
+
* @param middlewareOptions - The middleware options
|
|
5
|
+
* @param middlewareStack - The middleware stack
|
|
6
|
+
* @returns The middleware options
|
|
7
|
+
*/
|
|
2
8
|
async function loaderWithMiddleware(params, middlewareOptions, middlewareStack) {
|
|
3
|
-
const { logger } = params;
|
|
9
|
+
const { logger } = params.context;
|
|
4
10
|
logger.debug('middlewares [%j]', middlewareStack);
|
|
5
11
|
const loaderData = middlewareOptions ? middlewareOptions : {};
|
|
6
12
|
const executeMiddlewares = async (index) => {
|
|
7
13
|
if (index < middlewareStack.length) {
|
|
8
14
|
const middleware = middlewareStack[index];
|
|
9
15
|
const start = process.hrtime(); // Get start time
|
|
10
|
-
|
|
11
|
-
console.log(`[[Middleware ${middleware.name}]] starts to run`); // Log start
|
|
12
|
-
}
|
|
16
|
+
logger.debug(`[[Middleware ${middleware.name}]] starts to run`);
|
|
13
17
|
await middleware.func(params, loaderData, async () => await executeMiddlewares(index + 1));
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
console.log(`[[Middleware ${middleware.name}]] took ${elapsedTime} ms`); // Log time taken
|
|
18
|
-
}
|
|
18
|
+
const end = process.hrtime(start); // Get end time
|
|
19
|
+
const elapsedTime = (end[0] * 1e9 + end[1]) / 1e6; // Convert to milliseconds
|
|
20
|
+
logger.debug(`[[Middleware ${middleware.name}]] took ${elapsedTime} ms`);
|
|
19
21
|
}
|
|
20
22
|
};
|
|
21
23
|
await executeMiddlewares(0); // Start middleware execution from the first one
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@common-stack/frontend-stack-react",
|
|
3
|
-
"version": "4.0.1-alpha.
|
|
3
|
+
"version": "4.0.1-alpha.23",
|
|
4
4
|
"description": "Client Module for react app",
|
|
5
5
|
"homepage": "https://github.com/cdmbase/fullstack-pro#readme",
|
|
6
6
|
"bugs": {
|
|
@@ -50,5 +50,5 @@
|
|
|
50
50
|
"typescript": {
|
|
51
51
|
"definition": "lib/index.d.ts"
|
|
52
52
|
},
|
|
53
|
-
"gitHead": "
|
|
53
|
+
"gitHead": "362a81401abe414c1958b977cdd1ec5e1b17ae09"
|
|
54
54
|
}
|