@@ -83,34 +83,24 @@ export const setOAuthToObject = async function (object: any, name: string, scope
8383 }
8484}
8585
86- function setFlattenedQueryParams ( urlSearchParams : URLSearchParams , parameter : any , key : string = "" ) : void {
87- if ( typeof parameter === "object" ) {
88- if ( Array . isArray ( parameter ) ) {
89- ( parameter as any [ ] ) . forEach ( item => setFlattenedQueryParams ( urlSearchParams , item , key ) ) ;
90- }
91- else {
92- Object . keys ( parameter ) . forEach ( currentKey =>
93- setFlattenedQueryParams ( urlSearchParams , parameter [ currentKey ] , `${ key } ${ key !== '' ? '.' : '' } ${ currentKey } ` )
94- ) ;
95- }
96- }
97- else {
98- if ( urlSearchParams . has ( key ) ) {
99- urlSearchParams . append ( key , parameter ) ;
100- }
101- else {
102- urlSearchParams . set ( key , parameter ) ;
103- }
104- }
105- }
106-
10786/**
10887 *
10988 * @export
11089 */
11190export const setSearchParams = function ( url : URL , ...objects : any [ ] ) {
11291 const searchParams = new URLSearchParams ( url . search ) ;
113- setFlattenedQueryParams ( searchParams , objects ) ;
92+ for ( const object of objects ) {
93+ for ( const key in object ) {
94+ if ( Array . isArray ( object [ key ] ) ) {
95+ searchParams . delete ( key ) ;
96+ for ( const item of object [ key ] ) {
97+ searchParams . append ( key , item ) ;
98+ }
99+ } else {
100+ searchParams . set ( key , object [ key ] ) ;
101+ }
102+ }
103+ }
114104 url . search = searchParams . toString ( ) ;
115105}
116106
0 commit comments