@pristine-ts/networking 2.0.1 → 2.0.3

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.
Files changed (41) hide show
  1. package/dist/lib/cjs/contexts/contexts.js +18 -0
  2. package/dist/lib/cjs/contexts/contexts.js.map +1 -0
  3. package/dist/lib/cjs/contexts/request-context.js +24 -0
  4. package/dist/lib/cjs/contexts/request-context.js.map +1 -0
  5. package/dist/lib/cjs/handlers/request.event-handler.js +0 -2
  6. package/dist/lib/cjs/handlers/request.event-handler.js.map +1 -1
  7. package/dist/lib/cjs/interceptors/request-body-converter.interceptor.js +3 -3
  8. package/dist/lib/cjs/interceptors/request-body-converter.interceptor.js.map +1 -1
  9. package/dist/lib/cjs/managers/managers.js +18 -0
  10. package/dist/lib/cjs/managers/managers.js.map +1 -0
  11. package/dist/lib/cjs/managers/request-context.manager.js +98 -0
  12. package/dist/lib/cjs/managers/request-context.manager.js.map +1 -0
  13. package/dist/lib/cjs/networking.module.js +2 -0
  14. package/dist/lib/cjs/networking.module.js.map +1 -1
  15. package/dist/lib/cjs/router.js +154 -155
  16. package/dist/lib/cjs/router.js.map +1 -1
  17. package/dist/lib/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  18. package/dist/lib/esm/contexts/contexts.js +2 -0
  19. package/dist/lib/esm/contexts/contexts.js.map +1 -0
  20. package/dist/lib/esm/contexts/request-context.js +20 -0
  21. package/dist/lib/esm/contexts/request-context.js.map +1 -0
  22. package/dist/lib/esm/handlers/request.event-handler.js +0 -2
  23. package/dist/lib/esm/handlers/request.event-handler.js.map +1 -1
  24. package/dist/lib/esm/interceptors/request-body-converter.interceptor.js +3 -3
  25. package/dist/lib/esm/interceptors/request-body-converter.interceptor.js.map +1 -1
  26. package/dist/lib/esm/managers/managers.js +2 -0
  27. package/dist/lib/esm/managers/managers.js.map +1 -0
  28. package/dist/lib/esm/managers/request-context.manager.js +95 -0
  29. package/dist/lib/esm/managers/request-context.manager.js.map +1 -0
  30. package/dist/lib/esm/networking.module.js +2 -0
  31. package/dist/lib/esm/networking.module.js.map +1 -1
  32. package/dist/lib/esm/router.js +154 -155
  33. package/dist/lib/esm/router.js.map +1 -1
  34. package/dist/lib/esm/tsconfig.tsbuildinfo +1 -1
  35. package/dist/types/contexts/contexts.d.ts +1 -0
  36. package/dist/types/contexts/request-context.d.ts +24 -0
  37. package/dist/types/managers/managers.d.ts +1 -0
  38. package/dist/types/managers/request-context.manager.d.ts +43 -0
  39. package/dist/types/networking.module.d.ts +2 -0
  40. package/dist/types/router.d.ts +3 -1
  41. package/package.json +7 -7
@@ -39,6 +39,8 @@ const http_error_1 = require("./errors/http.error");
39
39
  const router_cache_1 = require("./cache/router.cache");
40
40
  const metadata_1 = require("@pristine-ts/metadata");
41
41
  const request_interceptor_priority_enum_1 = require("./enums/request-interceptor-priority.enum");
42
+ const request_context_1 = require("./contexts/request-context");
43
+ const request_context_manager_1 = require("./managers/request-context.manager");
42
44
  /**
43
45
  * The router service is the service that creates the routing tree from the controllers.
44
46
  * It also executes a request properly by routing it to the intended controller and returns the response.
@@ -53,12 +55,13 @@ let Router = class Router {
53
55
  * @param authorizerManager The authorizer manager to validate authorization.
54
56
  * @param authenticationManager The authentication manager to validate authentication.
55
57
  */
