@ema/js-base-library
Version:
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 7.2.0.
240 lines • 14.4 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import * as tslib_1 from "tslib";
import { Util } from "../utils/util";
var Http = /** @class */ (function () {
function Http() {
this.optionsDefault = {
cache: 'no-cache',
// *default, no-cache, reload, force-cache, only-if-cached
credentials: 'same-origin',
// include, same-origin, *omit (default)
headers: {},
mode: 'same-origin',
// no-cors, cors, *same-origin (default),
method: 'GET',
};
this._interceptors = [];
}
/**
* @param {?} url
* @param {?=} options
* @return {?}
*/
Http.prototype.get = /**
* @param {?} url
* @param {?=} options
* @return {?}
*/
function (url, options) {
if (options === void 0) { options = {}; }
return tslib_1.__awaiter(this, void 0, void 0, function () {
var preflight;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0:
preflight = this.preflightGet(url, options);
return [4 /*yield*/, fetch(preflight.url, preflight.options)
.then((/**
* @param {?} response
* @return {?}
*/
function (response) { return response.json(); })) // or text() or blob() etc.
.then((/**
* @param {?} data
* @return {?}
*/
function (data) {
return data;
}))
.catch((/**
* @param {?} err
* @return {?}
*/
function (err) {
console.error(err);
}))];
case 1: return [2 /*return*/, _a.sent()];
}
});
});
};
/**
* @param {?} url
* @param {?} object
* @param {?} options
* @return {?}
*/
Http.prototype.put = /**
* @param {?} url
* @param {?} object
* @param {?} options
* @return {?}
*/
function (url, object, options) {
};
/**
* @param {?} url
* @param {?} object
* @param {?} options
* @return {?}
*/
Http.prototype.post = /**
* @param {?} url
* @param {?} object
* @param {?} options
* @return {?}
*/
function (url, object, options) {
};
/**
* @param {?} url
* @param {?} object
* @param {?} options
* @return {?}
*/
Http.prototype.delete = /**
* @param {?} url
* @param {?} object
* @param {?} options
* @return {?}
*/
function (url, object, options) {
};
/**
* @param {?} url
* @param {?=} options
* @return {?}
*/
Http.prototype.preflightGet = /**
* @param {?} url
* @param {?=} options
* @return {?}
*/
function (url, options) {
if (options === void 0) { options = {}; }
/** @type {?} */
var defaults = Util.copy(this.optionsDefault);
options = tslib_1.__assign({}, defaults, options);
if (options.params) {
url += (url.indexOf('?') === -1 ? '?' : '&') + this.queryParams(options.params);
delete options.params;
}
/** @type {?} */
var parsed = this.applyInterceptors({ type: 'request', url: url, options: options });
url = parsed[0];
options = parsed[1];
return { url: url, options: options };
};
/**
* @param {?} params
* @return {?}
*/
Http.prototype.queryParams = /**
* @param {?} params
* @return {?}
*/
function (params) {
return Object.keys(params)
.map((/**
* @param {?} k
* @return {?}
*/
function (k) { return encodeURIComponent(k) + '=' + encodeURIComponent(params[k]); }))
.join('&');
};
/**
* @param {?} options
* @return {?}
*/
Http.prototype.applyInterceptors = /**
* @param {?} options
* @return {?}
*/
function (options) {
/** @type {?} */
var parsed;
if (options.type === 'request') {
parsed = [options.url, options.options];
this.interceptors.forEach((/**
* @param {?} interceptor
* @return {?}
*/
function (interceptor) {
if (interceptor.request) {
parsed = interceptor.request(parsed[0], parsed[1]);
// console.log(parsed.url);
// if(parsed.url !== options.url) {}
}
}));
return parsed;
}
};
/**
* @return {?}
*/
Http.prototype.flushInterceptors = /**
* @return {?}
*/
function () {
this._interceptors = [];
};
/**
* @param {?} obj
* @return {?}
*/
Http.prototype.registerInterceptor = /**
* @param {?} obj
* @return {?}
*/
function (obj) {
this._interceptors.push(obj);
};
/**
* @param {?} obj
* @return {?}
*/
Http.prototype.unregisterInterceptor = /**
* @param {?} obj
* @return {?}
*/
function (obj) {
var _this = this;
/** @type {?} */
var i = 0;
this._interceptors.forEach((/**
* @param {?} interceptor
* @return {?}
*/
function (interceptor) {
if (interceptor === obj) {
_this._interceptors.splice(i, 1);
}
i++;
}));
};
Object.defineProperty(Http.prototype, "interceptors", {
get: /**
* @return {?}
*/
function () {
return this._interceptors;
},
enumerable: true,
configurable: true
});
return Http;
}());
export { Http };
if (false) {
/** @type {?} */
Http.prototype.optionsDefault;
/**
* @type {?}
* @private
*/
Http.prototype._interceptors;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BlbWEvanMtYmFzZS1saWJyYXJ5LyIsInNvdXJjZXMiOlsibGliL2h0dHAvaHR0cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFbkM7SUFhSTtRQVhPLG1CQUFjLEdBQUc7WUFDcEIsS0FBSyxFQUFFLFVBQVU7O1lBQ2pCLFdBQVcsRUFBRSxhQUFhOztZQUMxQixPQUFPLEVBQUcsRUFBRTtZQUNaLElBQUksRUFBRSxhQUFhOztZQUNuQixNQUFNLEVBQUUsS0FBSztTQUdoQixDQUFDO1FBQ00sa0JBQWEsR0FBRyxFQUFFLENBQUM7SUFFWCxDQUFDOzs7Ozs7SUFFWCxrQkFBRzs7Ozs7SUFBVCxVQUFVLEdBQVcsRUFBRSxPQUFpQjtRQUFqQix3QkFBQSxFQUFBLFlBQWlCOzs7Ozs7d0JBRWhDLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUM7d0JBRXhDLHFCQUFNLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUM7aUNBQy9DLElBQUk7Ozs7NEJBQUMsVUFBQSxRQUFRLElBQUksT0FBQSxRQUFRLENBQUMsSUFBSSxFQUFFLEVBQWYsQ0FBZSxFQUFDLENBQUMsMkJBQTJCO2lDQUM3RCxJQUFJOzs7OzRCQUFDLFVBQUEsSUFBSTtnQ0FDTixPQUFPLElBQUksQ0FBQTs0QkFDZixDQUFDLEVBQUM7aUNBQ0QsS0FBSzs7Ozs0QkFBQyxVQUFBLEdBQUc7Z0NBQ04sT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQzs0QkFDdkIsQ0FBQyxFQUFDLEVBQUE7NEJBUE4sc0JBQU8sU0FPRCxFQUFDOzs7O0tBQ1Y7Ozs7Ozs7SUFFRCxrQkFBRzs7Ozs7O0lBQUgsVUFBSSxHQUFXLEVBQUUsTUFBVyxFQUFFLE9BQVk7SUFFMUMsQ0FBQzs7Ozs7OztJ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Q0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDO2FBQUU7WUFDM0QsQ0FBQyxFQUFFLENBQUM7UUFDUixDQUFDLEVBQUMsQ0FBQTtJQUNOLENBQUM7SUFFRCxzQkFBSSw4QkFBWTs7OztRQUFoQjtZQUNJLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUM5QixDQUFDOzs7T0FBQTtJQUlMLFdBQUM7QUFBRCxDQUFDLEFBcEdELElBb0dDOzs7O0lBbEdHLDhCQVFFOzs7OztJQUNGLDZCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VXRpbH0gZnJvbSBcIi4uL3V0aWxzL3V0aWxcIjtcblxuZXhwb3J0IGNsYXNzIEh0dHAge1xuXG4gICAgcHVibGljIG9wdGlvbnNEZWZhdWx0ID0ge1xuICAgICAgICBjYWNoZTogJ25vLWNhY2hlJywgLy8gKmRlZmF1bHQsIG5vLWNhY2hlLCByZWxvYWQsIGZvcmNlLWNhY2hlLCBvbmx5LWlmLWNhY2hlZFxuICAgICAgICBjcmVkZW50aWFsczogJ3NhbWUtb3JpZ2luJywgLy8gaW5jbHVkZSwgc2FtZS1vcmlnaW4sICpvbWl0IChkZWZhdWx0KVxuICAgICAgICBoZWFkZXJzOiAge30sXG4gICAgICAgIG1vZGU6ICdzYW1lLW9yaWdpbicsIC8vIG5vLWNvcnMsIGNvcnMsICpzYW1lLW9yaWdpbiAoZGVmYXVsdCksXG4gICAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICAgIC8vIHJlZGlyZWN0OiAnZm9sbG93JywgLy8gbWFudWFsLCAqZm9sbG93IChkZWZhdWx0KSwgZXJyb3JcbiAgICAgICAgLy8gcmVmZXJyZXI6ICduby1yZWZlcnJlcicsIC8vICpjbGllbnQgKGRlZmF1bHQpLCBuby1yZWZlcnJlclxuICAgIH07XG4gICAgcHJpdmF0ZSBfaW50ZXJjZXB0b3JzID0gW107XG5cbiAgICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gICAgYXN5bmMgZ2V0KHVybDogc3RyaW5nLCBvcHRpb25zOiBhbnkgPSB7fSkge1xuXG4gICAgICAgIGxldCBwcmVmbGlnaHQgPSB0aGlzLnByZWZsaWdodEdldCh1cmwsIG9wdGlvbnMpXG5cbiAgICAgICAgcmV0dXJuIGF3YWl0IGZldGNoKHByZWZsaWdodC51cmwsIHByZWZsaWdodC5vcHRpb25zKVxuICAgICAgICAgICAgLnRoZW4ocmVzcG9uc2UgPT4gcmVzcG9uc2UuanNvbigpKSAvLyBvciB0ZXh0KCkgb3IgYmxvYigpIGV0Yy5cbiAgICAgICAgICAgIC50aGVuKGRhdGEgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBkYXRhXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmNhdGNoKGVyciA9PiB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHV0KHVybDogc3RyaW5nLCBvYmplY3Q6IGFueSwgb3B0aW9uczogYW55KSB7XG5cbiAgICB9XG5cbiAgICBwb3N0KHVybDogc3RyaW5nLCBvYmplY3Q6IGFueSwgb3B0aW9uczogYW55KSB7XG5cbiAgICB9XG5cbiAgICBkZWxldGUodXJsOiBzdHJpbmcsIG9iamVjdDogYW55LCBvcHRpb25zOiBhbnkpIHtcblxuICAgIH1cblxuICAgIHByZWZsaWdodEdldCh1cmw6IHN0cmluZywgb3B0aW9uczogYW55ID0ge30pIHtcbiAgICAgICAgbGV0IGRlZmF1bHRzID0gVXRpbC5jb3B5KHRoaXMub3B0aW9uc0RlZmF1bHQpO1xuICAgICAgICBvcHRpb25zID0ge1xuICAgICAgICAgICAgLi4uZGVmYXVsdHMsXG4gICAgICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICB9O1xuICAgICAgICBpZihvcHRpb25zLnBhcmFtcykge1xuICAgICAgICAgICAgdXJsICs9ICh1cmwuaW5kZXhPZignPycpID09PSAtMSA/ICc/JyA6ICcmJykgKyB0aGlzLnF1ZXJ5UGFyYW1zKG9wdGlvbnMucGFyYW1zKTtcbiAgICAgICAgICAgIGRlbGV0ZSBvcHRpb25zLnBhcmFtcztcbiAgICAgICAgfVxuICAgICAgICBsZXQgcGFyc2VkID0gdGhpcy5hcHBseUludGVyY2VwdG9ycyh7dHlwZToncmVxdWVzdCcsIHVybDogdXJsLCBvcHRpb25zOiBvcHRpb25zfSk7XG4gICAgICAgIHVybCA9IHBhcnNlZFswXTtcbiAgICAgICAgb3B0aW9ucyA9IHBhcnNlZFsxXTtcbiAgICAgICAgcmV0dXJuIHt1cmw6dXJsLCBvcHRpb25zOiBvcHRpb25zfVxuICAgIH1cblxuICAgIHF1ZXJ5UGFyYW1zKHBhcmFtcykge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMocGFyYW1zKVxuICAgICAgICAgICAgLm1hcChrID0+IGVuY29kZVVSSUNvbXBvbmVudChrKSArICc9JyArIGVuY29kZVVSSUNvbXBvbmVudChwYXJhbXNba10pKVxuICAgICAgICAgICAgLmpvaW4oJyYnKTtcbiAgICB9XG5cbiAgICBhcHBseUludGVyY2VwdG9ycyhvcHRpb25zKSB7XG4gICAgICAgIGxldCBwYXJzZWQ6IGFueTtcbiAgICAgICAgaWYob3B0aW9ucy50eXBlID09PSAncmVxdWVzdCcpIHtcbiAgICAgICAgICAgIHBhcnNlZCA9IFtvcHRpb25zLnVybCwgb3B0aW9ucy5vcHRpb25zXTtcbiAgICAgICAgICAgIHRoaXMuaW50ZXJjZXB0b3JzLmZvckVhY2goKGludGVyY2VwdG9yKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYoaW50ZXJjZXB0b3IucmVxdWVzdCkge1xuICAgICAgICAgICAgICAgICAgICBwYXJzZWQgPSBpbnRlcmNlcHRvci5yZXF1ZXN0KHBhcnNlZFswXSwgcGFyc2VkWzFdKVxuICAgICAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhwYXJzZWQudXJsKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gaWYocGFyc2VkLnVybCAhPT0gb3B0aW9ucy51cmwpIHt9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gcGFyc2VkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZmx1c2hJbnRlcmNlcHRvcnMoKSB7XG4gICAgICAgIHRoaXMuX2ludGVyY2VwdG9ycyA9IFtdO1xuICAgIH1cblxuICAgIHJlZ2lzdGVySW50ZXJjZXB0b3Iob2JqOiBhbnkpIHtcbiAgICAgICAgdGhpcy5faW50ZXJjZXB0b3JzLnB1c2gob2JqKTtcbiAgICB9XG5cbiAgICB1bnJlZ2lzdGVySW50ZXJjZXB0b3Iob2JqOiBhbnkpIHtcbiAgICAgICAgbGV0IGkgPSAwO1xuICAgICAgICB0aGlzLl9pbnRlcmNlcHRvcnMuZm9yRWFjaCgoaW50ZXJjZXB0b3IpID0+IHtcbiAgICAgICAgICAgIGlmKGludGVyY2VwdG9yID09PSBvYmopIHsgdGhpcy5faW50ZXJjZXB0b3JzLnNwbGljZShpLDEpOyB9XG4gICAgICAgICAgICBpKys7XG4gICAgICAgIH0pXG4gICAgfVxuXG4gICAgZ2V0IGludGVyY2VwdG9ycyAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pbnRlcmNlcHRvcnM7XG4gICAgfVxuXG5cblxufVxuIl19