@coolon/angular-ui-powerups 0.0.43 → 0.0.46
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/bundles/coolon-angular-ui-powerups.umd.js +1499 -1188
- package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
- package/bundles/coolon-angular-ui-powerups.umd.min.js +1 -1
- package/bundles/coolon-angular-ui-powerups.umd.min.js.map +1 -1
- package/coolon-angular-ui-powerups.d.ts +16 -15
- package/coolon-angular-ui-powerups.metadata.json +1 -1
- package/esm2015/coolon-angular-ui-powerups.js +16 -15
- package/esm2015/index.js +2 -2
- package/esm2015/lib/components/disposable-component.js +1 -1
- package/esm2015/lib/components/forms/number-input/number-input.component.js +1 -1
- package/esm2015/lib/components/forms/password-input/password-input.component.js +1 -1
- package/esm2015/lib/components/forms/string-input/string-input.component.js +1 -1
- package/esm2015/lib/components/resize-aware.component.js +1 -1
- package/esm2015/lib/components/types/bounds.class.js +1 -1
- package/esm2015/lib/components/types/dimension.class.js +1 -1
- package/esm2015/lib/components/types/point.class.js +1 -1
- package/esm2015/lib/directives/command.directive.js +1 -1
- package/esm2015/lib/directives/focus-binding.directive.js +2 -2
- package/esm2015/lib/interaction/alert.js +1 -1
- package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +2 -2
- package/esm2015/lib/interaction/components/activity-outlet/activity-outlet.component.js +6 -1
- package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +2 -2
- package/esm2015/lib/interaction/confirm.js +1 -1
- package/esm2015/lib/interaction/interaction.module.js +2 -2
- package/esm2015/lib/interaction/result.js +1 -1
- package/esm2015/lib/interaction/services/dialog-interaction.service.js +2 -2
- package/esm2015/lib/place/components/abstract-place-navigation.component.js +3 -2
- package/esm2015/lib/place/components/place-outlet/place-outlet.component.js +135 -84
- package/esm2015/lib/place/components/place-outlet/route-animations.js +2 -2
- package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +1 -1
- package/esm2015/lib/place/guards/leave-place.guard.js +12 -10
- package/esm2015/lib/place/guards/place-route.guard.js +40 -33
- package/esm2015/lib/place/index.js +5 -6
- package/esm2015/lib/place/nav-item.js +1 -1
- package/esm2015/lib/place/place-component.js +39 -169
- package/esm2015/lib/place/place-definition.js +79 -0
- package/esm2015/lib/place/place-history.js +77 -0
- package/esm2015/lib/place/place-router.js +98 -0
- package/esm2015/lib/place/place.decorator.js +30 -3
- package/esm2015/lib/place/place.module.js +2 -5
- package/esm2015/lib/place/route/json-types.js +1 -1
- package/esm2015/lib/place/route/parameter-decorators.js +7 -60
- package/esm2015/lib/place/route/parameter-definition.class.js +187 -9
- package/esm2015/lib/place/route/parameter-sanitiser.js +4 -17
- package/esm2015/lib/place/route/parameter-snapshot.js +228 -72
- package/esm2015/lib/place/route/parameter-type.js +2 -2
- package/esm2015/lib/place/route/route-parameter-sanitiser.js +7 -21
- package/esm2015/lib/place/visit.js +3 -3
- package/esm2015/public_api.js +2 -2
- package/esm5/coolon-angular-ui-powerups.js +16 -15
- package/esm5/index.js +2 -2
- package/esm5/lib/components/disposable-component.js +1 -1
- package/esm5/lib/components/forms/number-input/number-input.component.js +1 -1
- package/esm5/lib/components/forms/password-input/password-input.component.js +1 -1
- package/esm5/lib/components/forms/string-input/string-input.component.js +1 -1
- package/esm5/lib/components/resize-aware.component.js +1 -1
- package/esm5/lib/components/types/bounds.class.js +1 -1
- package/esm5/lib/components/types/dimension.class.js +1 -1
- package/esm5/lib/components/types/point.class.js +1 -1
- package/esm5/lib/directives/command.directive.js +1 -1
- package/esm5/lib/directives/focus-binding.directive.js +2 -2
- package/esm5/lib/interaction/alert.js +1 -1
- package/esm5/lib/interaction/components/activity-container/activity-container.component.js +2 -2
- package/esm5/lib/interaction/components/activity-outlet/activity-outlet.component.js +6 -1
- package/esm5/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +2 -2
- package/esm5/lib/interaction/confirm.js +1 -1
- package/esm5/lib/interaction/interaction.module.js +2 -2
- package/esm5/lib/interaction/result.js +1 -1
- package/esm5/lib/interaction/services/dialog-interaction.service.js +2 -2
- package/esm5/lib/place/components/abstract-place-navigation.component.js +3 -2
- package/esm5/lib/place/components/place-outlet/place-outlet.component.js +153 -113
- package/esm5/lib/place/components/place-outlet/route-animations.js +2 -2
- package/esm5/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +1 -1
- package/esm5/lib/place/guards/leave-place.guard.js +12 -10
- package/esm5/lib/place/guards/place-route.guard.js +40 -32
- package/esm5/lib/place/index.js +5 -6
- package/esm5/lib/place/nav-item.js +1 -1
- package/esm5/lib/place/place-component.js +53 -199
- package/esm5/lib/place/place-definition.js +88 -0
- package/esm5/lib/place/place-history.js +90 -0
- package/esm5/lib/place/place-router.js +118 -0
- package/esm5/lib/place/place.decorator.js +30 -3
- package/esm5/lib/place/place.module.js +2 -5
- package/esm5/lib/place/route/json-types.js +1 -1
- package/esm5/lib/place/route/parameter-decorators.js +7 -60
- package/esm5/lib/place/route/parameter-definition.class.js +227 -9
- package/esm5/lib/place/route/parameter-sanitiser.js +4 -17
- package/esm5/lib/place/route/parameter-snapshot.js +295 -80
- package/esm5/lib/place/route/parameter-type.js +2 -2
- package/esm5/lib/place/route/route-parameter-sanitiser.js +7 -20
- package/esm5/lib/place/visit.js +3 -3
- package/esm5/public_api.js +2 -2
- package/fesm2015/coolon-angular-ui-powerups.js +1144 -904
- package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
- package/fesm5/coolon-angular-ui-powerups.js +1462 -1154
- package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
- package/index.d.ts +1 -1
- package/lib/interaction/components/activity-outlet/activity-outlet.component.d.ts +7 -0
- package/lib/place/components/abstract-place-navigation.component.d.ts +3 -2
- package/lib/place/components/place-outlet/place-outlet.component.d.ts +30 -19
- package/lib/place/guards/place-route.guard.d.ts +7 -6
- package/lib/place/index.d.ts +3 -4
- package/lib/place/place-component.d.ts +13 -41
- package/lib/place/place-definition.d.ts +20 -0
- package/lib/place/place-history.d.ts +13 -0
- package/lib/place/place-router.d.ts +10 -0
- package/lib/place/place.decorator.d.ts +13 -1
- package/lib/place/route/parameter-decorators.d.ts +0 -4
- package/lib/place/route/parameter-definition.class.d.ts +39 -6
- package/lib/place/route/parameter-sanitiser.d.ts +3 -8
- package/lib/place/route/parameter-snapshot.d.ts +15 -12
- package/lib/place/route/route-parameter-sanitiser.d.ts +1 -3
- package/lib/place/visit.d.ts +4 -4
- package/package.json +1 -1
- package/schematics/place-routes/index.js.map +1 -1
- package/schematics/place-routes/place-def.js +1 -1
- package/schematics/place-routes/place-def.js.map +1 -1
- package/schematics/place-routes/templates/place-destinations.ts.template +21 -0
- package/schematics/place-routes/templates/{places.ts.template → place-routes.ts.template} +1 -13
- package/esm2015/lib/place/place-component-like.js +0 -17
- package/esm2015/lib/place/place-updates-service.js +0 -16
- package/esm2015/lib/place/place.service.js +0 -102
- package/esm2015/lib/place/route/default-parameter-sanitiser.js +0 -78
- package/esm5/lib/place/place-component-like.js +0 -17
- package/esm5/lib/place/place-updates-service.js +0 -16
- package/esm5/lib/place/place.service.js +0 -136
- package/esm5/lib/place/route/default-parameter-sanitiser.js +0 -85
- package/lib/place/place-component-like.d.ts +0 -5
- package/lib/place/place-updates-service.d.ts +0 -10
- package/lib/place/place.service.d.ts +0 -22
- package/lib/place/route/default-parameter-sanitiser.d.ts +0 -13
|
@@ -16,7 +16,6 @@ import { EmptyStateComponent } from './components/empty-state/empty-state.compon
|
|
|
16
16
|
import { ListPlaceNavComponent } from './components/list-place-nav/list-place-nav.component';
|
|
17
17
|
import { PlaceOutletComponent } from './components/place-outlet/place-outlet.component';
|
|
18
18
|
import { TabbedPlaceNavigationComponent } from './components/tabbed-place-navigation/tabbed-place-navigation.component';
|
|
19
|
-
import { PlaceService } from './place.service';
|
|
20
19
|
export class PlaceModule {
|
|
21
20
|
}
|
|
22
21
|
PlaceModule.decorators = [
|
|
@@ -46,9 +45,7 @@ PlaceModule.decorators = [
|
|
|
46
45
|
TabbedPlaceNavigationComponent,
|
|
47
46
|
ListPlaceNavComponent
|
|
48
47
|
],
|
|
49
|
-
providers: [
|
|
50
|
-
PlaceService
|
|
51
|
-
]
|
|
48
|
+
providers: []
|
|
52
49
|
},] }
|
|
53
50
|
];
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL3BsYWNlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHdFQUF3RSxDQUFDO0FBOEJ4SCxNQUFNLE9BQU8sV0FBVzs7O1lBNUJ2QixRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osdUJBQXVCO29CQUN2Qix3QkFBd0I7b0JBQ3hCLFlBQVk7b0JBQ1osYUFBYTtvQkFDYixhQUFhO29CQUNiLGdCQUFnQjtvQkFDaEIsYUFBYTtpQkFDZDtnQkFDRCxZQUFZLEVBQUU7b0JBQ1osbUJBQW1CO29CQUNuQixvQkFBb0I7b0JBQ3BCLG9CQUFvQjtvQkFDcEIsOEJBQThCO29CQUM5QixxQkFBcUI7aUJBQ3RCO2dCQUNELGVBQWUsRUFBRSxDQUFDLG9CQUFvQixDQUFDO2dCQUN2QyxPQUFPLEVBQUU7b0JBQ1Asb0JBQW9CO29CQUNwQixvQkFBb0I7b0JBQ3BCLG1CQUFtQjtvQkFDbkIsOEJBQThCO29CQUM5QixxQkFBcUI7aUJBQ3RCO2dCQUNELFNBQVMsRUFBRSxFQUFFO2FBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcbmltcG9ydCB7IE1hdFRhYnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJzJztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB7IEJyb3dzZXJBbmltYXRpb25zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci9hbmltYXRpb25zJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBCdXN5T3ZlcmxheUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9idXN5LW92ZXJsYXkvYnVzeS1vdmVybGF5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFbXB0eVN0YXRlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2VtcHR5LXN0YXRlL2VtcHR5LXN0YXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMaXN0UGxhY2VOYXZDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbGlzdC1wbGFjZS1uYXYvbGlzdC1wbGFjZS1uYXYuY29tcG9uZW50JztcbmltcG9ydCB7IFBsYWNlT3V0bGV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BsYWNlLW91dGxldC9wbGFjZS1vdXRsZXQuY29tcG9uZW50JztcbmltcG9ydCB7IFRhYmJlZFBsYWNlTmF2aWdhdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90YWJiZWQtcGxhY2UtbmF2aWdhdGlvbi90YWJiZWQtcGxhY2UtbmF2aWdhdGlvbi5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEJyb3dzZXJBbmltYXRpb25zTW9kdWxlLFxuICAgIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGUsXG4gICAgTWF0VGFic01vZHVsZSxcbiAgICBNYXRMaXN0TW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBFbXB0eVN0YXRlQ29tcG9uZW50LFxuICAgIEJ1c3lPdmVybGF5Q29tcG9uZW50LFxuICAgIFBsYWNlT3V0bGV0Q29tcG9uZW50LFxuICAgIFRhYmJlZFBsYWNlTmF2aWdhdGlvbkNvbXBvbmVudCxcbiAgICBMaXN0UGxhY2VOYXZDb21wb25lbnRcbiAgXSxcbiAgZW50cnlDb21wb25lbnRzOiBbQnVzeU92ZXJsYXlDb21wb25lbnRdLFxuICBleHBvcnRzOiBbXG4gICAgQnVzeU92ZXJsYXlDb21wb25lbnQsXG4gICAgUGxhY2VPdXRsZXRDb21wb25lbnQsXG4gICAgRW1wdHlTdGF0ZUNvbXBvbmVudCxcbiAgICBUYWJiZWRQbGFjZU5hdmlnYXRpb25Db21wb25lbnQsXG4gICAgTGlzdFBsYWNlTmF2Q29tcG9uZW50XG4gIF0sXG4gIHByb3ZpZGVyczogW11cbn0pXG5leHBvcnQgY2xhc3MgUGxhY2VNb2R1bGUge1xuXG59XG4iXX0=
|
|
@@ -10,4 +10,4 @@ export function JsonArray() { }
|
|
|
10
10
|
* @record
|
|
11
11
|
*/
|
|
12
12
|
export function JsonMap() { }
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi10eXBlcy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9wbGFjZS9yb3V0ZS9qc29uLXR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFHQSwrQkFDQzs7OztBQUVELDZCQUVDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgSnNvblByaW1pdGl2ZSA9IGJvb2xlYW4gfCBudW1iZXIgfCBzdHJpbmc7XG5leHBvcnQgdHlwZSBBbnlKc29uID0gSnNvblByaW1pdGl2ZSB8IG51bGwgfCBKc29uQXJyYXkgfCBKc29uTWFwO1xuXG5leHBvcnQgaW50ZXJmYWNlIEpzb25BcnJheSBleHRlbmRzIEFycmF5PEFueUpzb24+IHtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBKc29uTWFwIHtcbiAgW2tleTogc3RyaW5nXTogQW55SnNvbjtcbn1cblxuIl19
|
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
3
|
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
|
-
import {
|
|
6
|
-
import { Klass
|
|
5
|
+
import { UseDelegate } from '@coolon/pectin';
|
|
6
|
+
import { Klass } from '@coolon/typescript-utilities';
|
|
7
7
|
import { ROUTE_PARAMETER_LIST_KEY } from '../place-component';
|
|
8
|
+
import { ParameterDefinition } from './parameter-definition.class';
|
|
8
9
|
/**
|
|
9
10
|
* @record
|
|
10
11
|
* @template T
|
|
@@ -19,8 +20,6 @@ if (false) {
|
|
|
19
20
|
ParameterOptions.prototype.remember;
|
|
20
21
|
/** @type {?|undefined} */
|
|
21
22
|
ParameterOptions.prototype.defaultValue;
|
|
22
|
-
/** @type {?|undefined} */
|
|
23
|
-
ParameterOptions.prototype.sanitiser;
|
|
24
23
|
}
|
|
25
24
|
/**
|
|
26
25
|
* @record
|
|
@@ -36,8 +35,6 @@ if (false) {
|
|
|
36
35
|
ListParameterOptions.prototype.remember;
|
|
37
36
|
/** @type {?|undefined} */
|
|
38
37
|
ListParameterOptions.prototype.defaultValue;
|
|
39
|
-
/** @type {?|undefined} */
|
|
40
|
-
ListParameterOptions.prototype.sanitiser;
|
|
41
38
|
}
|
|
42
39
|
/**
|
|
43
40
|
* @template T
|
|
@@ -46,7 +43,6 @@ if (false) {
|
|
|
46
43
|
* @return {?}
|
|
47
44
|
*/
|
|
48
45
|
export function RouteId(type, options) {
|
|
49
|
-
// assert.isTruthy(type.isValid());
|
|
50
46
|
return (/**
|
|
51
47
|
* @param {?} prototype
|
|
52
48
|
* @param {?} propertyKey
|
|
@@ -54,7 +50,7 @@ export function RouteId(type, options) {
|
|
|
54
50
|
*/
|
|
55
51
|
(prototype, propertyKey) => {
|
|
56
52
|
/** @type {?} */
|
|
57
|
-
const param =
|
|
53
|
+
const param = new ParameterDefinition.RouteId(propertyKey.toString(), type, options);
|
|
58
54
|
Klass.get(prototype).addToOwnMetadataList(ROUTE_PARAMETER_LIST_KEY, param);
|
|
59
55
|
UseDelegate()(prototype, propertyKey);
|
|
60
56
|
});
|
|
@@ -66,7 +62,6 @@ export function RouteId(type, options) {
|
|
|
66
62
|
* @return {?}
|
|
67
63
|
*/
|
|
68
64
|
export function RouteParameter(type, options) {
|
|
69
|
-
// assert.isTruthy(type.isValid());
|
|
70
65
|
return (/**
|
|
71
66
|
* @param {?} prototype
|
|
72
67
|
* @param {?} propertyKey
|
|
@@ -74,7 +69,7 @@ export function RouteParameter(type, options) {
|
|
|
74
69
|
*/
|
|
75
70
|
(prototype, propertyKey) => {
|
|
76
71
|
/** @type {?} */
|
|
77
|
-
const param =
|
|
72
|
+
const param = new ParameterDefinition.ValueParameter(propertyKey.toString(), type, options);
|
|
78
73
|
Klass.get(prototype).addToOwnMetadataList(ROUTE_PARAMETER_LIST_KEY, param);
|
|
79
74
|
UseDelegate()(prototype, propertyKey);
|
|
80
75
|
});
|
|
@@ -86,7 +81,6 @@ export function RouteParameter(type, options) {
|
|
|
86
81
|
* @return {?}
|
|
87
82
|
*/
|
|
88
83
|
export function RouteParameterList(elementType, options) {
|
|
89
|
-
// assert.isTruthy(type.isValid());
|
|
90
84
|
return (/**
|
|
91
85
|
* @param {?} prototype
|
|
92
86
|
* @param {?} propertyKey
|
|
@@ -94,56 +88,9 @@ export function RouteParameterList(elementType, options) {
|
|
|
94
88
|
*/
|
|
95
89
|
(prototype, propertyKey) => {
|
|
96
90
|
/** @type {?} */
|
|
97
|
-
const param =
|
|
91
|
+
const param = new ParameterDefinition.ArrayParameter(propertyKey.toString(), elementType, options);
|
|
98
92
|
Klass.get(prototype).addToOwnMetadataList(ROUTE_PARAMETER_LIST_KEY, param);
|
|
99
93
|
UseDelegate()(prototype, propertyKey);
|
|
100
94
|
});
|
|
101
95
|
}
|
|
102
|
-
|
|
103
|
-
* @template T
|
|
104
|
-
* @param {?} propertyName
|
|
105
|
-
* @param {?} type
|
|
106
|
-
* @param {?} options
|
|
107
|
-
* @param {?} routeId
|
|
108
|
-
* @return {?}
|
|
109
|
-
*/
|
|
110
|
-
function createDefinition(propertyName, type, options, routeId) {
|
|
111
|
-
/** @type {?} */
|
|
112
|
-
const opts = Opts.get(options);
|
|
113
|
-
/** @type {?} */
|
|
114
|
-
const propertyNameAsString = assert.notNil(propertyName).toString();
|
|
115
|
-
/** @type {?} */
|
|
116
|
-
const def = {
|
|
117
|
-
name: opts.getOptional('as', propertyNameAsString),
|
|
118
|
-
propertyName: propertyNameAsString,
|
|
119
|
-
type: assert.notNil(type),
|
|
120
|
-
sanitiser: opts.getOptional('sanitiser', null),
|
|
121
|
-
isRouteId: routeId,
|
|
122
|
-
isArray: false
|
|
123
|
-
};
|
|
124
|
-
return def;
|
|
125
|
-
}
|
|
126
|
-
/**
|
|
127
|
-
* @template T
|
|
128
|
-
* @param {?} propertyName
|
|
129
|
-
* @param {?} type
|
|
130
|
-
* @param {?} options
|
|
131
|
-
* @return {?}
|
|
132
|
-
*/
|
|
133
|
-
function createArrayDefinition(propertyName, type, options) {
|
|
134
|
-
/** @type {?} */
|
|
135
|
-
const opts = Opts.get(options);
|
|
136
|
-
/** @type {?} */
|
|
137
|
-
const propertyNameAsString = assert.notNil(propertyName).toString();
|
|
138
|
-
/** @type {?} */
|
|
139
|
-
const def = {
|
|
140
|
-
name: opts.getOptional('as', propertyNameAsString),
|
|
141
|
-
propertyName: propertyNameAsString,
|
|
142
|
-
type: assert.notNil(type),
|
|
143
|
-
sanitiser: opts.getOptional('sanitiser', null),
|
|
144
|
-
isRouteId: false,
|
|
145
|
-
isArray: true
|
|
146
|
-
};
|
|
147
|
-
return def;
|
|
148
|
-
}
|
|
149
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLWRlY29yYXRvcnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2Uvcm91dGUvcGFyYW1ldGVyLWRlY29yYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQWlCLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7O0FBSzlELHNDQU1DOzs7SUFMQyw4QkFBWTs7SUFDWixvQ0FBbUI7O0lBQ25CLG9DQUFtQjs7SUFDbkIsd0NBQWlCOztJQUNqQixxQ0FBaUY7Ozs7OztBQUduRiwwQ0FNQzs7O0lBTEMsa0NBQVk7O0lBQ1osd0NBQW1COztJQUNuQix3Q0FBbUI7O0lBQ25CLDRDQUFtQjs7SUFDbkIseUNBQXFGOzs7Ozs7OztBQUd2RixNQUFNLFVBQVUsT0FBTyxDQUE0QixJQUFzQixFQUFFLE9BQTZCO0lBQ3RHLG1DQUFtQztJQUNuQzs7Ozs7SUFBTyxDQUFDLFNBQWlCLEVBQUUsV0FBNEIsRUFBRSxFQUFFOztjQUNuRCxLQUFLLEdBQUcsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDO1FBQ2hFLEtBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsb0JBQW9CLENBQUMsd0JBQXdCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDM0UsV0FBVyxFQUFFLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3hDLENBQUMsRUFBQztBQUNKLENBQUM7Ozs7Ozs7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFJLElBQXNCLEVBQUUsT0FBNkI7SUFDckYsbUNBQW1DO0lBQ25DOzs7OztJQUFPLENBQUMsU0FBaUIsRUFBRSxXQUE0QixFQUFFLEVBQUU7O2NBQ25ELEtBQUssR0FBRyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUM7UUFDakUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyx3QkFBd0IsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMzRSxXQUFXLEVBQUUsQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDeEMsQ0FBQyxFQUFDO0FBQ0osQ0FBQzs7Ozs7OztBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FBSSxXQUE2QixFQUFFLE9BQWlDO0lBQ3BHLG1DQUFtQztJQUNuQzs7Ozs7SUFBTyxDQUFDLFNBQWlCLEVBQUUsV0FBNEIsRUFBRSxFQUFFOztjQUNuRCxLQUFLLEdBQUcscUJBQXFCLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxPQUFPLENBQUM7UUFDdEUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyx3QkFBd0IsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMzRSxXQUFXLEVBQUUsQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDeEMsQ0FBQyxFQUFDO0FBQ0osQ0FBQzs7Ozs7Ozs7O0FBRUQsU0FBUyxnQkFBZ0IsQ0FBSSxZQUE2QixFQUFFLElBQXNCLEVBQUUsT0FBNEIsRUFBRSxPQUFnQjs7VUFDMUgsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDOztVQUN4QixvQkFBb0IsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLFFBQVEsRUFBRTs7VUFDN0QsR0FBRyxHQUE4QjtRQUNyQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsb0JBQW9CLENBQUM7UUFDbEQsWUFBWSxFQUFFLG9CQUFvQjtRQUNsQyxJQUFJLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDekIsU0FBUyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQztRQUM5QyxTQUFTLEVBQUUsT0FBTztRQUNsQixPQUFPLEVBQUUsS0FBSztLQUNmO0lBQ0QsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDOzs7Ozs7OztBQUVELFNBQVMscUJBQXFCLENBQUksWUFBNkIsRUFBRSxJQUFzQixFQUFFLE9BQWdDOztVQUNqSCxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUM7O1VBQ3hCLG9CQUFvQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsUUFBUSxFQUFFOztVQUU3RCxHQUFHLEdBQWdDO1FBQ3ZDLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxvQkFBb0IsQ0FBQztRQUNsRCxZQUFZLEVBQUUsb0JBQW9CO1FBQ2xDLElBQUksRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztRQUN6QixTQUFTLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDO1FBQzlDLFNBQVMsRUFBRSxLQUFLO1FBQ2hCLE9BQU8sRUFBRSxJQUFJO0tBQ2Q7SUFDRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhc3NlcnQsIENvbnN0cnVjdGFibGUsIFVzZURlbGVnYXRlIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgS2xhc3MsIE9wdHMgfSBmcm9tICdAY29vbG9uL3R5cGVzY3JpcHQtdXRpbGl0aWVzJztcbmltcG9ydCB7IFJPVVRFX1BBUkFNRVRFUl9MSVNUX0tFWSB9IGZyb20gJy4uL3BsYWNlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBQYXJhbWV0ZXJEZWZpbml0aW9uIH0gZnJvbSAnLi9wYXJhbWV0ZXItZGVmaW5pdGlvbi5jbGFzcyc7XG5pbXBvcnQgeyBQYXJhbWV0ZXJTYW5pdGlzZXIgfSBmcm9tICcuL3BhcmFtZXRlci1zYW5pdGlzZXInO1xuaW1wb3J0IHsgUGFyYW1ldGVyVHlwZSB9IGZyb20gJy4vcGFyYW1ldGVyLXR5cGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBhcmFtZXRlck9wdGlvbnM8VD4ge1xuICBhcz86IHN0cmluZztcbiAgb3B0aW9uYWw/OiBib29sZWFuO1xuICByZW1lbWJlcj86IGJvb2xlYW47XG4gIGRlZmF1bHRWYWx1ZT86IFQ7XG4gIHNhbml0aXNlcj86IENvbnN0cnVjdGFibGU8UGFyYW1ldGVyU2FuaXRpc2VyPFQ+PiB8IFBhcmFtZXRlclNhbml0aXNlci5PcHRpb25zPFQ+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RQYXJhbWV0ZXJPcHRpb25zPFQ+IHtcbiAgYXM/OiBzdHJpbmc7XG4gIG9wdGlvbmFsPzogYm9vbGVhbjtcbiAgcmVtZW1iZXI/OiBib29sZWFuO1xuICBkZWZhdWx0VmFsdWU/OiBUW107XG4gIHNhbml0aXNlcj86IENvbnN0cnVjdGFibGU8UGFyYW1ldGVyU2FuaXRpc2VyPFRbXT4+IHwgUGFyYW1ldGVyU2FuaXRpc2VyLk9wdGlvbnM8VFtdPjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFJvdXRlSWQ8VCBleHRlbmRzIHN0cmluZyB8IG51bWJlcj4odHlwZTogUGFyYW1ldGVyVHlwZTxUPiwgb3B0aW9ucz86IFBhcmFtZXRlck9wdGlvbnM8VD4pOiBQcm9wZXJ0eURlY29yYXRvciB7XG4gIC8vIGFzc2VydC5pc1RydXRoeSh0eXBlLmlzVmFsaWQoKSk7XG4gIHJldHVybiAocHJvdG90eXBlOiBPYmplY3QsIHByb3BlcnR5S2V5OiBzdHJpbmcgfCBzeW1ib2wpID0+IHtcbiAgICBjb25zdCBwYXJhbSA9IGNyZWF0ZURlZmluaXRpb24ocHJvcGVydHlLZXksIHR5cGUsIG9wdGlvbnMsIHRydWUpO1xuICAgIEtsYXNzLmdldChwcm90b3R5cGUpLmFkZFRvT3duTWV0YWRhdGFMaXN0KFJPVVRFX1BBUkFNRVRFUl9MSVNUX0tFWSwgcGFyYW0pO1xuICAgIFVzZURlbGVnYXRlKCkocHJvdG90eXBlLCBwcm9wZXJ0eUtleSk7XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBSb3V0ZVBhcmFtZXRlcjxUPih0eXBlOiBQYXJhbWV0ZXJUeXBlPFQ+LCBvcHRpb25zPzogUGFyYW1ldGVyT3B0aW9uczxUPik6IFByb3BlcnR5RGVjb3JhdG9yIHtcbiAgLy8gYXNzZXJ0LmlzVHJ1dGh5KHR5cGUuaXNWYWxpZCgpKTtcbiAgcmV0dXJuIChwcm90b3R5cGU6IE9iamVjdCwgcHJvcGVydHlLZXk6IHN0cmluZyB8IHN5bWJvbCkgPT4ge1xuICAgIGNvbnN0IHBhcmFtID0gY3JlYXRlRGVmaW5pdGlvbihwcm9wZXJ0eUtleSwgdHlwZSwgb3B0aW9ucywgZmFsc2UpO1xuICAgIEtsYXNzLmdldChwcm90b3R5cGUpLmFkZFRvT3duTWV0YWRhdGFMaXN0KFJPVVRFX1BBUkFNRVRFUl9MSVNUX0tFWSwgcGFyYW0pO1xuICAgIFVzZURlbGVnYXRlKCkocHJvdG90eXBlLCBwcm9wZXJ0eUtleSk7XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBSb3V0ZVBhcmFtZXRlckxpc3Q8RT4oZWxlbWVudFR5cGU6IFBhcmFtZXRlclR5cGU8RT4sIG9wdGlvbnM/OiBMaXN0UGFyYW1ldGVyT3B0aW9uczxFPik6IFByb3BlcnR5RGVjb3JhdG9yIHtcbiAgLy8gYXNzZXJ0LmlzVHJ1dGh5KHR5cGUuaXNWYWxpZCgpKTtcbiAgcmV0dXJuIChwcm90b3R5cGU6IE9iamVjdCwgcHJvcGVydHlLZXk6IHN0cmluZyB8IHN5bWJvbCkgPT4ge1xuICAgIGNvbnN0IHBhcmFtID0gY3JlYXRlQXJyYXlEZWZpbml0aW9uKHByb3BlcnR5S2V5LCBlbGVtZW50VHlwZSwgb3B0aW9ucyk7XG4gICAgS2xhc3MuZ2V0KHByb3RvdHlwZSkuYWRkVG9Pd25NZXRhZGF0YUxpc3QoUk9VVEVfUEFSQU1FVEVSX0xJU1RfS0VZLCBwYXJhbSk7XG4gICAgVXNlRGVsZWdhdGUoKShwcm90b3R5cGUsIHByb3BlcnR5S2V5KTtcbiAgfTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlRGVmaW5pdGlvbjxUPihwcm9wZXJ0eU5hbWU6IHN5bWJvbCB8IHN0cmluZywgdHlwZTogUGFyYW1ldGVyVHlwZTxUPiwgb3B0aW9uczogUGFyYW1ldGVyT3B0aW9uczxUPiwgcm91dGVJZDogYm9vbGVhbikge1xuICBjb25zdCBvcHRzID0gT3B0cy5nZXQob3B0aW9ucyk7XG4gIGNvbnN0IHByb3BlcnR5TmFtZUFzU3RyaW5nID0gYXNzZXJ0Lm5vdE5pbChwcm9wZXJ0eU5hbWUpLnRvU3RyaW5nKCk7XG4gIGNvbnN0IGRlZjogUGFyYW1ldGVyRGVmaW5pdGlvbjxULCBUPiA9IHtcbiAgICBuYW1lOiBvcHRzLmdldE9wdGlvbmFsKCdhcycsIHByb3BlcnR5TmFtZUFzU3RyaW5nKSxcbiAgICBwcm9wZXJ0eU5hbWU6IHByb3BlcnR5TmFtZUFzU3RyaW5nLFxuICAgIHR5cGU6IGFzc2VydC5ub3ROaWwodHlwZSksXG4gICAgc2FuaXRpc2VyOiBvcHRzLmdldE9wdGlvbmFsKCdzYW5pdGlzZXInLCBudWxsKSxcbiAgICBpc1JvdXRlSWQ6IHJvdXRlSWQsXG4gICAgaXNBcnJheTogZmFsc2VcbiAgfTtcbiAgcmV0dXJuIGRlZjtcbn1cblxuZnVuY3Rpb24gY3JlYXRlQXJyYXlEZWZpbml0aW9uPFQ+KHByb3BlcnR5TmFtZTogc3ltYm9sIHwgc3RyaW5nLCB0eXBlOiBQYXJhbWV0ZXJUeXBlPFQ+LCBvcHRpb25zOiBMaXN0UGFyYW1ldGVyT3B0aW9uczxUPikge1xuICBjb25zdCBvcHRzID0gT3B0cy5nZXQob3B0aW9ucyk7XG4gIGNvbnN0IHByb3BlcnR5TmFtZUFzU3RyaW5nID0gYXNzZXJ0Lm5vdE5pbChwcm9wZXJ0eU5hbWUpLnRvU3RyaW5nKCk7XG5cbiAgY29uc3QgZGVmOiBQYXJhbWV0ZXJEZWZpbml0aW9uPFQsIFRbXT4gPSB7XG4gICAgbmFtZTogb3B0cy5nZXRPcHRpb25hbCgnYXMnLCBwcm9wZXJ0eU5hbWVBc1N0cmluZyksXG4gICAgcHJvcGVydHlOYW1lOiBwcm9wZXJ0eU5hbWVBc1N0cmluZyxcbiAgICB0eXBlOiBhc3NlcnQubm90TmlsKHR5cGUpLFxuICAgIHNhbml0aXNlcjogb3B0cy5nZXRPcHRpb25hbCgnc2FuaXRpc2VyJywgbnVsbCksXG4gICAgaXNSb3V0ZUlkOiBmYWxzZSxcbiAgICBpc0FycmF5OiB0cnVlXG4gIH07XG4gIHJldHVybiBkZWY7XG59XG4iXX0=
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLWRlY29yYXRvcnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2Uvcm91dGUvcGFyYW1ldGVyLWRlY29yYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBVSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsS0FBSyxFQUFRLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7O0FBR25FLHNDQU1DOzs7SUFMQyw4QkFBWTs7SUFDWixvQ0FBbUI7O0lBQ25CLG9DQUFtQjs7SUFDbkIsd0NBQWlCOzs7Ozs7QUFJbkIsMENBTUM7OztJQUxDLGtDQUFZOztJQUNaLHdDQUFtQjs7SUFDbkIsd0NBQW1COztJQUNuQiw0Q0FBbUI7Ozs7Ozs7O0FBSXJCLE1BQU0sVUFBVSxPQUFPLENBQTRCLElBQXNCLEVBQUUsT0FBNkI7SUFDdEc7Ozs7O0lBQU8sQ0FBQyxTQUFpQixFQUFFLFdBQTRCLEVBQUUsRUFBRTs7Y0FDbkQsS0FBSyxHQUFHLElBQUksbUJBQW1CLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDO1FBQ3BGLEtBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsb0JBQW9CLENBQUMsd0JBQXdCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDM0UsV0FBVyxFQUFFLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3hDLENBQUMsRUFBQztBQUNKLENBQUM7Ozs7Ozs7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFJLElBQXNCLEVBQUUsT0FBNkI7SUFDckY7Ozs7O0lBQU8sQ0FBQyxTQUFpQixFQUFFLFdBQTRCLEVBQUUsRUFBRTs7Y0FDbkQsS0FBSyxHQUFHLElBQUksbUJBQW1CLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDO1FBQzNGLEtBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsb0JBQW9CLENBQUMsd0JBQXdCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDM0UsV0FBVyxFQUFFLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3hDLENBQUMsRUFBQztBQUNKLENBQUM7Ozs7Ozs7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQUksV0FBNkIsRUFBRSxPQUFpQztJQUNwRzs7Ozs7SUFBTyxDQUFDLFNBQWlCLEVBQUUsV0FBNEIsRUFBRSxFQUFFOztjQUNuRCxLQUFLLEdBQUcsSUFBSSxtQkFBbUIsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxFQUFFLFdBQVcsRUFBRSxPQUFPLENBQUM7UUFDbEcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyx3QkFBd0IsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMzRSxXQUFXLEVBQUUsQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDeEMsQ0FBQyxFQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFzc2VydCwgVXNlRGVsZWdhdGUgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBLbGFzcywgT3B0cyB9IGZyb20gJ0Bjb29sb24vdHlwZXNjcmlwdC11dGlsaXRpZXMnO1xuaW1wb3J0IHsgUk9VVEVfUEFSQU1FVEVSX0xJU1RfS0VZIH0gZnJvbSAnLi4vcGxhY2UtY29tcG9uZW50JztcbmltcG9ydCB7IFBhcmFtZXRlckRlZmluaXRpb24gfSBmcm9tICcuL3BhcmFtZXRlci1kZWZpbml0aW9uLmNsYXNzJztcbmltcG9ydCB7IFBhcmFtZXRlclR5cGUgfSBmcm9tICcuL3BhcmFtZXRlci10eXBlJztcblxuZXhwb3J0IGludGVyZmFjZSBQYXJhbWV0ZXJPcHRpb25zPFQ+IHtcbiAgYXM/OiBzdHJpbmc7XG4gIG9wdGlvbmFsPzogYm9vbGVhbjtcbiAgcmVtZW1iZXI/OiBib29sZWFuO1xuICBkZWZhdWx0VmFsdWU/OiBUO1xuICAvLyBzYW5pdGlzZXI/OiBDb25zdHJ1Y3RhYmxlPFBhcmFtZXRlclNhbml0aXNlcjxUPj4gfCBQYXJhbWV0ZXJTYW5pdGlzZXIuT3B0aW9uczxUPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0UGFyYW1ldGVyT3B0aW9uczxUPiB7XG4gIGFzPzogc3RyaW5nO1xuICBvcHRpb25hbD86IGJvb2xlYW47XG4gIHJlbWVtYmVyPzogYm9vbGVhbjtcbiAgZGVmYXVsdFZhbHVlPzogVFtdO1xuICAvLyBzYW5pdGlzZXI/OiBDb25zdHJ1Y3RhYmxlPFBhcmFtZXRlclNhbml0aXNlcjxUW10+PiB8IFBhcmFtZXRlclNhbml0aXNlci5PcHRpb25zPFRbXT47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBSb3V0ZUlkPFQgZXh0ZW5kcyBzdHJpbmcgfCBudW1iZXI+KHR5cGU6IFBhcmFtZXRlclR5cGU8VD4sIG9wdGlvbnM/OiBQYXJhbWV0ZXJPcHRpb25zPFQ+KTogUHJvcGVydHlEZWNvcmF0b3Ige1xuICByZXR1cm4gKHByb3RvdHlwZTogT2JqZWN0LCBwcm9wZXJ0eUtleTogc3RyaW5nIHwgc3ltYm9sKSA9PiB7XG4gICAgY29uc3QgcGFyYW0gPSBuZXcgUGFyYW1ldGVyRGVmaW5pdGlvbi5Sb3V0ZUlkKHByb3BlcnR5S2V5LnRvU3RyaW5nKCksIHR5cGUsIG9wdGlvbnMpO1xuICAgIEtsYXNzLmdldChwcm90b3R5cGUpLmFkZFRvT3duTWV0YWRhdGFMaXN0KFJPVVRFX1BBUkFNRVRFUl9MSVNUX0tFWSwgcGFyYW0pO1xuICAgIFVzZURlbGVnYXRlKCkocHJvdG90eXBlLCBwcm9wZXJ0eUtleSk7XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBSb3V0ZVBhcmFtZXRlcjxUPih0eXBlOiBQYXJhbWV0ZXJUeXBlPFQ+LCBvcHRpb25zPzogUGFyYW1ldGVyT3B0aW9uczxUPik6IFByb3BlcnR5RGVjb3JhdG9yIHtcbiAgcmV0dXJuIChwcm90b3R5cGU6IE9iamVjdCwgcHJvcGVydHlLZXk6IHN0cmluZyB8IHN5bWJvbCkgPT4ge1xuICAgIGNvbnN0IHBhcmFtID0gbmV3IFBhcmFtZXRlckRlZmluaXRpb24uVmFsdWVQYXJhbWV0ZXIocHJvcGVydHlLZXkudG9TdHJpbmcoKSwgdHlwZSwgb3B0aW9ucyk7XG4gICAgS2xhc3MuZ2V0KHByb3RvdHlwZSkuYWRkVG9Pd25NZXRhZGF0YUxpc3QoUk9VVEVfUEFSQU1FVEVSX0xJU1RfS0VZLCBwYXJhbSk7XG4gICAgVXNlRGVsZWdhdGUoKShwcm90b3R5cGUsIHByb3BlcnR5S2V5KTtcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFJvdXRlUGFyYW1ldGVyTGlzdDxFPihlbGVtZW50VHlwZTogUGFyYW1ldGVyVHlwZTxFPiwgb3B0aW9ucz86IExpc3RQYXJhbWV0ZXJPcHRpb25zPEU+KTogUHJvcGVydHlEZWNvcmF0b3Ige1xuICByZXR1cm4gKHByb3RvdHlwZTogT2JqZWN0LCBwcm9wZXJ0eUtleTogc3RyaW5nIHwgc3ltYm9sKSA9PiB7XG4gICAgY29uc3QgcGFyYW0gPSBuZXcgUGFyYW1ldGVyRGVmaW5pdGlvbi5BcnJheVBhcmFtZXRlcihwcm9wZXJ0eUtleS50b1N0cmluZygpLCBlbGVtZW50VHlwZSwgb3B0aW9ucyk7XG4gICAgS2xhc3MuZ2V0KHByb3RvdHlwZSkuYWRkVG9Pd25NZXRhZGF0YUxpc3QoUk9VVEVfUEFSQU1FVEVSX0xJU1RfS0VZLCBwYXJhbSk7XG4gICAgVXNlRGVsZWdhdGUoKShwcm90b3R5cGUsIHByb3BlcnR5S2V5KTtcbiAgfTtcbn1cbiJdfQ==
|
|
@@ -2,23 +2,201 @@
|
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
3
|
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
|
+
import { Opts } from '@coolon/typescript-utilities';
|
|
6
|
+
import _ from 'lodash';
|
|
7
|
+
import { PlaceHistory } from '../place-history';
|
|
5
8
|
/**
|
|
6
|
-
* @
|
|
9
|
+
* @abstract
|
|
7
10
|
* @template T, S
|
|
8
11
|
*/
|
|
9
|
-
export
|
|
12
|
+
export class ParameterDefinition {
|
|
13
|
+
/**
|
|
14
|
+
* @param {?} propertyName
|
|
15
|
+
* @param {?} type
|
|
16
|
+
* @param {?} options
|
|
17
|
+
*/
|
|
18
|
+
constructor(propertyName, type, options) {
|
|
19
|
+
this.propertyName = propertyName;
|
|
20
|
+
this.type = type;
|
|
21
|
+
/** @type {?} */
|
|
22
|
+
const opts = Opts.get(options);
|
|
23
|
+
this.name = opts.getOptional('as', propertyName);
|
|
24
|
+
this.remember = opts.getOptional('remember', false);
|
|
25
|
+
this.defaultValue = opts.getOptional('defaultValue', null);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* @param {?} injector
|
|
29
|
+
* @return {?}
|
|
30
|
+
*/
|
|
31
|
+
getSanitiser(injector) {
|
|
32
|
+
if (this.remember || !_.isNil(this.defaultValue)) {
|
|
33
|
+
return new ParameterDefinition.DefaultParameterSanitiser(this.remember, this.defaultValue, injector.get(PlaceHistory));
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
10
40
|
if (false) {
|
|
41
|
+
/** @type {?} */
|
|
42
|
+
ParameterDefinition.prototype.isRouteId;
|
|
43
|
+
/** @type {?} */
|
|
44
|
+
ParameterDefinition.prototype.isArray;
|
|
11
45
|
/** @type {?} */
|
|
12
46
|
ParameterDefinition.prototype.name;
|
|
47
|
+
/**
|
|
48
|
+
* @type {?}
|
|
49
|
+
* @private
|
|
50
|
+
*/
|
|
51
|
+
ParameterDefinition.prototype.remember;
|
|
52
|
+
/**
|
|
53
|
+
* @type {?}
|
|
54
|
+
* @private
|
|
55
|
+
*/
|
|
56
|
+
ParameterDefinition.prototype.defaultValue;
|
|
13
57
|
/** @type {?} */
|
|
14
58
|
ParameterDefinition.prototype.propertyName;
|
|
15
59
|
/** @type {?} */
|
|
16
60
|
ParameterDefinition.prototype.type;
|
|
17
|
-
/** @type {?} */
|
|
18
|
-
ParameterDefinition.prototype.sanitiser;
|
|
19
|
-
/** @type {?} */
|
|
20
|
-
ParameterDefinition.prototype.isRouteId;
|
|
21
|
-
/** @type {?} */
|
|
22
|
-
ParameterDefinition.prototype.isArray;
|
|
23
61
|
}
|
|
24
|
-
|
|
62
|
+
(function (ParameterDefinition) {
|
|
63
|
+
/**
|
|
64
|
+
* @record
|
|
65
|
+
* @template T
|
|
66
|
+
*/
|
|
67
|
+
function Options() { }
|
|
68
|
+
ParameterDefinition.Options = Options;
|
|
69
|
+
if (false) {
|
|
70
|
+
/** @type {?|undefined} */
|
|
71
|
+
Options.prototype.as;
|
|
72
|
+
/** @type {?|undefined} */
|
|
73
|
+
Options.prototype.optional;
|
|
74
|
+
/** @type {?|undefined} */
|
|
75
|
+
Options.prototype.remember;
|
|
76
|
+
/** @type {?|undefined} */
|
|
77
|
+
Options.prototype.defaultValue;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* @template T
|
|
81
|
+
*/
|
|
82
|
+
class RouteId extends ParameterDefinition {
|
|
83
|
+
constructor() {
|
|
84
|
+
super(...arguments);
|
|
85
|
+
this.isRouteId = true;
|
|
86
|
+
this.isArray = false;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
ParameterDefinition.RouteId = RouteId;
|
|
90
|
+
if (false) {
|
|
91
|
+
/** @type {?} */
|
|
92
|
+
RouteId.prototype.isRouteId;
|
|
93
|
+
/** @type {?} */
|
|
94
|
+
RouteId.prototype.isArray;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* @template T
|
|
98
|
+
*/
|
|
99
|
+
class ValueParameter extends ParameterDefinition {
|
|
100
|
+
constructor() {
|
|
101
|
+
super(...arguments);
|
|
102
|
+
this.isRouteId = false;
|
|
103
|
+
this.isArray = false;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
ParameterDefinition.ValueParameter = ValueParameter;
|
|
107
|
+
if (false) {
|
|
108
|
+
/** @type {?} */
|
|
109
|
+
ValueParameter.prototype.isRouteId;
|
|
110
|
+
/** @type {?} */
|
|
111
|
+
ValueParameter.prototype.isArray;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* @template T
|
|
115
|
+
*/
|
|
116
|
+
class ArrayParameter extends ParameterDefinition {
|
|
117
|
+
constructor() {
|
|
118
|
+
super(...arguments);
|
|
119
|
+
this.isRouteId = false;
|
|
120
|
+
this.isArray = true;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
ParameterDefinition.ArrayParameter = ArrayParameter;
|
|
124
|
+
if (false) {
|
|
125
|
+
/** @type {?} */
|
|
126
|
+
ArrayParameter.prototype.isRouteId;
|
|
127
|
+
/** @type {?} */
|
|
128
|
+
ArrayParameter.prototype.isArray;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* @template T, S
|
|
132
|
+
*/
|
|
133
|
+
class DefaultParameterSanitiser {
|
|
134
|
+
/**
|
|
135
|
+
* @param {?} remember
|
|
136
|
+
* @param {?} defaultValue
|
|
137
|
+
* @param {?} placeHistory
|
|
138
|
+
*/
|
|
139
|
+
constructor(remember, defaultValue, placeHistory) {
|
|
140
|
+
this.remember = remember;
|
|
141
|
+
this.defaultValue = defaultValue;
|
|
142
|
+
this.placeHistory = placeHistory;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* @param {?} parameterDef
|
|
146
|
+
* @param {?} value
|
|
147
|
+
* @param {?=} visit
|
|
148
|
+
* @return {?}
|
|
149
|
+
*/
|
|
150
|
+
sanitise(parameterDef, value, visit) {
|
|
151
|
+
if (this.isBlank(parameterDef, value)) {
|
|
152
|
+
if (this.remember) {
|
|
153
|
+
/** @type {?} */
|
|
154
|
+
const visits = this.placeHistory.getHistory(visit.placeDefinition);
|
|
155
|
+
value = visits.map((/**
|
|
156
|
+
* @param {?} v
|
|
157
|
+
* @return {?}
|
|
158
|
+
*/
|
|
159
|
+
v => v.getValueOf(parameterDef)))
|
|
160
|
+
.filter((/**
|
|
161
|
+
* @param {?} v
|
|
162
|
+
* @return {?}
|
|
163
|
+
*/
|
|
164
|
+
v => !_.isNil(v)))
|
|
165
|
+
.find((/**
|
|
166
|
+
* @param {?} v
|
|
167
|
+
* @return {?}
|
|
168
|
+
*/
|
|
169
|
+
v => !this.isBlank(parameterDef, v)));
|
|
170
|
+
}
|
|
171
|
+
value = this.isBlank(parameterDef, value) ? this.defaultValue : value;
|
|
172
|
+
console.log(`${parameterDef.name} is blank, returning: ${value}`);
|
|
173
|
+
return value;
|
|
174
|
+
}
|
|
175
|
+
else {
|
|
176
|
+
console.log(`${parameterDef.name} is not blank`);
|
|
177
|
+
return value;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* @private
|
|
182
|
+
* @param {?} def
|
|
183
|
+
* @param {?} value
|
|
184
|
+
* @return {?}
|
|
185
|
+
*/
|
|
186
|
+
isBlank(def, value) {
|
|
187
|
+
/** @type {?} */
|
|
188
|
+
const isNil = _.isNil(value);
|
|
189
|
+
return isNil ? true : def.isArray ? value['length'] < 1 : false;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
ParameterDefinition.DefaultParameterSanitiser = DefaultParameterSanitiser;
|
|
193
|
+
if (false) {
|
|
194
|
+
/** @type {?} */
|
|
195
|
+
DefaultParameterSanitiser.prototype.remember;
|
|
196
|
+
/** @type {?} */
|
|
197
|
+
DefaultParameterSanitiser.prototype.defaultValue;
|
|
198
|
+
/** @type {?} */
|
|
199
|
+
DefaultParameterSanitiser.prototype.placeHistory;
|
|
200
|
+
}
|
|
201
|
+
})(ParameterDefinition || (ParameterDefinition = {}));
|
|
202
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLWRlZmluaXRpb24uY2xhc3MuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2Uvcm91dGUvcGFyYW1ldGVyLWRlZmluaXRpb24uY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUNBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRCxPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7OztBQU1oRCxNQUFNLE9BQWdCLG1CQUFtQjs7Ozs7O0lBUXZDLFlBQXFCLFlBQW9CLEVBQVcsSUFBc0IsRUFBRSxPQUF1QztRQUE5RixpQkFBWSxHQUFaLFlBQVksQ0FBUTtRQUFXLFNBQUksR0FBSixJQUFJLENBQWtCOztjQUNsRSxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUM7UUFDOUIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0QsQ0FBQzs7Ozs7SUFFRCxZQUFZLENBQUMsUUFBa0I7UUFDN0IsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUU7WUFDaEQsT0FBTyxJQUFJLG1CQUFtQixDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxRQUFRLENBQUMsR0FB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QUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNsRSxDQUFDO0tBQ0Y7SUExQlksNkNBQXlCLDRCQTBCckMsQ0FBQTs7O1FBeEJhLDZDQUEwQjs7UUFBRSxpREFBd0I7O1FBQUUsaURBQW1DOztBQTBCekcsQ0FBQyxFQXREZ0IsbUJBQW1CLEtBQW5CLG1CQUFtQixRQXNEbkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT3B0cyB9IGZyb20gJ0Bjb29sb24vdHlwZXNjcmlwdC11dGlsaXRpZXMnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IFBsYWNlSGlzdG9yeSB9IGZyb20gJy4uL3BsYWNlLWhpc3RvcnknO1xuaW1wb3J0IHsgVmlzaXQgfSBmcm9tICcuLi92aXNpdCc7XG5pbXBvcnQgeyBQYXJhbWV0ZXJTYW5pdGlzZXIgfSBmcm9tICcuL3BhcmFtZXRlci1zYW5pdGlzZXInO1xuaW1wb3J0IHsgUGFyYW1ldGVyVHlwZSB9IGZyb20gJy4vcGFyYW1ldGVyLXR5cGUnO1xuXG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBQYXJhbWV0ZXJEZWZpbml0aW9uPFQsIFMgPSBUPiB7XG4gIGFic3RyYWN0IHJlYWRvbmx5IGlzUm91dGVJZDogYm9vbGVhbjtcbiAgYWJzdHJhY3QgcmVhZG9ubHkgaXNBcnJheTogYm9vbGVhbjtcblxuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVtZW1iZXI6IGJvb2xlYW47XG4gIHByaXZhdGUgZGVmYXVsdFZhbHVlOiBTO1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IHByb3BlcnR5TmFtZTogc3RyaW5nLCByZWFkb25seSB0eXBlOiBQYXJhbWV0ZXJUeXBlPFQ+LCBvcHRpb25zOiBQYXJhbWV0ZXJEZWZpbml0aW9uLk9wdGlvbnM8Uz4pIHtcbiAgICBjb25zdCBvcHRzID0gT3B0cy5nZXQob3B0aW9ucyk7XG4gICAgdGhpcy5uYW1lID0gb3B0cy5nZXRPcHRpb25hbCgnYXMnLCBwcm9wZXJ0eU5hbWUpO1xuICAgIHRoaXMucmVtZW1iZXIgPSBvcHRzLmdldE9wdGlvbmFsKCdyZW1lbWJlcicsIGZhbHNlKTtcbiAgICB0aGlzLmRlZmF1bHRWYWx1ZSA9IG9wdHMuZ2V0T3B0aW9uYWwoJ2RlZmF1bHRWYWx1ZScsIG51bGwpO1xuICB9XG5cbiAgZ2V0U2FuaXRpc2VyKGluamVjdG9yOiBJbmplY3Rvcik6IFBhcmFtZXRlclNhbml0aXNlcjxTPiB7XG4gICAgaWYgKHRoaXMucmVtZW1iZXIgfHwgIV8uaXNOaWwodGhpcy5kZWZhdWx0VmFsdWUpKSB7XG4gICAgICByZXR1cm4gbmV3IFBhcmFtZXRlckRlZmluaXRpb24uRGVmYXVsdFBhcmFtZXRlclNhbml0aXNlcih0aGlzLnJlbWVtYmVyLCB0aGlzLmRlZmF1bHRWYWx1ZSwgaW5qZWN0b3IuZ2V0KFBsYWNlSGlzdG9yeSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBQYXJhbWV0ZXJEZWZpbml0aW9uIHtcblxuICBleHBvcnQgaW50ZXJmYWNlIE9wdGlvbnM8VD4ge1xuICAgIGFzPzogc3RyaW5nO1xuICAgIG9wdGlvbmFsPzogYm9vbGVhbjtcbiAgICByZW1lbWJlcj86IGJvb2xlYW47XG4gICAgZGVmYXVsdFZhbHVlPzogVDtcbiAgICAvLyBzYW5pdGlzZXI/OiBDb25zdHJ1Y3RhYmxlPFBhcmFtZXRlclNhbml0aXNlcjxUPj4gfCBQYXJhbWV0ZXJTYW5pdGlzZXIuT3B0aW9uczxUPjtcbiAgfVxuXG4gIGV4cG9ydCBjbGFzcyBSb3V0ZUlkPFQ+IGV4dGVuZHMgUGFyYW1ldGVyRGVmaW5pdGlvbjxUPiB7XG4gICAgcmVhZG9ubHkgaXNSb3V0ZUlkID0gdHJ1ZTtcbiAgICByZWFkb25seSBpc0FycmF5ID0gZmFsc2U7XG4gIH1cblxuICBleHBvcnQgY2xhc3MgVmFsdWVQYXJhbWV0ZXI8VD4gZXh0ZW5kcyBQYXJhbWV0ZXJEZWZpbml0aW9uPFQ+IHtcbiAgICByZWFkb25seSBpc1JvdXRlSWQgPSBmYWxzZTtcbiAgICByZWFkb25seSBpc0FycmF5ID0gZmFsc2U7XG4gIH1cblxuICBleHBvcnQgY2xhc3MgQXJyYXlQYXJhbWV0ZXI8VD4gZXh0ZW5kcyBQYXJhbWV0ZXJEZWZpbml0aW9uPFQsIFRbXT4ge1xuICAgIHJlYWRvbmx5IGlzUm91dGVJZCA9IGZhbHNlO1xuICAgIHJlYWRvbmx5IGlzQXJyYXkgPSB0cnVlO1xuICB9XG5cblxuICBleHBvcnQgY2xhc3MgRGVmYXVsdFBhcmFtZXRlclNhbml0aXNlcjxULCBTPiBpbXBsZW1lbnRzIFBhcmFtZXRlclNhbml0aXNlcjxTPiB7XG5cbiAgICBjb25zdHJ1Y3RvcihyZWFkb25seSByZW1lbWJlcjogYm9vbGVhbiwgcmVhZG9ubHkgZGVmYXVsdFZhbHVlOiBTLCByZWFkb25seSBwbGFjZUhpc3Rvcnk6IFBsYWNlSGlzdG9yeSkge1xuICAgIH1cblxuICAgIHNhbml0aXNlKHBhcmFtZXRlckRlZjogUGFyYW1ldGVyRGVmaW5pdGlvbjxULCBTPiwgdmFsdWU6IFMsIHZpc2l0PzogVmlzaXQpOiBQcm9taXNlPFM+IHwgUyB7XG4gICAgICBpZiAodGhpcy5pc0JsYW5rKHBhcmFtZXRlckRlZiwgdmFsdWUpKSB7XG4gICAgICAgIGlmICh0aGlzLnJlbWVtYmVyKSB7XG4gICAgICAgICAgY29uc3QgdmlzaXRzID0gdGhpcy5wbGFjZUhpc3RvcnkuZ2V0SGlzdG9yeSh2aXNpdC5wbGFjZURlZmluaXRpb24pO1xuICAgICAgICAgIHZhbHVlID0gdmlzaXRzLm1hcCh2ID0+IHYuZ2V0VmFsdWVPZihwYXJhbWV0ZXJEZWYpKVxuICAgICAgICAgICAgLmZpbHRlcih2ID0+ICFfLmlzTmlsKHYpKVxuICAgICAgICAgICAgLmZpbmQodiA9PiAhdGhpcy5pc0JsYW5rKHBhcmFtZXRlckRlZiwgdikpO1xuICAgICAgICB9XG4gICAgICAgIHZhbHVlID0gdGhpcy5pc0JsYW5rKHBhcmFtZXRlckRlZiwgdmFsdWUpID8gdGhpcy5kZWZhdWx0VmFsdWUgOiB2YWx1ZTtcbiAgICAgICAgY29uc29sZS5sb2coYCR7cGFyYW1ldGVyRGVmLm5hbWV9IGlzIGJsYW5rLCByZXR1cm5pbmc6ICR7dmFsdWV9YCk7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGAke3BhcmFtZXRlckRlZi5uYW1lfSBpcyBub3QgYmxhbmtgKTtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaXNCbGFuayhkZWY6IFBhcmFtZXRlckRlZmluaXRpb248VCwgUz4sIHZhbHVlOiBTKSB7XG4gICAgICBjb25zdCBpc05pbCA9IF8uaXNOaWwodmFsdWUpO1xuICAgICAgcmV0dXJuIGlzTmlsID8gdHJ1ZSA6IGRlZi5pc0FycmF5ID8gdmFsdWVbJ2xlbmd0aCddIDwgMSA6IGZhbHNlO1xuICAgIH1cbiAgfVxuXG59XG4iXX0=
|
|
@@ -4,29 +4,16 @@
|
|
|
4
4
|
*/
|
|
5
5
|
/**
|
|
6
6
|
* @record
|
|
7
|
-
* @template
|
|
7
|
+
* @template S
|
|
8
8
|
*/
|
|
9
9
|
export function ParameterSanitiser() { }
|
|
10
10
|
if (false) {
|
|
11
11
|
/**
|
|
12
|
+
* @param {?} parameterDef
|
|
12
13
|
* @param {?} value
|
|
13
14
|
* @param {?=} visit
|
|
14
15
|
* @return {?}
|
|
15
16
|
*/
|
|
16
|
-
ParameterSanitiser.prototype.sanitise = function (value, visit) { };
|
|
17
|
+
ParameterSanitiser.prototype.sanitise = function (parameterDef, value, visit) { };
|
|
17
18
|
}
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* @record
|
|
21
|
-
* @template T
|
|
22
|
-
*/
|
|
23
|
-
function Options() { }
|
|
24
|
-
ParameterSanitiser.Options = Options;
|
|
25
|
-
if (false) {
|
|
26
|
-
/** @type {?|undefined} */
|
|
27
|
-
Options.prototype.remember;
|
|
28
|
-
/** @type {?|undefined} */
|
|
29
|
-
Options.prototype.defaultValue;
|
|
30
|
-
}
|
|
31
|
-
})(ParameterSanitiser || (ParameterSanitiser = {}));
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLXNhbml0aXNlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9wbGFjZS9yb3V0ZS9wYXJhbWV0ZXItc2FuaXRpc2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBRUEsd0NBRUM7Ozs7Ozs7SUFEQyxvRUFBa0Q7O0FBR3BELFdBQWlCLGtCQUFrQjs7Ozs7SUFDakMsc0JBR0M7Ozs7UUFGQywyQkFBa0I7O1FBQ2xCLCtCQUFnQjs7QUFFcEIsQ0FBQyxFQUxnQixrQkFBa0IsS0FBbEIsa0JBQWtCLFFBS2xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmlzaXQgfSBmcm9tICcuLi92aXNpdCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFyYW1ldGVyU2FuaXRpc2VyPFQ+IHtcbiAgc2FuaXRpc2UodmFsdWU6IFQsIHZpc2l0PzogVmlzaXQpOiBUIHwgUHJvbWlzZTxUPjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBQYXJhbWV0ZXJTYW5pdGlzZXIge1xuICBleHBvcnQgaW50ZXJmYWNlIE9wdGlvbnM8VD4ge1xuICAgIHJlbWVtYmVyPzogYm9vbGVhblxuICAgIGRlZmF1bHRWYWx1ZT86IFRcbiAgfVxufVxuIl19
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLXNhbml0aXNlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9wbGFjZS9yb3V0ZS9wYXJhbWV0ZXItc2FuaXRpc2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBR0Esd0NBRUM7Ozs7Ozs7O0lBREMsa0ZBQTZGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmlzaXQgfSBmcm9tICcuLi92aXNpdCc7XG5pbXBvcnQgeyBQYXJhbWV0ZXJEZWZpbml0aW9uIH0gZnJvbSAnLi9wYXJhbWV0ZXItZGVmaW5pdGlvbi5jbGFzcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFyYW1ldGVyU2FuaXRpc2VyPFM+IHtcbiAgc2FuaXRpc2UocGFyYW1ldGVyRGVmOiBQYXJhbWV0ZXJEZWZpbml0aW9uPGFueSwgUz4sIHZhbHVlOiBTLCB2aXNpdD86IFZpc2l0KTogUHJvbWlzZTxTPiB8IFM7XG59XG4iXX0=
|