|
1 | 1 | import { Injectable } from '@angular/core'; |
2 | 2 | import { QueryParamControl, QueryParamControlOpts, QueryParamGroup } from './model'; |
3 | 3 | import { |
| 4 | + DEFAULT_BOOLEAN_DESERIALIZER, |
| 5 | + DEFAULT_BOOLEAN_SERIALIZER, |
4 | 6 | DEFAULT_NUMBER_DESERIALIZER, |
5 | 7 | DEFAULT_NUMBER_SERIALIZER, |
6 | 8 | DEFAULT_STRING_DESERIALIZER, |
@@ -38,6 +40,35 @@ export class QueryParamBuilder { |
38 | 40 | }); |
39 | 41 | } |
40 | 42 |
|
| 43 | + /** |
| 44 | + * TODO Documentation |
| 45 | + */ |
| 46 | + public numericParam(config: QueryParamControlOpts<number>): QueryParamControl<number> { |
| 47 | + return new QueryParamControl({ |
| 48 | + serialize: DEFAULT_NUMBER_SERIALIZER, |
| 49 | + deserialize: DEFAULT_NUMBER_DESERIALIZER, |
| 50 | + ...config, |
| 51 | + }); |
| 52 | + } |
| 53 | + |
| 54 | + /** |
| 55 | + * TODO Documentation |
| 56 | + */ |
| 57 | + public booleanParam(config: QueryParamControlOpts<boolean>): QueryParamControl<boolean> { |
| 58 | + return new QueryParamControl({ |
| 59 | + serialize: DEFAULT_BOOLEAN_SERIALIZER, |
| 60 | + deserialize: DEFAULT_BOOLEAN_DESERIALIZER, |
| 61 | + ...config, |
| 62 | + }); |
| 63 | + } |
| 64 | + |
| 65 | + /** |
| 66 | + * TODO Documentation |
| 67 | + */ |
| 68 | + public customParam<T>(config: QueryParamControlOpts<T>): QueryParamControl<T> { |
| 69 | + return new QueryParamControl(config); |
| 70 | + } |
| 71 | + |
41 | 72 | private createControl<T>(controlName: string, controlConfig: QueryParamControl<T> | string): QueryParamControl<T | string> { |
42 | 73 | if (controlConfig instanceof QueryParamControl) { |
43 | 74 | return controlConfig; |
|
0 commit comments