diff options
Diffstat (limited to 'js/url_search_params.ts')
-rw-r--r-- | js/url_search_params.ts | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/js/url_search_params.ts b/js/url_search_params.ts index 666ba6951..8e122191d 100644 --- a/js/url_search_params.ts +++ b/js/url_search_params.ts @@ -12,16 +12,11 @@ export class URLSearchParams { return; } - if (Array.isArray(init)) { + if (Array.isArray(init) || isIterable(init)) { this._handleArrayInitialization(init); return; } - if (isIterable(init)) { - this.params = [...init]; - return; - } - if (Object(init) !== init) { return; } @@ -285,7 +280,9 @@ export class URLSearchParams { } } - private _handleArrayInitialization(init: string[][]): void { + private _handleArrayInitialization( + init: string[][] | Iterable<[string, string]> + ): void { // Overload: sequence<sequence<USVString>> for (const tuple of init) { // If pair does not contain exactly two items, then throw a TypeError. |