ngx-restful-client
Version:
The ultimate Angular library to exquisitely declare and implement the REST APIs you'll use in your application.
78 lines (77 loc) • 2.81 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var http_1 = require("@angular/common/http");
var utils_1 = require("../utils");
var HttpParamsBuilder = /** @class */ (function () {
function HttpParamsBuilder(params) {
this._params = !!params ? params : new http_1.HttpParams();
}
HttpParamsBuilder.fromHttpParams = function (httpParams) {
this.validateArgs(httpParams);
return new HttpParamsBuilder(httpParams);
};
HttpParamsBuilder.fromKeyValue = function (params) {
this.validateArgs(params);
return new HttpParamsBuilder(new http_1.HttpParams({ fromObject: params }));
};
HttpParamsBuilder.fromObject = function (object) {
var _this = this;
this.validateArgs(object);
var generated = undefined;
if (!!object) {
generated = new HttpParamsBuilder();
if (utils_1.CoreUtil.hasAttributes(object)) {
var plainMap = utils_1.CoreUtil.objectToPlainMap(object);
plainMap.forEach(function (v, k) { return _this.addParam(generated, k, v); });
}
else {
this.addParam(generated, 'q', object);
}
}
return generated;
};
HttpParamsBuilder.addParam = function (params, k, v) {
if (Array.isArray(v)) {
v.forEach(function (o) { return (params = params.append(k, o)); });
}
else {
params = params.append(k, v);
}
};
HttpParamsBuilder.prototype.append = function (key, value) {
this._params = this._params.append(key, utils_1.CoreUtil.objectToString(value));
return this;
};
HttpParamsBuilder.prototype.appendAll = function (key, value) {
var _this = this;
if (!!key && !!value) {
value.forEach(function (v) { return (_this._params = _this._params.append(key, v)); });
}
else {
console.debug('Params not added.');
}
return this;
};
HttpParamsBuilder.prototype.appendHttpParams = function (httpParams) {
var _this = this;
httpParams.keys().forEach(function (k) { return _this.appendAll(k, httpParams.getAll(k)); });
return this;
};
HttpParamsBuilder.prototype.build = function () {
return this._params;
};
Object.defineProperty(HttpParamsBuilder.prototype, "params", {
get: function () {
return this._params;
},
enumerable: true,
configurable: true
});
HttpParamsBuilder.validateArgs = function (args) {
if (!args) {
throw new Error('Params initializer param is mandatory.');
}
};
return HttpParamsBuilder;
}());
exports.HttpParamsBuilder = HttpParamsBuilder;