UNPKG

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
"use strict"; 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;