@coolon/angular-ui-powerups 0.0.66 → 0.0.68

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 (121) hide show
  1. package/bundles/coolon-angular-ui-powerups.umd.js +2207 -1737
  2. package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
  3. package/bundles/coolon-angular-ui-powerups.umd.min.js +1 -1
  4. package/bundles/coolon-angular-ui-powerups.umd.min.js.map +1 -1
  5. package/coolon-angular-ui-powerups.d.ts +24 -22
  6. package/coolon-angular-ui-powerups.metadata.json +1 -1
  7. package/esm2015/coolon-angular-ui-powerups.js +24 -22
  8. package/esm2015/index.js +2 -2
  9. package/esm2015/lib/angular-ui-powerups.module.js +6 -3
  10. package/esm2015/lib/components/index.js +2 -1
  11. package/esm2015/lib/components/noop/noop.component.js +19 -0
  12. package/esm2015/lib/interaction/components/alert-dialog/alert-dialog.component.js +2 -2
  13. package/esm2015/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.js +2 -2
  14. package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +2 -2
  15. package/esm2015/lib/interaction/components/interaction-outlet/interaction-outlet.component.js +19 -0
  16. package/esm2015/lib/interaction/guards/interaction-guard.service.js +85 -0
  17. package/esm2015/lib/interaction/index.js +3 -2
  18. package/esm2015/lib/interaction/interaction.module.js +8 -3
  19. package/esm2015/lib/interaction/services/dialog-interaction.service.js +30 -5
  20. package/esm2015/lib/place/components/abstract-place-navigation.component.js +5 -5
  21. package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.js +2 -2
  22. package/esm2015/lib/place/components/place-outlet/place-outlet.component.js +60 -66
  23. package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +2 -2
  24. package/esm2015/lib/place/index.js +9 -8
  25. package/esm2015/lib/place/navigation-session.js +147 -0
  26. package/esm2015/lib/place/place-component.js +18 -14
  27. package/esm2015/lib/place/place-definition.js +197 -5
  28. package/esm2015/lib/place/place-history.js +3 -2
  29. package/esm2015/lib/place/place-router.js +186 -89
  30. package/esm2015/lib/place/route/formatter.js +63 -0
  31. package/esm2015/lib/place/route/guards/leave-place.guard.js +193 -0
  32. package/esm2015/lib/place/route/guards/place-route.guard.js +243 -0
  33. package/esm2015/lib/place/route/parameter-decorators.js +35 -18
  34. package/esm2015/lib/place/route/parameter-definition.class.js +123 -67
  35. package/esm2015/lib/place/route/parameter-sanitiser.js +4 -3
  36. package/esm2015/lib/place/route/parameter-snapshot.js +11 -388
  37. package/esm2015/lib/place/route/visit-sanitiser.js +88 -0
  38. package/esm2015/lib/place/visit.js +107 -8
  39. package/esm2015/public_api.js +4 -4
  40. package/esm5/coolon-angular-ui-powerups.js +24 -22
  41. package/esm5/index.js +2 -2
  42. package/esm5/lib/angular-ui-powerups.module.js +6 -3
  43. package/esm5/lib/components/index.js +2 -1
  44. package/esm5/lib/components/noop/noop.component.js +21 -0
  45. package/esm5/lib/interaction/components/alert-dialog/alert-dialog.component.js +2 -2
  46. package/esm5/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.js +2 -2
  47. package/esm5/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +2 -2
  48. package/esm5/lib/interaction/components/interaction-outlet/interaction-outlet.component.js +21 -0
  49. package/esm5/lib/interaction/guards/interaction-guard.service.js +94 -0
  50. package/esm5/lib/interaction/index.js +3 -2
  51. package/esm5/lib/interaction/interaction.module.js +8 -3
  52. package/esm5/lib/interaction/services/dialog-interaction.service.js +28 -5
  53. package/esm5/lib/place/components/abstract-place-navigation.component.js +5 -5
  54. package/esm5/lib/place/components/list-place-nav/list-place-nav.component.js +2 -2
  55. package/esm5/lib/place/components/place-outlet/place-outlet.component.js +70 -82
  56. package/esm5/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +2 -2
  57. package/esm5/lib/place/index.js +9 -8
  58. package/esm5/lib/place/navigation-session.js +193 -0
  59. package/esm5/lib/place/place-component.js +19 -15
  60. package/esm5/lib/place/place-definition.js +253 -5
  61. package/esm5/lib/place/place-history.js +7 -3
  62. package/esm5/lib/place/place-router.js +242 -107
  63. package/esm5/lib/place/route/formatter.js +96 -0
  64. package/esm5/lib/place/route/guards/leave-place.guard.js +152 -0
  65. package/esm5/lib/place/route/guards/place-route.guard.js +273 -0
  66. package/esm5/lib/place/route/parameter-decorators.js +35 -18
  67. package/esm5/lib/place/route/parameter-definition.class.js +179 -76
  68. package/esm5/lib/place/route/parameter-sanitiser.js +4 -3
  69. package/esm5/lib/place/route/parameter-snapshot.js +11 -480
  70. package/esm5/lib/place/route/visit-sanitiser.js +99 -0
  71. package/esm5/lib/place/visit.js +160 -8
  72. package/esm5/public_api.js +4 -4
  73. package/fesm2015/coolon-angular-ui-powerups.js +1493 -1124
  74. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  75. package/fesm5/coolon-angular-ui-powerups.js +2166 -1700
  76. package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
  77. package/lib/components/index.d.ts +1 -0
  78. package/lib/components/noop/noop.component.d.ts +3 -0
  79. package/lib/interaction/components/interaction-outlet/interaction-outlet.component.d.ts +3 -0
  80. package/lib/interaction/guards/interaction-guard.service.d.ts +13 -0
  81. package/lib/interaction/index.d.ts +2 -1
  82. package/lib/interaction/services/dialog-interaction.service.d.ts +5 -1
  83. package/lib/place/components/place-outlet/place-outlet.component.d.ts +12 -12
  84. package/lib/place/index.d.ts +5 -4
  85. package/lib/place/navigation-session.d.ts +26 -0
  86. package/lib/place/place-component.d.ts +3 -3
  87. package/lib/place/place-definition.d.ts +30 -3
  88. package/lib/place/place-history.d.ts +3 -3
  89. package/lib/place/place-router.d.ts +26 -19
  90. package/lib/place/route/{parameter-type.d.ts → formatter.d.ts} +5 -5
  91. package/lib/place/{guards → route/guards}/leave-place.guard.d.ts +4 -3
  92. package/lib/place/route/guards/place-route.guard.d.ts +27 -0
  93. package/lib/place/route/parameter-decorators.d.ts +14 -6
  94. package/lib/place/route/parameter-definition.class.d.ts +21 -17
  95. package/lib/place/route/parameter-sanitiser.d.ts +3 -2
  96. package/lib/place/route/parameter-snapshot.d.ts +4 -26
  97. package/lib/place/route/visit-sanitiser.d.ts +12 -0
  98. package/lib/place/visit.d.ts +24 -3
  99. package/package.json +1 -1
  100. package/schematics/place-routes/place-class-scanner.d.ts +2 -2
  101. package/schematics/place-routes/place-class-scanner.js +7 -7
  102. package/schematics/place-routes/place-class-scanner.js.map +1 -1
  103. package/schematics/place-routes/place-def.d.ts +3 -2
  104. package/schematics/place-routes/place-def.js +21 -12
  105. package/schematics/place-routes/place-def.js.map +1 -1
  106. package/schematics/place-routes/templates/place-destinations.ts.template +5 -3
  107. package/schematics/place-routes/templates/place-routes.ts.template +10 -1
  108. package/schematics/place-routes/templates/place-visits.ts.template +21 -0
  109. package/esm2015/lib/interaction/guards/close-interaction.guard.js +0 -62
  110. package/esm2015/lib/place/guards/leave-place.guard.js +0 -159
  111. package/esm2015/lib/place/guards/place-route.guard.js +0 -74
  112. package/esm2015/lib/place/route/parameter-type.js +0 -61
  113. package/esm2015/lib/place/route/route-parameter-value.js +0 -230
  114. package/esm5/lib/interaction/guards/close-interaction.guard.js +0 -66
  115. package/esm5/lib/place/guards/leave-place.guard.js +0 -117
  116. package/esm5/lib/place/guards/place-route.guard.js +0 -78
  117. package/esm5/lib/place/route/parameter-type.js +0 -94
  118. package/esm5/lib/place/route/route-parameter-value.js +0 -316
  119. package/lib/interaction/guards/close-interaction.guard.d.ts +0 -12
  120. package/lib/place/guards/place-route.guard.d.ts +0 -10
  121. package/lib/place/route/route-parameter-value.d.ts +0 -42
