react-fileupload-progress
Version:
React component which render progress of fileupload
1,376 lines (1,159 loc) • 2.23 MB
JavaScript
(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
'use strict';
require("core-js/modules/es.symbol");
require("core-js/modules/es.symbol.description");
require("core-js/modules/es.symbol.iterator");
require("core-js/modules/es.array.iterator");
require("core-js/modules/es.function.bind");
require("core-js/modules/es.object.assign");
require("core-js/modules/es.object.create");
require("core-js/modules/es.object.define-property");
require("core-js/modules/es.object.get-prototype-of");
require("core-js/modules/es.object.set-prototype-of");
require("core-js/modules/es.object.to-string");
require("core-js/modules/es.string.iterator");
require("core-js/modules/web.dom-collections.iterator");
var _react = _interopRequireDefault(require("react"));
var _reactDom = _interopRequireDefault(require("react-dom"));
var _index = _interopRequireDefault(require("../lib/index"));
var _bsButton;
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
//allow react dev tools work
window.React = _react["default"];
var styles = {
progressWrapper: {
height: '50px',
marginTop: '10px',
width: '400px',
"float": 'left',
overflow: 'hidden',
backgroundColor: '#f5f5f5',
borderRadius: '4px',
WebkitBoxShadow: 'inset 0 1px 2px rgba(0,0,0,.1)',
boxShadow: 'inset 0 1px 2px rgba(0,0,0,.1)'
},
progressBar: {
"float": 'left',
width: '0',
height: '100%',
fontSize: '12px',
lineHeight: '20px',
color: '#fff',
textAlign: 'center',
backgroundColor: '#5cb85c',
WebkitBoxShadow: 'inset 0 -1px 0 rgba(0,0,0,.15)',
boxShadow: 'inset 0 -1px 0 rgba(0,0,0,.15)',
WebkitTransition: 'width .6s ease',
Otransition: 'width .6s ease',
transition: 'width .6s ease'
},
cancelButton: {
marginTop: '5px',
WebkitAppearance: 'none',
padding: 0,
cursor: 'pointer',
background: '0 0',
border: 0,
"float": 'left',
fontSize: '21px',
fontWeight: 700,
lineHeight: 1,
color: '#000',
textShadow: '0 1px 0 #fff',
filter: 'alpha(opacity=20)',
opacity: '.2'
},
bslabel: {
display: 'inline-block',
maxWidth: '100%',
marginBottom: '5px',
fontWeight: 700
},
bsHelp: {
display: 'block',
marginTop: '5px',
marginBottom: '10px',
color: '#737373'
},
bsButton: (_bsButton = {
padding: '1px 5px',
fontSize: '12px',
lineHeight: '1.5',
borderRadius: '3px',
color: '#fff',
backgroundColor: '#337ab7',
borderColor: '#2e6da4',
display: 'inline-block'
}, _defineProperty(_bsButton, "padding", '6px 12px'), _defineProperty(_bsButton, "marginBottom", 0), _defineProperty(_bsButton, "fontWeight", 400), _defineProperty(_bsButton, "textAlign", 'center'), _defineProperty(_bsButton, "whiteSpace", 'nowrap'), _defineProperty(_bsButton, "verticalAlign", 'middle'), _defineProperty(_bsButton, "touchAction", 'manipulation'), _defineProperty(_bsButton, "cursor", 'pointer'), _defineProperty(_bsButton, "WebkitUserSelect", 'none'), _defineProperty(_bsButton, "MozUserSelect", 'none'), _defineProperty(_bsButton, "msUserSelect", 'none'), _defineProperty(_bsButton, "userSelect", 'none'), _defineProperty(_bsButton, "backgroundImage", 'none'), _defineProperty(_bsButton, "border", '1px solid transparent'), _bsButton)
};
var App =
/*#__PURE__*/
function (_React$Component) {
_inherits(App, _React$Component);
function App(props) {
var _this;
_classCallCheck(this, App);
_this = _possibleConstructorReturn(this, _getPrototypeOf(App).call(this, props));
_this.state = {};
return _this;
}
_createClass(App, [{
key: "formGetter",
value: function formGetter() {
return new FormData(document.getElementById('customForm'));
}
}, {
key: "customFormRenderer",
value: function customFormRenderer(onSubmit) {
return _react["default"].createElement("form", {
id: "customForm",
style: {
marginBottom: '15px'
}
}, _react["default"].createElement("label", {
style: styles.bslabel,
htmlFor: "exampleInputFile"
}, "File input"), _react["default"].createElement("input", {
style: {
display: 'block'
},
type: "file",
name: "file",
id: "exampleInputFile"
}), _react["default"].createElement("p", {
style: styles.bsHelp
}, "This is custom form."), _react["default"].createElement("button", {
type: "button",
style: styles.bsButton,
onClick: onSubmit
}, "Upload"));
}
}, {
key: "customProgressRenderer",
value: function customProgressRenderer(progress, hasError, cancelHandler) {
if (hasError || progress > -1) {
var barStyle = Object.assign({}, styles.progressBar);
barStyle.width = progress + '%';
var message = _react["default"].createElement("span", null, barStyle.width);
if (hasError) {
barStyle.backgroundColor = '#d9534f';
message = _react["default"].createElement("span", {
style: {
'color': '#a94442'
}
}, "Failed to upload ...");
}
if (progress === 100) {
message = _react["default"].createElement("span", null, "Done");
}
return _react["default"].createElement("div", null, _react["default"].createElement("div", {
style: styles.progressWrapper
}, _react["default"].createElement("div", {
style: barStyle
})), _react["default"].createElement("button", {
style: styles.cancelButton,
onClick: cancelHandler
}, _react["default"].createElement("span", null, "\xD7")), _react["default"].createElement("div", {
style: {
'clear': 'left'
}
}, message));
} else {
return;
}
}
}, {
key: "render",
value: function render() {
return _react["default"].createElement("div", null, _react["default"].createElement("h3", null, "Default style"), _react["default"].createElement(_index["default"], {
key: "ex1",
url: "http://localhost:3000/api/upload",
method: "post",
onProgress: function onProgress(e, request, progress) {
console.log('progress', e, request, progress);
},
onLoad: function onLoad(e, request) {
console.log('load', e, request);
},
onError: function onError(e, request) {
console.log('error', e, request);
},
onAbort: function onAbort(e, request) {
console.log('abort', e, request);
}
}), _react["default"].createElement("hr", {
style: {
marginTop: '80px'
}
}), _react["default"].createElement("h3", null, "Custome rederer"), _react["default"].createElement(_index["default"], {
key: "ex2",
url: "http://localhost:3000/api/upload",
method: "post",
onProgress: function onProgress(e, request, progress) {
console.log('progress', e, request, progress);
},
onLoad: function onLoad(e, request) {
console.log('load', e, request);
},
onError: function onError(e, request) {
console.log('error', e, request);
},
onAbort: function onAbort(e, request) {
console.log('abort', e, request);
},
formGetter: this.formGetter.bind(this),
formRenderer: this.customFormRenderer.bind(this),
progressRenderer: this.customProgressRenderer.bind(this)
}));
}
}]);
return App;
}(_react["default"].Component);
;
_reactDom["default"].render(_react["default"].createElement(App, null), document.getElementById('out'));
},{"../lib/index":3,"core-js/modules/es.array.iterator":77,"core-js/modules/es.function.bind":78,"core-js/modules/es.object.assign":79,"core-js/modules/es.object.create":80,"core-js/modules/es.object.define-property":81,"core-js/modules/es.object.get-prototype-of":82,"core-js/modules/es.object.set-prototype-of":83,"core-js/modules/es.object.to-string":84,"core-js/modules/es.string.iterator":86,"core-js/modules/es.symbol":89,"core-js/modules/es.symbol.description":87,"core-js/modules/es.symbol.iterator":88,"core-js/modules/web.dom-collections.iterator":90,"react":125,"react-dom":117}],2:[function(require,module,exports){
'use strict';
require("core-js/modules/es.symbol");
require("core-js/modules/es.symbol.description");
require("core-js/modules/es.symbol.iterator");
require("core-js/modules/es.array.iterator");
require("core-js/modules/es.function.bind");
require("core-js/modules/es.object.create");
require("core-js/modules/es.object.define-property");
require("core-js/modules/es.object.get-prototype-of");
require("core-js/modules/es.object.set-prototype-of");
require("core-js/modules/es.object.to-string");
require("core-js/modules/es.parse-int");
require("core-js/modules/es.string.iterator");
require("core-js/modules/web.dom-collections.iterator");
function _typeof2(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof2(obj); }
require("core-js/modules/es.symbol");
require("core-js/modules/es.symbol.description");
require("core-js/modules/es.symbol.iterator");
require("core-js/modules/es.array.iterator");
require("core-js/modules/es.function.bind");
require("core-js/modules/es.object.create");
require("core-js/modules/es.object.define-property");
require("core-js/modules/es.object.get-prototype-of");
require("core-js/modules/es.object.set-prototype-of");
require("core-js/modules/es.object.to-string");
require("core-js/modules/es.parse-int");
require("core-js/modules/es.string.iterator");
require("core-js/modules/web.dom-collections.iterator");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _events = require("events");
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _reactDom = _interopRequireDefault(require("react-dom"));
var _objectAssign = _interopRequireDefault(require("object-assign"));
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
"default": obj
};
}
function _typeof(obj) {
if (typeof Symbol === "function" && _typeof2(Symbol.iterator) === "symbol") {
_typeof = function _typeof(obj) {
return _typeof2(obj);
};
} else {
_typeof = function _typeof(obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : _typeof2(obj);
};
}
return _typeof(obj);
}
function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}
function _defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];
descriptor.enumerable = descriptor.enumerable || false;
descriptor.configurable = true;
if ("value" in descriptor) descriptor.writable = true;
Object.defineProperty(target, descriptor.key, descriptor);
}
}
function _createClass(Constructor, protoProps, staticProps) {
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
if (staticProps) _defineProperties(Constructor, staticProps);
return Constructor;
}
function _possibleConstructorReturn(self, call) {
if (call && (_typeof(call) === "object" || typeof call === "function")) {
return call;
}
return _assertThisInitialized(self);
}
function _assertThisInitialized(self) {
if (self === void 0) {
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
}
return self;
}
function _getPrototypeOf(o) {
_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
return o.__proto__ || Object.getPrototypeOf(o);
};
return _getPrototypeOf(o);
}
function _inherits(subClass, superClass) {
if (typeof superClass !== "function" && superClass !== null) {
throw new TypeError("Super expression must either be null or a function");
}
subClass.prototype = Object.create(superClass && superClass.prototype, {
constructor: {
value: subClass,
writable: true,
configurable: true
}
});
if (superClass) _setPrototypeOf(subClass, superClass);
}
function _setPrototypeOf(o, p) {
_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
o.__proto__ = p;
return o;
};
return _setPrototypeOf(o, p);
}
var styles = {
progressWrapper: {
height: '10px',
marginTop: '10px',
width: '400px',
"float": 'left',
overflow: 'hidden',
backgroundColor: '#f5f5f5',
borderRadius: '4px',
WebkitBoxShadow: 'inset 0 1px 2px rgba(0,0,0,.1)',
boxShadow: 'inset 0 1px 2px rgba(0,0,0,.1)'
},
progressBar: {
"float": 'left',
width: '0',
height: '100%',
fontSize: '12px',
lineHeight: '20px',
color: '#fff',
textAlign: 'center',
backgroundColor: '#337ab7',
WebkitBoxShadow: 'inset 0 -1px 0 rgba(0,0,0,.15)',
boxShadow: 'inset 0 -1px 0 rgba(0,0,0,.15)',
WebkitTransition: 'width .6s ease',
Otransition: 'width .6s ease',
transition: 'width .6s ease'
},
cancelButton: {
marginTop: '5px',
WebkitAppearance: 'none',
padding: 0,
cursor: 'pointer',
background: '0 0',
border: 0,
"float": 'left',
fontSize: '21px',
fontWeight: 700,
lineHeight: 1,
color: '#000',
textShadow: '0 1px 0 #fff',
filter: 'alpha(opacity=20)',
opacity: '.2'
}
};
var FileUploadProgress =
/*#__PURE__*/
function (_React$Component) {
_inherits(FileUploadProgress, _React$Component);
function FileUploadProgress(props) {
var _this;
_classCallCheck(this, FileUploadProgress);
_this = _possibleConstructorReturn(this, _getPrototypeOf(FileUploadProgress).call(this, props));
_this.proxy = new _events.EventEmitter();
_this.state = {
progress: -1,
hasError: false
};
return _this;
}
_createClass(FileUploadProgress, [{
key: "cancelUpload",
value: function cancelUpload() {
this.proxy.emit('abort');
this.setState({
progress: -1,
hasError: false
});
}
}, {
key: "onSubmit",
value: function onSubmit(e) {
e.preventDefault();
this.setState({
progress: 0,
hasError: false
}, this._doUpload);
}
}, {
key: "render",
value: function render() {
var formElement = this.props.formRenderer(this.onSubmit.bind(this));
var progessElement = this.props.progressRenderer(this.state.progress, this.state.hasError, this.cancelUpload.bind(this));
return _react["default"].createElement("div", null, formElement, progessElement);
}
}, {
key: "_getFormData",
value: function _getFormData() {
if (this.props.formGetter) {
return this.props.formGetter();
}
return new FormData(_reactDom["default"].findDOMNode(this.refs.form));
}
}, {
key: "_doUpload",
value: function _doUpload() {
var _this2 = this;
var form = this._getFormData();
var req = new XMLHttpRequest();
req.open(this.props.method, this.props.url);
req.addEventListener('load', function (e) {
_this2.proxy.removeAllListeners(['abort']);
var newState = {
progress: 100
};
if (req.status >= 200 && req.status <= 299) {
_this2.setState(newState, function () {
_this2.props.onLoad(e, req);
});
} else {
newState.hasError = true;
_this2.setState(newState, function () {
_this2.props.onError(e, req);
});
}
}, false);
req.addEventListener('error', function (e) {
_this2.setState({
hasError: true
}, function () {
_this2.props.onError(e, req);
});
}, false);
req.upload.addEventListener('progress', function (e) {
var progress = 0;
if (e.total !== 0) {
progress = parseInt(e.loaded / e.total * 100, 10);
}
_this2.setState({
progress: progress
}, function () {
_this2.props.onProgress(e, req, progress);
});
}, false);
req.addEventListener('abort', function (e) {
_this2.setState({
progress: -1
}, function () {
_this2.props.onAbort(e, req);
});
}, false);
this.proxy.once('abort', function () {
req.abort();
});
this.props.beforeSend(req).send(this.props.formCustomizer(form));
}
}]);
return FileUploadProgress;
}(_react["default"].Component);
FileUploadProgress.propTypes = {
url: _propTypes["default"].string.isRequired,
method: _propTypes["default"].string.isRequired,
formGetter: _propTypes["default"].func,
formRenderer: _propTypes["default"].func,
progressRenderer: _propTypes["default"].func,
formCustomizer: _propTypes["default"].func,
beforeSend: _propTypes["default"].func,
onProgress: _propTypes["default"].func,
onLoad: _propTypes["default"].func,
onError: _propTypes["default"].func,
onAbort: _propTypes["default"].func
};
FileUploadProgress.defaultProps = {
formRenderer: function formRenderer(onSubmit) {
return _react["default"].createElement("form", {
className: "_react_fileupload_form_content",
ref: "form",
method: "post",
onSubmit: onSubmit
}, _react["default"].createElement("div", null, _react["default"].createElement("input", {
type: "file",
name: "file"
})), _react["default"].createElement("input", {
type: "submit"
}));
},
progressRenderer: function progressRenderer(progress, hasError, cancelHandler) {
if (hasError || progress > -1) {
var barStyle = (0, _objectAssign["default"])({}, styles.progressBar);
barStyle.width = "".concat(progress, "%");
var message = _react["default"].createElement("span", null, "Uploading ...");
if (hasError) {
barStyle.backgroundColor = '#d9534f';
message = _react["default"].createElement("span", {
style: {
color: '#a94442'
}
}, "Failed to upload ...");
} else if (progress === 100) {
message = _react["default"].createElement("span", null, "Successfully uploaded");
}
return _react["default"].createElement("div", {
className: "_react_fileupload_progress_content"
}, _react["default"].createElement("div", {
style: styles.progressWrapper
}, _react["default"].createElement("div", {
className: "_react_fileupload_progress_bar",
style: barStyle
})), _react["default"].createElement("button", {
className: "_react_fileupload_progress_cancel",
style: styles.cancelButton,
onClick: cancelHandler
}, _react["default"].createElement("span", null, "\xD7")), _react["default"].createElement("div", {
style: {
clear: 'left'
}
}, message));
}
return '';
},
formCustomizer: function formCustomizer(form) {
return form;
},
beforeSend: function beforeSend(request) {
return request;
},
onProgress: function onProgress(e, request, progress) {},
onLoad: function onLoad(e, request) {},
onError: function onError(e, request) {},
onAbort: function onAbort(e, request) {}
};
var _default = FileUploadProgress;
exports["default"] = _default;
},{"core-js/modules/es.array.iterator":77,"core-js/modules/es.function.bind":78,"core-js/modules/es.object.create":80,"core-js/modules/es.object.define-property":81,"core-js/modules/es.object.get-prototype-of":82,"core-js/modules/es.object.set-prototype-of":83,"core-js/modules/es.object.to-string":84,"core-js/modules/es.parse-int":85,"core-js/modules/es.string.iterator":86,"core-js/modules/es.symbol":89,"core-js/modules/es.symbol.description":87,"core-js/modules/es.symbol.iterator":88,"core-js/modules/web.dom-collections.iterator":90,"events":91,"object-assign":108,"prop-types":113,"react":125,"react-dom":117}],3:[function(require,module,exports){
"use strict";
require("core-js/modules/es.object.define-property");
require("core-js/modules/es.object.define-property");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _FileUploadProgress = _interopRequireDefault(require("./components/FileUploadProgress"));
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
"default": obj
};
}
var _default = _FileUploadProgress["default"];
exports["default"] = _default;
},{"./components/FileUploadProgress":2,"core-js/modules/es.object.define-property":81}],4:[function(require,module,exports){
module.exports = function (it) {
if (typeof it != 'function') {
throw TypeError(String(it) + ' is not a function');
} return it;
};
},{}],5:[function(require,module,exports){
var wellKnownSymbol = require('../internals/well-known-symbol');
var create = require('../internals/object-create');
var hide = require('../internals/hide');
var UNSCOPABLES = wellKnownSymbol('unscopables');
var ArrayPrototype = Array.prototype;
// Array.prototype[@@unscopables]
// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
if (ArrayPrototype[UNSCOPABLES] == undefined) {
hide(ArrayPrototype, UNSCOPABLES, create(null));
}
// add a key to Array.prototype[@@unscopables]
module.exports = function (key) {
ArrayPrototype[UNSCOPABLES][key] = true;
};
},{"../internals/hide":28,"../internals/object-create":42,"../internals/well-known-symbol":74}],6:[function(require,module,exports){
var isObject = require('../internals/is-object');
module.exports = function (it) {
if (!isObject(it)) {
throw TypeError(String(it) + ' is not an object');
} return it;
};
},{"../internals/is-object":35}],7:[function(require,module,exports){
var toIndexedObject = require('../internals/to-indexed-object');
var toLength = require('../internals/to-length');
var toAbsoluteIndex = require('../internals/to-absolute-index');
// `Array.prototype.{ indexOf, includes }` methods implementation
// false -> Array#indexOf
// https://tc39.github.io/ecma262/#sec-array.prototype.indexof
// true -> Array#includes
// https://tc39.github.io/ecma262/#sec-array.prototype.includes
module.exports = function (IS_INCLUDES) {
return function ($this, el, fromIndex) {
var O = toIndexedObject($this);
var length = toLength(O.length);
var index = toAbsoluteIndex(fromIndex, length);
var value;
// Array#includes uses SameValueZero equality algorithm
// eslint-disable-next-line no-self-compare
if (IS_INCLUDES && el != el) while (length > index) {
value = O[index++];
// eslint-disable-next-line no-self-compare
if (value != value) return true;
// Array#indexOf ignores holes, Array#includes - not
} else for (;length > index; index++) if (IS_INCLUDES || index in O) {
if (O[index] === el) return IS_INCLUDES || index || 0;
} return !IS_INCLUDES && -1;
};
};
},{"../internals/to-absolute-index":66,"../internals/to-indexed-object":67,"../internals/to-length":69}],8:[function(require,module,exports){
var toString = {}.toString;
module.exports = function (it) {
return toString.call(it).slice(8, -1);
};
},{}],9:[function(require,module,exports){
var classofRaw = require('../internals/classof-raw');
var wellKnownSymbol = require('../internals/well-known-symbol');
var TO_STRING_TAG = wellKnownSymbol('toStringTag');
// ES3 wrong here
var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';
// fallback for IE11 Script Access Denied error
var tryGet = function (it, key) {
try {
return it[key];
} catch (error) { /* empty */ }
};
// getting tag from ES6+ `Object.prototype.toString`
module.exports = function (it) {
var O, tag, result;
return it === undefined ? 'Undefined' : it === null ? 'Null'
// @@toStringTag case
: typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag
// builtinTag case
: CORRECT_ARGUMENTS ? classofRaw(O)
// ES3 arguments fallback
: (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;
};
},{"../internals/classof-raw":8,"../internals/well-known-symbol":74}],10:[function(require,module,exports){
var has = require('../internals/has');
var ownKeys = require('../internals/own-keys');
var getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');
var definePropertyModule = require('../internals/object-define-property');
module.exports = function (target, source) {
var keys = ownKeys(source);
var defineProperty = definePropertyModule.f;
var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
for (var i = 0; i < keys.length; i++) {
var key = keys[i];
if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
}
};
},{"../internals/has":26,"../internals/object-define-property":44,"../internals/object-get-own-property-descriptor":45,"../internals/own-keys":55}],11:[function(require,module,exports){
var fails = require('../internals/fails');
module.exports = !fails(function () {
function F() { /* empty */ }
F.prototype.constructor = null;
return Object.getPrototypeOf(new F()) !== F.prototype;
});
},{"../internals/fails":22}],12:[function(require,module,exports){
'use strict';
var IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;
var create = require('../internals/object-create');
var createPropertyDescriptor = require('../internals/create-property-descriptor');
var setToStringTag = require('../internals/set-to-string-tag');
var Iterators = require('../internals/iterators');
var returnThis = function () { return this; };
module.exports = function (IteratorConstructor, NAME, next) {
var TO_STRING_TAG = NAME + ' Iterator';
IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });
setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);
Iterators[TO_STRING_TAG] = returnThis;
return IteratorConstructor;
};
},{"../internals/create-property-descriptor":13,"../internals/iterators":38,"../internals/iterators-core":37,"../internals/object-create":42,"../internals/set-to-string-tag":61}],13:[function(require,module,exports){
module.exports = function (bitmap, value) {
return {
enumerable: !(bitmap & 1),
configurable: !(bitmap & 2),
writable: !(bitmap & 4),
value: value
};
};
},{}],14:[function(require,module,exports){
'use strict';
var $ = require('../internals/export');
var createIteratorConstructor = require('../internals/create-iterator-constructor');
var getPrototypeOf = require('../internals/object-get-prototype-of');
var setPrototypeOf = require('../internals/object-set-prototype-of');
var setToStringTag = require('../internals/set-to-string-tag');
var hide = require('../internals/hide');
var redefine = require('../internals/redefine');
var wellKnownSymbol = require('../internals/well-known-symbol');
var IS_PURE = require('../internals/is-pure');
var Iterators = require('../internals/iterators');
var IteratorsCore = require('../internals/iterators-core');
var IteratorPrototype = IteratorsCore.IteratorPrototype;
var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;
var ITERATOR = wellKnownSymbol('iterator');
var KEYS = 'keys';
var VALUES = 'values';
var ENTRIES = 'entries';
var returnThis = function () { return this; };
module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {
createIteratorConstructor(IteratorConstructor, NAME, next);
var getIterationMethod = function (KIND) {
if (KIND === DEFAULT && defaultIterator) return defaultIterator;
if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];
switch (KIND) {
case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };
case VALUES: return function values() { return new IteratorConstructor(this, KIND); };
case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };
} return function () { return new IteratorConstructor(this); };
};
var TO_STRING_TAG = NAME + ' Iterator';
var INCORRECT_VALUES_NAME = false;
var IterablePrototype = Iterable.prototype;
var nativeIterator = IterablePrototype[ITERATOR]
|| IterablePrototype['@@iterator']
|| DEFAULT && IterablePrototype[DEFAULT];
var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);
var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;
var CurrentIteratorPrototype, methods, KEY;
// fix native
if (anyNativeIterator) {
CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));
if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {
if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {
if (setPrototypeOf) {
setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);
} else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {
hide(CurrentIteratorPrototype, ITERATOR, returnThis);
}
}
// Set @@toStringTag to native iterators
setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);
if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;
}
}
// fix Array#{values, @@iterator}.name in V8 / FF
if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {
INCORRECT_VALUES_NAME = true;
defaultIterator = function values() { return nativeIterator.call(this); };
}
// define iterator
if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {
hide(IterablePrototype, ITERATOR, defaultIterator);
}
Iterators[NAME] = defaultIterator;
// export additional methods
if (DEFAULT) {
methods = {
values: getIterationMethod(VALUES),
keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),
entries: getIterationMethod(ENTRIES)
};
if (FORCED) for (KEY in methods) {
if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
redefine(IterablePrototype, KEY, methods[KEY]);
}
} else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);
}
return methods;
};
},{"../internals/create-iterator-constructor":12,"../internals/export":21,"../internals/hide":28,"../internals/is-pure":36,"../internals/iterators":38,"../internals/iterators-core":37,"../internals/object-get-prototype-of":49,"../internals/object-set-prototype-of":53,"../internals/redefine":58,"../internals/set-to-string-tag":61,"../internals/well-known-symbol":74}],15:[function(require,module,exports){
var path = require('../internals/path');
var has = require('../internals/has');
var wrappedWellKnownSymbolModule = require('../internals/wrapped-well-known-symbol');
var defineProperty = require('../internals/object-define-property').f;
module.exports = function (NAME) {
var Symbol = path.Symbol || (path.Symbol = {});
if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {
value: wrappedWellKnownSymbolModule.f(NAME)
});
};
},{"../internals/has":26,"../internals/object-define-property":44,"../internals/path":57,"../internals/wrapped-well-known-symbol":76}],16:[function(require,module,exports){
var fails = require('../internals/fails');
// Thank's IE8 for his funny defineProperty
module.exports = !fails(function () {
return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
});
},{"../internals/fails":22}],17:[function(require,module,exports){
var global = require('../internals/global');
var isObject = require('../internals/is-object');
var document = global.document;
// typeof document.createElement is 'object' in old IE
var exist = isObject(document) && isObject(document.createElement);
module.exports = function (it) {
return exist ? document.createElement(it) : {};
};
},{"../internals/global":25,"../internals/is-object":35}],18:[function(require,module,exports){
// iterable DOM collections
// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods
module.exports = {
CSSRuleList: 0,
CSSStyleDeclaration: 0,
CSSValueList: 0,
ClientRectList: 0,
DOMRectList: 0,
DOMStringList: 0,
DOMTokenList: 1,
DataTransferItemList: 0,
FileList: 0,
HTMLAllCollection: 0,
HTMLCollection: 0,
HTMLFormElement: 0,
HTMLSelectElement: 0,
MediaList: 0,
MimeTypeArray: 0,
NamedNodeMap: 0,
NodeList: 1,
PaintRequestList: 0,
Plugin: 0,
PluginArray: 0,
SVGLengthList: 0,
SVGNumberList: 0,
SVGPathSegList: 0,
SVGPointList: 0,
SVGStringList: 0,
SVGTransformList: 0,
SourceBufferList: 0,
StyleSheetList: 0,
TextTrackCueList: 0,
TextTrackList: 0,
TouchList: 0
};
},{}],19:[function(require,module,exports){
// IE8- don't enum bug keys
module.exports = [
'constructor',
'hasOwnProperty',
'isPrototypeOf',
'propertyIsEnumerable',
'toLocaleString',
'toString',
'valueOf'
];
},{}],20:[function(require,module,exports){
var objectKeys = require('../internals/object-keys');
var getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');
var propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');
// all enumerable object keys, includes symbols
module.exports = function (it) {
var result = objectKeys(it);
var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
if (getOwnPropertySymbols) {
var symbols = getOwnPropertySymbols(it);
var propertyIsEnumerable = propertyIsEnumerableModule.f;
var i = 0;
var key;
while (symbols.length > i) if (propertyIsEnumerable.call(it, key = symbols[i++])) result.push(key);
} return result;
};
},{"../internals/object-get-own-property-symbols":48,"../internals/object-keys":51,"../internals/object-property-is-enumerable":52}],21:[function(require,module,exports){
var global = require('../internals/global');
var getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;
var hide = require('../internals/hide');
var redefine = require('../internals/redefine');
var setGlobal = require('../internals/set-global');
var copyConstructorProperties = require('../internals/copy-constructor-properties');
var isForced = require('../internals/is-forced');
/*
options.target - name of the target object
options.global - target is the global object
options.stat - export as static methods of target
options.proto - export as prototype methods of target
options.real - real prototype method for the `pure` version
options.forced - export even if the native feature is available
options.bind - bind methods to the target, required for the `pure` version
options.wrap - wrap constructors to preventing global pollution, required for the `pure` version
options.unsafe - use the simple assignment of property instead of delete + defineProperty
options.sham - add a flag to not completely full polyfills
options.enumerable - export as enumerable property
options.noTargetGet - prevent calling a getter on target
*/
module.exports = function (options, source) {
var TARGET = options.target;
var GLOBAL = options.global;
var STATIC = options.stat;
var FORCED, target, key, targetProperty, sourceProperty, descriptor;
if (GLOBAL) {
target = global;
} else if (STATIC) {
target = global[TARGET] || setGlobal(TARGET, {});
} else {
target = (global[TARGET] || {}).prototype;
}
if (target) for (key in source) {
sourceProperty = source[key];
if (options.noTargetGet) {
descriptor = getOwnPropertyDescriptor(target, key);
targetProperty = descriptor && descriptor.value;
} else targetProperty = target[key];
FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
// contained in target
if (!FORCED && targetProperty !== undefined) {
if (typeof sourceProperty === typeof targetProperty) continue;
copyConstructorProperties(sourceProperty, targetProperty);
}
// add a flag to not completely full polyfills
if (options.sham || (targetProperty && targetProperty.sham)) {
hide(sourceProperty, 'sham', true);
}
// extend global
redefine(target, key, sourceProperty, options);
}
};
},{"../internals/copy-constructor-properties":10,"../internals/global":25,"../internals/hide":28,"../internals/is-forced":34,"../internals/object-get-own-property-descriptor":45,"../internals/redefine":58,"../internals/set-global":60}],22:[function(require,module,exports){
module.exports = function (exec) {
try {
return !!exec();
} catch (error) {
return true;
}
};
},{}],23:[function(require,module,exports){
'use strict';
var aFunction = require('../internals/a-function');
var isObject = require('../internals/is-object');
var arraySlice = [].slice;
var factories = {};
var construct = function (C, argsLength, args) {
if (!(argsLength in factories)) {
for (var list = [], i = 0; i < argsLength; i++) list[i] = 'a[' + i + ']';
// eslint-disable-next-line no-new-func
factories[argsLength] = Function('C,a', 'return new C(' + list.join(',') + ')');
} return factories[argsLength](C, args);
};
// `Function.prototype.bind` method implementation
// https://tc39.github.io/ecma262/#sec-function.prototype.bind
module.exports = Function.bind || function bind(that /* , ...args */) {
var fn = aFunction(this);
var partArgs = arraySlice.call(arguments, 1);
var boundFunction = function bound(/* args... */) {
var args = partArgs.concat(arraySlice.call(arguments));
return this instanceof boundFunction ? construct(fn, args.length, args) : fn.apply(that, args);
};
if (isObject(fn.prototype)) boundFunction.prototype = fn.prototype;
return boundFunction;
};
},{"../internals/a-function":4,"../internals/is-object":35}],24:[function(require,module,exports){
var shared = require('../internals/shared');
module.exports = shared('native-function-to-string', Function.toString);
},{"../internals/shared":63}],25:[function(require,module,exports){
(function (global){
var O = 'object';
var check = function (it) {
return it && it.Math == Math && it;
};
// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
module.exports =
// eslint-disable-next-line no-undef
check(typeof globalThis == O && globalThis) ||
check(typeof window == O && window) ||
check(typeof self == O && self) ||
check(typeof global == O && global) ||
// eslint-disable-next-line no-new-func
Function('return this')();
}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
},{}],26:[function(require,module,exports){
var hasOwnProperty = {}.hasOwnProperty;
module.exports = function (it, key) {
return hasOwnProperty.call(it, key);
};
},{}],27:[function(require,module,exports){
module.exports = {};
},{}],28:[function(require,module,exports){
var DESCRIPTORS = require('../internals/descriptors');
var definePropertyModule = require('../internals/object-define-property');
var createPropertyDescriptor = require('../internals/create-property-descriptor');
module.exports = DESCRIPTORS ? function (object, key, value) {
return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));
} : function (object, key, value) {
object[key] = value;
return object;
};
},{"../internals/create-property-descriptor":13,"../internals/descriptors":16,"../internals/object-define-property":44}],29:[function(require,module,exports){
var global = require('../internals/global');
var document = global.document;
module.exports = document && document.documentElement;
},{"../internals/global":25}],30:[function(require,module,exports){
var DESCRIPTORS = require('../internals/descriptors');
var fails = require('../internals/fails');
var createElement = require('../internals/document-create-element');
// Thank's IE8 for his funny defineProperty
module.exports = !DESCRIPTORS && !fails(function () {
return Object.defineProperty(createElement('div'), 'a', {
get: function () { return 7; }
}).a != 7;
});
},{"../internals/descriptors":16,"../internals/document-create-element":17,"../internals/fails":22}],31:[function(require,module,exports){
// fallback for non-array-like ES3 and non-enumerable old V8 strings
var fails = require('../internals/fails');
var classof = require('../internals/classof-raw');
var split = ''.split;
module.exports = fails(function () {
// throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
// eslint-disable-next-line no-prototype-builtins
return !Object('z').propertyIsEnumerable(0);
}) ? function (it) {
return classof(it) == 'String' ? split.call(it, '') : Object(it);
} : Object;
},{"../internals/classof-raw":8,"../internals/fails":22}],32:[function(require,module,exports){
var NATIVE_WEAK_MAP = require('../internals/native-weak-map');
var global = require('../internals/global');
var isObject = require('../internals/is-object');
var hide = require('../internals/hide');
var objectHas = require('../internals/has');
var sharedKey = require('../internals/shared-key');
var hiddenKeys = require('../internals/hidden-keys');
var WeakMap = global.WeakMap;
var set, get, has;
var enforce = function (it) {
return has(it) ? get(it) : set(it, {});
};
var getterFor = function (TYPE) {
return function (it) {
var state;
if (!isObject(it) || (state = get(it)).type !== TYPE) {
throw TypeError('Incompatible receiver, ' + TYPE + ' required');
} return state;
};
};
if (NATIVE_WEAK_MAP) {
var store = new WeakMap();
var wmget = store.get;
var wmhas = store.has;
var wmset = store.set;
set = function (it, metadata) {
wmset.call(store, it, metadata);
return metadata;
};
get = function (it) {
return wmget.call(store, it) || {};
};
has = function (it) {
return wmhas.call(store, it);
};
} else {
var STATE = sharedKey('state');
hiddenKeys[STATE] = true;
set = function (it, metadata) {
hide(it, STATE, metadata);
return metadata;
};
get = function (it) {
return objectHas(it, STATE) ? it[STATE] : {};
};
has = function (it) {
return objectHas(it, STATE);
};
}
module.exports = {
set: set,
get: get,
has: has,
enforce: enforce,
getterFor: getterFor
};
},{"../internals/global":25,"../internals/has":26,"../internals/hidden-keys":27,"../internals/hide":28,"../internals/is-object":35,"../internals/native-weak-map":40,"../internals/shared-key":62}],33:[function(require,module,exports){
var classof = require('../internals/classof-raw');
// `IsArray` abstract operation
// https://tc39.github.io/ecma262/#sec-isarray
module.exports = Array.isArray || function isArray(arg) {
return classof(arg) == 'Array';
};
},{"../internals/classof-raw":8}],34:[function(require,module,exports){
var fails = require('../internals/fails');
var replacement = /#|\.prototype\./;
var isForced = function (feature, detection) {
var value = data[normalize(feature)];
return value == POLYFILL ? true
: value == NATIVE ? false
: typeof detection == 'function' ? fails(detection)
: !!detection;
};
var normalize = isForced.normalize = function (string) {
return String(string).replace(replacement, '.').toLowerCase();
};
var data = isForced.data = {};
var NATIVE = isForced.NATIVE = 'N';
var POLYFILL = isForced.POLYFILL = 'P';
module.exports = isForced;
},{"../internals/fails":22}],35:[function(require,module,exports){
module.exports = function (it) {
return typeof it === 'object' ? it !== null : typeof it === 'function';
};
},{}],36:[function(require,module,exports){
module.exports = false;
},{}],37:[function(require,module,exports){
'use strict';
var getPrototypeOf = require('../internals/object-get-prototype-of');
var hide = require('../internals/hide');
var has = require('../internals/has');
var wellKnownSymbol = require('../internals/well-known-symbol');
var IS_PURE = require('../internals/is-pure');
var ITERATOR = wellKnownSymbol('iterator');
var BUGGY_SAFARI_ITERATORS = false;
var returnThis = function () { return this; };
// `%IteratorPrototype%` object
// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object
var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;
if ([].keys) {
arrayIterator = [].keys();
// Safari 8 has buggy iterators w/o `next`
if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;
else {
PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));
if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;
}
}
if (IteratorPrototype == undefined) IteratorPrototype = {};
// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
if (!IS_PURE && !has(IteratorPrototype, ITERATOR)) hide(IteratorPrototype, ITERATOR, returnThis);
module.exports = {
IteratorPrototype: IteratorPrototype,
BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS
};
},{"../internals/has":26,"../internals/hide":28,"../internals/is-pure":36,"../internals/object-get-prototype-of":49,"../internals/well-known-symbol":74}],38:[function(require,module,exports){
arguments[4][27][0].apply(exports,arguments)
},{"dup":27}],39:[function(require,module,exports){
var fails = require('../internals/fails');
module.exports = !!Object.getOwnPropertySymbols && !fails(function () {
// Chrome 38 Symbol has incorrect toString conversion
// eslint-disable-next-line no-undef
return !String(Symbol());
});
},{"../internals/fails":22}],40:[function(require,module,exports){
var global = require('../internals/global');
var nativeFunctionToString = require('../internals/function-to-string');
var WeakMap = global.WeakMap;
module.exports = typeof WeakMap === 'function' && /native code/.test(nativeFunctionToString.call(WeakMap));
},{"../internals/function-to-string":24,"../internals/global":25}],41:[function(require,module,exports){
'use strict';
var DESCRIPTORS = require('../internals/descriptors');
var fails = require('../internals/fails');
var objectKeys = require('../internals/object-keys');
var getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');
var propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');
var toObject = require('../internals/to-object');
var IndexedObject = require('../in