ngx-restangular
Version:
84 lines • 8.1 kB
JavaScript
/**
* @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