@react-mvi/http
Version:
Http IO module for React MVI.
93 lines (92 loc) • 3.71 kB
JavaScript
;
/**
* The MIT License (MIT)
* Copyright (c) Taketoshi Aono
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
* @fileoverview
* @author Taketoshi Aono
*/
Object.defineProperty(exports, "__esModule", { value: true });
var types_1 = require("./types");
var HttpResponseImpl = /** @class */ (function () {
function HttpResponseImpl(_ok, _status, _headers, _response, _error) {
if (_error === void 0) { _error = null; }
this._ok = _ok;
this._status = _status;
this._headers = _headers;
this._response = _response;
this._error = _error;
this.type = types_1.ResponseObjectType.RESPONSE;
}
Object.defineProperty(HttpResponseImpl.prototype, "ok", {
get: function () { return this._ok; },
enumerable: true,
configurable: true
});
Object.defineProperty(HttpResponseImpl.prototype, "headers", {
get: function () { return this._headers; },
enumerable: true,
configurable: true
});
Object.defineProperty(HttpResponseImpl.prototype, "status", {
get: function () { return this._status; },
enumerable: true,
configurable: true
});
Object.defineProperty(HttpResponseImpl.prototype, "response", {
get: function () { return this._response; },
enumerable: true,
configurable: true
});
Object.defineProperty(HttpResponseImpl.prototype, "error", {
get: function () { return this._error; },
enumerable: true,
configurable: true
});
return HttpResponseImpl;
}());
exports.HttpResponseImpl = HttpResponseImpl;
var HttpUploadProgressImpl = /** @class */ (function () {
function HttpUploadProgressImpl(event, xhr) {
this.event = event;
this.xhr = xhr;
this.type = types_1.ResponseObjectType.UPLOAD_PROGRESS;
}
Object.defineProperty(HttpUploadProgressImpl.prototype, "percent", {
get: function () {
return this.event.loaded / this.event.total;
},
enumerable: true,
configurable: true
});
Object.defineProperty(HttpUploadProgressImpl.prototype, "total", {
get: function () {
return this.event.total;
},
enumerable: true,
configurable: true
});
Object.defineProperty(HttpUploadProgressImpl.prototype, "loaded", {
get: function () {
return this.event.loaded;
},
enumerable: true,
configurable: true
});
HttpUploadProgressImpl.prototype.cancel = function () {
this.xhr.abort();
};
return HttpUploadProgressImpl;
}());
exports.HttpUploadProgressImpl = HttpUploadProgressImpl;