@react-mvi/http
Version:
Http IO module for React MVI.
54 lines (53 loc) • 2.16 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
*/
import { ResponseObjectType } from './types';
export class HttpResponseImpl {
constructor(_ok, _status, _headers, _response, _error = null) {
this._ok = _ok;
this._status = _status;
this._headers = _headers;
this._response = _response;
this._error = _error;
this.type = ResponseObjectType.RESPONSE;
}
get ok() { return this._ok; }
get headers() { return this._headers; }
get status() { return this._status; }
get response() { return this._response; }
get error() { return this._error; }
}
export class HttpUploadProgressImpl {
constructor(event, xhr) {
this.event = event;
this.xhr = xhr;
this.type = ResponseObjectType.UPLOAD_PROGRESS;
}
get percent() {
return this.event.loaded / this.event.total;
}
get total() {
return this.event.total;
}
get loaded() {
return this.event.loaded;
}
cancel() {
this.xhr.abort();
}
}