UNPKG

ngx-restangular

Version:
84 lines 8.1 kB
/** * @fileoverview added by tsickle * Generated from: lib/ngx-restangular-helper.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { HttpRequest, HttpHeaders, HttpParams } from '@angular/common/http'; import { assign } from 'core-js/features/object'; export class RestangularHelper { /** * @param {?} options * @return {?} */ static createRequest(options) { /** @type {?} */ const requestQueryParams = RestangularHelper.createRequestQueryParams(options.params); /** @type {?} */ const requestHeaders = RestangularHelper.createRequestHeaders(options.headers); /** @type {?} */ const methodName = options.method.toUpperCase(); /** @type {?} */ const withCredentials = options.withCredentials || false; /** @type {?} */ let request = new HttpRequest(methodName, options.url, options.data, { headers: requestHeaders, params: requestQueryParams, responseType: options.responseType, withCredentials }); if (['GET', 'DELETE', 'HEAD', 'JSONP', 'OPTIONS'].indexOf(methodName) >= 0) { request = new HttpRequest(methodName, options.url, { headers: requestHeaders, params: requestQueryParams, responseType: options.responseType, withCredentials }); } return request; } /** * @param {?} queryParams * @return {?} */ static createRequestQueryParams(queryParams) { /** @type {?} */ const requestQueryParams = assign({}, queryParams); /** @type {?} */ let search = new HttpParams(); for (const key in requestQueryParams) { /** @type {?} */ let value = requestQueryParams[key]; if (Array.isArray(value)) { value.forEach((/** * @param {?} val * @return {?} */ function (val) { search = search.append(key, val); })); } else { if (typeof value === 'object') { value = JSON.stringify(value); } search = search.append(key, value); } } return search; } /** * @param {?} headers * @return {?} */ static createRequestHeaders(headers) { for (const key in headers) { /** @type {?} */ const value = headers[key]; if (typeof value === 'undefined') { delete headers[key]; } } return new HttpHeaders(assign({}, headers)); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXJlc3Rhbmd1bGFyLWhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXN0YW5ndWxhci9zcmMvbGliL25neC1yZXN0YW5ndWxhci1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUU1RSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFakQsTUFBTSxPQUFPLGlCQUFpQjs7Ozs7SUFFNUIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxPQUFPOztjQUNwQixrQkFBa0IsR0FBRyxpQkFBaUIsQ0FBQyx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDOztjQUMvRSxjQUFjLEdBQUcsaUJBQWlCLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQzs7Y0FDeEUsVUFBVSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFOztjQUN6QyxlQUFlLEdBQUcsT0FBTyxDQUFDLGVBQWUsSUFBSSxLQUFLOztZQUVwRCxPQUFPLEdBQUcsSUFBSSxXQUFXLENBQzNCLFVBQVUsRUFDVixPQUFPLENBQUMsR0FBRyxFQUNYLE9BQU8sQ0FBQyxJQUFJLEVBQ1o7WUFDRSxPQUFPLEVBQUUsY0FBYztZQUN2QixNQUFNLEVBQUUsa0JBQWtCO1lBQzFCLFlBQVksRUFBRSxPQUFPLENBQUMsWUFBWTtZQUNsQyxlQUFlO1NBQ2hCLENBQ0Y7UUFFRCxJQUFJLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDMUUsT0FBTyxHQUFHLElBQUksV0FBVyxDQUN2QixVQUFVLEVBQ1YsT0FBTyxDQUFDLEdBQUcsRUFDWDtnQkFDRSxPQUFPLEVBQUUsY0FBYztnQkFDdkIsTUFBTSxFQUFFLGtCQUFrQjtnQkFDMUIsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUFZO2dCQUNsQyxlQUFlO2FBQ2hCLENBQ0YsQ0FBQztTQUNIO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQzs7Ozs7SUFFRCxNQUFNLENBQUMsd0JBQXdCLENBQUMsV0FBVzs7Y0FDbkMsa0JBQWtCLEdBQUcsTUFBTSxDQUFDLEVBQUUsRUFBRSxXQUFXLENBQUM7O1lBQzlDLE1BQU0sR0FBZSxJQUFJLFVBQVUsRUFBRTtRQUV6QyxLQUFLLE1BQU0sR0FBRyxJQUFJLGtCQUFrQixFQUFFOztnQkFDaEMsS0FBSyxHQUFRLGtCQUFrQixDQUFDLEdBQUcsQ0FBQztZQUV4QyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3hCLEtBQUssQ0FBQyxPQUFPOzs7O2dCQUFDLFVBQVUsR0FBRztvQkFDekIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO2dCQUNuQyxDQUFDLEVBQUMsQ0FBQzthQUNKO2lCQUFNO2dCQUNMLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO29CQUM3QixLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDL0I7Z0JBQ0QsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO2FBQ3BDO1NBQ0Y7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOzs7OztJQUVELE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPO1FBQ2pDLEtBQUssTUFBTSxHQUFHLElBQUksT0FBTyxFQUFFOztrQkFDbkIsS0FBSyxHQUFRLE9BQU8sQ0FBQyxHQUFHLENBQUM7WUFDL0IsSUFBSSxPQUFPLEtBQUssS0FBSyxXQUFXLEVBQUU7Z0JBQ2hDLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3JCO1NBQ0Y7UUFFRCxPQUFPLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUM5QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwUmVxdWVzdCwgSHR0cEhlYWRlcnMsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbmltcG9ydCB7IGFzc2lnbiB9IGZyb20gJ2NvcmUtanMvZmVhdHVyZXMvb2JqZWN0JztcblxuZXhwb3J0IGNsYXNzIFJlc3Rhbmd1bGFySGVscGVyIHtcblxuICBzdGF0aWMgY3JlYXRlUmVxdWVzdChvcHRpb25zKSB7XG4gICAgY29uc3QgcmVxdWVzdFF1ZXJ5UGFyYW1zID0gUmVzdGFuZ3VsYXJIZWxwZXIuY3JlYXRlUmVxdWVzdFF1ZXJ5UGFyYW1zKG9wdGlvbnMucGFyYW1zKTtcbiAgICBjb25zdCByZXF1ZXN0SGVhZGVycyA9IFJlc3Rhbmd1bGFySGVscGVyLmNyZWF0ZVJlcXVlc3RIZWFkZXJzKG9wdGlvbnMuaGVhZGVycyk7XG4gICAgY29uc3QgbWV0aG9kTmFtZSA9IG9wdGlvbnMubWV0aG9kLnRvVXBwZXJDYXNlKCk7XG4gICAgY29uc3Qgd2l0aENyZWRlbnRpYWxzID0gb3B0aW9ucy53aXRoQ3JlZGVudGlhbHMgfHwgZmFsc2U7XG5cbiAgICBsZXQgcmVxdWVzdCA9IG5ldyBIdHRwUmVxdWVzdChcbiAgICAgIG1ldGhvZE5hbWUsXG4gICAgICBvcHRpb25zLnVybCxcbiAgICAgIG9wdGlvbnMuZGF0YSxcbiAgICAgIHtcbiAgICAgICAgaGVhZGVyczogcmVxdWVzdEhlYWRlcnMsXG4gICAgICAgIHBhcmFtczogcmVxdWVzdFF1ZXJ5UGFyYW1zLFxuICAgICAgICByZXNwb25zZVR5cGU6IG9wdGlvbnMucmVzcG9uc2VUeXBlLFxuICAgICAgICB3aXRoQ3JlZGVudGlhbHNcbiAgICAgIH1cbiAgICApO1xuXG4gICAgaWYgKFsnR0VUJywgJ0RFTEVURScsICdIRUFEJywgJ0pTT05QJywgJ09QVElPTlMnXS5pbmRleE9mKG1ldGhvZE5hbWUpID49IDApIHtcbiAgICAgIHJlcXVlc3QgPSBuZXcgSHR0cFJlcXVlc3QoXG4gICAgICAgIG1ldGhvZE5hbWUsXG4gICAgICAgIG9wdGlvbnMudXJsLFxuICAgICAgICB7XG4gICAgICAgICAgaGVhZGVyczogcmVxdWVzdEhlYWRlcnMsXG4gICAgICAgICAgcGFyYW1zOiByZXF1ZXN0UXVlcnlQYXJhbXMsXG4gICAgICAgICAgcmVzcG9uc2VUeXBlOiBvcHRpb25zLnJlc3BvbnNlVHlwZSxcbiAgICAgICAgICB3aXRoQ3JlZGVudGlhbHNcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlcXVlc3Q7XG4gIH1cblxuICBzdGF0aWMgY3JlYXRlUmVxdWVzdFF1ZXJ5UGFyYW1zKHF1ZXJ5UGFyYW1zKSB7XG4gICAgY29uc3QgcmVxdWVzdFF1ZXJ5UGFyYW1zID0gYXNzaWduKHt9LCBxdWVyeVBhcmFtcyk7XG4gICAgbGV0IHNlYXJjaDogSHR0cFBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG5cbiAgICBmb3IgKGNvbnN0IGtleSBpbiByZXF1ZXN0UXVlcnlQYXJhbXMpIHtcbiAgICAgIGxldCB2YWx1ZTogYW55ID0gcmVxdWVzdFF1ZXJ5UGFyYW1zW2tleV07XG5cbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICB2YWx1ZS5mb3JFYWNoKGZ1bmN0aW9uICh2YWwpIHtcbiAgICAgICAgICBzZWFyY2ggPSBzZWFyY2guYXBwZW5kKGtleSwgdmFsKTtcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgIHZhbHVlID0gSlNPTi5zdHJpbmdpZnkodmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIHNlYXJjaCA9IHNlYXJjaC5hcHBlbmQoa2V5LCB2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHNlYXJjaDtcbiAgfVxuXG4gIHN0YXRpYyBjcmVhdGVSZXF1ZXN0SGVhZGVycyhoZWFkZXJzKSB7XG4gICAgZm9yIChjb25zdCBrZXkgaW4gaGVhZGVycykge1xuICAgICAgY29uc3QgdmFsdWU6IGFueSA9IGhlYWRlcnNba2V5XTtcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIGRlbGV0ZSBoZWFkZXJzW2tleV07XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBIdHRwSGVhZGVycyhhc3NpZ24oe30sIGhlYWRlcnMpKTtcbiAgfVxufVxuIl19