@@ -1 +1 @@
1
- {"version":3,"file":"place-class-scanner.js","sourceRoot":"","sources":["../../../../../libs/angular-ui-powerups/schematics/place-routes/place-class-scanner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"place-class-scanner.js","sourceRoot":"","sources":["../../../../../libs/angular-ui-powerups/schematics/place-routes/place-class-scanner.ts"],"names":[],"mappings":"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"}
@@ -14,8 +14,9 @@ export declare class PlaceDef {
14
14
  readonly path: string;
15
15
  readonly routeIdentifier: PlaceDef.Parameter;
16
16
  readonly fullPath: string;
17
- getPlaceRouterGoArgs(): string;
18
- getPlaceRouterGoRouteParams(): string;
17
+ getPlaceDestinationParameterArg(name: string): string;
18
+ getPlaceDestinationCreateVisitMethod(): string;
19
+ getPlaceDestinationVisitConstructor(): string;
19
20
  readonly placeName: string;
20
21
  readonly order: number;
21
22
  setParent(placeDef: PlaceDef): void;
@@ -29,31 +29,40 @@ class PlaceDef {
29
29
  `${this.path}/:${this.routeIdentifier.parameterName}` :
30
30
  this.path;
31
31
  }
32
- getPlaceRouterGoArgs() {
32
+ getPlaceDestinationParameterArg(name) {
33
33
  const bits = [];
34
34
  if (this.routeIdentifier) {
35
- bits.push(`${this.routeIdentifier.modelName}:${this.routeIdentifier.typeName}`);
35
+ bits.push(`${this.routeIdentifier.parameterName}:${this.routeIdentifier.typeName}`);
36
36
  }
37
37
  if (this.routeParameters && this.routeParameters.length > 0) {
38
38
  const properties = this.routeParameters.map(p => `${p.parameterName}?: ${p.typeName}`);
39
- bits.push(`routeParameters?: { ${properties.join(', ')} }`);
39
+ bits.push(`${name}?: { ${properties.join(', ')} }`);
40
40
  }
41
41
  return bits.join(', ');
42
42
  }
43
- getPlaceRouterGoRouteParams() {
44
- const bits = [`"${this.path}"`];
43
+ getPlaceDestinationCreateVisitMethod() {
44
+ const parameterNames = [];
45
45
  if (this.routeIdentifier) {
46
- bits.push(`${this.routeIdentifier.modelName}`);
46
+ parameterNames.push(this.routeIdentifier.parameterName);
47
47
  }
48
48
  if (this.routeParameters && this.routeParameters.length > 0) {
49
- const mandatory = bits.join(', ');
50
- bits.push(`routeParameters`);
51
- const all = bits.join(', ');
52
- return `routeParameters ? [${all}] : [${mandatory}]`;
49
+ parameterNames.push("visitParams");
53
50
  }
54
- else {
55
- return `[${bits.join(', ')}]`;
51
+ return `createVisit(${this.getPlaceDestinationParameterArg('visitParams')}): Visit {
52
+ return new ${this.componentClass}Visit(${parameterNames.join(', ')});
53
+ }`;
54
+ }
55
+ getPlaceDestinationVisitConstructor() {
56
+ const parameterNames = [];
57
+ if (this.routeIdentifier) {
58
+ parameterNames.push(this.routeIdentifier.parameterName);
59
+ }
60
+ if (this.routeParameters && this.routeParameters.length > 0) {
61
+ parameterNames.push("...visitParams");
56
62
  }
63
+ return `constructor(${this.getPlaceDestinationParameterArg('visitParams')}) {
64
+ super(PlaceComponent.getDefinition(${this.componentClass}), {${parameterNames.join(', ')}});
65
+ }`;
57
66
  }
58
67
  get placeName() {
59
68
  const s = this.componentClass.replace(/Component$/, '');
@@ -1 +1 @@
1
- {"version":3,"file":"place-def.js","sourceRoot":"","sources":["../../../../../libs/angular-ui-powerups/schematics/place-routes/place-def.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"place-def.js","sourceRoot":"","sources":["../../../../../libs/angular-ui-powerups/schematics/place-routes/place-def.ts"],"names":[],"mappings":"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"}
@@ -10,12 +10,14 @@
10
10
  // }
11
11
  // }
12
12
 
13
+ import { Visit } from '@coolon/angular-ui-powerups';
14
+ <% placeDefs.forEach(def => { %>import {<%= def.componentClass %>Visit} from "./place-visits";
15
+ <% }); %>
16
+
13
17
  export const placeDestinations = {
14
18
  <% placeDefs.forEach(def => { %>
15
19
  <%= def.placeName %>: {
16
- routeParams(<%=def.getPlaceRouterGoArgs()%>) {
17
- return <%=def.getPlaceRouterGoRouteParams()%>;
18
- }
20
+ <%=def.getPlaceDestinationCreateVisitMethod()%>
19
21
  },
20
22
  <% }) %>
21
23
  };
@@ -2,7 +2,7 @@
2
2
  // This file is automatically generated using:
3
3
  // ng generate @coolon/angular-ui-powerups:place-routes --project=<%=project%>
4
4
  //
5
- // Configuration file must be located in `places.json` or `places.json5` in your app root e.g. `apps/my-project`.
5
+ // Configuration file must be located in `places.json` or `places.json5` in your places root e.g. `apps/my-project/places`.
6
6
  // {
7
7
  // authGuard: {
8
8
  // className: "MyApplicationAuthGuardClass",
@@ -12,6 +12,8 @@
12
12
 
13
13
  import { PlaceRouteGuard } from '@coolon/angular-ui-powerups';
14
14
  import { LeavePlaceGuard } from '@coolon/angular-ui-powerups';
15
+ import { InteractionGuard } from '@coolon/angular-ui-powerups';
16
+ import { NoopComponent } from '@coolon/angular-ui-powerups';
15
17
  import { <%= config.authGuard.className %> } from '<%= config.authGuard.importPath %>';
16
18
 
17
19
  <% placeDefs.forEach(def => { %>import {<%= def.componentClass %>} from "<%= def.importPath %>";
@@ -20,4 +22,11 @@ import { <%= config.authGuard.className %> } from '<%= config.authGuard.importPa
20
22
  export const placeRoutes = [<% placeDefs.filter(def=> !def.isChild()).forEach(def => { %>
21
23
  <%= def.getRouteTemplate() %>,
22
24
  <% }) %>
25
+ // {
26
+ // path: "ic",
27
+ // outlet:"interaction-context",
28
+ // component: NoopComponent,
29
+ // canDeactivate: [InteractionGuard],
30
+ // canActivate: [InteractionGuard]
31
+ // }
23
32
  ];
@@ -0,0 +1,21 @@
1
+ // DO NOT EDIT!!!
2
+ // This file is automatically generated using:
3
+ // ng generate @coolon/angular-ui-powerups:place-routes --project=<%=project%>
4
+ //
5
+ // Configuration file must be located in `places.json` or `places.json5` in your places root e.g. `apps/my-project/places`.
6
+ // {
7
+ // authGuard: {
8
+ // className: "MyApplicationAuthGuardClass",
9
+ // moduleImport: "./guards/myApplicationAuthGuardClass.ts" // a path relative to `apps/my-project/src/app/`
10
+ // }
11
+ // }
12
+
13
+ import { Visit, PlaceComponent } from '@coolon/angular-ui-powerups';
14
+ <% placeDefs.forEach(def => { %>import {<%= def.componentClass %>} from "<%= def.importPath %>";
15
+ <% }); %>
16
+
17
+ <% placeDefs.forEach(def => { %>
18
+ export class <%= def.componentClass %>Visit extends Visit {
19
+ <%= def.getPlaceDestinationVisitConstructor() %>
20
+ }
21
+ <% }) %>
@@ -1,62 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import { Injectable, Injector } from '@angular/core';
6
- import { Router } from '@angular/router';
7
- import { InteractionContext } from '../interaction-context';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "@angular/router";
10
- import * as i2 from "../interaction-context";
11
- export class CloseInteractionGuard {
12
- /**
13
- * @param {?} router
14
- * @param {?} injector
15
- * @param {?} interactionContext
16
- */
17
- constructor(router, injector, interactionContext) {
18
- this.router = router;
19
- this.injector = injector;
20
- this.interactionContext = interactionContext;
21
- }
22
- /**
23
- * @param {?} component
24
- * @param {?} currentRoute
25
- * @param {?} currentState
26
- * @param {?=} nextState
27
- * @return {?}
28
- */
29
- canDeactivate(component, currentRoute, currentState, nextState) {
30
- return !this.interactionContext.isActive();
31
- }
32
- }
33
- CloseInteractionGuard.decorators = [
34
- { type: Injectable, args: [{
35
- providedIn: 'root'
36
- },] }
37
- ];
38
- /** @nocollapse */
39
- CloseInteractionGuard.ctorParameters = () => [
40
- { type: Router },
41
- { type: Injector },
42
- { type: InteractionContext }
43
- ];
44
- /** @nocollapse */ CloseInteractionGuard.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function CloseInteractionGuard_Factory() { return new CloseInteractionGuard(i0.ɵɵinject(i1.Router), i0.ɵɵinject(i0.INJECTOR), i0.ɵɵinject(i2.InteractionContext)); }, token: CloseInteractionGuard, providedIn: "root" });
45
- if (false) {
46
- /**
47
- * @type {?}
48
- * @private
49
- */
50
- CloseInteractionGuard.prototype.router;
51
- /**
52
- * @type {?}
53
- * @private
54
- */
55
- CloseInteractionGuard.prototype.injector;
56
- /**
57
- * @type {?}
58
- * @private
59
- */
60
- CloseInteractionGuard.prototype.interactionContext;
61
- }
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvc2UtaW50ZXJhY3Rpb24uZ3VhcmQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvaW50ZXJhY3Rpb24vZ3VhcmRzL2Nsb3NlLWludGVyYWN0aW9uLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQXlDLE1BQU0sRUFBZ0MsTUFBTSxpQkFBaUIsQ0FBQztBQUc5RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7OztBQU01RCxNQUFNLE9BQU8scUJBQXFCOzs7Ozs7SUFFaEMsWUFBb0IsTUFBYyxFQUFVLFFBQWtCLEVBQW1CLGtCQUFzQztRQUFuRyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUFtQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO0lBQ3ZILENBQUM7Ozs7Ozs7O0lBRUQsYUFBYSxDQUFDLFNBQXlCLEVBQUUsWUFBb0MsRUFBRSxZQUFpQyxFQUFFLFNBQStCO1FBQy9JLE9BQU8sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxFQUFFLENBQUE7SUFDNUMsQ0FBQzs7O1lBVkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7O1lBUitDLE1BQU07WUFEakMsUUFBUTtZQUlwQixrQkFBa0I7Ozs7Ozs7O0lBUWIsdUNBQXNCOzs7OztJQUFFLHlDQUEwQjs7Ozs7SUFBRSxtREFBdUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgQ2FuRGVhY3RpdmF0ZSwgUm91dGVyLCBSb3V0ZXJTdGF0ZVNuYXBzaG90LCBVcmxUcmVlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFBsYWNlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vcGxhY2UvcGxhY2UtY29tcG9uZW50JztcbmltcG9ydCB7IEludGVyYWN0aW9uQ29udGV4dCB9IGZyb20gJy4uL2ludGVyYWN0aW9uLWNvbnRleHQnO1xuXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENsb3NlSW50ZXJhY3Rpb25HdWFyZCBpbXBsZW1lbnRzIENhbkRlYWN0aXZhdGU8UGxhY2VDb21wb25lbnQ+IHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvciwgcHJpdmF0ZSByZWFkb25seSBpbnRlcmFjdGlvbkNvbnRleHQ6IEludGVyYWN0aW9uQ29udGV4dCkge1xuICB9XG5cbiAgY2FuRGVhY3RpdmF0ZShjb21wb25lbnQ6IFBsYWNlQ29tcG9uZW50LCBjdXJyZW50Um91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIGN1cnJlbnRTdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCwgbmV4dFN0YXRlPzogUm91dGVyU3RhdGVTbmFwc2hvdCk6IE9ic2VydmFibGU8Ym9vbGVhbiB8IFVybFRyZWU+IHwgUHJvbWlzZTxib29sZWFuIHwgVXJsVHJlZT4gfCBib29sZWFuIHwgVXJsVHJlZSB7XG4gICAgcmV0dXJuICF0aGlzLmludGVyYWN0aW9uQ29udGV4dC5pc0FjdGl2ZSgpXG4gIH1cblxufVxuIl19
@@ -1,159 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import * as tslib_1 from "tslib";
6
- import { Location } from '@angular/common';
7
- import { Injectable, Injector } from '@angular/core';
8
- import { Router } from '@angular/router';
9
- import { InteractionContext } from '../../interaction/interaction-context';
10
- import { PlaceRouter } from '../place-router';
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "@angular/router";
13
- import * as i2 from "../place-router";
14
- import * as i3 from "../../interaction/interaction-context";
15
- import * as i4 from "@angular/common";
16
- export class LeavePlaceGuard {
17
- /**
18
- * @param {?} router
19
- * @param {?} injector
20
- * @param {?} placeRouter
21
- * @param {?} interactionContext
22
- * @param {?} angularLocation
23
- */
24
- constructor(router, injector, placeRouter, interactionContext, angularLocation) {
25
- this.router = router;
26
- this.injector = injector;
27
- this.placeRouter = placeRouter;
28
- this.interactionContext = interactionContext;
29
- this.angularLocation = angularLocation;
30
- }
31
- /**
32
- * @param {?} component
33
- * @param {?} currentRoute
34
- * @param {?} currentState
35
- * @param {?=} nextState
36
- * @return {?}
37
- */
38
- canDeactivate(component, currentRoute, currentState, nextState) {
39
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
40
- /** @type {?} */
41
- const placeDefinitionPath = `/${component.placeDefinition.path}`;
42
- // console.log('canDeactivate', {
43
- // staticPath: placeDefinitionPath,
44
- // currentStateUrl: currentState.url,
45
- // nextStateUrl: nextState.url
46
- // // alreadyDeclined: this._alreadyAccepted
47
- // });
48
- // Example of the above when navigating to a different child route.
49
- // canDeactivate {staticPath: "/hero-details",
50
- // currentStateUrl: "/route-parameters/-1;dv=A;dl=a,b,c;rdv=A;rdl=a,b,c/hero-details",
51
- // nextStateUrl: "/route-parameters/-1;dv=A;dl=a,b,c;rdv=A;rdl=a,b,c/hero-stats"
52
- // }
53
- // Example clicking on router tab of the parent component (de-activates the parent due to route param changes)
54
- // canDeactivate {
55
- // staticPath: "/hero-stats",
56
- // currentStateUrl: "/route-parameters/-1;dv=A;dl=a,b,c;rdv=A;rdl=a,b,c/hero-stats",
57
- // nextStateUrl: "/route-parameters/"
58
- // }
59
- // canDeactivate {
60
- // staticPath: "/route-parameters",
61
- // currentStateUrl: "/route-parameters/-1;dv=A;dl=a,b,c;rdv=A;rdl=a,b,c/hero-stats",
62
- // nextStateUrl: "/route-parameters/"
63
- // }
64
- // logger.class.js:54 ParameterSnapshot.sanitise -> {idModel: -1, pv: undefined, pl: Array(0), dv: undefined, dl: Array(0), …}
65
- // parameter-snapshot.ts:20 {name: "idModel", mine: -1, theirs: null}
66
- // place-router.ts:28 redirect path (3) ["route-parameters", "-1", {…}]
67
- // canDeactivate {
68
- // staticPath: "/hero-stats",
69
- // currentStateUrl: "/route-parameters/-1;dv=A;dl=a,b,c;rdv=A;rdl=a,b,c/hero-stats",
70
- // nextStateUrl: "/route-parameters/-1"
71
- // }
72
- // canDeactivate {
73
- // staticPath: "/route-parameters",
74
- // currentStateUrl: "/route-parameters/-1;dv=A;dl=a,b,c;rdv=A;rdl=a,b,c/hero-stats",
75
- // nextStateUrl: "/route-parameters/-1"
76
- // }
77
- // logger.class.js:54 ParameterSnapshot.sanitise -> {idModel: -1, pv: undefined, pl: Array(0), dv: "A", dl: Array(3), …}
78
- // parameter-snapshot.ts:20 {name: "dv", mine: "A", theirs: undefined}
79
- // place-router.ts:28 redirect path (3) ["route-parameters", "-1", {…}]
80
- // canDeactivate {
81
- // staticPath: "/hero-stats",
82
- // currentStateUrl: "/route-parameters/-1;dv=A;dl=a,b,c;rdv=A;rdl=a,b,c/hero-stats",
83
- // nextStateUrl: "/route-parameters/-1;dv=A;dl=a,b,c;rdv=A;rdl=a,b,c"
84
- // }
85
- if (this.placeRouter.navigationSession.alreadyAccepted(component)) {
86
- return true;
87
- }
88
- else {
89
- // TODO: this will break with child routes... need to examine the router states properly.
90
- if (!nextState.url.startsWith(placeDefinitionPath)) {
91
- /** @type {?} */
92
- const self = this;
93
- /** @type {?} */
94
- let canLeave = yield component.canDeactivate();
95
- // component is happy to leave but we need to check if it's left an interaction
96
- // open. If so we close and stay where we are.
97
- if (canLeave && this.interactionContext.isActive()) {
98
- canLeave = false;
99
- console.log("cancelling", { activity: this.interactionContext.currentActivity });
100
- this.interactionContext.currentActivity.cancel(null);
101
- }
102
- // If we're still leaving then remember it since angular will call this method multiple
103
- // times if any route parameters are changed along the way.
104
- if (canLeave) {
105
- self.placeRouter.navigationSession.rememberAcceptanceOf(component);
106
- }
107
- else {
108
- // Angular doesn't preserve the url when a guard cancels the back button.
109
- // See https://github.com/angular/angular/issues/13586#issuecomment-432795720
110
- if (this.placeRouter.navigationSession.isPopState) {
111
- console.log('cancelled during popstate');
112
- this.angularLocation.go(this.placeRouter.navigationSession.initialUrl);
113
- }
114
- }
115
- return canLeave;
116
- }
117
- else {
118
- return true;
119
- }
120
- }
121
- });
122
- }
123
- }
124
- LeavePlaceGuard.decorators = [
125
- { type: Injectable, args: [{
126
- providedIn: 'root'
127
- },] }
128
- ];
129
- /** @nocollapse */
130
- LeavePlaceGuard.ctorParameters = () => [
131
- { type: Router },
132
- { type: Injector },
133
- { type: PlaceRouter },
134
- { type: InteractionContext },
135
- { type: Location }
136
- ];
137
- /** @nocollapse */ LeavePlaceGuard.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function LeavePlaceGuard_Factory() { return new LeavePlaceGuard(i0.ɵɵinject(i1.Router), i0.ɵɵinject(i0.INJECTOR), i0.ɵɵinject(i2.PlaceRouter), i0.ɵɵinject(i3.InteractionContext), i0.ɵɵinject(i4.Location)); }, token: LeavePlaceGuard, providedIn: "root" });
138
- if (false) {
139
- /**
140
- * @type {?}
141
- * @private
142
- */
143
- LeavePlaceGuard.prototype.router;
144
- /**
145
- * @type {?}
146
- * @private
147
- */
148
- LeavePlaceGuard.prototype.injector;
149
- /**
150
- * @type {?}
151
- * @private
152
- */
153
- LeavePlaceGuard.prototype.placeRouter;
154
- /** @type {?} */
155
- LeavePlaceGuard.prototype.interactionContext;
156
- /** @type {?} */
157
- LeavePlaceGuard.prototype.angularLocation;
158
- }
159
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhdmUtcGxhY2UuZ3VhcmQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2UvZ3VhcmRzL2xlYXZlLXBsYWNlLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBeUMsTUFBTSxFQUF1QixNQUFNLGlCQUFpQixDQUFDO0FBQ3JHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRTNFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7O0FBSzlDLE1BQU0sT0FBTyxlQUFlOzs7Ozs7OztJQUUxQixZQUFvQixNQUFjLEVBQ2QsUUFBa0IsRUFDbEIsV0FBd0IsRUFDdkIsa0JBQXNDLEVBQVcsZUFBeUI7UUFIM0UsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDdkIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUFXLG9CQUFlLEdBQWYsZUFBZSxDQUFVO0lBQy9GLENBQUM7Ozs7Ozs7O0lBRUssYUFBYSxDQUFDLFNBQXlCLEVBQUUsWUFBb0MsRUFBRSxZQUFpQyxFQUFFLFNBQStCOzs7a0JBQy9JLG1CQUFtQixHQUFHLElBQUksU0FBUyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUU7WUFDaEUsaUNBQWlDO1lBQ2pDLHFDQUFxQztZQUNyQyx1Q0FBdUM7WUFDdkMsZ0NBQWdDO1lBQ2hDLDhDQUE4QztZQUM5QyxNQUFNO1lBQ04sbUVBQW1FO1lBQ25FLDhDQUE4QztZQUM5Qyx5RkFBeUY7WUFDekYsbUZBQW1GO1lBQ25GLElBQUk7WUFFSiw4R0FBOEc7WUFDOUcsa0JBQWtCO1lBQ2xCLGdDQUFnQztZQUNoQyx1RkFBdUY7WUFDdkYsd0NBQXdDO1lBQ3hDLElBQUk7WUFDSixrQkFBa0I7WUFDbEIsc0NBQXNDO1lBQ3RDLHVGQUF1RjtZQUN2Rix3Q0FBd0M7WUFDeEMsSUFBSTtZQUNKLDhIQUE4SDtZQUM5SCxxRUFBcUU7WUFDckUsdUVBQXVFO1lBQ3ZFLGtCQUFrQjtZQUNsQixnQ0FBZ0M7WUFDaEMsdUZBQXVGO1lBQ3ZGLDBDQUEwQztZQUMxQyxJQUFJO1lBQ0osa0JBQWtCO1lBQ2xCLHNDQUFzQztZQUN0Qyx1RkFBdUY7WUFDdkYsMENBQTBDO1lBQzFDLElBQUk7WUFDSix3SEFBd0g7WUFDeEgsc0VBQXNFO1lBQ3RFLHVFQUF1RTtZQUN2RSxrQkFBa0I7WUFDbEIsZ0NBQWdDO1lBQ2hDLHVGQUF1RjtZQUN2Rix3RUFBd0U7WUFDeEUsSUFBSTtZQUdKLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLEVBQUU7Z0JBQ2pFLE9BQU8sSUFBSSxDQUFDO2FBQ2I7aUJBQU07Z0JBQ0wseUZBQXlGO2dCQUN6RixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsbUJBQW1CLENBQUMsRUFBRTs7MEJBQzVDLElBQUksR0FBRyxJQUFJOzt3QkFDYixRQUFRLEdBQUcsTUFBTSxTQUFTLENBQUMsYUFBYSxFQUFFO29CQUM5QywrRUFBK0U7b0JBQy9FLCtDQUErQztvQkFDL0MsSUFBSSxRQUFRLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxFQUFFO3dCQUNsRCxRQUFRLEdBQUcsS0FBSyxDQUFDO3dCQUNqQixPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxFQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsZUFBZSxFQUFDLENBQUMsQ0FBQzt3QkFDL0UsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7cUJBQ3REO29CQUNELHVGQUF1RjtvQkFDdkYsMkRBQTJEO29CQUMzRCxJQUFJLFFBQVEsRUFBRTt3QkFDWixJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxDQUFDO3FCQUNwRTt5QkFBTTt3QkFDTCx5RUFBeUU7d0JBQ3pFLDZFQUE2RTt3QkFDN0UsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLFVBQVUsRUFBRTs0QkFDakQsT0FBTyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDOzRCQUN6QyxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxDQUFDO3lCQUN4RTtxQkFDRjtvQkFDRCxPQUFPLFFBQVEsQ0FBQztpQkFDakI7cUJBQU07b0JBQ0wsT0FBTyxJQUFJLENBQUM7aUJBQ2I7YUFDRjtRQUNILENBQUM7S0FBQTs7O1lBMUZGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7OztZQVArQyxNQUFNO1lBRGpDLFFBQVE7WUFJcEIsV0FBVztZQUZYLGtCQUFrQjtZQUhsQixRQUFROzs7Ozs7OztJQVlILGlDQUFzQjs7Ozs7SUFDdEIsbUNBQTBCOzs7OztJQUMxQixzQ0FBZ0M7O0lBQ2hDLDZDQUErQzs7SUFBRSwwQ0FBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgQ2FuRGVhY3RpdmF0ZSwgUm91dGVyLCBSb3V0ZXJTdGF0ZVNuYXBzaG90IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEludGVyYWN0aW9uQ29udGV4dCB9IGZyb20gJy4uLy4uL2ludGVyYWN0aW9uL2ludGVyYWN0aW9uLWNvbnRleHQnO1xuaW1wb3J0IHsgUGxhY2VDb21wb25lbnQgfSBmcm9tICcuLi9wbGFjZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgUGxhY2VSb3V0ZXIgfSBmcm9tICcuLi9wbGFjZS1yb3V0ZXInO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBMZWF2ZVBsYWNlR3VhcmQgaW1wbGVtZW50cyBDYW5EZWFjdGl2YXRlPFBsYWNlQ29tcG9uZW50PiB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgICAgICAgIHByaXZhdGUgcGxhY2VSb3V0ZXI6IFBsYWNlUm91dGVyLFxuICAgICAgICAgICAgICByZWFkb25seSBpbnRlcmFjdGlvbkNvbnRleHQ6IEludGVyYWN0aW9uQ29udGV4dCwgcmVhZG9ubHkgYW5ndWxhckxvY2F0aW9uOiBMb2NhdGlvbikge1xuICB9XG5cbiAgYXN5bmMgY2FuRGVhY3RpdmF0ZShjb21wb25lbnQ6IFBsYWNlQ29tcG9uZW50LCBjdXJyZW50Um91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIGN1cnJlbnRTdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCwgbmV4dFN0YXRlPzogUm91dGVyU3RhdGVTbmFwc2hvdCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IHBsYWNlRGVmaW5pdGlvblBhdGggPSBgLyR7Y29tcG9uZW50LnBsYWNlRGVmaW5pdGlvbi5wYXRofWA7XG4gICAgLy8gY29uc29sZS5sb2coJ2NhbkRlYWN0aXZhdGUnLCB7XG4gICAgLy8gICBzdGF0aWNQYXRoOiBwbGFjZURlZmluaXRpb25QYXRoLFxuICAgIC8vICAgY3VycmVudFN0YXRlVXJsOiBjdXJyZW50U3RhdGUudXJsLFxuICAgIC8vICAgbmV4dFN0YXRlVXJsOiBuZXh0U3RhdGUudXJsXG4gICAgLy8gICAvLyBhbHJlYWR5RGVjbGluZWQ6IHRoaXMuX2FscmVhZHlBY2NlcHRlZFxuICAgIC8vIH0pO1xuICAgIC8vIEV4YW1wbGUgb2YgdGhlIGFib3ZlIHdoZW4gbmF2aWdhdGluZyB0byBhIGRpZmZlcmVudCBjaGlsZCByb3V0ZS5cbiAgICAvLyBjYW5EZWFjdGl2YXRlIHtzdGF0aWNQYXRoOiBcIi9oZXJvLWRldGFpbHNcIixcbiAgICAvLyAgICBjdXJyZW50U3RhdGVVcmw6IFwiL3JvdXRlLXBhcmFtZXRlcnMvLTE7ZHY9QTtkbD1hLGIsYztyZHY9QTtyZGw9YSxiLGMvaGVyby1kZXRhaWxzXCIsXG4gICAgLy8gICAgbmV4dFN0YXRlVXJsOiBcIi9yb3V0ZS1wYXJhbWV0ZXJzLy0xO2R2PUE7ZGw9YSxiLGM7cmR2PUE7cmRsPWEsYixjL2hlcm8tc3RhdHNcIlxuICAgIC8vIH1cblxuICAgIC8vIEV4YW1wbGUgY2xpY2tpbmcgb24gcm91dGVyIHRhYiBvZiB0aGUgcGFyZW50IGNvbXBvbmVudCAoZGUtYWN0aXZhdGVzIHRoZSBwYXJlbnQgZHVlIHRvIHJvdXRlIHBhcmFtIGNoYW5nZXMpXG4gICAgLy8gY2FuRGVhY3RpdmF0ZSB7XG4gICAgLy8gICAgc3RhdGljUGF0aDogXCIvaGVyby1zdGF0c1wiLFxuICAgIC8vICAgIGN1cnJlbnRTdGF0ZVVybDogXCIvcm91dGUtcGFyYW1ldGVycy8tMTtkdj1BO2RsPWEsYixjO3Jkdj1BO3JkbD1hLGIsYy9oZXJvLXN0YXRzXCIsXG4gICAgLy8gICAgbmV4dFN0YXRlVXJsOiBcIi9yb3V0ZS1wYXJhbWV0ZXJzL1wiXG4gICAgLy8gfVxuICAgIC8vIGNhbkRlYWN0aXZhdGUge1xuICAgIC8vICAgIHN0YXRpY1BhdGg6IFwiL3JvdXRlLXBhcmFtZXRlcnNcIixcbiAgICAvLyAgICBjdXJyZW50U3RhdGVVcmw6IFwiL3JvdXRlLXBhcmFtZXRlcnMvLTE7ZHY9QTtkbD1hLGIsYztyZHY9QTtyZGw9YSxiLGMvaGVyby1zdGF0c1wiLFxuICAgIC8vICAgIG5leHRTdGF0ZVVybDogXCIvcm91dGUtcGFyYW1ldGVycy9cIlxuICAgIC8vIH1cbiAgICAvLyBsb2dnZXIuY2xhc3MuanM6NTQgUGFyYW1ldGVyU25hcHNob3Quc2FuaXRpc2UgLT4ge2lkTW9kZWw6IC0xLCBwdjogdW5kZWZpbmVkLCBwbDogQXJyYXkoMCksIGR2OiB1bmRlZmluZWQsIGRsOiBBcnJheSgwKSzCoOKApn1cbiAgICAvLyBwYXJhbWV0ZXItc25hcHNob3QudHM6MjAge25hbWU6IFwiaWRNb2RlbFwiLCBtaW5lOiAtMSwgdGhlaXJzOiBudWxsfVxuICAgIC8vIHBsYWNlLXJvdXRlci50czoyOCByZWRpcmVjdCBwYXRoICgzKcKgW1wicm91dGUtcGFyYW1ldGVyc1wiLCBcIi0xXCIsIHvigKZ9XVxuICAgIC8vIGNhbkRlYWN0aXZhdGUge1xuICAgIC8vICAgIHN0YXRpY1BhdGg6IFwiL2hlcm8tc3RhdHNcIixcbiAgICAvLyAgICBjdXJyZW50U3RhdGVVcmw6IFwiL3JvdXRlLXBhcmFtZXRlcnMvLTE7ZHY9QTtkbD1hLGIsYztyZHY9QTtyZGw9YSxiLGMvaGVyby1zdGF0c1wiLFxuICAgIC8vICAgIG5leHRTdGF0ZVVybDogXCIvcm91dGUtcGFyYW1ldGVycy8tMVwiXG4gICAgLy8gfVxuICAgIC8vIGNhbkRlYWN0aXZhdGUge1xuICAgIC8vICAgIHN0YXRpY1BhdGg6IFwiL3JvdXRlLXBhcmFtZXRlcnNcIixcbiAgICAvLyAgICBjdXJyZW50U3RhdGVVcmw6IFwiL3JvdXRlLXBhcmFtZXRlcnMvLTE7ZHY9QTtkbD1hLGIsYztyZHY9QTtyZGw9YSxiLGMvaGVyby1zdGF0c1wiLFxuICAgIC8vICAgIG5leHRTdGF0ZVVybDogXCIvcm91dGUtcGFyYW1ldGVycy8tMVwiXG4gICAgLy8gfVxuICAgIC8vIGxvZ2dlci5jbGFzcy5qczo1NCBQYXJhbWV0ZXJTbmFwc2hvdC5zYW5pdGlzZSAtPiB7aWRNb2RlbDogLTEsIHB2OiB1bmRlZmluZWQsIHBsOiBBcnJheSgwKSwgZHY6IFwiQVwiLCBkbDogQXJyYXkoMykswqDigKZ9XG4gICAgLy8gcGFyYW1ldGVyLXNuYXBzaG90LnRzOjIwIHtuYW1lOiBcImR2XCIsIG1pbmU6IFwiQVwiLCB0aGVpcnM6IHVuZGVmaW5lZH1cbiAgICAvLyBwbGFjZS1yb3V0ZXIudHM6MjggcmVkaXJlY3QgcGF0aCAoMynCoFtcInJvdXRlLXBhcmFtZXRlcnNcIiwgXCItMVwiLCB74oCmfV1cbiAgICAvLyBjYW5EZWFjdGl2YXRlIHtcbiAgICAvLyAgICBzdGF0aWNQYXRoOiBcIi9oZXJvLXN0YXRzXCIsXG4gICAgLy8gICAgY3VycmVudFN0YXRlVXJsOiBcIi9yb3V0ZS1wYXJhbWV0ZXJzLy0xO2R2PUE7ZGw9YSxiLGM7cmR2PUE7cmRsPWEsYixjL2hlcm8tc3RhdHNcIixcbiAgICAvLyAgICBuZXh0U3RhdGVVcmw6IFwiL3JvdXRlLXBhcmFtZXRlcnMvLTE7ZHY9QTtkbD1hLGIsYztyZHY9QTtyZGw9YSxiLGNcIlxuICAgIC8vIH1cblxuXG4gICAgaWYgKHRoaXMucGxhY2VSb3V0ZXIubmF2aWdhdGlvblNlc3Npb24uYWxyZWFkeUFjY2VwdGVkKGNvbXBvbmVudCkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBUT0RPOiB0aGlzIHdpbGwgYnJlYWsgd2l0aCBjaGlsZCByb3V0ZXMuLi4gbmVlZCB0byBleGFtaW5lIHRoZSByb3V0ZXIgc3RhdGVzIHByb3Blcmx5LlxuICAgICAgaWYgKCFuZXh0U3RhdGUudXJsLnN0YXJ0c1dpdGgocGxhY2VEZWZpbml0aW9uUGF0aCkpIHtcbiAgICAgICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgICAgIGxldCBjYW5MZWF2ZSA9IGF3YWl0IGNvbXBvbmVudC5jYW5EZWFjdGl2YXRlKCk7XG4gICAgICAgIC8vIGNvbXBvbmVudCBpcyBoYXBweSB0byBsZWF2ZSBidXQgd2UgbmVlZCB0byBjaGVjayBpZiBpdCdzIGxlZnQgYW4gaW50ZXJhY3Rpb25cbiAgICAgICAgLy8gb3Blbi4gIElmIHNvIHdlIGNsb3NlIGFuZCBzdGF5IHdoZXJlIHdlIGFyZS5cbiAgICAgICAgaWYgKGNhbkxlYXZlICYmIHRoaXMuaW50ZXJhY3Rpb25Db250ZXh0LmlzQWN0aXZlKCkpIHtcbiAgICAgICAgICBjYW5MZWF2ZSA9IGZhbHNlO1xuICAgICAgICAgIGNvbnNvbGUubG9nKFwiY2FuY2VsbGluZ1wiLCB7YWN0aXZpdHk6IHRoaXMuaW50ZXJhY3Rpb25Db250ZXh0LmN1cnJlbnRBY3Rpdml0eX0pO1xuICAgICAgICAgIHRoaXMuaW50ZXJhY3Rpb25Db250ZXh0LmN1cnJlbnRBY3Rpdml0eS5jYW5jZWwobnVsbCk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gSWYgd2UncmUgc3RpbGwgbGVhdmluZyB0aGVuIHJlbWVtYmVyIGl0IHNpbmNlIGFuZ3VsYXIgd2lsbCBjYWxsIHRoaXMgbWV0aG9kIG11bHRpcGxlXG4gICAgICAgIC8vIHRpbWVzIGlmIGFueSByb3V0ZSBwYXJhbWV0ZXJzIGFyZSBjaGFuZ2VkIGFsb25nIHRoZSB3YXkuXG4gICAgICAgIGlmIChjYW5MZWF2ZSkge1xuICAgICAgICAgIHNlbGYucGxhY2VSb3V0ZXIubmF2aWdhdGlvblNlc3Npb24ucmVtZW1iZXJBY2NlcHRhbmNlT2YoY29tcG9uZW50KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBBbmd1bGFyIGRvZXNuJ3QgcHJlc2VydmUgdGhlIHVybCB3aGVuIGEgZ3VhcmQgY2FuY2VscyB0aGUgYmFjayBidXR0b24uXG4gICAgICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzEzNTg2I2lzc3VlY29tbWVudC00MzI3OTU3MjBcbiAgICAgICAgICBpZiAodGhpcy5wbGFjZVJvdXRlci5uYXZpZ2F0aW9uU2Vzc2lvbi5pc1BvcFN0YXRlKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnY2FuY2VsbGVkIGR1cmluZyBwb3BzdGF0ZScpO1xuICAgICAgICAgICAgdGhpcy5hbmd1bGFyTG9jYXRpb24uZ28odGhpcy5wbGFjZVJvdXRlci5uYXZpZ2F0aW9uU2Vzc2lvbi5pbml0aWFsVXJsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNhbkxlYXZlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==
@@ -1,74 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import { Injectable, Injector } from '@angular/core';
6
- import { lang, Logger } from '@coolon/pectin';
7
- import { PlaceComponent } from '../place-component';
8
- import { PlaceRouter } from '../place-router';
9
- import { ParameterSnapshot } from '../route/parameter-snapshot';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "../place-router";
12
- export class PlaceRouteGuard {
13
- /**
14
- * @param {?} placeRouter
15
- * @param {?} injector
16
- */
17
- constructor(placeRouter, injector) {
18
- this.placeRouter = placeRouter;
19
- this.injector = injector;
20
- }
21
- /**
22
- * @param {?} activatedRoute
23
- * @param {?} state
24
- * @return {?}
25
- */
26
- canActivate(activatedRoute, state) {
27
- if (PlaceComponent.isPlaceComponentConstructor(activatedRoute.component)) {
28
- /** @type {?} */
29
- const placeDefinition = PlaceComponent.getDefinition(activatedRoute.component);
30
- /** @type {?} */
31
- const snapshot = ParameterSnapshot.create(placeDefinition, activatedRoute.paramMap, activatedRoute.url);
32
- return snapshot.sanitise(this.injector).then((/**
33
- * @param {?} sanitised
34
- * @return {?}
35
- */
36
- sanitised => {
37
- Logger.get(this).info("ParameterSnapshot.sanitise ->", sanitised.getAllParameters());
38
- if (sanitised.hasChanged(snapshot, true)) {
39
- return this.placeRouter.getRedirectUrlTree(activatedRoute, sanitised);
40
- }
41
- else {
42
- return true;
43
- }
44
- }));
45
- }
46
- else {
47
- return lang.illegalState(`expected component to be an instance of PlaceComponent, got ${activatedRoute.component}`);
48
- }
49
- }
50
- }
51
- PlaceRouteGuard.decorators = [
52
- { type: Injectable, args: [{
53
- providedIn: 'root'
54
- },] }
55
- ];
56
- /** @nocollapse */
57
- PlaceRouteGuard.ctorParameters = () => [
58
- { type: PlaceRouter },
59
- { type: Injector }
60
- ];
61
- /** @nocollapse */ PlaceRouteGuard.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function PlaceRouteGuard_Factory() { return new PlaceRouteGuard(i0.ɵɵinject(i1.PlaceRouter), i0.ɵɵinject(i0.INJECTOR)); }, token: PlaceRouteGuard, providedIn: "root" });
62
- if (false) {
63
- /**
64
- * @type {?}
65
- * @private
66
- */
67
- PlaceRouteGuard.prototype.placeRouter;
68
- /**
69
- * @type {?}
70
- * @private
71
- */
72
- PlaceRouteGuard.prototype.injector;
73
- }
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Utcm91dGUuZ3VhcmQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2UvZ3VhcmRzL3BsYWNlLXJvdXRlLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTlDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7OztBQUtoRSxNQUFNLE9BQU8sZUFBZTs7Ozs7SUFFMUIsWUFBNkIsV0FBd0IsRUFBbUIsUUFBa0I7UUFBN0QsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBbUIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUMxRixDQUFDOzs7Ozs7SUFFRCxXQUFXLENBQUMsY0FBc0MsRUFBRSxLQUEwQjtRQUM1RSxJQUFJLGNBQWMsQ0FBQywyQkFBMkIsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLEVBQUU7O2tCQUNsRSxlQUFlLEdBQUcsY0FBYyxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDOztrQkFDeEUsUUFBUSxHQUFHLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxlQUFlLEVBQUUsY0FBYyxDQUFDLFFBQVEsRUFBRSxjQUFjLENBQUMsR0FBRyxDQUFDO1lBQ3ZHLE9BQU8sUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSTs7OztZQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUN2RCxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQywrQkFBK0IsRUFBRSxTQUFTLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO2dCQUNyRixJQUFJLFNBQVMsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxFQUFFO29CQUN4QyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsY0FBYyxFQUFFLFNBQVMsQ0FBQyxDQUFDO2lCQUN2RTtxQkFBTTtvQkFDTCxPQUFPLElBQUksQ0FBQztpQkFDYjtZQUNILENBQUMsRUFBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQywrREFBK0QsY0FBYyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7U0FDckg7SUFDSCxDQUFDOzs7WUF2QkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7O1lBTFEsV0FBVztZQUxDLFFBQVE7Ozs7Ozs7O0lBYWYsc0NBQXlDOzs7OztJQUFFLG1DQUFtQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBDYW5BY3RpdmF0ZSwgUm91dGVyU3RhdGVTbmFwc2hvdCwgVXJsVHJlZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBsYW5nLCBMb2dnZXIgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQbGFjZUNvbXBvbmVudCB9IGZyb20gJy4uL3BsYWNlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBQbGFjZVJvdXRlciB9IGZyb20gJy4uL3BsYWNlLXJvdXRlcic7XG5pbXBvcnQgeyBQYXJhbWV0ZXJTbmFwc2hvdCB9IGZyb20gJy4uL3JvdXRlL3BhcmFtZXRlci1zbmFwc2hvdCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFBsYWNlUm91dGVHdWFyZCBpbXBsZW1lbnRzIENhbkFjdGl2YXRlIHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHBsYWNlUm91dGVyOiBQbGFjZVJvdXRlciwgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgfVxuXG4gIGNhbkFjdGl2YXRlKGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCk6IE9ic2VydmFibGU8Ym9vbGVhbiB8IFVybFRyZWU+IHwgUHJvbWlzZTxib29sZWFuIHwgVXJsVHJlZT4gfCBib29sZWFuIHwgVXJsVHJlZSB7XG4gICAgaWYgKFBsYWNlQ29tcG9uZW50LmlzUGxhY2VDb21wb25lbnRDb25zdHJ1Y3RvcihhY3RpdmF0ZWRSb3V0ZS5jb21wb25lbnQpKSB7XG4gICAgICBjb25zdCBwbGFjZURlZmluaXRpb24gPSBQbGFjZUNvbXBvbmVudC5nZXREZWZpbml0aW9uKGFjdGl2YXRlZFJvdXRlLmNvbXBvbmVudCk7XG4gICAgICBjb25zdCBzbmFwc2hvdCA9IFBhcmFtZXRlclNuYXBzaG90LmNyZWF0ZShwbGFjZURlZmluaXRpb24sIGFjdGl2YXRlZFJvdXRlLnBhcmFtTWFwLCBhY3RpdmF0ZWRSb3V0ZS51cmwpO1xuICAgICAgcmV0dXJuIHNuYXBzaG90LnNhbml0aXNlKHRoaXMuaW5qZWN0b3IpLnRoZW4oc2FuaXRpc2VkID0+IHtcbiAgICAgICAgTG9nZ2VyLmdldCh0aGlzKS5pbmZvKFwiUGFyYW1ldGVyU25hcHNob3Quc2FuaXRpc2UgLT5cIiwgc2FuaXRpc2VkLmdldEFsbFBhcmFtZXRlcnMoKSk7XG4gICAgICAgIGlmIChzYW5pdGlzZWQuaGFzQ2hhbmdlZChzbmFwc2hvdCwgdHJ1ZSkpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5wbGFjZVJvdXRlci5nZXRSZWRpcmVjdFVybFRyZWUoYWN0aXZhdGVkUm91dGUsIHNhbml0aXNlZCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbGFuZy5pbGxlZ2FsU3RhdGUoYGV4cGVjdGVkIGNvbXBvbmVudCB0byBiZSBhbiBpbnN0YW5jZSBvZiBQbGFjZUNvbXBvbmVudCwgZ290ICR7YWN0aXZhdGVkUm91dGUuY29tcG9uZW50fWApO1xuICAgIH1cbiAgfVxuXG59XG4iXX0=
@@ -1,61 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import _ from 'lodash';
6
- // WARNING: interface has both a type and a value, skipping emit
7
- export var ParameterType;
8
- (function (ParameterType) {
9
- class StringType {
10
- /**
11
- * @param {?} value
12
- * @return {?}
13
- */
14
- format(value) {
15
- return value;
16
- }
17
- /**
18
- * @param {?} value
19
- * @return {?}
20
- */
21
- parse(value) {
22
- return value;
23
- }
24
- }
25
- class NumberType {
26
- /**
27
- * @param {?} value
28
- * @return {?}
29
- */
30
- format(value) {
31
- return `${value}`;
32
- }
33
- /**
34
- * @param {?} value
35
- * @return {?}
36
- */
37
- parse(value) {
38
- return _.isNil(value) || _.isEmpty(value) ? null : +value;
39
- }
40
- }
41
- class BooleanType {
42
- /**
43
- * @param {?} value
44
- * @return {?}
45
- */
46
- format(value) {
47
- return value ? 'true' : 'false';
48
- }
49
- /**
50
- * @param {?} value
51
- * @return {?}
52
- */
53
- parse(value) {
54
- return value === 'true';
55
- }
56
- }
57
- ParameterType.STRING = new StringType();
58
- ParameterType.NUMBER = new NumberType();
59
- ParameterType.BOOLEAN = new BooleanType();
60
- })(ParameterType || (ParameterType = {}));
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLXR5cGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2Uvcm91dGUvcGFyYW1ldGVyLXR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQzs7QUFRdkIsTUFBTSxLQUFXLGFBQWEsQ0FtQzdCO0FBbkNELFdBQWlCLGFBQWE7SUFFNUIsTUFBTSxVQUFVOzs7OztRQUNkLE1BQU0sQ0FBQyxLQUFhO1lBQ2xCLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQzs7Ozs7UUFFRCxLQUFLLENBQUMsS0FBYTtZQUNqQixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7S0FDRjtJQUVELE1BQU0sVUFBVTs7Ozs7UUFDZCxNQUFNLENBQUMsS0FBYTtZQUNsQixPQUFPLEdBQUcsS0FBSyxFQUFFLENBQUM7UUFDcEIsQ0FBQzs7Ozs7UUFFRCxLQUFLLENBQUMsS0FBYTtZQUNqQixPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUM1RCxDQUFDO0tBQ0Y7SUFFRCxNQUFNLFdBQVc7Ozs7O1FBQ2YsTUFBTSxDQUFDLEtBQWM7WUFDbkIsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1FBQ2xDLENBQUM7Ozs7O1FBRUQsS0FBSyxDQUFDLEtBQWE7WUFDakIsT0FBTyxLQUFLLEtBQUssTUFBTSxDQUFDO1FBQzFCLENBQUM7S0FDRjtJQUVZLG9CQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUU7SUFDekIsb0JBQU0sR0FBRyxJQUFJLFVBQVUsRUFBRTtJQUN6QixxQkFBTyxHQUFHLElBQUksV0FBVyxFQUFFO0FBQzFDLENBQUMsRUFuQ2dCLGFBQWEsS0FBYixhQUFhLFFBbUM3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFyYW1ldGVyVHlwZTxUPiB7XG4gIGZvcm1hdCh2YWx1ZTogVCk6IHN0cmluZztcblxuICBwYXJzZSh2YWx1ZTogc3RyaW5nKTogVDtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBQYXJhbWV0ZXJUeXBlIHtcblxuICBjbGFzcyBTdHJpbmdUeXBlIGltcGxlbWVudHMgUGFyYW1ldGVyVHlwZTxzdHJpbmc+IHtcbiAgICBmb3JtYXQodmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgcGFyc2UodmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgY2xhc3MgTnVtYmVyVHlwZSBpbXBsZW1lbnRzIFBhcmFtZXRlclR5cGU8bnVtYmVyPiB7XG4gICAgZm9ybWF0KHZhbHVlOiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIGAke3ZhbHVlfWA7XG4gICAgfVxuXG4gICAgcGFyc2UodmFsdWU6IHN0cmluZyk6IG51bWJlciB7XG4gICAgICByZXR1cm4gXy5pc05pbCh2YWx1ZSkgfHwgXy5pc0VtcHR5KHZhbHVlKSA/IG51bGwgOiArdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgY2xhc3MgQm9vbGVhblR5cGUgaW1wbGVtZW50cyBQYXJhbWV0ZXJUeXBlPGJvb2xlYW4+IHtcbiAgICBmb3JtYXQodmFsdWU6IGJvb2xlYW4pOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIHZhbHVlID8gJ3RydWUnIDogJ2ZhbHNlJztcbiAgICB9XG5cbiAgICBwYXJzZSh2YWx1ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gdmFsdWUgPT09ICd0cnVlJztcbiAgICB9XG4gIH1cblxuICBleHBvcnQgY29uc3QgU1RSSU5HID0gbmV3IFN0cmluZ1R5cGUoKTtcbiAgZXhwb3J0IGNvbnN0IE5VTUJFUiA9IG5ldyBOdW1iZXJUeXBlKCk7XG4gIGV4cG9ydCBjb25zdCBCT09MRUFOID0gbmV3IEJvb2xlYW5UeXBlKCk7XG59XG4iXX0=