feat(http): refactor library to work in dart
Mostly internal refactoring needed to make ts2dart and DartAnalyzer happy. Fixes #2415
This commit is contained in:
@ -1,14 +1,20 @@
|
||||
import {isPresent, isBlank, StringWrapper} from 'angular2/src/facade/lang';
|
||||
import {Map, MapWrapper, List, ListWrapper} from 'angular2/src/facade/collection';
|
||||
import {
|
||||
Map,
|
||||
MapWrapper,
|
||||
List,
|
||||
ListWrapper,
|
||||
isListLikeIterable
|
||||
} from 'angular2/src/facade/collection';
|
||||
|
||||
function paramParser(rawParams: string): Map<string, List<string>> {
|
||||
var map: Map<string, List<string>> = new Map();
|
||||
var params: List<string> = StringWrapper.split(rawParams, '&');
|
||||
var params: List<string> = StringWrapper.split(rawParams, new RegExp('&'));
|
||||
ListWrapper.forEach(params, (param: string) => {
|
||||
var split: List<string> = StringWrapper.split(param, '=');
|
||||
var split: List<string> = StringWrapper.split(param, new RegExp('='));
|
||||
var key = ListWrapper.get(split, 0);
|
||||
var val = ListWrapper.get(split, 1);
|
||||
var list = map.get(key) || [];
|
||||
var list = isPresent(map.get(key)) ? map.get(key) : [];
|
||||
list.push(val);
|
||||
map.set(key, list);
|
||||
});
|
||||
@ -21,12 +27,23 @@ export class URLSearchParams {
|
||||
|
||||
has(param: string): boolean { return this.paramsMap.has(param); }
|
||||
|
||||
get(param: string): string { return ListWrapper.first(this.paramsMap.get(param)); }
|
||||
get(param: string): string {
|
||||
var storedParam = this.paramsMap.get(param);
|
||||
if (isListLikeIterable(storedParam)) {
|
||||
return ListWrapper.first(storedParam);
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
getAll(param: string): List<string> { return this.paramsMap.get(param) || []; }
|
||||
getAll(param: string): List<string> {
|
||||
var mapParam = this.paramsMap.get(param);
|
||||
return isPresent(mapParam) ? mapParam : [];
|
||||
}
|
||||
|
||||
append(param: string, val: string): void {
|
||||
var list = this.paramsMap.get(param) || [];
|
||||
var mapParam = this.paramsMap.get(param);
|
||||
var list = isPresent(mapParam) ? mapParam : [];
|
||||
list.push(val);
|
||||
this.paramsMap.set(param, list);
|
||||
}
|
||||
|
Reference in New Issue
Block a user