56
- constructor(loghandler, controllerMethodParameterDecoratorResolver, authorizerManager, authenticationManager, cache) {
58
+ constructor(loghandler, controllerMethodParameterDecoratorResolver, authorizerManager, authenticationManager, cache, requestContextManager) {
57
59
  this.loghandler = loghandler;
58
60
  this.controllerMethodParameterDecoratorResolver = controllerMethodParameterDecoratorResolver;
59
61
  this.authorizerManager = authorizerManager;
60
62
  this.authenticationManager = authenticationManager;
61
63
  this.cache = cache;
64
+ this.requestContextManager = requestContextManager;
62
65
  this.root = new path_router_node_1.PathRouterNode("/");
63
66
  // This property is used to track whether the router has been already been properly instantiated or not.
64
67
  this.setupCompleted = false;
@@ -145,7 +148,7 @@ let Router = class Router {
145
148
  const tracingManager = container.resolve("TracingManagerInterface");
146
149
  const routerRequestExecutionSpan = tracingManager.startSpan(telemetry_1.SpanKeynameEnum.RouterRequestExecution, telemetry_1.SpanKeynameEnum.RequestExecution);
147
150
  return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
148
- var _a, _b, _c, _d;
151
+ var _a;
149
152
  // Start by decomposing the URL. Set second parameter to true since we want to parse the query strings
150
153
  // Node's URL default package absolutely needs a base (or a host) if none is provided in the URL. Pristine doesn't
151
154
  // care at all about the host. If one is provided in the url, the base provided will do nothing.
@@ -181,7 +184,6 @@ let Router = class Router {
181
184
  rootNode: this.root,
182
185
  request,
183
186
  },
184
- eventId: request.id,
185
187
  });
186
188
  routerRequestExecutionSpan.end();
187
189
  return resolve(this.executeErrorResponseInterceptors(new not_found_http_error_1.NotFoundHttpError("No route found for method: '" + request.httpMethod + "' and path: '" + url.pathname + "'."), request, container));
@@ -191,166 +193,173 @@ let Router = class Router {
191
193
  if (cachedRouterRoute !== undefined && cachedRouterRoute.routeParameters === undefined) {
192
194
  cachedRouterRoute.routeParameters = routeParameters;
193
195
  }
194
- // Instantiate the controller
195
- const routerControllerResolverSpan = tracingManager.startSpan(telemetry_1.SpanKeynameEnum.RouterControllerResolver, telemetry_1.SpanKeynameEnum.RouterRequestExecution);
196
- this.loghandler.debug("Router - Will resolve the controller from the container", {
197
- routeParameters
198
- });
199
- const controller = container.resolve(methodNode.route.controllerInstantiationToken);
200
- this.loghandler.debug("Router - Controller resolved from the container", {
201
- routeParameters
202
- });
203
- routerControllerResolverSpan.end();
204
- this.loghandler.debug("Router - Before calling the authenticationManager", {
205
- controller,
206
- routeParameters
207
- });
208
- let identity;
209
- // Authenticate the request
210
- try {
211
- const routerRequestAuthenticationSpan = tracingManager.startSpan(telemetry_1.SpanKeynameEnum.RouterRequestAuthentication, telemetry_1.SpanKeynameEnum.RouterRequestExecution);
212
- identity = yield this.authenticationManager.authenticate(request, methodNode.route.context, container);
213
- routerRequestAuthenticationSpan.end();
214
- this.loghandler.debug("Router - Found identity.", {
215
- highlights: {
216
- identityId: (_b = identity === null || identity === void 0 ? void 0 : identity.id) !== null && _b !== void 0 ? _b : "None",
217
- }, extra: {
218
- identity,
219
- },
220
- eventId: request.id,
196
+ // Install the per-request ALS context. Once installed, any code reached from here
197
+ // (controller method, services it calls, request/response interceptors, etc.) can
198
+ // read the request, methodNode, and (after auth) identity via
199
+ // `RequestContextManager.request()` / `.methodNode()` / `.identity()` without
200
+ // them being threaded through every parameter. `identity` is populated below
201
+ // after the authentication pipeline runs.
202
+ const requestContext = new request_context_1.RequestContext();
203
+ requestContext.request = request;
204
+ requestContext.methodNode = methodNode;
205
+ return this.requestContextManager.run(requestContext, () => __awaiter(this, void 0, void 0, function* () {
206
+ var _a, _b, _c;
207
+ // Instantiate the controller
208
+ const routerControllerResolverSpan = tracingManager.startSpan(telemetry_1.SpanKeynameEnum.RouterControllerResolver, telemetry_1.SpanKeynameEnum.RouterRequestExecution);
209
+ this.loghandler.debug("Router - Will resolve the controller from the container", {
210
+ routeParameters
221
211
  });
222
- }
223
- catch (error) {
224
- this.loghandler.error("Authentication error", {
225
- highlights: {
226
- errorMessage: (_c = error.message) !== null && _c !== void 0 ? _c : "Unknown error"
227
- },
228
- extra: {
229
- error,
230
- request,
231
- context: methodNode.route.context,
232
- container
233
- },
234
- eventId: request.id,
212
+ const controller = container.resolve(methodNode.route.controllerInstantiationToken);
213
+ this.loghandler.debug("Router - Controller resolved from the container", {
214
+ routeParameters
235
215
  });
236
- // Todo: check if the error is an UnauthorizedHttpError, else create one.
237
- if (error instanceof forbidden_http_error_1.ForbiddenHttpError === false) {
238
- error = new forbidden_http_error_1.ForbiddenHttpError("You are not allowed to access this.");
216
+ routerControllerResolverSpan.end();
217
+ this.loghandler.debug("Router - Before calling the authenticationManager", {
218
+ controller,
219
+ routeParameters
220
+ });
221
+ let identity;
222
+ // Authenticate the request
223
+ try {
224
+ const routerRequestAuthenticationSpan = tracingManager.startSpan(telemetry_1.SpanKeynameEnum.RouterRequestAuthentication, telemetry_1.SpanKeynameEnum.RouterRequestExecution);
225
+ identity = yield this.authenticationManager.authenticate(request, methodNode.route.context, container);
226
+ routerRequestAuthenticationSpan.end();
227
+ // Make the resolved identity available to downstream code via the RequestContext.
228
+ // Services deep in the stack (voters, audit loggers, etc.) can read it from
229
+ // `RequestContextManager.identity()` without needing it passed as a parameter.
230
+ requestContext.identity = identity;
231
+ this.loghandler.debug("Router - Found identity.", {
232
+ highlights: {
233
+ identityId: (_a = identity === null || identity === void 0 ? void 0 : identity.id) !== null && _a !== void 0 ? _a : "None",
234
+ }, extra: {
235
+ identity,
236
+ },
237
+ });
239
238
  }
240
- routerRequestExecutionSpan.end();
241
- return resolve(this.executeErrorResponseInterceptors(error, request, container, methodNode));
242
- }
243
- // Call the controller with the resolved Method arguments
244
- try {
245
- // Verify that the identity making the request is authorized to make such a request
246
- if ((yield this.authorizerManager.isAuthorized(request, methodNode.route.context, container, identity)) === false) {
247
- this.loghandler.error("User not authorized to access this url.", {
248
- request,
249
- context: methodNode.route.context,
250
- container,
251
- identity
239
+ catch (error) {
240
+ this.loghandler.error("Authentication error", {
241
+ highlights: {
242
+ errorMessage: (_b = error.message) !== null && _b !== void 0 ? _b : "Unknown error"
243
+ },
244
+ extra: {
245
+ error,
246
+ request,
247
+ context: methodNode.route.context,
248
+ container
249
+ },
252
250
  });
251
+ // Todo: check if the error is an UnauthorizedHttpError, else create one.
252
+ if (error instanceof forbidden_http_error_1.ForbiddenHttpError === false) {
253
+ error = new forbidden_http_error_1.ForbiddenHttpError("You are not allowed to access this.");
254
+ }
253
255
  routerRequestExecutionSpan.end();
254
- return resolve(this.executeErrorResponseInterceptors(new forbidden_http_error_1.ForbiddenHttpError("You are not allowed to access this."), request, container, methodNode));
256
+ return resolve(this.executeErrorResponseInterceptors(error, request, container, methodNode));
255
257
  }
256
- // Execute all the interceptors
257
- const requestInterceptorsSpan = tracingManager.startSpan(telemetry_1.SpanKeynameEnum.RequestInterceptors, telemetry_1.SpanKeynameEnum.RouterRequestExecution);
258
- const interceptedRequest = yield this.executeRequestInterceptors(request, container, methodNode);
259
- requestInterceptorsSpan.end();
260
- this.loghandler.debug("Intercepted Request", {
261
- extra: {
262
- request,
263
- interceptedRequest,
264
- },
265
- eventId: request.id,
266
- });
267
- // Resolve the value to inject in the method arguments that have a decorator resolver
268
- let resolvedMethodArguments = this.cache.getCachedControllerMethodArguments(cacheKeyname, interceptedRequest);
269
- // If the cache did not contain the cached controller method arguments
270
- if (resolvedMethodArguments === undefined) {
271
- this.loghandler.debug("Resolved method arguments were not cached, currently resolving", {
258
+ // Call the controller with the resolved Method arguments
259
+ try {
260
+ // Verify that the identity making the request is authorized to make such a request
261
+ if ((yield this.authorizerManager.isAuthorized(request, methodNode.route.context, container, identity)) === false) {
262
+ this.loghandler.error("User not authorized to access this url.", {
263
+ request,
264
+ context: methodNode.route.context,
265
+ container,
266
+ identity
267
+ });
268
+ routerRequestExecutionSpan.end();
269
+ return resolve(this.executeErrorResponseInterceptors(new forbidden_http_error_1.ForbiddenHttpError("You are not allowed to access this."), request, container, methodNode));
270
+ }
271
+ // Execute all the interceptors
272
+ const requestInterceptorsSpan = tracingManager.startSpan(telemetry_1.SpanKeynameEnum.RequestInterceptors, telemetry_1.SpanKeynameEnum.RouterRequestExecution);
273
+ const interceptedRequest = yield this.executeRequestInterceptors(request, container, methodNode);
274
+ requestInterceptorsSpan.end();
275
+ this.loghandler.debug("Intercepted Request", {
272
276
  extra: {
273
277
  request,
274
278
  interceptedRequest,
275
279
  },
276
- eventId: request.id,
277
280
  });
278
- resolvedMethodArguments = [];
279
- for (const methodArgument of methodNode.route.methodArguments) {
280
- resolvedMethodArguments.push(yield this.controllerMethodParameterDecoratorResolver.resolve(methodArgument, interceptedRequest, routeParameters, identity));
281
+ // Resolve the value to inject in the method arguments that have a decorator resolver
282
+ let resolvedMethodArguments = this.cache.getCachedControllerMethodArguments(cacheKeyname, interceptedRequest);
283
+ // If the cache did not contain the cached controller method arguments
284
+ if (resolvedMethodArguments === undefined) {
285
+ this.loghandler.debug("Resolved method arguments were not cached, currently resolving", {
286
+ extra: {
287
+ request,
288
+ interceptedRequest,
289
+ },
290
+ });
291
+ resolvedMethodArguments = [];
292
+ for (const methodArgument of methodNode.route.methodArguments) {
293
+ resolvedMethodArguments.push(yield this.controllerMethodParameterDecoratorResolver.resolve(methodArgument, interceptedRequest, routeParameters, identity));
294
+ }
295
+ this.cache.setControllerMethodArguments(cacheKeyname, interceptedRequest, resolvedMethodArguments);
296
+ this.loghandler.debug("Resolved method arguments cached for next call.", {
297
+ request,
298
+ interceptedRequest,
299
+ resolvedMethodArguments,
300
+ });
281
301
  }
282
- this.cache.setControllerMethodArguments(cacheKeyname, interceptedRequest, resolvedMethodArguments);
283
- this.loghandler.debug("Resolved method arguments cached for next call.", {
284
- request,
285
- interceptedRequest,
286
- resolvedMethodArguments,
287
- });
288
- }
289
- else {
290
- this.loghandler.debug("Method arguments were successfully cached and will be used.", {
291
- request,
292
- interceptedRequest,
293
- resolvedMethodArguments,
294
- });
295
- }
296
- const controllerResponse = controller[methodNode.route.methodPropertyKey](...resolvedMethodArguments);
297
- // This resolves the promise if it's a promise or promisifies the value
298
- // https://stackoverflow.com/a/27760489/684101
299
- const response = yield Promise.resolve(controllerResponse);
300
- this.loghandler.debug("Router - The response returned by the controller", {
301
- extra: { response },
302
- eventId: request.id,
303
- });
304
- let returnedResponse;
305
- // If the response is already a Response object, return the response
306
- if (response instanceof common_1.Response) {
307
- this.loghandler.debug("Router - Response returned by the controller is a Response object", {
302
+ else {
303
+ this.loghandler.debug("Method arguments were successfully cached and will be used.", {
304
+ request,
305
+ interceptedRequest,
306
+ resolvedMethodArguments,
307
+ });
308
+ }
309
+ const controllerResponse = controller[methodNode.route.methodPropertyKey](...resolvedMethodArguments);
310
+ // This resolves the promise if it's a promise or promisifies the value
311
+ // https://stackoverflow.com/a/27760489/684101
312
+ const response = yield Promise.resolve(controllerResponse);
313
+ this.loghandler.debug("Router - The response returned by the controller", {
308
314
  extra: { response },
309
- eventId: request.id,
310
315
  });
311
- returnedResponse = response;
312
- }
313
- else {
314
- // If the response is not a response object, but the method hasn't thrown an error, assume the
315
- // returned response is directly the body. Also assume an Http Status code of 200.
316
- returnedResponse = new common_1.Response();
317
- returnedResponse.status = 200;
318
- returnedResponse.body = response;
319
- this.loghandler.debug("Router - Response returned by the controller is NOT a Response object", {
316
+ let returnedResponse;
317
+ // If the response is already a Response object, return the response
318
+ if (response instanceof common_1.Response) {
319
+ this.loghandler.debug("Router - Response returned by the controller is a Response object", {
320
+ extra: { response },
321
+ });
322
+ returnedResponse = response;
323
+ }
324
+ else {
325
+ // If the response is not a response object, but the method hasn't thrown an error, assume the
326
+ // returned response is directly the body. Also assume an Http Status code of 200.
327
+ returnedResponse = new common_1.Response();
328
+ returnedResponse.status = 200;
329
+ returnedResponse.body = response;
330
+ this.loghandler.debug("Router - Response returned by the controller is NOT a Response object", {
331
+ extra: {
332
+ response,
333
+ returnedResponse,
334
+ },
335
+ });
336
+ }
337
+ this.loghandler.debug("Router - The response before calling the response interceptors ", {
320
338
  extra: {
321
339
  response,
322
340
  returnedResponse,
323
341
  },
324
- eventId: request.id,
325
342
  });
343
+ const responseInterceptorsSpan = tracingManager.startSpan(telemetry_1.SpanKeynameEnum.ResponseInterceptors, telemetry_1.SpanKeynameEnum.RouterRequestExecution);
344
+ const interceptedResponse = yield this.executeResponseInterceptors(returnedResponse, request, container, methodNode);
345
+ responseInterceptorsSpan.end();
346
+ routerRequestExecutionSpan.end();
347
+ return resolve(interceptedResponse);
326
348
  }
327
- this.loghandler.debug("Router - The response before calling the response interceptors ", {
328
- extra: {
329
- response,
330
- returnedResponse,
331
- },
332
- eventId: request.id,
333
- });
334
- const responseInterceptorsSpan = tracingManager.startSpan(telemetry_1.SpanKeynameEnum.ResponseInterceptors, telemetry_1.SpanKeynameEnum.RouterRequestExecution);
335
- const interceptedResponse = yield this.executeResponseInterceptors(returnedResponse, request, container, methodNode);
336
- responseInterceptorsSpan.end();
337
- routerRequestExecutionSpan.end();
338
- return resolve(interceptedResponse);
339
- }
340
- catch (error) {
341
- this.loghandler.error("Router - There was an error trying to execute the request in the router", {
342
- highlights: {
343
- errorMessage: (_d = error.message) !== null && _d !== void 0 ? _d : "Unknown error",
344
- },
345
- extra: {
346
- error,
347
- },
348
- eventId: request.id,
349
- });
350
- // Execute router interceptors for the error response;
351
- routerRequestExecutionSpan.end();
352
- return resolve(this.executeErrorResponseInterceptors(error, request, container, methodNode));
353
- }
349
+ catch (error) {
350
+ this.loghandler.error("Router - There was an error trying to execute the request in the router", {
351
+ highlights: {
352
+ errorMessage: (_c = error.message) !== null && _c !== void 0 ? _c : "Unknown error",
353
+ },
354
+ extra: {
355
+ error,
356
+ },
357
+ });
358
+ // Execute router interceptors for the error response;
359
+ routerRequestExecutionSpan.end();
360
+ return resolve(this.executeErrorResponseInterceptors(error, request, container, methodNode));
361
+ }
362
+ })); // closes requestContextManager.run(requestContext, async () => ...)
354
363
  }));
355
364
  }
356
365
  /**
@@ -391,7 +400,6 @@ let Router = class Router {
391
400
  request,
392
401
  methodNode,
393
402
  },
394
- eventId: request.id,
395
403
  });
396
404
  // Execute all the request interceptors
397
405
  let interceptedRequest = request;
@@ -415,7 +423,6 @@ let Router = class Router {
415
423
  extra: {
416
424
  interceptor
417
425
  },
418
- eventId: request.id,
419
426
  });
420
427
  continue;
421
428
  }
@@ -433,7 +440,6 @@ let Router = class Router {
433
440
  error,
434
441
  interceptor,
435
442
  },
436
- eventId: request.id,
437
443
  });
438
444
  throw error;
439
445
  }
@@ -445,7 +451,6 @@ let Router = class Router {
445
451
  interceptedRequest,
446
452
  methodNode,
447
453
  },
448
- eventId: request.id,
449
454
  });
450
455
  return interceptedRequest;
451
456
  });
@@ -468,7 +473,6 @@ let Router = class Router {
468
473
  request,
469
474
  methodNode,
470
475
  },
471
- eventId: request.id,
472
476
  });
473
477
  // Execute all the request interceptors
474
478
  let interceptedResponse = response;
@@ -492,7 +496,6 @@ let Router = class Router {
492
496
  extra: {
493
497
  interceptor
494
498
  },
495
- eventId: request.id,
496
499
  });
497
500
  continue;
498
501
  }
@@ -508,7 +511,6 @@ let Router = class Router {
508
511
  error,
509
512
  interceptor,
510
513
  },
511
- eventId: request.id,
512
514
  });
513
515
  throw error;
514
516
  }
@@ -521,7 +523,6 @@ let Router = class Router {
521
523
  request,
522
524
  methodNode,
523
525
  },
524
- eventId: request.id,
525
526
  });
526
527
  return interceptedResponse;
527
528
  });
@@ -580,7 +581,6 @@ let Router = class Router {
580
581
  extra: {
581
582
  interceptor
582
583
  },
583
- eventId: request.id,
584
584
  });
585
585
  continue;
586
586
  }
@@ -594,7 +594,6 @@ let Router = class Router {
594
594
  interceptorName: interceptor.constructor.name,
595
595
  },
596
596
  extra: { error },
597
- eventId: request.id,
598
597
  });
599
598
  throw error;
600
599
  }
@@ -608,7 +607,6 @@ let Router = class Router {
608
607
  request,
609
608
  methodNode,
610
609
  },
611
- eventId: request.id,
612
610
  });
613
611
  return interceptedResponse;
614
612
  });
@@ -621,6 +619,7 @@ exports.Router = Router = __decorate([
621
619
  __param(0, (0, tsyringe_1.inject)("LogHandlerInterface")),
622
620
  __param(2, (0, tsyringe_1.inject)("AuthorizerManagerInterface")),
623
621
  __param(3, (0, tsyringe_1.inject)("AuthenticationManagerInterface")),
624
- __metadata("design:paramtypes", [Object, controller_method_parameter_decorator_resolver_1.ControllerMethodParameterDecoratorResolver, Object, Object, router_cache_1.RouterCache])
622
+ __metadata("design:paramtypes", [Object, controller_method_parameter_decorator_resolver_1.ControllerMethodParameterDecoratorResolver, Object, Object, router_cache_1.RouterCache,
623
+ request_context_manager_1.RequestContextManager])
625
624
  ], Router);
626
625
  //# sourceMappingURL=router.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../../src/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../../src/router.ts"],"names":[],"mappings":"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"}