@@ -38,14 +38,18 @@ export class QueryParamBuilder {
3838 * Redirects to {@link stringParam}.
3939 * @see stringParam
4040 */
41- public param ( opts : QueryParamControlOptsInput < string > ) : QueryParamControl < string > {
41+ public param ( opts : QueryParamControlOptsInput < string > & { multi : true } ) : QueryParamControl < string [ ] > ;
42+ public param ( opts : QueryParamControlOptsInput < string > ) : QueryParamControl < string > ;
43+ public param ( opts : QueryParamControlOptsInput < string > ) : QueryParamControl < string | string [ ] > {
4244 return this . stringParam ( opts ) ;
4345 }
4446
4547 /**
4648 * TODO Documentation
4749 */
48- public stringParam ( opts : QueryParamControlOptsInput < string > ) : QueryParamControl < string > {
50+ public stringParam ( opts : QueryParamControlOptsInput < string > & { multi : true } ) : QueryParamControl < string [ ] > ;
51+ public stringParam ( opts : QueryParamControlOptsInput < string > ) : QueryParamControl < string > ;
52+ public stringParam ( opts : QueryParamControlOptsInput < string > ) : QueryParamControl < string | string [ ] > {
4953 return new QueryParamControl ( {
5054 serialize : DEFAULT_STRING_SERIALIZER ,
5155 deserialize : DEFAULT_STRING_DESERIALIZER ,
@@ -57,7 +61,9 @@ export class QueryParamBuilder {
5761 /**
5862 * TODO Documentation
5963 */
60- public numericParam ( opts : QueryParamControlOptsInput < number > ) : QueryParamControl < number > {
64+ public numericParam ( opts : QueryParamControlOptsInput < number > & { multi : true } ) : QueryParamControl < number [ ] > ;
65+ public numericParam ( opts : QueryParamControlOptsInput < number > ) : QueryParamControl < number > ;
66+ public numericParam ( opts : QueryParamControlOptsInput < number > ) : QueryParamControl < number | number [ ] > {
6167 return new QueryParamControl ( {
6268 serialize : DEFAULT_NUMBER_SERIALIZER ,
6369 deserialize : DEFAULT_NUMBER_DESERIALIZER ,
@@ -69,7 +75,9 @@ export class QueryParamBuilder {
6975 /**
7076 * TODO Documentation
7177 */
72- public booleanParam ( opts : QueryParamControlOptsInput < boolean > ) : QueryParamControl < boolean > {
78+ public booleanParam ( opts : QueryParamControlOptsInput < boolean > & { multi : true } ) : QueryParamControl < boolean [ ] > ;
79+ public booleanParam ( opts : QueryParamControlOptsInput < boolean > ) : QueryParamControl < boolean > ;
80+ public booleanParam ( opts : QueryParamControlOptsInput < boolean > ) : QueryParamControl < boolean | boolean [ ] > {
7381 return new QueryParamControl ( {
7482 serialize : DEFAULT_BOOLEAN_SERIALIZER ,
7583 deserialize : DEFAULT_BOOLEAN_DESERIALIZER ,
@@ -81,7 +89,9 @@ export class QueryParamBuilder {
8189 /**
8290 * TODO Documentation
8391 */
84- public customParam < T > ( opts : QueryParamControlOpts < T > ) : QueryParamControl < T > {
92+ public customParam < T > ( opts : QueryParamControlOpts < T > & { multi : true } ) : QueryParamControl < T [ ] > ;
93+ public customParam < T > ( opts : QueryParamControlOpts < T > ) : QueryParamControl < T > ;
94+ public customParam < T > ( opts : QueryParamControlOpts < T > ) : QueryParamControl < T | T [ ] > {
8595 return new QueryParamControl ( opts ) ;
8696 }
8797
0 commit comments