diff --git a/lib/angular2/shared/services/core/search.ejs b/lib/angular2/shared/services/core/search.ejs index f39b0b4b..8a467521 100644 --- a/lib/angular2/shared/services/core/search.ejs +++ b/lib/angular2/shared/services/core/search.ejs @@ -31,14 +31,10 @@ export class JSONSearchParams { } private _parseParam(key: string, value: any, parent: string) { - let typeofValue:string = typeof value; - - if (typeofValue !== 'object' && typeofValue !== 'array') { - return parent ? parent + '[' + key + ']=' + value - : key + '=' + value; - } else { - return parent ? this._JSON2URL(value, parent + '[' + key + ']') - : this._JSON2URL(value, key); + let processedKey = parent ? parent + '[' + key + ']' : key; + if (value && typeof value === 'object' || Array.isArray(value)) { + return this._JSON2URL(value, processedKey); } + return processedKey + '=' + value; } } diff --git a/tests/ng2web/src/app/shared/sdk/services/core/search.params.ts b/tests/ng2web/src/app/shared/sdk/services/core/search.params.ts index 0d156e29..8a467521 100644 --- a/tests/ng2web/src/app/shared/sdk/services/core/search.params.ts +++ b/tests/ng2web/src/app/shared/sdk/services/core/search.params.ts @@ -31,14 +31,10 @@ export class JSONSearchParams { } private _parseParam(key: string, value: any, parent: string) { - if (typeof value !== 'object' && typeof value !== 'array') { - return parent ? parent + '[' + key + ']=' + value - : key + '=' + value; - } else if (typeof value === 'object' ||  typeof value === 'array') { - return parent ? this._JSON2URL(value, parent + '[' + key + ']') - : this._JSON2URL(value, key); - } else { - throw new Error('Unexpected Type'); + let processedKey = parent ? parent + '[' + key + ']' : key; + if (value && typeof value === 'object' || Array.isArray(value)) { + return this._JSON2URL(value, processedKey); } + return processedKey + '=' + value; } }