diff --git a/README.md b/README.md
index c786b64..5628459 100644
--- a/README.md
+++ b/README.md
@@ -214,6 +214,14 @@ interface FilesSlotProps {
## Usage
+If you have PHP installed on your machine, you can clone this repo and open up a working test app by running:
+
+```sh
+npm test
+```
+
+Now navigate to [http://localhost:3030/](http://localhost:3030/).
+
```html
diff --git a/dist/src/components/VueTransmit.vue.d.ts b/dist/src/components/VueTransmit.vue.d.ts
index b2e38f0..f804234 100644
--- a/dist/src/components/VueTransmit.vue.d.ts
+++ b/dist/src/components/VueTransmit.vue.d.ts
@@ -102,8 +102,9 @@ export default class VueTransmit extends Vue {
thumbnailQueue: any[];
files: VTransmitFile[];
defaultHeaders: object;
- fileInputStyles: object;
+ formStyles: object;
readonly inputEl: HTMLInputElement;
+ readonly formEl: HTMLFormElement;
readonly filesToAccept: string;
readonly multiple: boolean;
readonly acceptedFiles: VTransmitFile[];
diff --git a/dist/vue-transmit.browser.js b/dist/vue-transmit.browser.js
index ebd78c5..caa24e3 100644
--- a/dist/vue-transmit.browser.js
+++ b/dist/vue-transmit.browser.js
@@ -155,7 +155,7 @@ var VueTransmit = function (_Vue) {
"Cache-Control": "no-cache",
"X-Requested-With": "XMLHttpRequest"
};
- _this.fileInputStyles = {
+ _this.formStyles = {
visibility: "hidden !important",
position: "absolute !important",
top: "0 !important",
@@ -191,6 +191,7 @@ var VueTransmit = function (_Vue) {
key: "onFileInputChange",
value: function onFileInputChange() {
this.$emit("added-files", Array.from(this.inputEl.files).map(this.addFile));
+ this.formEl.reset();
}
}, {
key: "addFile",
@@ -594,7 +595,7 @@ var VueTransmit = function (_Vue) {
var vm = this;
return function onUploadErrorFn() {
if (files[0].status !== STATUSES.CANCELED) {
- var message = vm.dictResponseError.replace(_utils.hbsRegex, (0, _utils.hbsReplacer)({ statusCode: xhr.status }));
+ var message = vm.dictResponseError.replace(_utils.hbsRegex, (0, _utils.hbsReplacer)({ statusText: xhr.statusText, statusCode: xhr.status }));
vm.errorProcessing(files, message, xhr);
}
};
@@ -1070,6 +1071,15 @@ var VueTransmit = function (_Vue) {
}
return el;
}
+ }, {
+ key: "formEl",
+ get: function get() {
+ var el = null;
+ if (this.$refs.uploadForm instanceof HTMLFormElement) {
+ el = this.$refs.uploadForm;
+ }
+ return el;
+ }
}, {
key: "filesToAccept",
get: function get() {
@@ -1188,7 +1198,7 @@ __decorate([(0, _vuePropertyDecorator.Prop)({ type: String, default: null })], V
__decorate([(0, _vuePropertyDecorator.Prop)({ type: Function, default: _identity2.default })], VueTransmit.prototype, "renameFile", void 0);
__decorate([(0, _vuePropertyDecorator.Prop)({ type: String, default: "File is too big ({{ fileSize }}MiB). Max file size: {{ maxFileSize }}MB." })], VueTransmit.prototype, "dictFileTooBig", void 0);
__decorate([(0, _vuePropertyDecorator.Prop)({ type: String, default: "You can't upload files of this type." })], VueTransmit.prototype, "dictInvalidFileType", void 0);
-__decorate([(0, _vuePropertyDecorator.Prop)({ type: String, default: "Server responded with {{ statusCode }} code." })], VueTransmit.prototype, "dictResponseError", void 0);
+__decorate([(0, _vuePropertyDecorator.Prop)({ type: String, default: "Error during upload: {{ statusText }} [{{ statusCode }}]" })], VueTransmit.prototype, "dictResponseError", void 0);
__decorate([(0, _vuePropertyDecorator.Prop)({ type: String, default: "You can not upload any more files." })], VueTransmit.prototype, "dictMaxFilesExceeded", void 0);
__decorate([(0, _vuePropertyDecorator.Prop)({ type: Function, default: function _default(_, done) {
return done();
@@ -1383,7 +1393,7 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_vue_ts_loader_node_modules_vue_loader_lib_selector_type_script_index_0_VueTransmit_vue__ = __webpack_require__(1);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_vue_ts_loader_node_modules_vue_loader_lib_selector_type_script_index_0_VueTransmit_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_vue_ts_loader_node_modules_vue_loader_lib_selector_type_script_index_0_VueTransmit_vue__);
/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_vue_ts_loader_node_modules_vue_loader_lib_selector_type_script_index_0_VueTransmit_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_vue_ts_loader_node_modules_vue_loader_lib_selector_type_script_index_0_VueTransmit_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_25b0f28c_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_VueTransmit_vue__ = __webpack_require__(16);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_61e675b9_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_VueTransmit_vue__ = __webpack_require__(16);
function injectStyle (ssrContext) {
__webpack_require__(6)
}
@@ -1403,7 +1413,7 @@ var __vue_scopeId__ = null
var __vue_module_identifier__ = null
var Component = normalizeComponent(
__WEBPACK_IMPORTED_MODULE_0__babel_loader_vue_ts_loader_node_modules_vue_loader_lib_selector_type_script_index_0_VueTransmit_vue___default.a,
- __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_25b0f28c_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_VueTransmit_vue__["a" /* default */],
+ __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_61e675b9_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_VueTransmit_vue__["a" /* default */],
__vue_template_functional__,
__vue_styles__,
__vue_scopeId__,
@@ -3446,7 +3456,7 @@ exports.default = VTransmitFile;
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(_vm.tag,{tag:"component"},[_c('div',_vm._g(_vm._b({staticClass:"v-transmit__upload-area",class:[_vm.isDraggingClass, _vm.uploadAreaClasses],attrs:{"draggable":"true"},on:{"click":_vm.handleClickUploaderAction,"dragstart":_vm.handleDragStart,"dragend":_vm.handleDragEnd,"dragenter":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDragEnter($event)},"dragover":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDragOver($event)},"dragleave":_vm.handleDragLeave,"drop":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDrop($event)}}},'div',_vm.uploadAreaAttrs,false),_vm.uploadAreaListeners),[_vm._t("default")],2),_vm._v(" "),_vm._t("files",null,null,_vm.fileSlotBindings),_vm._v(" "),_c('input',{ref:"hiddenFileInput",class:[_vm.maxFilesReachedClass],style:(_vm.fileInputStyles),attrs:{"type":"file","multiple":_vm.multiple,"accept":_vm.filesToAccept,"capture":_vm.capture},on:{"change":_vm.onFileInputChange}})],2)}
+var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(_vm.tag,{tag:"component"},[_c('div',_vm._g(_vm._b({staticClass:"v-transmit__upload-area",class:[_vm.isDraggingClass, _vm.uploadAreaClasses],attrs:{"draggable":"true"},on:{"click":_vm.handleClickUploaderAction,"dragstart":_vm.handleDragStart,"dragend":_vm.handleDragEnd,"dragenter":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDragEnter($event)},"dragover":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDragOver($event)},"dragleave":_vm.handleDragLeave,"drop":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDrop($event)}}},'div',_vm.uploadAreaAttrs,false),_vm.uploadAreaListeners),[_vm._t("default")],2),_vm._v(" "),_vm._t("files",null,null,_vm.fileSlotBindings),_vm._v(" "),_c('form',{ref:"uploadForm",style:(_vm.formStyles)},[_c('input',{ref:"hiddenFileInput",class:[_vm.maxFilesReachedClass],attrs:{"type":"file","multiple":_vm.multiple,"accept":_vm.filesToAccept,"capture":_vm.capture},on:{"change":_vm.onFileInputChange}})])],2)}
var staticRenderFns = []
var esExports = { render: render, staticRenderFns: staticRenderFns }
/* harmony default export */ __webpack_exports__["a"] = (esExports);
diff --git a/dist/vue-transmit.browser.js.map b/dist/vue-transmit.browser.js.map
index 570d9fd..2a2b48d 100644
--- a/dist/vue-transmit.browser.js.map
+++ b/dist/vue-transmit.browser.js.map
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///webpack/bootstrap 2803e2b5a8dded6149b2","webpack:///external \"Vue\"","webpack:///./src/components/VueTransmit.vue?cd95","webpack:///./src/core/utils.ts","webpack:///./index.ts","webpack:///./src/index.ts","webpack:///./src/components/VueTransmit.vue","webpack:///./src/components/VueTransmit.vue?c45d","webpack:///./node_modules/vue-loader/lib/component-normalizer.js","webpack:///./node_modules/vue-property-decorator/lib/vue-property-decorator.umd.js","webpack:///./node_modules/vue-class-component/dist/vue-class-component.common.js","webpack:///./node_modules/reflect-metadata/Reflect.js","webpack:///./node_modules/node-libs-browser/node_modules/process/browser.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/lodash-es/noop.js","webpack:///./node_modules/lodash-es/identity.js","webpack:///./src/classes/VTransmitFile.ts","webpack:///./src/components/VueTransmit.vue?7518"],"names":["noop","identity","value"],"mappings":"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,yC;;;;;;ACAA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACtGA;AACA;AACA;AACA,2CAA2C;AAC3C,CAAC,kDAAkD;;AAEnD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,cAAc;AAC3C;AACA;AACA;AACA;AACA;AACA,mEAAmE;AACnE,sCAAsC;AACtC,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,cAAc;AAC3C;AACA;AACA;AACA;AACA;AACA,mEAAmE;AACnE,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,cAAc;AAC3C;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,KAAK;AACL;AACA;AACA;AACA,gCAAgC,sDAAsD;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,8CAA8C,cAAc;;AAE5D,CAAC;;;;;;;;AClID;AACA;AACA;AACA;AACA;AACA;;AAEA,8CAA8C,cAAc;;AAE5D,+BAA+B,iFAAiF;;AAEhH;;AAEA,gBAAgB,gBAAgB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,qCAAqC,EAAE;AAC5F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,gBAAgB,EAAE;AACxD,2CAA2C,wBAAwB,EAAE;AACrE;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,cAAc;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA;AACA,uDAAuD;AACvD;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,0CAA0C,oBAAoB,EAAE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,8BAA8B;AAC/B;;AAEA;AACA;;;;;;;AChMA;AACA;AACA,+DAA+D;AAC/D;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE;AACjE,6BAA6B,gBAAgB,kBAAkB;AAC/D;AACA;AACA;AACA,2BAA2B,4CAA4C;AACvE;AACA,+BAA+B,wBAAwB,kBAAkB,EAAE;AAC3E,+BAA+B,yBAAyB,EAAE;AAC1D;AACA,mCAAmC,8BAA8B;AACjE,mCAAmC,mBAAmB;AACtD;AACA,mCAAmC,qDAAqD;AACxF,mCAAmC,iBAAiB;AACpD,KAAK,0BAA0B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oGAAoG;AACpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6EAA6E;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,QAAQ;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,QAAQ;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,uBAAuB;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,0BAA0B;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D,aAAa;AAC5E,iEAAiE,aAAa;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,0BAA0B,EAAE;AAC9D;AACA;AACA,aAAa;AACb,gDAAgD,+CAA+C;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,UAAU;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,0DAA0D;AACxG,gDAAgD,4DAA4D;AAC5G,iDAAiD,4DAA4D;AAC7G,uDAAuD,uBAAuB;AAC9E,yDAAyD,uBAAuB;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,uBAAuB,EAAE;AAC3D;AACA;AACA,aAAa;AACb,kDAAkD,6BAA6B;AAC/E,kDAAkD,0CAA0C;AAC5F,qDAAqD,gCAAgC;AACrF,+CAA+C,mBAAmB;AAClE,8CAA8C,yBAAyB;AACvE,gDAAgD,2BAA2B;AAC3E,iDAAiD,4BAA4B;AAC7E,uDAAuD,oBAAoB;AAC3E,yDAAyD,oBAAoB;AAC7E;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,0BAA0B;AAClF;AACA;AACA;AACA;AACA,2BAA2B,UAAU;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,oBAAoB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC;AAClC,CAAC,0BAA0B;AAC3B,mC;;;;;;;ACpmCA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA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","file":"vue-transmit.browser.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 3);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 2803e2b5a8dded6149b2","(function() { module.exports = window[\"Vue\"]; }());\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"Vue\"\n// module id = 0\n// module chunks = 0","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\"\nimport { Component, Prop, Watch } from \"vue-property-decorator\"\nimport noop from \"lodash-es/noop\"\nimport identity from \"lodash-es/identity\"\nimport {\n\thbsRegex,\n\thbsReplacer,\n\tobjFactory,\n\tresizeImg,\n\tIDrawImageArgs,\n\tIDimensions,\n\twebkitIsFile,\n\twebkitIsDir,\n} from \"../core/utils\"\nimport VTransmitFile from \"../classes/VTransmitFile\"\n\ntype FileSystemEntry = WebKitFileEntry | WebKitDirectoryEntry\n\nconst STATUSES = {\n\tADDED: \"added\",\n\tQUEUED: \"queued\",\n\tACCEPTED: \"queued\",\n\tUPLOADING: \"uploading\",\n\tPROCESSING: \"uploading\",\n\tCANCELED: \"canceled\",\n\tERROR: \"error\",\n\tTIMEOUT: \"timeout\",\n\tSUCCESS: \"success\",\n}\n\n@Component({ name: \"VueTransmit\" })\nexport default class VueTransmit extends Vue {\n\t@Prop({ type: String, default: \"div\" })\n\ttag: string\n\n\t@Prop({ type: [Array, Object, String], default: null })\n\tuploadAreaClasses: any[] | object | string\n\n\t@Prop({ type: Object, default: objFactory })\n\tuploadAreaAttrs: object\n\n\t@Prop({ type: Object, default: objFactory })\n\tuploadAreaListeners: object\n\n\t@Prop({ type: String, default: null })\n\tdragClass: string\n\n\t@Prop({ type: String, required: true })\n\turl: string\n\n\t@Prop({ type: String, default: \"post\" })\n\tmethod: string\n\n\t@Prop({ type: Boolean, default: false })\n\twithCredentials: boolean\n\n\t// timeout in milliseconds\n\t@Prop({ type: Number, default: 0 })\n\ttimeout: number\n\n\t@Prop({ type: Number, default: 2 })\n\tmaxConcurrentUploads: number\n\t// Whether to send multiple files in one request.\n\t@Prop({ type: Boolean, default: false })\n\tuploadMultiple: boolean\n\n\t// in MB\n\t@Prop({ type: Number, default: 256 })\n\tmaxFileSize: number\n\n\t// The name of the file param that gets transferred.\n\t@Prop({ type: String, default: \"file\" })\n\tparamName: string\n\n\t@Prop({ type: Boolean, default: true })\n\tcreateImageThumbnails: boolean\n\n\t// in MB. When the filename exceeds this limit, the thumbnail will not be generated.\n\t@Prop({ type: Number, default: 10 })\n\tmaxThumbnailFileSize: number\n\n\t@Prop({ type: Number, default: 120 })\n\tthumbnailWidth: number\n\n\t@Prop({ type: Number, default: 120 })\n\tthumbnailHeight: number\n\n\t/**\n * The base that is used to calculate the file size. You can change this to\n * 1024 if you would rather display kibibytes, mebibytes, etc...\n * 1024 is technically incorrect,\n * because `1024 bytes` are `1 kibibyte` not `1 kilobyte`.\n * You can change this to `1024` if you don't care about validity.\n */\n\t@Prop({ type: Number, default: 1000 })\n\tfileSizeBase: number\n\n\t/**\n * Can be used to limit the maximum number of files that will be handled\n * by this Dropzone\n */\n\t@Prop({ type: Number, default: null })\n\tmaxFiles: number\n\n\t/**\n * Can be an object of additional parameters to transfer to the server.\n * This is the same as adding hidden input fields in the form element.\n */\n\t@Prop({ type: Object, default: objFactory })\n\tparams: object\n\n\t@Prop({ type: Object, default: objFactory })\n\theaders: object\n\n\t@Prop({ type: String, default: \"\" })\n\tresponseType: XMLHttpRequestResponseType\n\n\t// If true, the dropzone will present a file selector when clicked.\n\t@Prop({ type: Boolean, default: true })\n\tclickable: boolean\n\n\t// Whether hidden files in directories should be ignored.\n\t@Prop({ type: Boolean, default: true })\n\tignoreHiddenFiles: boolean\n\n\t/**\n * You can set accepted mime types here.\n *\n * The default implementation of the `accept()` function will check this\n * property, and if the Dropzone is clickable this will be used as\n * `accept` attribute.\n *\n * This is a comma separated list of mime types or extensions. E.g.:\n * - audio/*,video/*,image/png,.pdf\n *\n * See https://developer.mozilla.org/en-US/docs/HTML/Element/input#attr-accept\n * for a reference.\n */\n\t@Prop({ type: Array, default: () => [] })\n\tacceptedFileTypes: string[]\n\n\t/**\n * If false, files will be added to the queue but the queue will not be\n * processed automatically.\n * This can be useful if you need some additional user input before sending\n * files (or if you want want all files sent at once).\n * If you're ready to send the file simply call myDropzone.processQueue()\n */\n\t@Prop({ type: Boolean, default: true })\n\tautoProcessQueue: boolean\n\n\t/**\n * If false, files added to the dropzone will not be queued by default.\n * You'll have to call `enqueueFile(file)` manually.\n */\n\t@Prop({ type: Boolean, default: true })\n\tautoQueue: boolean\n\n\t/**\n * If null, no capture type will be specified\n * If camera, mobile devices will skip the file selection and choose camera\n * If microphone, mobile devices will skip the file selection and choose the microphone\n * If camcorder, mobile devices will skip the file selection and choose the camera in video mode\n * On apple devices multiple must be set to false. AcceptedFiles may need to\n * be set to an appropriate mime type (e.g. \"image/*\", \"audio/*\", or \"video/*\").\n */\n\t@Prop({ type: String, default: null })\n\tcapture: string\n\n\t/**\n * Before the file is appended to the formData, the function renameFile is performed for file.name, file\n * which executes the function defined in renameFile\n */\n\t@Prop({ type: Function, default: identity })\n\trenameFile: (name: string) => string\n\n\t// If the file size is too big.\n\t@Prop({ type: String, default: \"File is too big ({{ fileSize }}MiB). Max file size: {{ maxFileSize }}MB.\" })\n\tdictFileTooBig: string\n\n\t// If the file doesn't match the file type.\n\t@Prop({ type: String, default: \"You can't upload files of this type.\" })\n\tdictInvalidFileType: string\n\n\t// If the server response was invalid.\n\t@Prop({ type: String, default: \"Server responded with {{ statusCode }} code.\" })\n\tdictResponseError: string\n\n\t/**\n * Displayed when the maxFiles have been exceeded\n * You can use {{maxFiles}} here, which will be replaced by the option.\n */\n\t@Prop({ type: String, default: \"You can not upload any more files.\" })\n\tdictMaxFilesExceeded: string\n\n\t/**\n * If `done()` is called without argument the file is accepted\n * If you call it with an error message, the file is rejected\n * (This allows for asynchronous validation).\n */\n\t@Prop({ type: Function, default: (_, done: Function) => done() })\n\taccept: (file: VTransmitFile, done: Function) => void\n\n\t@Prop({ type: Function, default: resizeImg })\n\tresize: (file: VTransmitFile, dims: IDimensions) => IDrawImageArgs\n\n\tpublic dragging: boolean = false\n\t// Used to keep the createThumbnail calls processing async one-at-a-time\n\tprivate processingThumbnail: boolean = false\n\tpublic thumbnailQueue: any[] = []\n\tpublic files: VTransmitFile[] = []\n\tpublic defaultHeaders: object = {\n\t\tAccept: \"application/json\",\n\t\t\"Cache-Control\": \"no-cache\",\n\t\t\"X-Requested-With\": \"XMLHttpRequest\",\n\t}\n\tpublic fileInputStyles: object = {\n\t\tvisibility: \"hidden !important\",\n\t\tposition: \"absolute !important\",\n\t\ttop: \"0 !important\",\n\t\tleft: \"0 !important\",\n\t\theight: \"0px !important\",\n\t\twidth: \"0px !important\",\n\t}\n\n\tget inputEl(): HTMLInputElement {\n\t\tlet el = null\n\t\tif (this.$refs.hiddenFileInput instanceof HTMLInputElement) {\n\t\t\tel = this.$refs.hiddenFileInput\n\t\t}\n\t\treturn el\n\t}\n\tget filesToAccept(): string {\n\t\treturn this.acceptedFileTypes.join(\",\")\n\t}\n\tget multiple(): boolean {\n\t\treturn this.maxFiles === null || this.maxFiles > 1\n\t}\n\tget acceptedFiles(): VTransmitFile[] {\n\t\treturn this.files.filter(f => f.accepted)\n\t}\n\tget rejectedFiles(): VTransmitFile[] {\n\t\treturn this.files.filter(f => !f.accepted)\n\t}\n\tget addedFiles(): VTransmitFile[] {\n\t\treturn this.getFilesWithStatus(STATUSES.ADDED)\n\t}\n\tget queuedFiles(): VTransmitFile[] {\n\t\treturn this.getFilesWithStatus(STATUSES.QUEUED)\n\t}\n\tget uploadingFiles(): VTransmitFile[] {\n\t\treturn this.getFilesWithStatus(STATUSES.UPLOADING)\n\t}\n\tget activeFiles(): VTransmitFile[] {\n\t\treturn this.getFilesWithStatus(STATUSES.UPLOADING, STATUSES.QUEUED)\n\t}\n\tget maxFilesReached(): boolean {\n\t\t// Loose equality checks null && undefined\n\t\treturn this.maxFiles != null && this.acceptedFiles.length >= this.maxFiles\n\t}\n\tget maxFilesReachedClass(): string {\n\t\treturn this.maxFilesReached ? \"v-transmit__max-files--reached\" : null\n\t}\n\tget isDraggingClass(): { [key: string]: boolean } {\n\t\treturn {\n\t\t\t\"v-transmit__upload-area--is-dragging\": this.dragging,\n\t\t\t[this.dragClass]: this.dragging,\n\t\t}\n\t}\n\tget isUploading(): boolean {\n\t\treturn this.uploadingFiles.length > 0\n\t}\n\tget fileSlotBindings() {\n\t\treturn {\n\t\t\tfiles: this.files,\n\t\t\tacceptedFiles: this.acceptedFiles,\n\t\t\trejectedFiles: this.rejectedFiles,\n\t\t\taddedFiles: this.addedFiles,\n\t\t\tqueuedFiles: this.queuedFiles,\n\t\t\tuploadingFiles: this.uploadingFiles,\n\t\t\tactiveFiles: this.activeFiles,\n\t\t\tisUploading: this.isUploading,\n\t\t}\n\t}\n\n\t@Watch(\"acceptedFiles\")\n\tonAcceptedFilesChange(acceptedFiles: VTransmitFile[]) {\n\t\tif (this.maxFiles == null) {\n\t\t\treturn\n\t\t}\n\t\tif (acceptedFiles.length >= this.maxFiles) {\n\t\t\tthis.$emit(\"max-files-reached\", this.files)\n\t\t}\n\t}\n\n\tgetFilesWithStatus(...statuses: string[]): VTransmitFile[] {\n\t\treturn this.files.filter(f => statuses.indexOf(f.status) > -1)\n\t}\n\tonFileInputChange(): void {\n\t\tthis.$emit(\"added-files\", Array.from(this.inputEl.files).map(this.addFile))\n\t}\n\taddFile(file: File): VTransmitFile {\n\t\tconst vTransmitFile = VTransmitFile.fromNativeFile(file)\n\t\tvTransmitFile.status = STATUSES.ADDED\n\t\tthis.files.push(vTransmitFile)\n\t\tthis.$emit(\"added-file\", vTransmitFile)\n\t\tthis.enqueueThumbnail(vTransmitFile)\n\t\tthis.acceptFile(vTransmitFile, error => {\n\t\t\tif (error) {\n\t\t\t\tvTransmitFile.accepted = false\n\t\t\t\tthis.errorProcessing([vTransmitFile], error)\n\t\t\t\tthis.$emit(\"rejected-file\", vTransmitFile)\n\t\t\t} else {\n\t\t\t\tvTransmitFile.accepted = true\n\t\t\t\tthis.$emit(\"accepted-file\", vTransmitFile)\n\t\t\t\tif (this.autoQueue) {\n\t\t\t\t\tthis.enqueueFile(vTransmitFile)\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.$emit(\"accept-complete\", vTransmitFile)\n\t\t})\n\n\t\treturn vTransmitFile\n\t}\n\tremoveFile(file: VTransmitFile): void {\n\t\tif (file.status === STATUSES.UPLOADING) {\n\t\t\tthis.cancelUpload(file)\n\t\t}\n\t\tconst idxToRm = this.files.findIndex(f => f.id === file.id)\n\t\tif (~idxToRm) {\n\t\t\tthis.$emit(\"removed-file\", this.files.splice(idxToRm, 1)[0])\n\t\t\tif (this.files.length === 0) {\n\t\t\t\tthis.$emit(\"reset\")\n\t\t\t}\n\t\t}\n\t}\n\tremoveAllFiles(cancelInProgressUploads = false): void {\n\t\tfor (const file of this.files) {\n\t\t\tif (file.status !== STATUSES.UPLOADING || cancelInProgressUploads) {\n\t\t\t\tthis.removeFile(file)\n\t\t\t}\n\t\t}\n\t}\n\ttriggerBrowseFiles(): void {\n\t\tthis.inputEl.click()\n\t}\n\thandleClickUploaderAction(): void {\n\t\tif (this.clickable) {\n\t\t\tthis.triggerBrowseFiles()\n\t\t}\n\t}\n\tenqueueFile(file: VTransmitFile): void {\n\t\tif (file.status === STATUSES.ADDED && file.accepted === true) {\n\t\t\tfile.status = STATUSES.QUEUED\n\t\t\tif (this.autoProcessQueue) {\n\t\t\t\tsetTimeout(this.processQueue, 0)\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new Error(\"This file can't be queued because it has already been processed or was rejected.\")\n\t\t}\n\t}\n\tenqueueThumbnail(file: VTransmitFile): void {\n\t\tif (\n\t\t\tthis.createImageThumbnails &&\n\t\t\tfile.type.match(/image.*/) &&\n\t\t\tfile.size <= this.maxThumbnailFileSize * 1024 * 1024\n\t\t) {\n\t\t\tthis.thumbnailQueue.push(file)\n\t\t\tsetTimeout(this.processThumbnailQueue, 0)\n\t\t}\n\t}\n\tprocessThumbnailQueue(): void {\n\t\t// Employ a chain of self-calling, self-queuing createThumbnail calls\n\t\t// so execution can stay as non-blocking as possible.\n\t\tif (this.processingThumbnail || this.thumbnailQueue.length === 0) {\n\t\t\treturn\n\t\t}\n\t\tthis.processingThumbnail = true\n\t\tthis.createThumbnail(this.thumbnailQueue.shift(), () => {\n\t\t\tthis.processingThumbnail = false\n\t\t\tthis.processThumbnailQueue()\n\t\t})\n\t}\n\tcreateThumbnail(file: VTransmitFile, callback = noop): void {\n\t\tconst reader = new FileReader()\n\t\treader.addEventListener(\n\t\t\t\"load\",\n\t\t\t() => {\n\t\t\t\tif (file.type === \"image/svg+xml\") {\n\t\t\t\t\tfile.dataUrl = reader.result\n\t\t\t\t\tthis.$emit(\"thumbnail\", file, reader.result)\n\t\t\t\t\tcallback()\n\t\t\t\t}\n\t\t\t\tthis.createThumbnailFromUrl(file, reader.result, callback)\n\t\t\t},\n\t\t\tfalse\n\t\t)\n\n\t\t// FileReader requires a native File|Blob object\n\t\treader.readAsDataURL(file.nativeFile)\n\t}\n\tcreateThumbnailFromUrl(file: VTransmitFile, imageUrl: string, callback?: Function): void {\n\t\tconst imgEl = document.createElement(\"img\")\n\n\t\timgEl.addEventListener(\n\t\t\t\"load\",\n\t\t\t() => {\n\t\t\t\tfile.width = imgEl.width\n\t\t\t\tfile.height = imgEl.height\n\t\t\t\tconst resizeInfo = this.resize(file, {\n\t\t\t\t\twidth: this.thumbnailWidth,\n\t\t\t\t\theight: this.thumbnailHeight,\n\t\t\t\t})\n\t\t\t\tconst canvas = document.createElement(\"canvas\")\n\t\t\t\tconst ctx = canvas.getContext(\"2d\")\n\t\t\t\tcanvas.width = resizeInfo.dWidth\n\t\t\t\tcanvas.height = resizeInfo.dHeight\n\t\t\t\tctx.drawImage(\n\t\t\t\t\timgEl,\n\t\t\t\t\tresizeInfo.sx,\n\t\t\t\t\tresizeInfo.sy,\n\t\t\t\t\tresizeInfo.sWidth,\n\t\t\t\t\tresizeInfo.sHeight,\n\t\t\t\t\tresizeInfo.dx,\n\t\t\t\t\tresizeInfo.dy,\n\t\t\t\t\tresizeInfo.dWidth,\n\t\t\t\t\tresizeInfo.dHeight\n\t\t\t\t)\n\t\t\t\tconst thumbnail = canvas.toDataURL(\"image/png\")\n\t\t\t\tfile.dataUrl = thumbnail\n\t\t\t\tthis.$emit(\"thumbnail\", file, thumbnail)\n\n\t\t\t\tif (callback) {\n\t\t\t\t\treturn callback()\n\t\t\t\t}\n\t\t\t},\n\t\t\tfalse\n\t\t)\n\t\tif (callback) {\n\t\t\timgEl.addEventListener(\"error\", callback as EventListenerOrEventListenerObject, false)\n\t\t}\n\n\t\timgEl.src = imageUrl\n\t}\n\tprocessQueue(): void {\n\t\tconst processingLength = this.uploadingFiles.length\n\t\tif (processingLength >= this.maxConcurrentUploads || this.queuedFiles.length === 0) {\n\t\t\treturn\n\t\t}\n\n\t\tconst queuedFiles = [...this.queuedFiles]\n\t\tif (this.uploadMultiple) {\n\t\t\treturn this.processFiles(queuedFiles.slice(0, this.maxConcurrentUploads - processingLength))\n\t\t} else {\n\t\t\tfor (let i = processingLength; i < this.maxConcurrentUploads; i++) {\n\t\t\t\tif (queuedFiles.length) {\n\t\t\t\t\tthis.processFile(queuedFiles.shift())\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tprocessFile(file: VTransmitFile): void {\n\t\tthis.processFiles([file])\n\t}\n\tprocessFiles(files: VTransmitFile[]): void {\n\t\tfor (const file of files) {\n\t\t\tfile.processing = true\n\t\t\tfile.status = STATUSES.UPLOADING\n\t\t\tthis.$emit(\"processing\", file)\n\t\t}\n\t\tif (this.uploadMultiple) {\n\t\t\tthis.$emit(\"processing-multiple\", files)\n\t\t}\n\n\t\treturn this.uploadFiles(files)\n\t}\n\tgetFilesWithXhr(xhr: XMLHttpRequest): VTransmitFile[] {\n\t\treturn this.files.filter(file => file.xhr === xhr)\n\t}\n\tcancelUpload(file: VTransmitFile): void {\n\t\tif (file.status === STATUSES.UPLOADING) {\n\t\t\tconst groupedFiles = this.getFilesWithXhr(file.xhr)\n\t\t\tfile.xhr.abort()\n\t\t\tfor (const f of groupedFiles) {\n\t\t\t\tf.status = STATUSES.CANCELED\n\t\t\t\tthis.$emit(\"canceled\", f)\n\t\t\t}\n\t\t\tif (this.uploadMultiple) {\n\t\t\t\tthis.$emit(\"canceled-multiple\", groupedFiles)\n\t\t\t}\n\t\t} else if (file.status === STATUSES.ADDED || file.status === STATUSES.QUEUED) {\n\t\t\tfile.status = STATUSES.CANCELED\n\t\t\tthis.$emit(\"canceled\", file)\n\t\t\tif (this.uploadMultiple) {\n\t\t\t\tthis.$emit(\"canceled-multiple\", [file])\n\t\t\t}\n\t\t}\n\n\t\tif (this.autoProcessQueue) {\n\t\t\tthis.processQueue()\n\t\t}\n\t}\n\tuploadFile(file: VTransmitFile): void {\n\t\tthis.uploadFiles([file])\n\t}\n\tuploadFiles(files: VTransmitFile[]): void {\n\t\tconst xhr = new XMLHttpRequest()\n\t\tfor (const file of files) {\n\t\t\tfile.xhr = xhr\n\t\t\tfile.startProgress()\n\t\t}\n\t\txhr.open(this.method, this.url, true)\n\t\t// Setting the timeout after open because of IE11 issue: https://gitlab.com/meno/dropzone/issues/8\n\t\txhr.timeout = this.timeout\n\t\txhr.withCredentials = Boolean(this.withCredentials)\n\t\txhr.responseType = this.responseType\n\n\t\tconst handleError = this.handleUploadError(files, xhr)\n\t\tconst updateProgress = this.handleUploadProgress(files)\n\t\txhr.addEventListener(\"error\", handleError)\n\t\txhr.upload.addEventListener(\"progress\", updateProgress)\n\t\txhr.addEventListener(\"timeout\", this.handleTimeout(files, xhr))\n\t\txhr.addEventListener(\"load\", e => {\n\t\t\tif (files[0].status === STATUSES.CANCELED || xhr.readyState !== XMLHttpRequest.DONE) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tlet response = xhr.response\n\n\t\t\tif (!xhr.responseType) {\n\t\t\t\tlet contentType = xhr.getResponseHeader(\"content-type\")\n\t\t\t\tresponse = xhr.responseText\n\n\t\t\t\tif (contentType && contentType.indexOf(\"application/json\") > -1) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tresponse = JSON.parse(response)\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tresponse = \"Invalid JSON response from server.\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Called at load (when complete) will enable all the progress done logic.\n\t\t\tupdateProgress()\n\t\t\tif (xhr.status < 200 || xhr.status >= 300) {\n\t\t\t\treturn handleError()\n\t\t\t} else {\n\t\t\t\treturn this.uploadFinished(files, response, e)\n\t\t\t}\n\t\t})\n\n\t\t// Use null proto obj for the following 'for in' loop\n\t\tconst headers = Object.assign(Object.create(null), this.defaultHeaders, this.headers)\n\t\tfor (const headerName in headers) {\n\t\t\tif (headers[headerName]) {\n\t\t\t\txhr.setRequestHeader(headerName, headers[headerName])\n\t\t\t}\n\t\t}\n\n\t\tconst formData = new FormData()\n\t\tfor (const key in this.params) {\n\t\t\tformData.append(key, this.params[key])\n\t\t}\n\n\t\tfor (const file of files) {\n\t\t\tthis.$emit(\"sending\", file, xhr, formData)\n\t\t}\n\t\tif (this.uploadMultiple) {\n\t\t\tthis.$emit(\"sending-multiple\", files, xhr, formData)\n\t\t}\n\n\t\tfor (let i = 0; i < files.length; i++) {\n\t\t\tformData.append(this.getParamName(i), files[i].nativeFile, this.renameFile(files[i].name))\n\t\t}\n\n\t\treturn xhr.send(formData)\n\t}\n\thandleUploadError(files: VTransmitFile[], xhr: XMLHttpRequest): () => void {\n\t\tconst vm = this\n\t\treturn function onUploadErrorFn(): void {\n\t\t\tif (files[0].status !== STATUSES.CANCELED) {\n\t\t\t\tconst message = vm.dictResponseError.replace(hbsRegex, hbsReplacer({ statusCode: xhr.status }))\n\t\t\t\tvm.errorProcessing(files, message, xhr)\n\t\t\t}\n\t\t}\n\t}\n\thandleTimeout(files: VTransmitFile[], xhr: XMLHttpRequest): (e: Event) => void {\n\t\tconst vm = this\n\t\treturn function onTimeoutFn(e: Event): void {\n\t\t\tfor (const file of files) {\n\t\t\t\tfile.status = STATUSES.TIMEOUT\n\t\t\t\tfile.endProgress()\n\t\t\t\tvm.$emit(\"timeout\", file, e, xhr)\n\t\t\t}\n\t\t\tvm.$emit(\"timeout-multiple\", files, e, xhr)\n\n\t\t\tif (this.autoProcessQueue) {\n\t\t\t\tthis.processQueue()\n\t\t\t}\n\t\t}\n\t}\n\thandleUploadProgress(files): (e?: ProgressEvent) => void {\n\t\tconst vm = this\n\t\treturn function onProgressFn(e?: ProgressEvent): void {\n\t\t\tif (e instanceof ProgressEvent) {\n\t\t\t\tfor (const file of files) {\n\t\t\t\t\tfile.handleProgress(e)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tlet allFilesFinished = true\n\t\t\t\tfor (const file of files) {\n\t\t\t\t\tif (file.upload.progress !== 100 || file.upload.bytesSent !== file.upload.total) {\n\t\t\t\t\t\tallFilesFinished = false\n\t\t\t\t\t}\n\t\t\t\t\tfile.upload.progress = 100\n\t\t\t\t\tfile.upload.bytesSent = file.upload.total\n\t\t\t\t\tfile.endProgress()\n\t\t\t\t}\n\t\t\t\tif (allFilesFinished) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (const file of files) {\n\t\t\t\tvm.$emit(\"upload-progress\", file, file.upload.progress, file.upload.bytesSent)\n\t\t\t}\n\t\t}\n\t}\n\tupdateTotalUploadProgress(): void {\n\t\tconst progress = this.activeFiles.reduce(\n\t\t\t(memo, file) => {\n\t\t\t\tmemo.totalBytesSent += file.upload.bytesSent\n\t\t\t\tmemo.totalBytes += file.upload.total\n\t\t\t\treturn memo\n\t\t\t},\n\t\t\t{ totalBytesSent: 0, totalBytes: 0, totalProgress: 100 }\n\t\t)\n\n\t\tif (this.activeFiles.length) {\n\t\t\tprogress.totalProgress = 100 * progress.totalBytesSent / progress.totalBytes\n\t\t}\n\n\t\tthis.$emit(\"total-upload-progress\", progress)\n\t}\n\tgetParamName(index): string {\n\t\treturn this.paramName + (this.uploadMultiple ? `[${index}]` : \"\")\n\t}\n\tuploadFinished(files: VTransmitFile[], response: string | object | any[], e: Event): void {\n\t\tfor (const file of files) {\n\t\t\tfile.status = STATUSES.SUCCESS\n\t\t\tfile.endProgress()\n\t\t\tthis.$emit(\"success\", file, response, e)\n\t\t\tthis.$emit(\"complete\", file)\n\t\t}\n\n\t\tif (this.uploadMultiple) {\n\t\t\tthis.$emit(\"success-multiple\", files, response, e)\n\t\t\tthis.$emit(\"complete-multiple\", files)\n\t\t}\n\n\t\tif (this.autoProcessQueue) {\n\t\t\tthis.processQueue()\n\t\t}\n\t}\n\terrorProcessing(files: VTransmitFile[], message: string, xhr?: XMLHttpRequest) {\n\t\tfor (const file of files) {\n\t\t\tfile.status = STATUSES.ERROR\n\t\t\tfile.endProgress()\n\t\t\tthis.$emit(\"error\", file, message, xhr)\n\t\t\tthis.$emit(\"complete\", file)\n\t\t}\n\n\t\tif (this.uploadMultiple) {\n\t\t\tthis.$emit(\"error-multiple\", files, message, xhr)\n\t\t\tthis.$emit(\"complete-multiple\", files)\n\t\t}\n\n\t\tif (this.autoProcessQueue) {\n\t\t\treturn this.processQueue()\n\t\t}\n\t}\n\tacceptFile(file: VTransmitFile, done: Function): void {\n\t\tif (file.size > this.maxFileSize * 1024 * 1024) {\n\t\t\tdone(\n\t\t\t\tthis.dictFileTooBig.replace(\n\t\t\t\t\thbsRegex,\n\t\t\t\t\thbsReplacer({\n\t\t\t\t\t\tfileSize: Math.round(file.size / 1024 / 10.24) / 100,\n\t\t\t\t\t\tmaxFileSize: this.maxFileSize,\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t\t)\n\t\t} else if (!this.isValidFileType(file, this.acceptedFileTypes)) {\n\t\t\tdone(this.dictInvalidFileType)\n\t\t} else if (this.maxFiles != null && this.acceptedFiles.length >= this.maxFiles) {\n\t\t\tdone(this.dictMaxFilesExceeded.replace(hbsRegex, hbsReplacer({ maxFiles: this.maxFiles })))\n\t\t\tthis.$emit(\"max-files-exceeded\", file)\n\t\t} else {\n\t\t\t// Call the prop callback for the client to validate.\n\t\t\tthis.accept(file, done)\n\t\t}\n\t}\n\tisValidFileType(file: VTransmitFile, acceptedFileTypes: string[]): boolean {\n\t\tif (!acceptedFileTypes.length) {\n\t\t\treturn true\n\t\t}\n\t\tconst mimeType = file.type\n\t\tconst baseMimeType = mimeType.replace(/\\/.*$/, \"\")\n\t\t// Return true on the first condition match,\n\t\t// otherwise exhaust all conditions and return false.\n\t\tfor (let i = 0; i < acceptedFileTypes.length; i++) {\n\t\t\tconst validType = acceptedFileTypes[i]\n\t\t\tif (validType.charAt(0) === \".\") {\n\t\t\t\t// Handle extension validation\n\t\t\t\t// Ensure extension exists at the end of the filename.\n\t\t\t\tif (file.name.toLowerCase().indexOf(validType.toLowerCase(), file.name.length - validType.length) !== -1) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t} else if (/\\/\\*$/.test(validType)) {\n\t\t\t\t// Handle globbed mimetype validation (\"image/*\")\n\t\t\t\tif (baseMimeType === validType.replace(/\\/.*$/, \"\")) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (mimeType === validType) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn false\n\t}\n\thandleDragStart(e: DragEvent): void {\n\t\tthis.$emit(\"drag-start\", e)\n\t}\n\thandleDragOver(e: DragEvent): void {\n\t\tthis.dragging = true\n\t\tlet effect\n\t\ttry {\n\t\t\t// Handle browser bug\n\t\t\teffect = e.dataTransfer.effectAllowed\n\t\t} catch (error) {}\n\t\te.dataTransfer.dropEffect = effect === \"move\" || effect === \"linkMove\" ? \"move\" : \"copy\"\n\t\tthis.$emit(\"drag-over\", e)\n\t}\n\thandleDragEnter(e: DragEvent): void {\n\t\tthis.dragging = true\n\t\tthis.$emit(\"drag-enter\", e)\n\t}\n\thandleDragLeave(e: DragEvent): void {\n\t\tthis.dragging = false\n\t\tthis.$emit(\"drag-leave\", e)\n\t}\n\thandleDragEnd(e: DragEvent): void {\n\t\tthis.dragging = false\n\t\tthis.$emit(\"drag-end\", e)\n\t}\n\thandleDrop(e: DragEvent): void {\n\t\tthis.dragging = false\n\t\tif (!e.dataTransfer) {\n\t\t\treturn\n\t\t}\n\t\tthis.$emit(\"drop\", e)\n\t\tconst files = Array.from(e.dataTransfer.files)\n\n\t\tthis.$emit(\"added-files\", files)\n\t\tif (files.length && e.dataTransfer.items) {\n\t\t\tconst items = Array.from(e.dataTransfer.items)\n\t\t\tif (items && items.length && items[0].webkitGetAsEntry) {\n\t\t\t\tthis.addFilesFromItems(items)\n\t\t\t} else {\n\t\t\t\tthis.handleFiles(files)\n\t\t\t}\n\t\t} else {\n\t\t\tthis.handleFiles(files)\n\t\t}\n\t}\n\tpaste(e: ClipboardEvent): void {\n\t\tif (!e || !e.clipboardData || !e.clipboardData.items) {\n\t\t\treturn\n\t\t}\n\t\tthis.$emit(\"paste\", e)\n\t\tconst items = Array.from(e.clipboardData.items)\n\t\tif (items.length) {\n\t\t\tthis.addFilesFromItems(items)\n\t\t}\n\t}\n\thandleFiles(files: File[]): VTransmitFile[] {\n\t\treturn files.map(this.addFile)\n\t}\n\taddFilesFromItems(items: DataTransferItem[]): void {\n\t\tfor (const item of items) {\n\t\t\t// Newer API on standards track\n\t\t\tif (item.getAsFile && item.kind == \"file\") {\n\t\t\t\tthis.addFile(item.getAsFile())\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t// Vendor prefixed experimental API\n\t\t\tif (item.webkitGetAsEntry) {\n\t\t\t\tconst entry: FileSystemEntry = item.webkitGetAsEntry()\n\n\t\t\t\tif (entry == null) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif (webkitIsFile(entry)) {\n\t\t\t\t\tentry.file(this.addFile as any, console.error)\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif (webkitIsDir(entry)) {\n\t\t\t\t\tthis.addFilesFromDirectory(entry, entry.name)\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\taddFilesFromDirectory(directory: WebKitDirectoryEntry, path): void {\n\t\tdirectory.createReader().readEntries(\n\t\t\t((entries: FileSystemEntry[]) => {\n\t\t\t\tfor (const entry of entries) {\n\t\t\t\t\tif (entry == null) {\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t\tif (webkitIsDir(entry)) {\n\t\t\t\t\t\tthis.addFilesFromDirectory(entry, `${path}/${entry.name}`)\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t\tif (webkitIsFile(entry)) {\n\t\t\t\t\t\tentry.file(\n\t\t\t\t\t\t\t((file: File) => {\n\t\t\t\t\t\t\t\tif (this.ignoreHiddenFiles && /^\\./.test(file.name)) {\n\t\t\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t;(file as any).fullPath = `${path}/${file.name}`\n\t\t\t\t\t\t\t\tthis.addFile(file)\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tconsole.error\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}),\n\t\t\tconsole.error\n\t\t)\n\t}\n\n\tmounted() {\n\t\tthis.$on(\"upload-progress\", this.updateTotalUploadProgress)\n\t\tthis.$on(\"removed-file\", this.updateTotalUploadProgress)\n\t\tthis.$on(\"canceled\", file => this.$emit(\"complete\", file))\n\t\tthis.$on(\"complete\", file => {\n\t\t\tif (this.addedFiles.length === 0 && this.uploadingFiles.length === 0 && this.queuedFiles.length === 0) {\n\t\t\t\tsetTimeout(() => this.$emit(\"queue-complete\", file), 0)\n\t\t\t}\n\t\t})\n\n\t\tthis.$emit(\"initialize\", this)\n\t}\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/vue-loader/lib/selector.js?type=script&index=0!./src/components/VueTransmit.vue","import VTransmitFile from \"../classes/VTransmitFile\"\n\nexport const assign = Object.assign\nexport const defineProperty = Object.defineProperty\n\nlet idCounter = 0\nexport function uniqueId(prefix: string): string {\n\tvar id = ++idCounter\n\treturn prefix + id\n}\n\nexport function copyOwnAndInheritedProps(obj: object): object {\n\tlet newData = {}\n\tfor (let prop in obj) {\n\t\tif (typeof obj[prop] !== \"function\") {\n\t\t\tnewData[prop] = obj[prop]\n\t\t}\n\t}\n\treturn newData\n}\n\nexport type Rounding = \"round\" | \"ceil\" | \"floor\" | \"trunc\"\n\nexport function round(number: number, decimals: number = 2, roundStyle: Rounding = \"round\") {\n\tconst roundingFactor = Math.pow(10, decimals)\n\treturn Math[roundStyle](number * roundingFactor) / roundingFactor\n}\n\nexport function fromBytesToKbit(bytes: number): number {\n\treturn bytes / 125\n}\n\nexport function fromBytesToMbit(bytes: number): number {\n\treturn bytes / 125000\n}\n\nexport function toKbps(bytes: number, seconds: number): number {\n\treturn fromBytesToKbit(bytes) / seconds\n}\n\nexport function toMbps(bytes: number, seconds: number): number {\n\treturn fromBytesToMbit(bytes) / seconds\n}\n\nexport const hbsRegex = /{{\\s*?([a-zA-Z]+)\\s*?}}/g\nexport function hbsReplacer(context: object = {}) {\n\treturn function hbsReplacerFn(match: string, capture: string) {\n\t\treturn context[capture] !== undefined ? context[capture] : match\n\t}\n}\n\nexport function objFactory() {\n\treturn {}\n}\n\nexport function scaleH(ratio: number, width: number): number {\n\treturn width / ratio\n}\n\nexport function scaleW(ratio: number, height: number): number {\n\treturn height * ratio\n}\n\nexport function scaleDims(ratio: number, width?: number, height?: number): number[] {\n\treturn typeof width === \"number\" ? [width, scaleH(ratio, width)] : [scaleW(ratio, height), height]\n}\n\nexport interface IDrawImageArgs {\n\tsx: number\n\tsy: number\n\tsWidth: number\n\tsHeight: number\n\tdx: number\n\tdy: number\n\tdWidth: number\n\tdHeight: number\n}\n\nexport interface IDimensions {\n\twidth: number\n\theight: number\n}\n\nexport function resizeImg(file: VTransmitFile, dims: IDimensions): IDrawImageArgs {\n\t// Extract the object's primitive values so we don't mutate the input\n\tconst sRatio = file.width / file.height\n\tconst dRatio = dims.width / dims.height\n\tconst imgCoords = {\n\t\tsx: 0,\n\t\tsy: 0,\n\t\tsWidth: file.width,\n\t\tsHeight: file.height,\n\t\tdx: 0,\n\t\tdy: 0,\n\t\tdWidth: dims.width,\n\t\tdHeight: dims.height,\n\t}\n\n\tlet w, h\n\tif (dRatio > sRatio) {\n\t\t;[w, h] = scaleDims(dRatio, file.width)\n\t} else {\n\t\t;[w, h] = scaleDims(dRatio, undefined, file.height)\n\t}\n\n\tif (w < file.width) {\n\t\timgCoords.sx = (file.width - w) / 2\n\t\timgCoords.sWidth = w\n\t}\n\tif (h < file.height) {\n\t\timgCoords.sy = (file.height - h) / 2\n\t\timgCoords.sHeight = h\n\t}\n\n\treturn imgCoords\n}\n\nexport function webkitIsFile(entry: WebKitFileEntry | WebKitDirectoryEntry): entry is WebKitFileEntry {\n\treturn entry.isFile\n}\n\nexport function webkitIsDir(entry: WebKitFileEntry | WebKitDirectoryEntry): entry is WebKitDirectoryEntry {\n\treturn entry.isDirectory\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/core/utils.ts","import { VueTransmit } from \"./src\"\n\nexport default {\n\tinstall(Vue, _options) {\n\t\tVue.component(\"VueTransmit\", VueTransmit)\n\t},\n\tname: \"vue-transmit\",\n}\n\n\n\n// WEBPACK FOOTER //\n// ./index.ts","import VueTransmit from \"./components/VueTransmit.vue\"\n\nexport { VueTransmit }\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.ts","function injectStyle (ssrContext) {\n require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-25b0f28c\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader!postcss-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./VueTransmit.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!vue-ts-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./VueTransmit.vue\"\nimport __vue_script__ from \"!!babel-loader!vue-ts-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./VueTransmit.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-25b0f28c\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./VueTransmit.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/VueTransmit.vue\n// module id = 5\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/extract-text-webpack-plugin/dist/loader.js?{\"omit\":1,\"remove\":true}!./node_modules/vue-style-loader!./node_modules/css-loader!./node_modules/vue-loader/lib/style-compiler?{\"vue\":true,\"id\":\"data-v-25b0f28c\",\"scoped\":false,\"hasInlineConfig\":false}!./node_modules/sass-loader/lib/loader.js!./node_modules/postcss-loader/lib?{\"sourceMap\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./src/components/VueTransmit.vue\n// module id = 6\n// module chunks = 0","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file.\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nmodule.exports = function normalizeComponent (\n rawScriptExports,\n compiledTemplate,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */\n) {\n var esModule\n var scriptExports = rawScriptExports = rawScriptExports || {}\n\n // ES6 modules interop\n var type = typeof rawScriptExports.default\n if (type === 'object' || type === 'function') {\n esModule = rawScriptExports\n scriptExports = rawScriptExports.default\n }\n\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (compiledTemplate) {\n options.render = compiledTemplate.render\n options.staticRenderFns = compiledTemplate.staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = injectStyles\n }\n\n if (hook) {\n var functional = options.functional\n var existing = functional\n ? options.render\n : options.beforeCreate\n\n if (!functional) {\n // inject component registration as beforeCreate hook\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n } else {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return existing(h, context)\n }\n }\n }\n\n return {\n esModule: esModule,\n exports: scriptExports,\n options: options\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/component-normalizer.js\n// module id = 7\n// module chunks = 0","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('vue'), require('vue-class-component'), require('reflect-metadata')) :\n\ttypeof define === 'function' && define.amd ? define(['exports', 'vue', 'vue-class-component', 'reflect-metadata'], factory) :\n\t(factory((global.VuePropertyDecorator = {}),global.Vue,global.VueClassComponent));\n}(this, (function (exports,vue,vueClassComponent) { 'use strict';\n\nvue = vue && vue.hasOwnProperty('default') ? vue['default'] : vue;\nvar vueClassComponent__default = 'default' in vueClassComponent ? vueClassComponent['default'] : vueClassComponent;\n\n/** vue-property-decorator verson 6.0.0 MIT LICENSE copyright 2017 kaorun343 */\n'use strict';\n/**\n * decorator of an inject\n * @param key key\n * @return PropertyDecorator\n */\nfunction Inject(key) {\n return vueClassComponent.createDecorator(function (componentOptions, k) {\n if (typeof componentOptions.inject === 'undefined') {\n componentOptions.inject = {};\n }\n if (!Array.isArray(componentOptions.inject)) {\n componentOptions.inject[k] = key || k;\n }\n });\n}\n/**\n * decorator of a provide\n * @param key key\n * @return PropertyDecorator | void\n */\nfunction Provide(key) {\n return vueClassComponent.createDecorator(function (componentOptions, k) {\n var provide = componentOptions.provide;\n if (typeof provide !== 'function' || !provide.managed) {\n var original_1 = componentOptions.provide;\n provide = componentOptions.provide = function () {\n var rv = Object.create((typeof original_1 === 'function' ? original_1.call(this) : original_1) || null);\n for (var i in provide.managed)\n rv[provide.managed[i]] = this[i];\n return rv;\n };\n provide.managed = {};\n }\n provide.managed[k] = key || k;\n });\n}\n/**\n * decorator of model\n * @param event event name\n * @return PropertyDecorator\n */\nfunction Model(event, options) {\n if (options === void 0) { options = {}; }\n return function (target, key) {\n if (!Array.isArray(options) && typeof options.type === 'undefined') {\n options.type = Reflect.getMetadata('design:type', target, key);\n }\n vueClassComponent.createDecorator(function (componentOptions, k) {\n (componentOptions.props || (componentOptions.props = {}))[k] = options;\n componentOptions.model = { prop: k, event: event || k };\n })(target, key);\n };\n}\n/**\n * decorator of a prop\n * @param options the options for the prop\n * @return PropertyDecorator | void\n */\nfunction Prop(options) {\n if (options === void 0) { options = {}; }\n return function (target, key) {\n if (!Array.isArray(options) && typeof options.type === 'undefined') {\n options.type = Reflect.getMetadata('design:type', target, key);\n }\n vueClassComponent.createDecorator(function (componentOptions, k) {\n (componentOptions.props || (componentOptions.props = {}))[k] = options;\n })(target, key);\n };\n}\n/**\n * decorator of a watch function\n * @param path the path or the expression to observe\n * @param WatchOption\n * @return MethodDecorator\n */\nfunction Watch(path, options) {\n if (options === void 0) { options = {}; }\n var _a = options.deep, deep = _a === void 0 ? false : _a, _b = options.immediate, immediate = _b === void 0 ? false : _b;\n return vueClassComponent.createDecorator(function (componentOptions, handler) {\n if (typeof componentOptions.watch !== 'object') {\n componentOptions.watch = Object.create(null);\n }\n componentOptions.watch[path] = { handler: handler, deep: deep, immediate: immediate };\n });\n}\n// Code copied from Vue/src/shared/util.js\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = function (str) { return str.replace(hyphenateRE, '-$1').toLowerCase(); };\n/**\n * decorator of an event-emitter function\n * @param event The name of the event\n * @return MethodDecorator\n */\nfunction Emit(event) {\n return function (target, key, descriptor) {\n key = hyphenate(key);\n var original = descriptor.value;\n descriptor.value = function emitter() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (original.apply(this, args) !== false)\n this.$emit.apply(this, [event || key].concat(args));\n };\n };\n}\n\nexports.Component = vueClassComponent__default;\nexports.Vue = vue;\nexports.Inject = Inject;\nexports.Provide = Provide;\nexports.Model = Model;\nexports.Prop = Prop;\nexports.Watch = Watch;\nexports.Emit = Emit;\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-property-decorator/lib/vue-property-decorator.umd.js\n// module id = 8\n// module chunks = 0","/**\n * vue-class-component v6.1.2\n * (c) 2015-2017 Evan You\n * @license MIT\n */\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar Vue = _interopDefault(require('vue'));\n\nvar hasProto = { __proto__: [] } instanceof Array;\nfunction createDecorator(factory) {\n return function (target, key, index) {\n var Ctor = typeof target === 'function'\n ? target\n : target.constructor;\n if (!Ctor.__decorators__) {\n Ctor.__decorators__ = [];\n }\n if (typeof index !== 'number') {\n index = undefined;\n }\n Ctor.__decorators__.push(function (options) { return factory(options, key, index); });\n };\n}\nfunction isPrimitive(value) {\n var type = typeof value;\n return value == null || (type !== \"object\" && type !== \"function\");\n}\nfunction warn(message) {\n if (typeof console !== 'undefined') {\n console.warn('[vue-class-component] ' + message);\n }\n}\n\nfunction collectDataFromConstructor(vm, Component) {\n var originalInit = Component.prototype._init;\n Component.prototype._init = function () {\n var _this = this;\n var keys = Object.getOwnPropertyNames(vm);\n if (vm.$options.props) {\n for (var key in vm.$options.props) {\n if (!vm.hasOwnProperty(key)) {\n keys.push(key);\n }\n }\n }\n keys.forEach(function (key) {\n if (key.charAt(0) !== '_') {\n Object.defineProperty(_this, key, {\n get: function () { return vm[key]; },\n set: function (value) { return vm[key] = value; },\n configurable: true\n });\n }\n });\n };\n var data = new Component();\n Component.prototype._init = originalInit;\n var plainData = {};\n Object.keys(data).forEach(function (key) {\n if (data[key] !== undefined) {\n plainData[key] = data[key];\n }\n });\n if (process.env.NODE_ENV !== 'production') {\n if (!(Component.prototype instanceof Vue) && Object.keys(plainData).length > 0) {\n warn('Component class must inherit Vue or its descendant class ' +\n 'when class property is used.');\n }\n }\n return plainData;\n}\n\nvar $internalHooks = [\n 'data',\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeDestroy',\n 'destroyed',\n 'beforeUpdate',\n 'updated',\n 'activated',\n 'deactivated',\n 'render',\n 'errorCaptured'\n];\nfunction componentFactory(Component, options) {\n if (options === void 0) { options = {}; }\n options.name = options.name || Component._componentTag || Component.name;\n var proto = Component.prototype;\n Object.getOwnPropertyNames(proto).forEach(function (key) {\n if (key === 'constructor') {\n return;\n }\n if ($internalHooks.indexOf(key) > -1) {\n options[key] = proto[key];\n return;\n }\n var descriptor = Object.getOwnPropertyDescriptor(proto, key);\n if (typeof descriptor.value === 'function') {\n (options.methods || (options.methods = {}))[key] = descriptor.value;\n }\n else if (descriptor.get || descriptor.set) {\n (options.computed || (options.computed = {}))[key] = {\n get: descriptor.get,\n set: descriptor.set\n };\n }\n });\n (options.mixins || (options.mixins = [])).push({\n data: function () {\n return collectDataFromConstructor(this, Component);\n }\n });\n var decorators = Component.__decorators__;\n if (decorators) {\n decorators.forEach(function (fn) { return fn(options); });\n delete Component.__decorators__;\n }\n var superProto = Object.getPrototypeOf(Component.prototype);\n var Super = superProto instanceof Vue\n ? superProto.constructor\n : Vue;\n var Extended = Super.extend(options);\n forwardStaticMembers(Extended, Component, Super);\n return Extended;\n}\nvar reservedPropertyNames = [\n 'cid',\n 'super',\n 'options',\n 'superOptions',\n 'extendOptions',\n 'sealedOptions',\n 'component',\n 'directive',\n 'filter'\n];\nfunction forwardStaticMembers(Extended, Original, Super) {\n Object.getOwnPropertyNames(Original).forEach(function (key) {\n if (key === 'prototype') {\n return;\n }\n var extendedDescriptor = Object.getOwnPropertyDescriptor(Extended, key);\n if (extendedDescriptor && !extendedDescriptor.configurable) {\n return;\n }\n var descriptor = Object.getOwnPropertyDescriptor(Original, key);\n if (!hasProto) {\n if (key === 'cid') {\n return;\n }\n var superDescriptor = Object.getOwnPropertyDescriptor(Super, key);\n if (!isPrimitive(descriptor.value)\n && superDescriptor\n && superDescriptor.value === descriptor.value) {\n return;\n }\n }\n if (process.env.NODE_ENV !== 'production'\n && reservedPropertyNames.indexOf(key) >= 0) {\n warn(\"Static property name '\" + key + \"' declared on class '\" + Original.name + \"' \" +\n 'conflicts with reserved property name of Vue internal. ' +\n 'It may cause unexpected behavior of the component. Consider renaming the property.');\n }\n Object.defineProperty(Extended, key, descriptor);\n });\n}\n\nfunction Component(options) {\n if (typeof options === 'function') {\n return componentFactory(options);\n }\n return function (Component) {\n return componentFactory(Component, options);\n };\n}\n(function (Component) {\n function registerHooks(keys) {\n $internalHooks.push.apply($internalHooks, keys);\n }\n Component.registerHooks = registerHooks;\n})(Component || (Component = {}));\nvar Component$1 = Component;\n\nexports['default'] = Component$1;\nexports.createDecorator = createDecorator;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-class-component/dist/vue-class-component.common.js\n// module id = 9\n// module chunks = 0","/*! *****************************************************************************\r\nCopyright (C) Microsoft. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\nvar Reflect;\r\n(function (Reflect) {\r\n \"use strict\";\r\n var hasOwn = Object.prototype.hasOwnProperty;\r\n // feature test for Symbol support\r\n var supportsSymbol = typeof Symbol === \"function\";\r\n var toPrimitiveSymbol = supportsSymbol && typeof Symbol.toPrimitive !== \"undefined\" ? Symbol.toPrimitive : \"@@toPrimitive\";\r\n var iteratorSymbol = supportsSymbol && typeof Symbol.iterator !== \"undefined\" ? Symbol.iterator : \"@@iterator\";\r\n var HashMap;\r\n (function (HashMap) {\r\n var supportsCreate = typeof Object.create === \"function\"; // feature test for Object.create support\r\n var supportsProto = { __proto__: [] } instanceof Array; // feature test for __proto__ support\r\n var downLevel = !supportsCreate && !supportsProto;\r\n // create an object in dictionary mode (a.k.a. \"slow\" mode in v8)\r\n HashMap.create = supportsCreate\r\n ? function () { return MakeDictionary(Object.create(null)); }\r\n : supportsProto\r\n ? function () { return MakeDictionary({ __proto__: null }); }\r\n : function () { return MakeDictionary({}); };\r\n HashMap.has = downLevel\r\n ? function (map, key) { return hasOwn.call(map, key); }\r\n : function (map, key) { return key in map; };\r\n HashMap.get = downLevel\r\n ? function (map, key) { return hasOwn.call(map, key) ? map[key] : undefined; }\r\n : function (map, key) { return map[key]; };\r\n })(HashMap || (HashMap = {}));\r\n // Load global or shim versions of Map, Set, and WeakMap\r\n var functionPrototype = Object.getPrototypeOf(Function);\r\n var usePolyfill = typeof process === \"object\" && process.env && process.env[\"REFLECT_METADATA_USE_MAP_POLYFILL\"] === \"true\";\r\n var _Map = !usePolyfill && typeof Map === \"function\" && typeof Map.prototype.entries === \"function\" ? Map : CreateMapPolyfill();\r\n var _Set = !usePolyfill && typeof Set === \"function\" && typeof Set.prototype.entries === \"function\" ? Set : CreateSetPolyfill();\r\n var _WeakMap = !usePolyfill && typeof WeakMap === \"function\" ? WeakMap : CreateWeakMapPolyfill();\r\n // [[Metadata]] internal slot\r\n // https://rbuckton.github.io/reflect-metadata/#ordinary-object-internal-methods-and-internal-slots\r\n var Metadata = new _WeakMap();\r\n /**\r\n * Applies a set of decorators to a property of a target object.\r\n * @param decorators An array of decorators.\r\n * @param target The target object.\r\n * @param propertyKey (Optional) The property key to decorate.\r\n * @param attributes (Optional) The property descriptor for the target key.\r\n * @remarks Decorators are applied in reverse order.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * Example = Reflect.decorate(decoratorsArray, Example);\r\n *\r\n * // property (on constructor)\r\n * Reflect.decorate(decoratorsArray, Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * Reflect.decorate(decoratorsArray, Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * Object.defineProperty(Example, \"staticMethod\",\r\n * Reflect.decorate(decoratorsArray, Example, \"staticMethod\",\r\n * Object.getOwnPropertyDescriptor(Example, \"staticMethod\")));\r\n *\r\n * // method (on prototype)\r\n * Object.defineProperty(Example.prototype, \"method\",\r\n * Reflect.decorate(decoratorsArray, Example.prototype, \"method\",\r\n * Object.getOwnPropertyDescriptor(Example.prototype, \"method\")));\r\n *\r\n */\r\n function decorate(decorators, target, propertyKey, attributes) {\r\n if (!IsUndefined(propertyKey)) {\r\n if (!IsArray(decorators))\r\n throw new TypeError();\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsObject(attributes) && !IsUndefined(attributes) && !IsNull(attributes))\r\n throw new TypeError();\r\n if (IsNull(attributes))\r\n attributes = undefined;\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return DecorateProperty(decorators, target, propertyKey, attributes);\r\n }\r\n else {\r\n if (!IsArray(decorators))\r\n throw new TypeError();\r\n if (!IsConstructor(target))\r\n throw new TypeError();\r\n return DecorateConstructor(decorators, target);\r\n }\r\n }\r\n Reflect.decorate = decorate;\r\n // 4.1.2 Reflect.metadata(metadataKey, metadataValue)\r\n // https://rbuckton.github.io/reflect-metadata/#reflect.metadata\r\n /**\r\n * A default metadata decorator factory that can be used on a class, class member, or parameter.\r\n * @param metadataKey The key for the metadata entry.\r\n * @param metadataValue The value for the metadata entry.\r\n * @returns A decorator function.\r\n * @remarks\r\n * If `metadataKey` is already defined for the target and target key, the\r\n * metadataValue for that key will be overwritten.\r\n * @example\r\n *\r\n * // constructor\r\n * @Reflect.metadata(key, value)\r\n * class Example {\r\n * }\r\n *\r\n * // property (on constructor, TypeScript only)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * static staticProperty;\r\n * }\r\n *\r\n * // property (on prototype, TypeScript only)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * property;\r\n * }\r\n *\r\n * // method (on constructor)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * static staticMethod() { }\r\n * }\r\n *\r\n * // method (on prototype)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * method() { }\r\n * }\r\n *\r\n */\r\n function metadata(metadataKey, metadataValue) {\r\n function decorator(target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey) && !IsPropertyKey(propertyKey))\r\n throw new TypeError();\r\n OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey);\r\n }\r\n return decorator;\r\n }\r\n Reflect.metadata = metadata;\r\n /**\r\n * Define a unique metadata entry on the target.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param metadataValue A value that contains attached metadata.\r\n * @param target The target object on which to define metadata.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example);\r\n *\r\n * // property (on constructor)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example.prototype, \"method\");\r\n *\r\n * // decorator factory as metadata-producing annotation.\r\n * function MyAnnotation(options): Decorator {\r\n * return (target, key?) => Reflect.defineMetadata(\"custom:annotation\", options, target, key);\r\n * }\r\n *\r\n */\r\n function defineMetadata(metadataKey, metadataValue, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey);\r\n }\r\n Reflect.defineMetadata = defineMetadata;\r\n /**\r\n * Gets a value indicating whether the target object or its prototype chain has the provided metadata key defined.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns `true` if the metadata key was defined on the target object or its prototype chain; otherwise, `false`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function hasMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryHasMetadata(metadataKey, target, propertyKey);\r\n }\r\n Reflect.hasMetadata = hasMetadata;\r\n /**\r\n * Gets a value indicating whether the target object has the provided metadata key defined.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns `true` if the metadata key was defined on the target object; otherwise, `false`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function hasOwnMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryHasOwnMetadata(metadataKey, target, propertyKey);\r\n }\r\n Reflect.hasOwnMetadata = hasOwnMetadata;\r\n /**\r\n * Gets the metadata value for the provided metadata key on the target object or its prototype chain.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns The metadata value for the metadata key if found; otherwise, `undefined`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function getMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryGetMetadata(metadataKey, target, propertyKey);\r\n }\r\n Reflect.getMetadata = getMetadata;\r\n /**\r\n * Gets the metadata value for the provided metadata key on the target object.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns The metadata value for the metadata key if found; otherwise, `undefined`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function getOwnMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryGetOwnMetadata(metadataKey, target, propertyKey);\r\n }\r\n Reflect.getOwnMetadata = getOwnMetadata;\r\n /**\r\n * Gets the metadata keys defined on the target object or its prototype chain.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns An array of unique metadata keys.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getMetadataKeys(Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getMetadataKeys(Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getMetadataKeys(Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getMetadataKeys(Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getMetadataKeys(Example.prototype, \"method\");\r\n *\r\n */\r\n function getMetadataKeys(target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryMetadataKeys(target, propertyKey);\r\n }\r\n Reflect.getMetadataKeys = getMetadataKeys;\r\n /**\r\n * Gets the unique metadata keys defined on the target object.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns An array of unique metadata keys.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getOwnMetadataKeys(Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getOwnMetadataKeys(Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getOwnMetadataKeys(Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getOwnMetadataKeys(Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getOwnMetadataKeys(Example.prototype, \"method\");\r\n *\r\n */\r\n function getOwnMetadataKeys(target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryOwnMetadataKeys(target, propertyKey);\r\n }\r\n Reflect.getOwnMetadataKeys = getOwnMetadataKeys;\r\n /**\r\n * Deletes the metadata entry from the target object with the provided key.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns `true` if the metadata entry was found and deleted; otherwise, false.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function deleteMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n var metadataMap = GetOrCreateMetadataMap(target, propertyKey, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return false;\r\n if (!metadataMap.delete(metadataKey))\r\n return false;\r\n if (metadataMap.size > 0)\r\n return true;\r\n var targetMetadata = Metadata.get(target);\r\n targetMetadata.delete(propertyKey);\r\n if (targetMetadata.size > 0)\r\n return true;\r\n Metadata.delete(target);\r\n return true;\r\n }\r\n Reflect.deleteMetadata = deleteMetadata;\r\n function DecorateConstructor(decorators, target) {\r\n for (var i = decorators.length - 1; i >= 0; --i) {\r\n var decorator = decorators[i];\r\n var decorated = decorator(target);\r\n if (!IsUndefined(decorated) && !IsNull(decorated)) {\r\n if (!IsConstructor(decorated))\r\n throw new TypeError();\r\n target = decorated;\r\n }\r\n }\r\n return target;\r\n }\r\n function DecorateProperty(decorators, target, propertyKey, descriptor) {\r\n for (var i = decorators.length - 1; i >= 0; --i) {\r\n var decorator = decorators[i];\r\n var decorated = decorator(target, propertyKey, descriptor);\r\n if (!IsUndefined(decorated) && !IsNull(decorated)) {\r\n if (!IsObject(decorated))\r\n throw new TypeError();\r\n descriptor = decorated;\r\n }\r\n }\r\n return descriptor;\r\n }\r\n function GetOrCreateMetadataMap(O, P, Create) {\r\n var targetMetadata = Metadata.get(O);\r\n if (IsUndefined(targetMetadata)) {\r\n if (!Create)\r\n return undefined;\r\n targetMetadata = new _Map();\r\n Metadata.set(O, targetMetadata);\r\n }\r\n var metadataMap = targetMetadata.get(P);\r\n if (IsUndefined(metadataMap)) {\r\n if (!Create)\r\n return undefined;\r\n metadataMap = new _Map();\r\n targetMetadata.set(P, metadataMap);\r\n }\r\n return metadataMap;\r\n }\r\n // 3.1.1.1 OrdinaryHasMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinaryhasmetadata\r\n function OrdinaryHasMetadata(MetadataKey, O, P) {\r\n var hasOwn = OrdinaryHasOwnMetadata(MetadataKey, O, P);\r\n if (hasOwn)\r\n return true;\r\n var parent = OrdinaryGetPrototypeOf(O);\r\n if (!IsNull(parent))\r\n return OrdinaryHasMetadata(MetadataKey, parent, P);\r\n return false;\r\n }\r\n // 3.1.2.1 OrdinaryHasOwnMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinaryhasownmetadata\r\n function OrdinaryHasOwnMetadata(MetadataKey, O, P) {\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return false;\r\n return ToBoolean(metadataMap.has(MetadataKey));\r\n }\r\n // 3.1.3.1 OrdinaryGetMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarygetmetadata\r\n function OrdinaryGetMetadata(MetadataKey, O, P) {\r\n var hasOwn = OrdinaryHasOwnMetadata(MetadataKey, O, P);\r\n if (hasOwn)\r\n return OrdinaryGetOwnMetadata(MetadataKey, O, P);\r\n var parent = OrdinaryGetPrototypeOf(O);\r\n if (!IsNull(parent))\r\n return OrdinaryGetMetadata(MetadataKey, parent, P);\r\n return undefined;\r\n }\r\n // 3.1.4.1 OrdinaryGetOwnMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarygetownmetadata\r\n function OrdinaryGetOwnMetadata(MetadataKey, O, P) {\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return undefined;\r\n return metadataMap.get(MetadataKey);\r\n }\r\n // 3.1.5.1 OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarydefineownmetadata\r\n function OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P) {\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ true);\r\n metadataMap.set(MetadataKey, MetadataValue);\r\n }\r\n // 3.1.6.1 OrdinaryMetadataKeys(O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarymetadatakeys\r\n function OrdinaryMetadataKeys(O, P) {\r\n var ownKeys = OrdinaryOwnMetadataKeys(O, P);\r\n var parent = OrdinaryGetPrototypeOf(O);\r\n if (parent === null)\r\n return ownKeys;\r\n var parentKeys = OrdinaryMetadataKeys(parent, P);\r\n if (parentKeys.length <= 0)\r\n return ownKeys;\r\n if (ownKeys.length <= 0)\r\n return parentKeys;\r\n var set = new _Set();\r\n var keys = [];\r\n for (var _i = 0, ownKeys_1 = ownKeys; _i < ownKeys_1.length; _i++) {\r\n var key = ownKeys_1[_i];\r\n var hasKey = set.has(key);\r\n if (!hasKey) {\r\n set.add(key);\r\n keys.push(key);\r\n }\r\n }\r\n for (var _a = 0, parentKeys_1 = parentKeys; _a < parentKeys_1.length; _a++) {\r\n var key = parentKeys_1[_a];\r\n var hasKey = set.has(key);\r\n if (!hasKey) {\r\n set.add(key);\r\n keys.push(key);\r\n }\r\n }\r\n return keys;\r\n }\r\n // 3.1.7.1 OrdinaryOwnMetadataKeys(O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinaryownmetadatakeys\r\n function OrdinaryOwnMetadataKeys(O, P) {\r\n var keys = [];\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return keys;\r\n var keysObj = metadataMap.keys();\r\n var iterator = GetIterator(keysObj);\r\n var k = 0;\r\n while (true) {\r\n var next = IteratorStep(iterator);\r\n if (!next) {\r\n keys.length = k;\r\n return keys;\r\n }\r\n var nextValue = IteratorValue(next);\r\n try {\r\n keys[k] = nextValue;\r\n }\r\n catch (e) {\r\n try {\r\n IteratorClose(iterator);\r\n }\r\n finally {\r\n throw e;\r\n }\r\n }\r\n k++;\r\n }\r\n }\r\n // 6 ECMAScript Data Typ0es and Values\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-data-types-and-values\r\n function Type(x) {\r\n if (x === null)\r\n return 1 /* Null */;\r\n switch (typeof x) {\r\n case \"undefined\": return 0 /* Undefined */;\r\n case \"boolean\": return 2 /* Boolean */;\r\n case \"string\": return 3 /* String */;\r\n case \"symbol\": return 4 /* Symbol */;\r\n case \"number\": return 5 /* Number */;\r\n case \"object\": return x === null ? 1 /* Null */ : 6 /* Object */;\r\n default: return 6 /* Object */;\r\n }\r\n }\r\n // 6.1.1 The Undefined Type\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-undefined-type\r\n function IsUndefined(x) {\r\n return x === undefined;\r\n }\r\n // 6.1.2 The Null Type\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-null-type\r\n function IsNull(x) {\r\n return x === null;\r\n }\r\n // 6.1.5 The Symbol Type\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-symbol-type\r\n function IsSymbol(x) {\r\n return typeof x === \"symbol\";\r\n }\r\n // 6.1.7 The Object Type\r\n // https://tc39.github.io/ecma262/#sec-object-type\r\n function IsObject(x) {\r\n return typeof x === \"object\" ? x !== null : typeof x === \"function\";\r\n }\r\n // 7.1 Type Conversion\r\n // https://tc39.github.io/ecma262/#sec-type-conversion\r\n // 7.1.1 ToPrimitive(input [, PreferredType])\r\n // https://tc39.github.io/ecma262/#sec-toprimitive\r\n function ToPrimitive(input, PreferredType) {\r\n switch (Type(input)) {\r\n case 0 /* Undefined */: return input;\r\n case 1 /* Null */: return input;\r\n case 2 /* Boolean */: return input;\r\n case 3 /* String */: return input;\r\n case 4 /* Symbol */: return input;\r\n case 5 /* Number */: return input;\r\n }\r\n var hint = PreferredType === 3 /* String */ ? \"string\" : PreferredType === 5 /* Number */ ? \"number\" : \"default\";\r\n var exoticToPrim = GetMethod(input, toPrimitiveSymbol);\r\n if (exoticToPrim !== undefined) {\r\n var result = exoticToPrim.call(input, hint);\r\n if (IsObject(result))\r\n throw new TypeError();\r\n return result;\r\n }\r\n return OrdinaryToPrimitive(input, hint === \"default\" ? \"number\" : hint);\r\n }\r\n // 7.1.1.1 OrdinaryToPrimitive(O, hint)\r\n // https://tc39.github.io/ecma262/#sec-ordinarytoprimitive\r\n function OrdinaryToPrimitive(O, hint) {\r\n if (hint === \"string\") {\r\n var toString_1 = O.toString;\r\n if (IsCallable(toString_1)) {\r\n var result = toString_1.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n var valueOf = O.valueOf;\r\n if (IsCallable(valueOf)) {\r\n var result = valueOf.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n }\r\n else {\r\n var valueOf = O.valueOf;\r\n if (IsCallable(valueOf)) {\r\n var result = valueOf.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n var toString_2 = O.toString;\r\n if (IsCallable(toString_2)) {\r\n var result = toString_2.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n }\r\n throw new TypeError();\r\n }\r\n // 7.1.2 ToBoolean(argument)\r\n // https://tc39.github.io/ecma262/2016/#sec-toboolean\r\n function ToBoolean(argument) {\r\n return !!argument;\r\n }\r\n // 7.1.12 ToString(argument)\r\n // https://tc39.github.io/ecma262/#sec-tostring\r\n function ToString(argument) {\r\n return \"\" + argument;\r\n }\r\n // 7.1.14 ToPropertyKey(argument)\r\n // https://tc39.github.io/ecma262/#sec-topropertykey\r\n function ToPropertyKey(argument) {\r\n var key = ToPrimitive(argument, 3 /* String */);\r\n if (IsSymbol(key))\r\n return key;\r\n return ToString(key);\r\n }\r\n // 7.2 Testing and Comparison Operations\r\n // https://tc39.github.io/ecma262/#sec-testing-and-comparison-operations\r\n // 7.2.2 IsArray(argument)\r\n // https://tc39.github.io/ecma262/#sec-isarray\r\n function IsArray(argument) {\r\n return Array.isArray\r\n ? Array.isArray(argument)\r\n : argument instanceof Object\r\n ? argument instanceof Array\r\n : Object.prototype.toString.call(argument) === \"[object Array]\";\r\n }\r\n // 7.2.3 IsCallable(argument)\r\n // https://tc39.github.io/ecma262/#sec-iscallable\r\n function IsCallable(argument) {\r\n // NOTE: This is an approximation as we cannot check for [[Call]] internal method.\r\n return typeof argument === \"function\";\r\n }\r\n // 7.2.4 IsConstructor(argument)\r\n // https://tc39.github.io/ecma262/#sec-isconstructor\r\n function IsConstructor(argument) {\r\n // NOTE: This is an approximation as we cannot check for [[Construct]] internal method.\r\n return typeof argument === \"function\";\r\n }\r\n // 7.2.7 IsPropertyKey(argument)\r\n // https://tc39.github.io/ecma262/#sec-ispropertykey\r\n function IsPropertyKey(argument) {\r\n switch (Type(argument)) {\r\n case 3 /* String */: return true;\r\n case 4 /* Symbol */: return true;\r\n default: return false;\r\n }\r\n }\r\n // 7.3 Operations on Objects\r\n // https://tc39.github.io/ecma262/#sec-operations-on-objects\r\n // 7.3.9 GetMethod(V, P)\r\n // https://tc39.github.io/ecma262/#sec-getmethod\r\n function GetMethod(V, P) {\r\n var func = V[P];\r\n if (func === undefined || func === null)\r\n return undefined;\r\n if (!IsCallable(func))\r\n throw new TypeError();\r\n return func;\r\n }\r\n // 7.4 Operations on Iterator Objects\r\n // https://tc39.github.io/ecma262/#sec-operations-on-iterator-objects\r\n function GetIterator(obj) {\r\n var method = GetMethod(obj, iteratorSymbol);\r\n if (!IsCallable(method))\r\n throw new TypeError(); // from Call\r\n var iterator = method.call(obj);\r\n if (!IsObject(iterator))\r\n throw new TypeError();\r\n return iterator;\r\n }\r\n // 7.4.4 IteratorValue(iterResult)\r\n // https://tc39.github.io/ecma262/2016/#sec-iteratorvalue\r\n function IteratorValue(iterResult) {\r\n return iterResult.value;\r\n }\r\n // 7.4.5 IteratorStep(iterator)\r\n // https://tc39.github.io/ecma262/#sec-iteratorstep\r\n function IteratorStep(iterator) {\r\n var result = iterator.next();\r\n return result.done ? false : result;\r\n }\r\n // 7.4.6 IteratorClose(iterator, completion)\r\n // https://tc39.github.io/ecma262/#sec-iteratorclose\r\n function IteratorClose(iterator) {\r\n var f = iterator[\"return\"];\r\n if (f)\r\n f.call(iterator);\r\n }\r\n // 9.1 Ordinary Object Internal Methods and Internal Slots\r\n // https://tc39.github.io/ecma262/#sec-ordinary-object-internal-methods-and-internal-slots\r\n // 9.1.1.1 OrdinaryGetPrototypeOf(O)\r\n // https://tc39.github.io/ecma262/#sec-ordinarygetprototypeof\r\n function OrdinaryGetPrototypeOf(O) {\r\n var proto = Object.getPrototypeOf(O);\r\n if (typeof O !== \"function\" || O === functionPrototype)\r\n return proto;\r\n // TypeScript doesn't set __proto__ in ES5, as it's non-standard.\r\n // Try to determine the superclass constructor. Compatible implementations\r\n // must either set __proto__ on a subclass constructor to the superclass constructor,\r\n // or ensure each class has a valid `constructor` property on its prototype that\r\n // points back to the constructor.\r\n // If this is not the same as Function.[[Prototype]], then this is definately inherited.\r\n // This is the case when in ES6 or when using __proto__ in a compatible browser.\r\n if (proto !== functionPrototype)\r\n return proto;\r\n // If the super prototype is Object.prototype, null, or undefined, then we cannot determine the heritage.\r\n var prototype = O.prototype;\r\n var prototypeProto = prototype && Object.getPrototypeOf(prototype);\r\n if (prototypeProto == null || prototypeProto === Object.prototype)\r\n return proto;\r\n // If the constructor was not a function, then we cannot determine the heritage.\r\n var constructor = prototypeProto.constructor;\r\n if (typeof constructor !== \"function\")\r\n return proto;\r\n // If we have some kind of self-reference, then we cannot determine the heritage.\r\n if (constructor === O)\r\n return proto;\r\n // we have a pretty good guess at the heritage.\r\n return constructor;\r\n }\r\n // naive Map shim\r\n function CreateMapPolyfill() {\r\n var cacheSentinel = {};\r\n var arraySentinel = [];\r\n var MapIterator = (function () {\r\n function MapIterator(keys, values, selector) {\r\n this._index = 0;\r\n this._keys = keys;\r\n this._values = values;\r\n this._selector = selector;\r\n }\r\n MapIterator.prototype[\"@@iterator\"] = function () { return this; };\r\n MapIterator.prototype[iteratorSymbol] = function () { return this; };\r\n MapIterator.prototype.next = function () {\r\n var index = this._index;\r\n if (index >= 0 && index < this._keys.length) {\r\n var result = this._selector(this._keys[index], this._values[index]);\r\n if (index + 1 >= this._keys.length) {\r\n this._index = -1;\r\n this._keys = arraySentinel;\r\n this._values = arraySentinel;\r\n }\r\n else {\r\n this._index++;\r\n }\r\n return { value: result, done: false };\r\n }\r\n return { value: undefined, done: true };\r\n };\r\n MapIterator.prototype.throw = function (error) {\r\n if (this._index >= 0) {\r\n this._index = -1;\r\n this._keys = arraySentinel;\r\n this._values = arraySentinel;\r\n }\r\n throw error;\r\n };\r\n MapIterator.prototype.return = function (value) {\r\n if (this._index >= 0) {\r\n this._index = -1;\r\n this._keys = arraySentinel;\r\n this._values = arraySentinel;\r\n }\r\n return { value: value, done: true };\r\n };\r\n return MapIterator;\r\n }());\r\n return (function () {\r\n function Map() {\r\n this._keys = [];\r\n this._values = [];\r\n this._cacheKey = cacheSentinel;\r\n this._cacheIndex = -2;\r\n }\r\n Object.defineProperty(Map.prototype, \"size\", {\r\n get: function () { return this._keys.length; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Map.prototype.has = function (key) { return this._find(key, /*insert*/ false) >= 0; };\r\n Map.prototype.get = function (key) {\r\n var index = this._find(key, /*insert*/ false);\r\n return index >= 0 ? this._values[index] : undefined;\r\n };\r\n Map.prototype.set = function (key, value) {\r\n var index = this._find(key, /*insert*/ true);\r\n this._values[index] = value;\r\n return this;\r\n };\r\n Map.prototype.delete = function (key) {\r\n var index = this._find(key, /*insert*/ false);\r\n if (index >= 0) {\r\n var size = this._keys.length;\r\n for (var i = index + 1; i < size; i++) {\r\n this._keys[i - 1] = this._keys[i];\r\n this._values[i - 1] = this._values[i];\r\n }\r\n this._keys.length--;\r\n this._values.length--;\r\n if (key === this._cacheKey) {\r\n this._cacheKey = cacheSentinel;\r\n this._cacheIndex = -2;\r\n }\r\n return true;\r\n }\r\n return false;\r\n };\r\n Map.prototype.clear = function () {\r\n this._keys.length = 0;\r\n this._values.length = 0;\r\n this._cacheKey = cacheSentinel;\r\n this._cacheIndex = -2;\r\n };\r\n Map.prototype.keys = function () { return new MapIterator(this._keys, this._values, getKey); };\r\n Map.prototype.values = function () { return new MapIterator(this._keys, this._values, getValue); };\r\n Map.prototype.entries = function () { return new MapIterator(this._keys, this._values, getEntry); };\r\n Map.prototype[\"@@iterator\"] = function () { return this.entries(); };\r\n Map.prototype[iteratorSymbol] = function () { return this.entries(); };\r\n Map.prototype._find = function (key, insert) {\r\n if (this._cacheKey !== key) {\r\n this._cacheIndex = this._keys.indexOf(this._cacheKey = key);\r\n }\r\n if (this._cacheIndex < 0 && insert) {\r\n this._cacheIndex = this._keys.length;\r\n this._keys.push(key);\r\n this._values.push(undefined);\r\n }\r\n return this._cacheIndex;\r\n };\r\n return Map;\r\n }());\r\n function getKey(key, _) {\r\n return key;\r\n }\r\n function getValue(_, value) {\r\n return value;\r\n }\r\n function getEntry(key, value) {\r\n return [key, value];\r\n }\r\n }\r\n // naive Set shim\r\n function CreateSetPolyfill() {\r\n return (function () {\r\n function Set() {\r\n this._map = new _Map();\r\n }\r\n Object.defineProperty(Set.prototype, \"size\", {\r\n get: function () { return this._map.size; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Set.prototype.has = function (value) { return this._map.has(value); };\r\n Set.prototype.add = function (value) { return this._map.set(value, value), this; };\r\n Set.prototype.delete = function (value) { return this._map.delete(value); };\r\n Set.prototype.clear = function () { this._map.clear(); };\r\n Set.prototype.keys = function () { return this._map.keys(); };\r\n Set.prototype.values = function () { return this._map.values(); };\r\n Set.prototype.entries = function () { return this._map.entries(); };\r\n Set.prototype[\"@@iterator\"] = function () { return this.keys(); };\r\n Set.prototype[iteratorSymbol] = function () { return this.keys(); };\r\n return Set;\r\n }());\r\n }\r\n // naive WeakMap shim\r\n function CreateWeakMapPolyfill() {\r\n var UUID_SIZE = 16;\r\n var keys = HashMap.create();\r\n var rootKey = CreateUniqueKey();\r\n return (function () {\r\n function WeakMap() {\r\n this._key = CreateUniqueKey();\r\n }\r\n WeakMap.prototype.has = function (target) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ false);\r\n return table !== undefined ? HashMap.has(table, this._key) : false;\r\n };\r\n WeakMap.prototype.get = function (target) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ false);\r\n return table !== undefined ? HashMap.get(table, this._key) : undefined;\r\n };\r\n WeakMap.prototype.set = function (target, value) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ true);\r\n table[this._key] = value;\r\n return this;\r\n };\r\n WeakMap.prototype.delete = function (target) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ false);\r\n return table !== undefined ? delete table[this._key] : false;\r\n };\r\n WeakMap.prototype.clear = function () {\r\n // NOTE: not a real clear, just makes the previous data unreachable\r\n this._key = CreateUniqueKey();\r\n };\r\n return WeakMap;\r\n }());\r\n function CreateUniqueKey() {\r\n var key;\r\n do\r\n key = \"@@WeakMap@@\" + CreateUUID();\r\n while (HashMap.has(keys, key));\r\n keys[key] = true;\r\n return key;\r\n }\r\n function GetOrCreateWeakMapTable(target, create) {\r\n if (!hasOwn.call(target, rootKey)) {\r\n if (!create)\r\n return undefined;\r\n Object.defineProperty(target, rootKey, { value: HashMap.create() });\r\n }\r\n return target[rootKey];\r\n }\r\n function FillRandomBytes(buffer, size) {\r\n for (var i = 0; i < size; ++i)\r\n buffer[i] = Math.random() * 0xff | 0;\r\n return buffer;\r\n }\r\n function GenRandomBytes(size) {\r\n if (typeof Uint8Array === \"function\") {\r\n if (typeof crypto !== \"undefined\")\r\n return crypto.getRandomValues(new Uint8Array(size));\r\n if (typeof msCrypto !== \"undefined\")\r\n return msCrypto.getRandomValues(new Uint8Array(size));\r\n return FillRandomBytes(new Uint8Array(size), size);\r\n }\r\n return FillRandomBytes(new Array(size), size);\r\n }\r\n function CreateUUID() {\r\n var data = GenRandomBytes(UUID_SIZE);\r\n // mark as random - RFC 4122 ยง 4.4\r\n data[6] = data[6] & 0x4f | 0x40;\r\n data[8] = data[8] & 0xbf | 0x80;\r\n var result = \"\";\r\n for (var offset = 0; offset < UUID_SIZE; ++offset) {\r\n var byte = data[offset];\r\n if (offset === 4 || offset === 6 || offset === 8)\r\n result += \"-\";\r\n if (byte < 16)\r\n result += \"0\";\r\n result += byte.toString(16).toLowerCase();\r\n }\r\n return result;\r\n }\r\n }\r\n // uses a heuristic used by v8 and chakra to force an object into dictionary mode.\r\n function MakeDictionary(obj) {\r\n obj.__ = undefined;\r\n delete obj.__;\r\n return obj;\r\n }\r\n // patch global Reflect\r\n (function (__global) {\r\n if (typeof __global.Reflect !== \"undefined\") {\r\n if (__global.Reflect !== Reflect) {\r\n for (var p in Reflect) {\r\n if (hasOwn.call(Reflect, p)) {\r\n __global.Reflect[p] = Reflect[p];\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n __global.Reflect = Reflect;\r\n }\r\n })(typeof global !== \"undefined\" ? global :\r\n typeof self !== \"undefined\" ? self :\r\n Function(\"return this;\")());\r\n})(Reflect || (Reflect = {}));\r\n//# sourceMappingURL=Reflect.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/reflect-metadata/Reflect.js\n// module id = 10\n// module chunks = 0","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/node-libs-browser/node_modules/process/browser.js\n// module id = 11\n// module chunks = 0","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 12\n// module chunks = 0","/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nexport default noop;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/lodash-es/noop.js","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nexport default identity;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/lodash-es/identity.js","import { assign, defineProperty, copyOwnAndInheritedProps, uniqueId, round, toKbps, toMbps } from \"../core/utils\"\n\nexport interface IUploadStats {\n\tbytesSent: number\n\tprogress: number\n\ttotal: number\n\tspeed: ISpeedStats\n\tstart: number\n\tend: number\n\ttime: number\n}\n\nexport interface ISpeedStats {\n\tkbps: number\n\tmbps: number\n}\n\nclass VTransmitFile {\n\tprivate _nativeFile: File = null\n\tid: string = VTransmitFile.idFactory()\n\taccepted: boolean = undefined // Passed all validation.\n\tlastModified: number = undefined\n\tlastModifiedDate: Date = undefined\n\tname: string = undefined\n\tprocessing: boolean = undefined\n\tsize: number = undefined\n\tstatus: string = undefined\n\ttype: string = undefined\n\tupload: IUploadStats = {\n\t\tbytesSent: 0,\n\t\tprogress: 0,\n\t\ttotal: 0,\n\t\tspeed: {\n\t\t\tkbps: undefined,\n\t\t\tmbps: undefined,\n\t\t},\n\t\tstart: undefined,\n\t\tend: undefined,\n\t\ttime: undefined,\n\t}\n\twebkitRelativePath: USVString = undefined\n\twidth: number = undefined\n\theight: number = undefined\n\txhr: XMLHttpRequest = undefined\n\tprivate _dataUrl: string\n\terrorMessage: string = undefined\n\n\tconstructor(...data: object[]) {\n\t\tassign(this, ...data)\n\t}\n\n\tset(...data: object[]): VTransmitFile {\n\t\tassign(this, ...data)\n\t\treturn this\n\t}\n\n\tcopyNativeFile(file: File): VTransmitFile {\n\t\t// save reference for upload\n\t\tthis.nativeFile = file\n\t\t// Copy props to normal object for Vue reactivity.\n\t\t// Vue cannot define reactive properties on native file's readonly props.\n\t\treturn this.set(copyOwnAndInheritedProps(file))\n\t}\n\n\tcopyOwnAndInheritedProps(...data: object[]): VTransmitFile {\n\t\treturn this.set(...data.map(copyOwnAndInheritedProps))\n\t}\n\n\thandleProgress(e: ProgressEvent): void {\n\t\tthis.startProgress()\n\t\tconst total = e.total || this.upload.total\n\t\tthis.upload.progress = Math.min(100, 100 * e.loaded / total)\n\t\tthis.upload.bytesSent = e.loaded\n\t\tthis.upload.total = total\n\t\tthis.upload.time = (Date.now() - this.upload.start) / 1000\n\t\t// Recalc the upload speed in bytes/sec\n\t\tthis.upload.speed.kbps = round(toKbps(this.upload.bytesSent, this.upload.time))\n\t\tthis.upload.speed.mbps = round(toMbps(this.upload.bytesSent, this.upload.time))\n\t\tif (this.upload.progress === 100) {\n\t\t\tthis.endProgress()\n\t\t}\n\t}\n\n\tstartProgress(): VTransmitFile {\n\t\t// Avoid starting twice\n\t\tif (typeof this.upload.start !== \"number\") {\n\t\t\tthis.upload.start = Date.now()\n\t\t}\n\t\treturn this\n\t}\n\n\tendProgress(): VTransmitFile {\n\t\t// Avoid ending twice\n\t\tif (typeof this.upload.end !== \"number\") {\n\t\t\tthis.upload.end = Date.now()\n\t\t\tthis.upload.time = (Date.now() - this.upload.start) / 1000\n\t\t}\n\t\treturn this\n\t}\n\n\tget nativeFile() {\n\t\treturn this._nativeFile\n\t}\n\n\tset nativeFile(file: File) {\n\t\tif (!(file instanceof File)) {\n\t\t\tthrow new TypeError(`[${VTransmitFile.name}] Expected an instance of File (native).`)\n\t\t}\n\t\tthis._nativeFile = file\n\t\tthis.upload.total = file.size\n\t}\n\n\tget dataUrl() {\n\t\treturn this._dataUrl || \"\"\n\t}\n\n\tset dataUrl(value) {\n\t\tdefineProperty(this, \"_dataUrl\", {\n\t\t\tvalue,\n\t\t\tenumerable: false,\n\t\t\tconfigurable: true,\n\t\t\twritable: true,\n\t\t})\n\t}\n\n\tstatic fromNativeFile(file: File, ...data) {\n\t\tconst instance = new VTransmitFile(...data)\n\t\tinstance.copyNativeFile(file)\n\t\treturn instance\n\t}\n\n\tstatic idFactory() {\n\t\treturn uniqueId(\"v-transmit-file-\")\n\t}\n}\n\nexport default VTransmitFile\n\n\n\n// WEBPACK FOOTER //\n// ./src/classes/VTransmitFile.ts","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(_vm.tag,{tag:\"component\"},[_c('div',_vm._g(_vm._b({staticClass:\"v-transmit__upload-area\",class:[_vm.isDraggingClass, _vm.uploadAreaClasses],attrs:{\"draggable\":\"true\"},on:{\"click\":_vm.handleClickUploaderAction,\"dragstart\":_vm.handleDragStart,\"dragend\":_vm.handleDragEnd,\"dragenter\":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDragEnter($event)},\"dragover\":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDragOver($event)},\"dragleave\":_vm.handleDragLeave,\"drop\":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDrop($event)}}},'div',_vm.uploadAreaAttrs,false),_vm.uploadAreaListeners),[_vm._t(\"default\")],2),_vm._v(\" \"),_vm._t(\"files\",null,null,_vm.fileSlotBindings),_vm._v(\" \"),_c('input',{ref:\"hiddenFileInput\",class:[_vm.maxFilesReachedClass],style:(_vm.fileInputStyles),attrs:{\"type\":\"file\",\"multiple\":_vm.multiple,\"accept\":_vm.filesToAccept,\"capture\":_vm.capture},on:{\"change\":_vm.onFileInputChange}})],2)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-25b0f28c\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/VueTransmit.vue\n// module id = 16\n// module chunks = 0"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["webpack:///webpack/bootstrap 7a14ef1458b12a0cf0e3","webpack:///external \"Vue\"","webpack:///./src/components/VueTransmit.vue?cd95","webpack:///./src/core/utils.ts","webpack:///./index.ts","webpack:///./src/index.ts","webpack:///./src/components/VueTransmit.vue","webpack:///./src/components/VueTransmit.vue?18b8","webpack:///./node_modules/vue-loader/lib/component-normalizer.js","webpack:///./node_modules/vue-property-decorator/lib/vue-property-decorator.umd.js","webpack:///./node_modules/vue-class-component/dist/vue-class-component.common.js","webpack:///./node_modules/reflect-metadata/Reflect.js","webpack:///./node_modules/node-libs-browser/node_modules/process/browser.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/lodash-es/noop.js","webpack:///./node_modules/lodash-es/identity.js","webpack:///./src/classes/VTransmitFile.ts","webpack:///./src/components/VueTransmit.vue?d47d"],"names":["noop","identity","value"],"mappings":"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ACA;AACA;AACA;AACA;AACA;AACwK;AACxK;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC1BA,yC;;;;;;ACAA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACtGA;AACA;AACA;AACA,2CAA2C;AAC3C,CAAC,kDAAkD;;AAEnD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,cAAc;AAC3C;AACA;AACA;AACA;AACA;AACA,mEAAmE;AACnE,sCAAsC;AACtC,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,cAAc;AAC3C;AACA;AACA;AACA;AACA;AACA,mEAAmE;AACnE,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,cAAc;AAC3C;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,KAAK;AACL;AACA;AACA;AACA,gCAAgC,sDAAsD;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,8CAA8C,cAAc;;AAE5D,CAAC;;;;;;;;AClID;AACA;AACA;AACA;AACA;AACA;;AAEA,8CAA8C,cAAc;;AAE5D,+BAA+B,iFAAiF;;AAEhH;;AAEA,gBAAgB,gBAAgB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,qCAAqC,EAAE;AAC5F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,gBAAgB,EAAE;AACxD,2CAA2C,wBAAwB,EAAE;AACrE;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,cAAc;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA;AACA,uDAAuD;AACvD;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,0CAA0C,oBAAoB,EAAE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,8BAA8B;AAC/B;;AAEA;AACA;;;;;;;AChMA;AACA;AACA,+DAA+D;AAC/D;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE;AACjE,6BAA6B,gBAAgB,kBAAkB;AAC/D;AACA;AACA;AACA,2BAA2B,4CAA4C;AACvE;AACA,+BAA+B,wBAAwB,kBAAkB,EAAE;AAC3E,+BAA+B,yBAAyB,EAAE;AAC1D;AACA,mCAAmC,8BAA8B;AACjE,mCAAmC,mBAAmB;AACtD;AACA,mCAAmC,qDAAqD;AACxF,mCAAmC,iBAAiB;AACpD,KAAK,0BAA0B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oGAAoG;AACpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6EAA6E;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,QAAQ;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,QAAQ;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,uBAAuB;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,0BAA0B;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D,aAAa;AAC5E,iEAAiE,aAAa;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,0BAA0B,EAAE;AAC9D;AACA;AACA,aAAa;AACb,gDAAgD,+CAA+C;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,UAAU;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,0DAA0D;AACxG,gDAAgD,4DAA4D;AAC5G,iDAAiD,4DAA4D;AAC7G,uDAAuD,uBAAuB;AAC9E,yDAAyD,uBAAuB;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,uBAAuB,EAAE;AAC3D;AACA;AACA,aAAa;AACb,kDAAkD,6BAA6B;AAC/E,kDAAkD,0CAA0C;AAC5F,qDAAqD,gCAAgC;AACrF,+CAA+C,mBAAmB;AAClE,8CAA8C,yBAAyB;AACvE,gDAAgD,2BAA2B;AAC3E,iDAAiD,4BAA4B;AAC7E,uDAAuD,oBAAoB;AAC3E,yDAAyD,oBAAoB;AAC7E;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,0BAA0B;AAClF;AACA;AACA;AACA;AACA,2BAA2B,UAAU;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,oBAAoB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC;AAClC,CAAC,0BAA0B;AAC3B,mC;;;;;;;ACpmCA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;;;AAI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","file":"vue-transmit.browser.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 3);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 7a14ef1458b12a0cf0e3","(function() { module.exports = window[\"Vue\"]; }());\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"Vue\"\n// module id = 0\n// module chunks = 0","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\"\nimport { Component, Prop, Watch } from \"vue-property-decorator\"\nimport noop from \"lodash-es/noop\"\nimport identity from \"lodash-es/identity\"\nimport {\n\thbsRegex,\n\thbsReplacer,\n\tobjFactory,\n\tresizeImg,\n\tIDrawImageArgs,\n\tIDimensions,\n\twebkitIsFile,\n\twebkitIsDir,\n} from \"../core/utils\"\nimport VTransmitFile from \"../classes/VTransmitFile\"\n\ntype FileSystemEntry = WebKitFileEntry | WebKitDirectoryEntry\n\nconst STATUSES = {\n\tADDED: \"added\",\n\tQUEUED: \"queued\",\n\tACCEPTED: \"queued\",\n\tUPLOADING: \"uploading\",\n\tPROCESSING: \"uploading\",\n\tCANCELED: \"canceled\",\n\tERROR: \"error\",\n\tTIMEOUT: \"timeout\",\n\tSUCCESS: \"success\",\n}\n\n@Component({ name: \"VueTransmit\" })\nexport default class VueTransmit extends Vue {\n\t@Prop({ type: String, default: \"div\" })\n\ttag: string\n\n\t@Prop({ type: [Array, Object, String], default: null })\n\tuploadAreaClasses: any[] | object | string\n\n\t@Prop({ type: Object, default: objFactory })\n\tuploadAreaAttrs: object\n\n\t@Prop({ type: Object, default: objFactory })\n\tuploadAreaListeners: object\n\n\t@Prop({ type: String, default: null })\n\tdragClass: string\n\n\t@Prop({ type: String, required: true })\n\turl: string\n\n\t@Prop({ type: String, default: \"post\" })\n\tmethod: string\n\n\t@Prop({ type: Boolean, default: false })\n\twithCredentials: boolean\n\n\t// timeout in milliseconds\n\t@Prop({ type: Number, default: 0 })\n\ttimeout: number\n\n\t@Prop({ type: Number, default: 2 })\n\tmaxConcurrentUploads: number\n\t// Whether to send multiple files in one request.\n\t@Prop({ type: Boolean, default: false })\n\tuploadMultiple: boolean\n\n\t// in MB\n\t@Prop({ type: Number, default: 256 })\n\tmaxFileSize: number\n\n\t// The name of the file param that gets transferred.\n\t@Prop({ type: String, default: \"file\" })\n\tparamName: string\n\n\t@Prop({ type: Boolean, default: true })\n\tcreateImageThumbnails: boolean\n\n\t// in MB. When the filename exceeds this limit, the thumbnail will not be generated.\n\t@Prop({ type: Number, default: 10 })\n\tmaxThumbnailFileSize: number\n\n\t@Prop({ type: Number, default: 120 })\n\tthumbnailWidth: number\n\n\t@Prop({ type: Number, default: 120 })\n\tthumbnailHeight: number\n\n\t/**\n * The base that is used to calculate the file size. You can change this to\n * 1024 if you would rather display kibibytes, mebibytes, etc...\n * 1024 is technically incorrect,\n * because `1024 bytes` are `1 kibibyte` not `1 kilobyte`.\n * You can change this to `1024` if you don't care about validity.\n */\n\t@Prop({ type: Number, default: 1000 })\n\tfileSizeBase: number\n\n\t/**\n * Can be used to limit the maximum number of files that will be handled\n * by this Dropzone\n */\n\t@Prop({ type: Number, default: null })\n\tmaxFiles: number\n\n\t/**\n * Can be an object of additional parameters to transfer to the server.\n * This is the same as adding hidden input fields in the form element.\n */\n\t@Prop({ type: Object, default: objFactory })\n\tparams: object\n\n\t@Prop({ type: Object, default: objFactory })\n\theaders: object\n\n\t@Prop({ type: String, default: \"\" })\n\tresponseType: XMLHttpRequestResponseType\n\n\t// If true, the dropzone will present a file selector when clicked.\n\t@Prop({ type: Boolean, default: true })\n\tclickable: boolean\n\n\t// Whether hidden files in directories should be ignored.\n\t@Prop({ type: Boolean, default: true })\n\tignoreHiddenFiles: boolean\n\n\t/**\n * You can set accepted mime types here.\n *\n * The default implementation of the `accept()` function will check this\n * property, and if the Dropzone is clickable this will be used as\n * `accept` attribute.\n *\n * This is a comma separated list of mime types or extensions. E.g.:\n * - audio/*,video/*,image/png,.pdf\n *\n * See https://developer.mozilla.org/en-US/docs/HTML/Element/input#attr-accept\n * for a reference.\n */\n\t@Prop({ type: Array, default: () => [] })\n\tacceptedFileTypes: string[]\n\n\t/**\n * If false, files will be added to the queue but the queue will not be\n * processed automatically.\n * This can be useful if you need some additional user input before sending\n * files (or if you want want all files sent at once).\n * If you're ready to send the file simply call myDropzone.processQueue()\n */\n\t@Prop({ type: Boolean, default: true })\n\tautoProcessQueue: boolean\n\n\t/**\n * If false, files added to the dropzone will not be queued by default.\n * You'll have to call `enqueueFile(file)` manually.\n */\n\t@Prop({ type: Boolean, default: true })\n\tautoQueue: boolean\n\n\t/**\n * If null, no capture type will be specified\n * If camera, mobile devices will skip the file selection and choose camera\n * If microphone, mobile devices will skip the file selection and choose the microphone\n * If camcorder, mobile devices will skip the file selection and choose the camera in video mode\n * On apple devices multiple must be set to false. AcceptedFiles may need to\n * be set to an appropriate mime type (e.g. \"image/*\", \"audio/*\", or \"video/*\").\n */\n\t@Prop({ type: String, default: null })\n\tcapture: string\n\n\t/**\n * Before the file is appended to the formData, the function renameFile is performed for file.name, file\n * which executes the function defined in renameFile\n */\n\t@Prop({ type: Function, default: identity })\n\trenameFile: (name: string) => string\n\n\t// If the file size is too big.\n\t@Prop({ type: String, default: \"File is too big ({{ fileSize }}MiB). Max file size: {{ maxFileSize }}MB.\" })\n\tdictFileTooBig: string\n\n\t// If the file doesn't match the file type.\n\t@Prop({ type: String, default: \"You can't upload files of this type.\" })\n\tdictInvalidFileType: string\n\n\t// If the server response was invalid.\n\t@Prop({ type: String, default: \"Error during upload: {{ statusText }} [{{ statusCode }}]\" })\n\tdictResponseError: string\n\n\t/**\n * Displayed when the maxFiles have been exceeded\n * You can use {{maxFiles}} here, which will be replaced by the option.\n */\n\t@Prop({ type: String, default: \"You can not upload any more files.\" })\n\tdictMaxFilesExceeded: string\n\n\t/**\n * If `done()` is called without argument the file is accepted\n * If you call it with an error message, the file is rejected\n * (This allows for asynchronous validation).\n */\n\t@Prop({ type: Function, default: (_, done: Function) => done() })\n\taccept: (file: VTransmitFile, done: Function) => void\n\n\t@Prop({ type: Function, default: resizeImg })\n\tresize: (file: VTransmitFile, dims: IDimensions) => IDrawImageArgs\n\n\tpublic dragging: boolean = false\n\t// Used to keep the createThumbnail calls processing async one-at-a-time\n\tprivate processingThumbnail: boolean = false\n\tpublic thumbnailQueue: any[] = []\n\tpublic files: VTransmitFile[] = []\n\tpublic defaultHeaders: object = {\n\t\tAccept: \"application/json\",\n\t\t\"Cache-Control\": \"no-cache\",\n\t\t\"X-Requested-With\": \"XMLHttpRequest\",\n\t}\n\tpublic formStyles: object = {\n\t\tvisibility: \"hidden !important\",\n\t\tposition: \"absolute !important\",\n\t\ttop: \"0 !important\",\n\t\tleft: \"0 !important\",\n\t\theight: \"0px !important\",\n\t\twidth: \"0px !important\",\n\t}\n\n\tget inputEl(): HTMLInputElement {\n\t\tlet el = null\n\t\tif (this.$refs.hiddenFileInput instanceof HTMLInputElement) {\n\t\t\tel = this.$refs.hiddenFileInput\n\t\t}\n\t\treturn el\n\t}\n\tget formEl(): HTMLFormElement {\n\t\tlet el = null\n\t\tif (this.$refs.uploadForm instanceof HTMLFormElement) {\n\t\t\tel = this.$refs.uploadForm\n\t\t}\n\t\treturn el\n\t}\n\tget filesToAccept(): string {\n\t\treturn this.acceptedFileTypes.join(\",\")\n\t}\n\tget multiple(): boolean {\n\t\treturn this.maxFiles === null || this.maxFiles > 1\n\t}\n\tget acceptedFiles(): VTransmitFile[] {\n\t\treturn this.files.filter(f => f.accepted)\n\t}\n\tget rejectedFiles(): VTransmitFile[] {\n\t\treturn this.files.filter(f => !f.accepted)\n\t}\n\tget addedFiles(): VTransmitFile[] {\n\t\treturn this.getFilesWithStatus(STATUSES.ADDED)\n\t}\n\tget queuedFiles(): VTransmitFile[] {\n\t\treturn this.getFilesWithStatus(STATUSES.QUEUED)\n\t}\n\tget uploadingFiles(): VTransmitFile[] {\n\t\treturn this.getFilesWithStatus(STATUSES.UPLOADING)\n\t}\n\tget activeFiles(): VTransmitFile[] {\n\t\treturn this.getFilesWithStatus(STATUSES.UPLOADING, STATUSES.QUEUED)\n\t}\n\tget maxFilesReached(): boolean {\n\t\t// Loose equality checks null && undefined\n\t\treturn this.maxFiles != null && this.acceptedFiles.length >= this.maxFiles\n\t}\n\tget maxFilesReachedClass(): string {\n\t\treturn this.maxFilesReached ? \"v-transmit__max-files--reached\" : null\n\t}\n\tget isDraggingClass(): { [key: string]: boolean } {\n\t\treturn {\n\t\t\t\"v-transmit__upload-area--is-dragging\": this.dragging,\n\t\t\t[this.dragClass]: this.dragging,\n\t\t}\n\t}\n\tget isUploading(): boolean {\n\t\treturn this.uploadingFiles.length > 0\n\t}\n\tget fileSlotBindings() {\n\t\treturn {\n\t\t\tfiles: this.files,\n\t\t\tacceptedFiles: this.acceptedFiles,\n\t\t\trejectedFiles: this.rejectedFiles,\n\t\t\taddedFiles: this.addedFiles,\n\t\t\tqueuedFiles: this.queuedFiles,\n\t\t\tuploadingFiles: this.uploadingFiles,\n\t\t\tactiveFiles: this.activeFiles,\n\t\t\tisUploading: this.isUploading,\n\t\t}\n\t}\n\n\t@Watch(\"acceptedFiles\")\n\tonAcceptedFilesChange(acceptedFiles: VTransmitFile[]) {\n\t\tif (this.maxFiles == null) {\n\t\t\treturn\n\t\t}\n\t\tif (acceptedFiles.length >= this.maxFiles) {\n\t\t\tthis.$emit(\"max-files-reached\", this.files)\n\t\t}\n\t}\n\n\tgetFilesWithStatus(...statuses: string[]): VTransmitFile[] {\n\t\treturn this.files.filter(f => statuses.indexOf(f.status) > -1)\n\t}\n\tonFileInputChange(): void {\n\t\tthis.$emit(\"added-files\", Array.from(this.inputEl.files).map(this.addFile))\n\t\tthis.formEl.reset()\n\t}\n\taddFile(file: File): VTransmitFile {\n\t\tconst vTransmitFile = VTransmitFile.fromNativeFile(file)\n\t\tvTransmitFile.status = STATUSES.ADDED\n\t\tthis.files.push(vTransmitFile)\n\t\tthis.$emit(\"added-file\", vTransmitFile)\n\t\tthis.enqueueThumbnail(vTransmitFile)\n\t\tthis.acceptFile(vTransmitFile, error => {\n\t\t\tif (error) {\n\t\t\t\tvTransmitFile.accepted = false\n\t\t\t\tthis.errorProcessing([vTransmitFile], error)\n\t\t\t\tthis.$emit(\"rejected-file\", vTransmitFile)\n\t\t\t} else {\n\t\t\t\tvTransmitFile.accepted = true\n\t\t\t\tthis.$emit(\"accepted-file\", vTransmitFile)\n\t\t\t\tif (this.autoQueue) {\n\t\t\t\t\tthis.enqueueFile(vTransmitFile)\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.$emit(\"accept-complete\", vTransmitFile)\n\t\t})\n\n\t\treturn vTransmitFile\n\t}\n\tremoveFile(file: VTransmitFile): void {\n\t\tif (file.status === STATUSES.UPLOADING) {\n\t\t\tthis.cancelUpload(file)\n\t\t}\n\t\tconst idxToRm = this.files.findIndex(f => f.id === file.id)\n\t\tif (~idxToRm) {\n\t\t\tthis.$emit(\"removed-file\", this.files.splice(idxToRm, 1)[0])\n\t\t\tif (this.files.length === 0) {\n\t\t\t\tthis.$emit(\"reset\")\n\t\t\t}\n\t\t}\n\t}\n\tremoveAllFiles(cancelInProgressUploads = false): void {\n\t\tfor (const file of this.files) {\n\t\t\tif (file.status !== STATUSES.UPLOADING || cancelInProgressUploads) {\n\t\t\t\tthis.removeFile(file)\n\t\t\t}\n\t\t}\n\t}\n\ttriggerBrowseFiles(): void {\n\t\tthis.inputEl.click()\n\t}\n\thandleClickUploaderAction(): void {\n\t\tif (this.clickable) {\n\t\t\tthis.triggerBrowseFiles()\n\t\t}\n\t}\n\tenqueueFile(file: VTransmitFile): void {\n\t\tif (file.status === STATUSES.ADDED && file.accepted === true) {\n\t\t\tfile.status = STATUSES.QUEUED\n\t\t\tif (this.autoProcessQueue) {\n\t\t\t\tsetTimeout(this.processQueue, 0)\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new Error(\"This file can't be queued because it has already been processed or was rejected.\")\n\t\t}\n\t}\n\tenqueueThumbnail(file: VTransmitFile): void {\n\t\tif (\n\t\t\tthis.createImageThumbnails &&\n\t\t\tfile.type.match(/image.*/) &&\n\t\t\tfile.size <= this.maxThumbnailFileSize * 1024 * 1024\n\t\t) {\n\t\t\tthis.thumbnailQueue.push(file)\n\t\t\tsetTimeout(this.processThumbnailQueue, 0)\n\t\t}\n\t}\n\tprocessThumbnailQueue(): void {\n\t\t// Employ a chain of self-calling, self-queuing createThumbnail calls\n\t\t// so execution can stay as non-blocking as possible.\n\t\tif (this.processingThumbnail || this.thumbnailQueue.length === 0) {\n\t\t\treturn\n\t\t}\n\t\tthis.processingThumbnail = true\n\t\tthis.createThumbnail(this.thumbnailQueue.shift(), () => {\n\t\t\tthis.processingThumbnail = false\n\t\t\tthis.processThumbnailQueue()\n\t\t})\n\t}\n\tcreateThumbnail(file: VTransmitFile, callback = noop): void {\n\t\tconst reader = new FileReader()\n\t\treader.addEventListener(\n\t\t\t\"load\",\n\t\t\t() => {\n\t\t\t\tif (file.type === \"image/svg+xml\") {\n\t\t\t\t\tfile.dataUrl = reader.result\n\t\t\t\t\tthis.$emit(\"thumbnail\", file, reader.result)\n\t\t\t\t\tcallback()\n\t\t\t\t}\n\t\t\t\tthis.createThumbnailFromUrl(file, reader.result, callback)\n\t\t\t},\n\t\t\tfalse\n\t\t)\n\n\t\t// FileReader requires a native File|Blob object\n\t\treader.readAsDataURL(file.nativeFile)\n\t}\n\tcreateThumbnailFromUrl(file: VTransmitFile, imageUrl: string, callback?: Function): void {\n\t\tconst imgEl = document.createElement(\"img\")\n\n\t\timgEl.addEventListener(\n\t\t\t\"load\",\n\t\t\t() => {\n\t\t\t\tfile.width = imgEl.width\n\t\t\t\tfile.height = imgEl.height\n\t\t\t\tconst resizeInfo = this.resize(file, {\n\t\t\t\t\twidth: this.thumbnailWidth,\n\t\t\t\t\theight: this.thumbnailHeight,\n\t\t\t\t})\n\t\t\t\tconst canvas = document.createElement(\"canvas\")\n\t\t\t\tconst ctx = canvas.getContext(\"2d\")\n\t\t\t\tcanvas.width = resizeInfo.dWidth\n\t\t\t\tcanvas.height = resizeInfo.dHeight\n\t\t\t\tctx.drawImage(\n\t\t\t\t\timgEl,\n\t\t\t\t\tresizeInfo.sx,\n\t\t\t\t\tresizeInfo.sy,\n\t\t\t\t\tresizeInfo.sWidth,\n\t\t\t\t\tresizeInfo.sHeight,\n\t\t\t\t\tresizeInfo.dx,\n\t\t\t\t\tresizeInfo.dy,\n\t\t\t\t\tresizeInfo.dWidth,\n\t\t\t\t\tresizeInfo.dHeight\n\t\t\t\t)\n\t\t\t\tconst thumbnail = canvas.toDataURL(\"image/png\")\n\t\t\t\tfile.dataUrl = thumbnail\n\t\t\t\tthis.$emit(\"thumbnail\", file, thumbnail)\n\n\t\t\t\tif (callback) {\n\t\t\t\t\treturn callback()\n\t\t\t\t}\n\t\t\t},\n\t\t\tfalse\n\t\t)\n\t\tif (callback) {\n\t\t\timgEl.addEventListener(\"error\", callback as EventListenerOrEventListenerObject, false)\n\t\t}\n\n\t\timgEl.src = imageUrl\n\t}\n\tprocessQueue(): void {\n\t\tconst processingLength = this.uploadingFiles.length\n\t\tif (processingLength >= this.maxConcurrentUploads || this.queuedFiles.length === 0) {\n\t\t\treturn\n\t\t}\n\n\t\tconst queuedFiles = [...this.queuedFiles]\n\t\tif (this.uploadMultiple) {\n\t\t\treturn this.processFiles(queuedFiles.slice(0, this.maxConcurrentUploads - processingLength))\n\t\t} else {\n\t\t\tfor (let i = processingLength; i < this.maxConcurrentUploads; i++) {\n\t\t\t\tif (queuedFiles.length) {\n\t\t\t\t\tthis.processFile(queuedFiles.shift())\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tprocessFile(file: VTransmitFile): void {\n\t\tthis.processFiles([file])\n\t}\n\tprocessFiles(files: VTransmitFile[]): void {\n\t\tfor (const file of files) {\n\t\t\tfile.processing = true\n\t\t\tfile.status = STATUSES.UPLOADING\n\t\t\tthis.$emit(\"processing\", file)\n\t\t}\n\t\tif (this.uploadMultiple) {\n\t\t\tthis.$emit(\"processing-multiple\", files)\n\t\t}\n\n\t\treturn this.uploadFiles(files)\n\t}\n\tgetFilesWithXhr(xhr: XMLHttpRequest): VTransmitFile[] {\n\t\treturn this.files.filter(file => file.xhr === xhr)\n\t}\n\tcancelUpload(file: VTransmitFile): void {\n\t\tif (file.status === STATUSES.UPLOADING) {\n\t\t\tconst groupedFiles = this.getFilesWithXhr(file.xhr)\n\t\t\tfile.xhr.abort()\n\t\t\tfor (const f of groupedFiles) {\n\t\t\t\tf.status = STATUSES.CANCELED\n\t\t\t\tthis.$emit(\"canceled\", f)\n\t\t\t}\n\t\t\tif (this.uploadMultiple) {\n\t\t\t\tthis.$emit(\"canceled-multiple\", groupedFiles)\n\t\t\t}\n\t\t} else if (file.status === STATUSES.ADDED || file.status === STATUSES.QUEUED) {\n\t\t\tfile.status = STATUSES.CANCELED\n\t\t\tthis.$emit(\"canceled\", file)\n\t\t\tif (this.uploadMultiple) {\n\t\t\t\tthis.$emit(\"canceled-multiple\", [file])\n\t\t\t}\n\t\t}\n\n\t\tif (this.autoProcessQueue) {\n\t\t\tthis.processQueue()\n\t\t}\n\t}\n\tuploadFile(file: VTransmitFile): void {\n\t\tthis.uploadFiles([file])\n\t}\n\tuploadFiles(files: VTransmitFile[]): void {\n\t\tconst xhr = new XMLHttpRequest()\n\t\tfor (const file of files) {\n\t\t\tfile.xhr = xhr\n\t\t\tfile.startProgress()\n\t\t}\n\t\txhr.open(this.method, this.url, true)\n\t\t// Setting the timeout after open because of IE11 issue: https://gitlab.com/meno/dropzone/issues/8\n\t\txhr.timeout = this.timeout\n\t\txhr.withCredentials = Boolean(this.withCredentials)\n\t\txhr.responseType = this.responseType\n\n\t\tconst handleError = this.handleUploadError(files, xhr)\n\t\tconst updateProgress = this.handleUploadProgress(files)\n\t\txhr.addEventListener(\"error\", handleError)\n\t\txhr.upload.addEventListener(\"progress\", updateProgress)\n\t\txhr.addEventListener(\"timeout\", this.handleTimeout(files, xhr))\n\t\txhr.addEventListener(\"load\", e => {\n\t\t\tif (files[0].status === STATUSES.CANCELED || xhr.readyState !== XMLHttpRequest.DONE) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tlet response = xhr.response\n\n\t\t\tif (!xhr.responseType) {\n\t\t\t\tlet contentType = xhr.getResponseHeader(\"content-type\")\n\t\t\t\tresponse = xhr.responseText\n\n\t\t\t\tif (contentType && contentType.indexOf(\"application/json\") > -1) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tresponse = JSON.parse(response)\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tresponse = \"Invalid JSON response from server.\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Called at load (when complete) will enable all the progress done logic.\n\t\t\tupdateProgress()\n\t\t\tif (xhr.status < 200 || xhr.status >= 300) {\n\t\t\t\treturn handleError()\n\t\t\t} else {\n\t\t\t\treturn this.uploadFinished(files, response, e)\n\t\t\t}\n\t\t})\n\n\t\t// Use null proto obj for the following 'for in' loop\n\t\tconst headers = Object.assign(Object.create(null), this.defaultHeaders, this.headers)\n\t\tfor (const headerName in headers) {\n\t\t\tif (headers[headerName]) {\n\t\t\t\txhr.setRequestHeader(headerName, headers[headerName])\n\t\t\t}\n\t\t}\n\n\t\tconst formData = new FormData()\n\t\tfor (const key in this.params) {\n\t\t\tformData.append(key, this.params[key])\n\t\t}\n\n\t\tfor (const file of files) {\n\t\t\tthis.$emit(\"sending\", file, xhr, formData)\n\t\t}\n\t\tif (this.uploadMultiple) {\n\t\t\tthis.$emit(\"sending-multiple\", files, xhr, formData)\n\t\t}\n\n\t\tfor (let i = 0; i < files.length; i++) {\n\t\t\tformData.append(this.getParamName(i), files[i].nativeFile, this.renameFile(files[i].name))\n\t\t}\n\n\t\treturn xhr.send(formData)\n\t}\n\thandleUploadError(files: VTransmitFile[], xhr: XMLHttpRequest): () => void {\n\t\tconst vm = this\n\t\treturn function onUploadErrorFn(): void {\n\t\t\tif (files[0].status !== STATUSES.CANCELED) {\n\t\t\t\tconst message = vm.dictResponseError.replace(\n\t\t\t\t\thbsRegex,\n\t\t\t\t\thbsReplacer({ statusText: xhr.statusText, statusCode: xhr.status })\n\t\t\t\t)\n\t\t\t\tvm.errorProcessing(files, message, xhr)\n\t\t\t}\n\t\t}\n\t}\n\thandleTimeout(files: VTransmitFile[], xhr: XMLHttpRequest): (e: Event) => void {\n\t\tconst vm = this\n\t\treturn function onTimeoutFn(e: Event): void {\n\t\t\tfor (const file of files) {\n\t\t\t\tfile.status = STATUSES.TIMEOUT\n\t\t\t\tfile.endProgress()\n\t\t\t\tvm.$emit(\"timeout\", file, e, xhr)\n\t\t\t}\n\t\t\tvm.$emit(\"timeout-multiple\", files, e, xhr)\n\n\t\t\tif (this.autoProcessQueue) {\n\t\t\t\tthis.processQueue()\n\t\t\t}\n\t\t}\n\t}\n\thandleUploadProgress(files): (e?: ProgressEvent) => void {\n\t\tconst vm = this\n\t\treturn function onProgressFn(e?: ProgressEvent): void {\n\t\t\tif (e instanceof ProgressEvent) {\n\t\t\t\tfor (const file of files) {\n\t\t\t\t\tfile.handleProgress(e)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tlet allFilesFinished = true\n\t\t\t\tfor (const file of files) {\n\t\t\t\t\tif (file.upload.progress !== 100 || file.upload.bytesSent !== file.upload.total) {\n\t\t\t\t\t\tallFilesFinished = false\n\t\t\t\t\t}\n\t\t\t\t\tfile.upload.progress = 100\n\t\t\t\t\tfile.upload.bytesSent = file.upload.total\n\t\t\t\t\tfile.endProgress()\n\t\t\t\t}\n\t\t\t\tif (allFilesFinished) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (const file of files) {\n\t\t\t\tvm.$emit(\"upload-progress\", file, file.upload.progress, file.upload.bytesSent)\n\t\t\t}\n\t\t}\n\t}\n\tupdateTotalUploadProgress(): void {\n\t\tconst progress = this.activeFiles.reduce(\n\t\t\t(memo, file) => {\n\t\t\t\tmemo.totalBytesSent += file.upload.bytesSent\n\t\t\t\tmemo.totalBytes += file.upload.total\n\t\t\t\treturn memo\n\t\t\t},\n\t\t\t{ totalBytesSent: 0, totalBytes: 0, totalProgress: 100 }\n\t\t)\n\n\t\tif (this.activeFiles.length) {\n\t\t\tprogress.totalProgress = 100 * progress.totalBytesSent / progress.totalBytes\n\t\t}\n\n\t\tthis.$emit(\"total-upload-progress\", progress)\n\t}\n\tgetParamName(index): string {\n\t\treturn this.paramName + (this.uploadMultiple ? `[${index}]` : \"\")\n\t}\n\tuploadFinished(files: VTransmitFile[], response: string | object | any[], e: Event): void {\n\t\tfor (const file of files) {\n\t\t\tfile.status = STATUSES.SUCCESS\n\t\t\tfile.endProgress()\n\t\t\tthis.$emit(\"success\", file, response, e)\n\t\t\tthis.$emit(\"complete\", file)\n\t\t}\n\n\t\tif (this.uploadMultiple) {\n\t\t\tthis.$emit(\"success-multiple\", files, response, e)\n\t\t\tthis.$emit(\"complete-multiple\", files)\n\t\t}\n\n\t\tif (this.autoProcessQueue) {\n\t\t\tthis.processQueue()\n\t\t}\n\t}\n\terrorProcessing(files: VTransmitFile[], message: string, xhr?: XMLHttpRequest) {\n\t\tfor (const file of files) {\n\t\t\tfile.status = STATUSES.ERROR\n\t\t\tfile.endProgress()\n\t\t\tthis.$emit(\"error\", file, message, xhr)\n\t\t\tthis.$emit(\"complete\", file)\n\t\t}\n\n\t\tif (this.uploadMultiple) {\n\t\t\tthis.$emit(\"error-multiple\", files, message, xhr)\n\t\t\tthis.$emit(\"complete-multiple\", files)\n\t\t}\n\n\t\tif (this.autoProcessQueue) {\n\t\t\treturn this.processQueue()\n\t\t}\n\t}\n\tacceptFile(file: VTransmitFile, done: Function): void {\n\t\tif (file.size > this.maxFileSize * 1024 * 1024) {\n\t\t\tdone(\n\t\t\t\tthis.dictFileTooBig.replace(\n\t\t\t\t\thbsRegex,\n\t\t\t\t\thbsReplacer({\n\t\t\t\t\t\tfileSize: Math.round(file.size / 1024 / 10.24) / 100,\n\t\t\t\t\t\tmaxFileSize: this.maxFileSize,\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t\t)\n\t\t} else if (!this.isValidFileType(file, this.acceptedFileTypes)) {\n\t\t\tdone(this.dictInvalidFileType)\n\t\t} else if (this.maxFiles != null && this.acceptedFiles.length >= this.maxFiles) {\n\t\t\tdone(this.dictMaxFilesExceeded.replace(hbsRegex, hbsReplacer({ maxFiles: this.maxFiles })))\n\t\t\tthis.$emit(\"max-files-exceeded\", file)\n\t\t} else {\n\t\t\t// Call the prop callback for the client to validate.\n\t\t\tthis.accept(file, done)\n\t\t}\n\t}\n\tisValidFileType(file: VTransmitFile, acceptedFileTypes: string[]): boolean {\n\t\tif (!acceptedFileTypes.length) {\n\t\t\treturn true\n\t\t}\n\t\tconst mimeType = file.type\n\t\tconst baseMimeType = mimeType.replace(/\\/.*$/, \"\")\n\t\t// Return true on the first condition match,\n\t\t// otherwise exhaust all conditions and return false.\n\t\tfor (let i = 0; i < acceptedFileTypes.length; i++) {\n\t\t\tconst validType = acceptedFileTypes[i]\n\t\t\tif (validType.charAt(0) === \".\") {\n\t\t\t\t// Handle extension validation\n\t\t\t\t// Ensure extension exists at the end of the filename.\n\t\t\t\tif (file.name.toLowerCase().indexOf(validType.toLowerCase(), file.name.length - validType.length) !== -1) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t} else if (/\\/\\*$/.test(validType)) {\n\t\t\t\t// Handle globbed mimetype validation (\"image/*\")\n\t\t\t\tif (baseMimeType === validType.replace(/\\/.*$/, \"\")) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (mimeType === validType) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn false\n\t}\n\thandleDragStart(e: DragEvent): void {\n\t\tthis.$emit(\"drag-start\", e)\n\t}\n\thandleDragOver(e: DragEvent): void {\n\t\tthis.dragging = true\n\t\tlet effect\n\t\ttry {\n\t\t\t// Handle browser bug\n\t\t\teffect = e.dataTransfer.effectAllowed\n\t\t} catch (error) {}\n\t\te.dataTransfer.dropEffect = effect === \"move\" || effect === \"linkMove\" ? \"move\" : \"copy\"\n\t\tthis.$emit(\"drag-over\", e)\n\t}\n\thandleDragEnter(e: DragEvent): void {\n\t\tthis.dragging = true\n\t\tthis.$emit(\"drag-enter\", e)\n\t}\n\thandleDragLeave(e: DragEvent): void {\n\t\tthis.dragging = false\n\t\tthis.$emit(\"drag-leave\", e)\n\t}\n\thandleDragEnd(e: DragEvent): void {\n\t\tthis.dragging = false\n\t\tthis.$emit(\"drag-end\", e)\n\t}\n\thandleDrop(e: DragEvent): void {\n\t\tthis.dragging = false\n\t\tif (!e.dataTransfer) {\n\t\t\treturn\n\t\t}\n\t\tthis.$emit(\"drop\", e)\n\t\tconst files = Array.from(e.dataTransfer.files)\n\n\t\tthis.$emit(\"added-files\", files)\n\t\tif (files.length && e.dataTransfer.items) {\n\t\t\tconst items = Array.from(e.dataTransfer.items)\n\t\t\tif (items && items.length && items[0].webkitGetAsEntry) {\n\t\t\t\tthis.addFilesFromItems(items)\n\t\t\t} else {\n\t\t\t\tthis.handleFiles(files)\n\t\t\t}\n\t\t} else {\n\t\t\tthis.handleFiles(files)\n\t\t}\n\t}\n\tpaste(e: ClipboardEvent): void {\n\t\tif (!e || !e.clipboardData || !e.clipboardData.items) {\n\t\t\treturn\n\t\t}\n\t\tthis.$emit(\"paste\", e)\n\t\tconst items = Array.from(e.clipboardData.items)\n\t\tif (items.length) {\n\t\t\tthis.addFilesFromItems(items)\n\t\t}\n\t}\n\thandleFiles(files: File[]): VTransmitFile[] {\n\t\treturn files.map(this.addFile)\n\t}\n\taddFilesFromItems(items: DataTransferItem[]): void {\n\t\tfor (const item of items) {\n\t\t\t// Newer API on standards track\n\t\t\tif (item.getAsFile && item.kind == \"file\") {\n\t\t\t\tthis.addFile(item.getAsFile())\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t// Vendor prefixed experimental API\n\t\t\tif (item.webkitGetAsEntry) {\n\t\t\t\tconst entry: FileSystemEntry = item.webkitGetAsEntry()\n\n\t\t\t\tif (entry == null) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif (webkitIsFile(entry)) {\n\t\t\t\t\tentry.file(this.addFile as any, console.error)\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif (webkitIsDir(entry)) {\n\t\t\t\t\tthis.addFilesFromDirectory(entry, entry.name)\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\taddFilesFromDirectory(directory: WebKitDirectoryEntry, path): void {\n\t\tdirectory.createReader().readEntries(\n\t\t\t((entries: FileSystemEntry[]) => {\n\t\t\t\tfor (const entry of entries) {\n\t\t\t\t\tif (entry == null) {\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t\tif (webkitIsDir(entry)) {\n\t\t\t\t\t\tthis.addFilesFromDirectory(entry, `${path}/${entry.name}`)\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t\tif (webkitIsFile(entry)) {\n\t\t\t\t\t\tentry.file(\n\t\t\t\t\t\t\t((file: File) => {\n\t\t\t\t\t\t\t\tif (this.ignoreHiddenFiles && /^\\./.test(file.name)) {\n\t\t\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t;(file as any).fullPath = `${path}/${file.name}`\n\t\t\t\t\t\t\t\tthis.addFile(file)\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tconsole.error\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}),\n\t\t\tconsole.error\n\t\t)\n\t}\n\n\tmounted() {\n\t\tthis.$on(\"upload-progress\", this.updateTotalUploadProgress)\n\t\tthis.$on(\"removed-file\", this.updateTotalUploadProgress)\n\t\tthis.$on(\"canceled\", file => this.$emit(\"complete\", file))\n\t\tthis.$on(\"complete\", file => {\n\t\t\tif (this.addedFiles.length === 0 && this.uploadingFiles.length === 0 && this.queuedFiles.length === 0) {\n\t\t\t\tsetTimeout(() => this.$emit(\"queue-complete\", file), 0)\n\t\t\t}\n\t\t})\n\n\t\tthis.$emit(\"initialize\", this)\n\t}\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/vue-loader/lib/selector.js?type=script&index=0!./src/components/VueTransmit.vue","import VTransmitFile from \"../classes/VTransmitFile\"\n\nexport const assign = Object.assign\nexport const defineProperty = Object.defineProperty\n\nlet idCounter = 0\nexport function uniqueId(prefix: string): string {\n\tvar id = ++idCounter\n\treturn prefix + id\n}\n\nexport function copyOwnAndInheritedProps(obj: object): object {\n\tlet newData = {}\n\tfor (let prop in obj) {\n\t\tif (typeof obj[prop] !== \"function\") {\n\t\t\tnewData[prop] = obj[prop]\n\t\t}\n\t}\n\treturn newData\n}\n\nexport type Rounding = \"round\" | \"ceil\" | \"floor\" | \"trunc\"\n\nexport function round(number: number, decimals: number = 2, roundStyle: Rounding = \"round\") {\n\tconst roundingFactor = Math.pow(10, decimals)\n\treturn Math[roundStyle](number * roundingFactor) / roundingFactor\n}\n\nexport function fromBytesToKbit(bytes: number): number {\n\treturn bytes / 125\n}\n\nexport function fromBytesToMbit(bytes: number): number {\n\treturn bytes / 125000\n}\n\nexport function toKbps(bytes: number, seconds: number): number {\n\treturn fromBytesToKbit(bytes) / seconds\n}\n\nexport function toMbps(bytes: number, seconds: number): number {\n\treturn fromBytesToMbit(bytes) / seconds\n}\n\nexport const hbsRegex = /{{\\s*?([a-zA-Z]+)\\s*?}}/g\nexport function hbsReplacer(context: object = {}) {\n\treturn function hbsReplacerFn(match: string, capture: string) {\n\t\treturn context[capture] !== undefined ? context[capture] : match\n\t}\n}\n\nexport function objFactory() {\n\treturn {}\n}\n\nexport function scaleH(ratio: number, width: number): number {\n\treturn width / ratio\n}\n\nexport function scaleW(ratio: number, height: number): number {\n\treturn height * ratio\n}\n\nexport function scaleDims(ratio: number, width?: number, height?: number): number[] {\n\treturn typeof width === \"number\" ? [width, scaleH(ratio, width)] : [scaleW(ratio, height), height]\n}\n\nexport interface IDrawImageArgs {\n\tsx: number\n\tsy: number\n\tsWidth: number\n\tsHeight: number\n\tdx: number\n\tdy: number\n\tdWidth: number\n\tdHeight: number\n}\n\nexport interface IDimensions {\n\twidth: number\n\theight: number\n}\n\nexport function resizeImg(file: VTransmitFile, dims: IDimensions): IDrawImageArgs {\n\t// Extract the object's primitive values so we don't mutate the input\n\tconst sRatio = file.width / file.height\n\tconst dRatio = dims.width / dims.height\n\tconst imgCoords = {\n\t\tsx: 0,\n\t\tsy: 0,\n\t\tsWidth: file.width,\n\t\tsHeight: file.height,\n\t\tdx: 0,\n\t\tdy: 0,\n\t\tdWidth: dims.width,\n\t\tdHeight: dims.height,\n\t}\n\n\tlet w, h\n\tif (dRatio > sRatio) {\n\t\t;[w, h] = scaleDims(dRatio, file.width)\n\t} else {\n\t\t;[w, h] = scaleDims(dRatio, undefined, file.height)\n\t}\n\n\tif (w < file.width) {\n\t\timgCoords.sx = (file.width - w) / 2\n\t\timgCoords.sWidth = w\n\t}\n\tif (h < file.height) {\n\t\timgCoords.sy = (file.height - h) / 2\n\t\timgCoords.sHeight = h\n\t}\n\n\treturn imgCoords\n}\n\nexport function webkitIsFile(entry: WebKitFileEntry | WebKitDirectoryEntry): entry is WebKitFileEntry {\n\treturn entry.isFile\n}\n\nexport function webkitIsDir(entry: WebKitFileEntry | WebKitDirectoryEntry): entry is WebKitDirectoryEntry {\n\treturn entry.isDirectory\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/core/utils.ts","import { VueTransmit } from \"./src\"\n\nexport default {\n\tinstall(Vue, _options) {\n\t\tVue.component(\"VueTransmit\", VueTransmit)\n\t},\n\tname: \"vue-transmit\",\n}\n\n\n\n// WEBPACK FOOTER //\n// ./index.ts","import VueTransmit from \"./components/VueTransmit.vue\"\n\nexport { VueTransmit }\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.ts","function injectStyle (ssrContext) {\n require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-61e675b9\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader!postcss-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./VueTransmit.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!vue-ts-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./VueTransmit.vue\"\nimport __vue_script__ from \"!!babel-loader!vue-ts-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./VueTransmit.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-61e675b9\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./VueTransmit.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/VueTransmit.vue\n// module id = 5\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/extract-text-webpack-plugin/dist/loader.js?{\"omit\":1,\"remove\":true}!./node_modules/vue-style-loader!./node_modules/css-loader!./node_modules/vue-loader/lib/style-compiler?{\"vue\":true,\"id\":\"data-v-61e675b9\",\"scoped\":false,\"hasInlineConfig\":false}!./node_modules/sass-loader/lib/loader.js!./node_modules/postcss-loader/lib?{\"sourceMap\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./src/components/VueTransmit.vue\n// module id = 6\n// module chunks = 0","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file.\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nmodule.exports = function normalizeComponent (\n rawScriptExports,\n compiledTemplate,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */\n) {\n var esModule\n var scriptExports = rawScriptExports = rawScriptExports || {}\n\n // ES6 modules interop\n var type = typeof rawScriptExports.default\n if (type === 'object' || type === 'function') {\n esModule = rawScriptExports\n scriptExports = rawScriptExports.default\n }\n\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (compiledTemplate) {\n options.render = compiledTemplate.render\n options.staticRenderFns = compiledTemplate.staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = injectStyles\n }\n\n if (hook) {\n var functional = options.functional\n var existing = functional\n ? options.render\n : options.beforeCreate\n\n if (!functional) {\n // inject component registration as beforeCreate hook\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n } else {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return existing(h, context)\n }\n }\n }\n\n return {\n esModule: esModule,\n exports: scriptExports,\n options: options\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/component-normalizer.js\n// module id = 7\n// module chunks = 0","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('vue'), require('vue-class-component'), require('reflect-metadata')) :\n\ttypeof define === 'function' && define.amd ? define(['exports', 'vue', 'vue-class-component', 'reflect-metadata'], factory) :\n\t(factory((global.VuePropertyDecorator = {}),global.Vue,global.VueClassComponent));\n}(this, (function (exports,vue,vueClassComponent) { 'use strict';\n\nvue = vue && vue.hasOwnProperty('default') ? vue['default'] : vue;\nvar vueClassComponent__default = 'default' in vueClassComponent ? vueClassComponent['default'] : vueClassComponent;\n\n/** vue-property-decorator verson 6.0.0 MIT LICENSE copyright 2017 kaorun343 */\n'use strict';\n/**\n * decorator of an inject\n * @param key key\n * @return PropertyDecorator\n */\nfunction Inject(key) {\n return vueClassComponent.createDecorator(function (componentOptions, k) {\n if (typeof componentOptions.inject === 'undefined') {\n componentOptions.inject = {};\n }\n if (!Array.isArray(componentOptions.inject)) {\n componentOptions.inject[k] = key || k;\n }\n });\n}\n/**\n * decorator of a provide\n * @param key key\n * @return PropertyDecorator | void\n */\nfunction Provide(key) {\n return vueClassComponent.createDecorator(function (componentOptions, k) {\n var provide = componentOptions.provide;\n if (typeof provide !== 'function' || !provide.managed) {\n var original_1 = componentOptions.provide;\n provide = componentOptions.provide = function () {\n var rv = Object.create((typeof original_1 === 'function' ? original_1.call(this) : original_1) || null);\n for (var i in provide.managed)\n rv[provide.managed[i]] = this[i];\n return rv;\n };\n provide.managed = {};\n }\n provide.managed[k] = key || k;\n });\n}\n/**\n * decorator of model\n * @param event event name\n * @return PropertyDecorator\n */\nfunction Model(event, options) {\n if (options === void 0) { options = {}; }\n return function (target, key) {\n if (!Array.isArray(options) && typeof options.type === 'undefined') {\n options.type = Reflect.getMetadata('design:type', target, key);\n }\n vueClassComponent.createDecorator(function (componentOptions, k) {\n (componentOptions.props || (componentOptions.props = {}))[k] = options;\n componentOptions.model = { prop: k, event: event || k };\n })(target, key);\n };\n}\n/**\n * decorator of a prop\n * @param options the options for the prop\n * @return PropertyDecorator | void\n */\nfunction Prop(options) {\n if (options === void 0) { options = {}; }\n return function (target, key) {\n if (!Array.isArray(options) && typeof options.type === 'undefined') {\n options.type = Reflect.getMetadata('design:type', target, key);\n }\n vueClassComponent.createDecorator(function (componentOptions, k) {\n (componentOptions.props || (componentOptions.props = {}))[k] = options;\n })(target, key);\n };\n}\n/**\n * decorator of a watch function\n * @param path the path or the expression to observe\n * @param WatchOption\n * @return MethodDecorator\n */\nfunction Watch(path, options) {\n if (options === void 0) { options = {}; }\n var _a = options.deep, deep = _a === void 0 ? false : _a, _b = options.immediate, immediate = _b === void 0 ? false : _b;\n return vueClassComponent.createDecorator(function (componentOptions, handler) {\n if (typeof componentOptions.watch !== 'object') {\n componentOptions.watch = Object.create(null);\n }\n componentOptions.watch[path] = { handler: handler, deep: deep, immediate: immediate };\n });\n}\n// Code copied from Vue/src/shared/util.js\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = function (str) { return str.replace(hyphenateRE, '-$1').toLowerCase(); };\n/**\n * decorator of an event-emitter function\n * @param event The name of the event\n * @return MethodDecorator\n */\nfunction Emit(event) {\n return function (target, key, descriptor) {\n key = hyphenate(key);\n var original = descriptor.value;\n descriptor.value = function emitter() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (original.apply(this, args) !== false)\n this.$emit.apply(this, [event || key].concat(args));\n };\n };\n}\n\nexports.Component = vueClassComponent__default;\nexports.Vue = vue;\nexports.Inject = Inject;\nexports.Provide = Provide;\nexports.Model = Model;\nexports.Prop = Prop;\nexports.Watch = Watch;\nexports.Emit = Emit;\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-property-decorator/lib/vue-property-decorator.umd.js\n// module id = 8\n// module chunks = 0","/**\n * vue-class-component v6.1.2\n * (c) 2015-2017 Evan You\n * @license MIT\n */\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar Vue = _interopDefault(require('vue'));\n\nvar hasProto = { __proto__: [] } instanceof Array;\nfunction createDecorator(factory) {\n return function (target, key, index) {\n var Ctor = typeof target === 'function'\n ? target\n : target.constructor;\n if (!Ctor.__decorators__) {\n Ctor.__decorators__ = [];\n }\n if (typeof index !== 'number') {\n index = undefined;\n }\n Ctor.__decorators__.push(function (options) { return factory(options, key, index); });\n };\n}\nfunction isPrimitive(value) {\n var type = typeof value;\n return value == null || (type !== \"object\" && type !== \"function\");\n}\nfunction warn(message) {\n if (typeof console !== 'undefined') {\n console.warn('[vue-class-component] ' + message);\n }\n}\n\nfunction collectDataFromConstructor(vm, Component) {\n var originalInit = Component.prototype._init;\n Component.prototype._init = function () {\n var _this = this;\n var keys = Object.getOwnPropertyNames(vm);\n if (vm.$options.props) {\n for (var key in vm.$options.props) {\n if (!vm.hasOwnProperty(key)) {\n keys.push(key);\n }\n }\n }\n keys.forEach(function (key) {\n if (key.charAt(0) !== '_') {\n Object.defineProperty(_this, key, {\n get: function () { return vm[key]; },\n set: function (value) { return vm[key] = value; },\n configurable: true\n });\n }\n });\n };\n var data = new Component();\n Component.prototype._init = originalInit;\n var plainData = {};\n Object.keys(data).forEach(function (key) {\n if (data[key] !== undefined) {\n plainData[key] = data[key];\n }\n });\n if (process.env.NODE_ENV !== 'production') {\n if (!(Component.prototype instanceof Vue) && Object.keys(plainData).length > 0) {\n warn('Component class must inherit Vue or its descendant class ' +\n 'when class property is used.');\n }\n }\n return plainData;\n}\n\nvar $internalHooks = [\n 'data',\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeDestroy',\n 'destroyed',\n 'beforeUpdate',\n 'updated',\n 'activated',\n 'deactivated',\n 'render',\n 'errorCaptured'\n];\nfunction componentFactory(Component, options) {\n if (options === void 0) { options = {}; }\n options.name = options.name || Component._componentTag || Component.name;\n var proto = Component.prototype;\n Object.getOwnPropertyNames(proto).forEach(function (key) {\n if (key === 'constructor') {\n return;\n }\n if ($internalHooks.indexOf(key) > -1) {\n options[key] = proto[key];\n return;\n }\n var descriptor = Object.getOwnPropertyDescriptor(proto, key);\n if (typeof descriptor.value === 'function') {\n (options.methods || (options.methods = {}))[key] = descriptor.value;\n }\n else if (descriptor.get || descriptor.set) {\n (options.computed || (options.computed = {}))[key] = {\n get: descriptor.get,\n set: descriptor.set\n };\n }\n });\n (options.mixins || (options.mixins = [])).push({\n data: function () {\n return collectDataFromConstructor(this, Component);\n }\n });\n var decorators = Component.__decorators__;\n if (decorators) {\n decorators.forEach(function (fn) { return fn(options); });\n delete Component.__decorators__;\n }\n var superProto = Object.getPrototypeOf(Component.prototype);\n var Super = superProto instanceof Vue\n ? superProto.constructor\n : Vue;\n var Extended = Super.extend(options);\n forwardStaticMembers(Extended, Component, Super);\n return Extended;\n}\nvar reservedPropertyNames = [\n 'cid',\n 'super',\n 'options',\n 'superOptions',\n 'extendOptions',\n 'sealedOptions',\n 'component',\n 'directive',\n 'filter'\n];\nfunction forwardStaticMembers(Extended, Original, Super) {\n Object.getOwnPropertyNames(Original).forEach(function (key) {\n if (key === 'prototype') {\n return;\n }\n var extendedDescriptor = Object.getOwnPropertyDescriptor(Extended, key);\n if (extendedDescriptor && !extendedDescriptor.configurable) {\n return;\n }\n var descriptor = Object.getOwnPropertyDescriptor(Original, key);\n if (!hasProto) {\n if (key === 'cid') {\n return;\n }\n var superDescriptor = Object.getOwnPropertyDescriptor(Super, key);\n if (!isPrimitive(descriptor.value)\n && superDescriptor\n && superDescriptor.value === descriptor.value) {\n return;\n }\n }\n if (process.env.NODE_ENV !== 'production'\n && reservedPropertyNames.indexOf(key) >= 0) {\n warn(\"Static property name '\" + key + \"' declared on class '\" + Original.name + \"' \" +\n 'conflicts with reserved property name of Vue internal. ' +\n 'It may cause unexpected behavior of the component. Consider renaming the property.');\n }\n Object.defineProperty(Extended, key, descriptor);\n });\n}\n\nfunction Component(options) {\n if (typeof options === 'function') {\n return componentFactory(options);\n }\n return function (Component) {\n return componentFactory(Component, options);\n };\n}\n(function (Component) {\n function registerHooks(keys) {\n $internalHooks.push.apply($internalHooks, keys);\n }\n Component.registerHooks = registerHooks;\n})(Component || (Component = {}));\nvar Component$1 = Component;\n\nexports['default'] = Component$1;\nexports.createDecorator = createDecorator;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-class-component/dist/vue-class-component.common.js\n// module id = 9\n// module chunks = 0","/*! *****************************************************************************\r\nCopyright (C) Microsoft. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\nvar Reflect;\r\n(function (Reflect) {\r\n \"use strict\";\r\n var hasOwn = Object.prototype.hasOwnProperty;\r\n // feature test for Symbol support\r\n var supportsSymbol = typeof Symbol === \"function\";\r\n var toPrimitiveSymbol = supportsSymbol && typeof Symbol.toPrimitive !== \"undefined\" ? Symbol.toPrimitive : \"@@toPrimitive\";\r\n var iteratorSymbol = supportsSymbol && typeof Symbol.iterator !== \"undefined\" ? Symbol.iterator : \"@@iterator\";\r\n var HashMap;\r\n (function (HashMap) {\r\n var supportsCreate = typeof Object.create === \"function\"; // feature test for Object.create support\r\n var supportsProto = { __proto__: [] } instanceof Array; // feature test for __proto__ support\r\n var downLevel = !supportsCreate && !supportsProto;\r\n // create an object in dictionary mode (a.k.a. \"slow\" mode in v8)\r\n HashMap.create = supportsCreate\r\n ? function () { return MakeDictionary(Object.create(null)); }\r\n : supportsProto\r\n ? function () { return MakeDictionary({ __proto__: null }); }\r\n : function () { return MakeDictionary({}); };\r\n HashMap.has = downLevel\r\n ? function (map, key) { return hasOwn.call(map, key); }\r\n : function (map, key) { return key in map; };\r\n HashMap.get = downLevel\r\n ? function (map, key) { return hasOwn.call(map, key) ? map[key] : undefined; }\r\n : function (map, key) { return map[key]; };\r\n })(HashMap || (HashMap = {}));\r\n // Load global or shim versions of Map, Set, and WeakMap\r\n var functionPrototype = Object.getPrototypeOf(Function);\r\n var usePolyfill = typeof process === \"object\" && process.env && process.env[\"REFLECT_METADATA_USE_MAP_POLYFILL\"] === \"true\";\r\n var _Map = !usePolyfill && typeof Map === \"function\" && typeof Map.prototype.entries === \"function\" ? Map : CreateMapPolyfill();\r\n var _Set = !usePolyfill && typeof Set === \"function\" && typeof Set.prototype.entries === \"function\" ? Set : CreateSetPolyfill();\r\n var _WeakMap = !usePolyfill && typeof WeakMap === \"function\" ? WeakMap : CreateWeakMapPolyfill();\r\n // [[Metadata]] internal slot\r\n // https://rbuckton.github.io/reflect-metadata/#ordinary-object-internal-methods-and-internal-slots\r\n var Metadata = new _WeakMap();\r\n /**\r\n * Applies a set of decorators to a property of a target object.\r\n * @param decorators An array of decorators.\r\n * @param target The target object.\r\n * @param propertyKey (Optional) The property key to decorate.\r\n * @param attributes (Optional) The property descriptor for the target key.\r\n * @remarks Decorators are applied in reverse order.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * Example = Reflect.decorate(decoratorsArray, Example);\r\n *\r\n * // property (on constructor)\r\n * Reflect.decorate(decoratorsArray, Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * Reflect.decorate(decoratorsArray, Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * Object.defineProperty(Example, \"staticMethod\",\r\n * Reflect.decorate(decoratorsArray, Example, \"staticMethod\",\r\n * Object.getOwnPropertyDescriptor(Example, \"staticMethod\")));\r\n *\r\n * // method (on prototype)\r\n * Object.defineProperty(Example.prototype, \"method\",\r\n * Reflect.decorate(decoratorsArray, Example.prototype, \"method\",\r\n * Object.getOwnPropertyDescriptor(Example.prototype, \"method\")));\r\n *\r\n */\r\n function decorate(decorators, target, propertyKey, attributes) {\r\n if (!IsUndefined(propertyKey)) {\r\n if (!IsArray(decorators))\r\n throw new TypeError();\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsObject(attributes) && !IsUndefined(attributes) && !IsNull(attributes))\r\n throw new TypeError();\r\n if (IsNull(attributes))\r\n attributes = undefined;\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return DecorateProperty(decorators, target, propertyKey, attributes);\r\n }\r\n else {\r\n if (!IsArray(decorators))\r\n throw new TypeError();\r\n if (!IsConstructor(target))\r\n throw new TypeError();\r\n return DecorateConstructor(decorators, target);\r\n }\r\n }\r\n Reflect.decorate = decorate;\r\n // 4.1.2 Reflect.metadata(metadataKey, metadataValue)\r\n // https://rbuckton.github.io/reflect-metadata/#reflect.metadata\r\n /**\r\n * A default metadata decorator factory that can be used on a class, class member, or parameter.\r\n * @param metadataKey The key for the metadata entry.\r\n * @param metadataValue The value for the metadata entry.\r\n * @returns A decorator function.\r\n * @remarks\r\n * If `metadataKey` is already defined for the target and target key, the\r\n * metadataValue for that key will be overwritten.\r\n * @example\r\n *\r\n * // constructor\r\n * @Reflect.metadata(key, value)\r\n * class Example {\r\n * }\r\n *\r\n * // property (on constructor, TypeScript only)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * static staticProperty;\r\n * }\r\n *\r\n * // property (on prototype, TypeScript only)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * property;\r\n * }\r\n *\r\n * // method (on constructor)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * static staticMethod() { }\r\n * }\r\n *\r\n * // method (on prototype)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * method() { }\r\n * }\r\n *\r\n */\r\n function metadata(metadataKey, metadataValue) {\r\n function decorator(target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey) && !IsPropertyKey(propertyKey))\r\n throw new TypeError();\r\n OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey);\r\n }\r\n return decorator;\r\n }\r\n Reflect.metadata = metadata;\r\n /**\r\n * Define a unique metadata entry on the target.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param metadataValue A value that contains attached metadata.\r\n * @param target The target object on which to define metadata.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example);\r\n *\r\n * // property (on constructor)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example.prototype, \"method\");\r\n *\r\n * // decorator factory as metadata-producing annotation.\r\n * function MyAnnotation(options): Decorator {\r\n * return (target, key?) => Reflect.defineMetadata(\"custom:annotation\", options, target, key);\r\n * }\r\n *\r\n */\r\n function defineMetadata(metadataKey, metadataValue, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey);\r\n }\r\n Reflect.defineMetadata = defineMetadata;\r\n /**\r\n * Gets a value indicating whether the target object or its prototype chain has the provided metadata key defined.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns `true` if the metadata key was defined on the target object or its prototype chain; otherwise, `false`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function hasMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryHasMetadata(metadataKey, target, propertyKey);\r\n }\r\n Reflect.hasMetadata = hasMetadata;\r\n /**\r\n * Gets a value indicating whether the target object has the provided metadata key defined.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns `true` if the metadata key was defined on the target object; otherwise, `false`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function hasOwnMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryHasOwnMetadata(metadataKey, target, propertyKey);\r\n }\r\n Reflect.hasOwnMetadata = hasOwnMetadata;\r\n /**\r\n * Gets the metadata value for the provided metadata key on the target object or its prototype chain.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns The metadata value for the metadata key if found; otherwise, `undefined`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function getMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryGetMetadata(metadataKey, target, propertyKey);\r\n }\r\n Reflect.getMetadata = getMetadata;\r\n /**\r\n * Gets the metadata value for the provided metadata key on the target object.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns The metadata value for the metadata key if found; otherwise, `undefined`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function getOwnMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryGetOwnMetadata(metadataKey, target, propertyKey);\r\n }\r\n Reflect.getOwnMetadata = getOwnMetadata;\r\n /**\r\n * Gets the metadata keys defined on the target object or its prototype chain.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns An array of unique metadata keys.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getMetadataKeys(Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getMetadataKeys(Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getMetadataKeys(Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getMetadataKeys(Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getMetadataKeys(Example.prototype, \"method\");\r\n *\r\n */\r\n function getMetadataKeys(target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryMetadataKeys(target, propertyKey);\r\n }\r\n Reflect.getMetadataKeys = getMetadataKeys;\r\n /**\r\n * Gets the unique metadata keys defined on the target object.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns An array of unique metadata keys.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getOwnMetadataKeys(Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getOwnMetadataKeys(Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getOwnMetadataKeys(Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getOwnMetadataKeys(Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getOwnMetadataKeys(Example.prototype, \"method\");\r\n *\r\n */\r\n function getOwnMetadataKeys(target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryOwnMetadataKeys(target, propertyKey);\r\n }\r\n Reflect.getOwnMetadataKeys = getOwnMetadataKeys;\r\n /**\r\n * Deletes the metadata entry from the target object with the provided key.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns `true` if the metadata entry was found and deleted; otherwise, false.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function deleteMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n var metadataMap = GetOrCreateMetadataMap(target, propertyKey, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return false;\r\n if (!metadataMap.delete(metadataKey))\r\n return false;\r\n if (metadataMap.size > 0)\r\n return true;\r\n var targetMetadata = Metadata.get(target);\r\n targetMetadata.delete(propertyKey);\r\n if (targetMetadata.size > 0)\r\n return true;\r\n Metadata.delete(target);\r\n return true;\r\n }\r\n Reflect.deleteMetadata = deleteMetadata;\r\n function DecorateConstructor(decorators, target) {\r\n for (var i = decorators.length - 1; i >= 0; --i) {\r\n var decorator = decorators[i];\r\n var decorated = decorator(target);\r\n if (!IsUndefined(decorated) && !IsNull(decorated)) {\r\n if (!IsConstructor(decorated))\r\n throw new TypeError();\r\n target = decorated;\r\n }\r\n }\r\n return target;\r\n }\r\n function DecorateProperty(decorators, target, propertyKey, descriptor) {\r\n for (var i = decorators.length - 1; i >= 0; --i) {\r\n var decorator = decorators[i];\r\n var decorated = decorator(target, propertyKey, descriptor);\r\n if (!IsUndefined(decorated) && !IsNull(decorated)) {\r\n if (!IsObject(decorated))\r\n throw new TypeError();\r\n descriptor = decorated;\r\n }\r\n }\r\n return descriptor;\r\n }\r\n function GetOrCreateMetadataMap(O, P, Create) {\r\n var targetMetadata = Metadata.get(O);\r\n if (IsUndefined(targetMetadata)) {\r\n if (!Create)\r\n return undefined;\r\n targetMetadata = new _Map();\r\n Metadata.set(O, targetMetadata);\r\n }\r\n var metadataMap = targetMetadata.get(P);\r\n if (IsUndefined(metadataMap)) {\r\n if (!Create)\r\n return undefined;\r\n metadataMap = new _Map();\r\n targetMetadata.set(P, metadataMap);\r\n }\r\n return metadataMap;\r\n }\r\n // 3.1.1.1 OrdinaryHasMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinaryhasmetadata\r\n function OrdinaryHasMetadata(MetadataKey, O, P) {\r\n var hasOwn = OrdinaryHasOwnMetadata(MetadataKey, O, P);\r\n if (hasOwn)\r\n return true;\r\n var parent = OrdinaryGetPrototypeOf(O);\r\n if (!IsNull(parent))\r\n return OrdinaryHasMetadata(MetadataKey, parent, P);\r\n return false;\r\n }\r\n // 3.1.2.1 OrdinaryHasOwnMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinaryhasownmetadata\r\n function OrdinaryHasOwnMetadata(MetadataKey, O, P) {\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return false;\r\n return ToBoolean(metadataMap.has(MetadataKey));\r\n }\r\n // 3.1.3.1 OrdinaryGetMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarygetmetadata\r\n function OrdinaryGetMetadata(MetadataKey, O, P) {\r\n var hasOwn = OrdinaryHasOwnMetadata(MetadataKey, O, P);\r\n if (hasOwn)\r\n return OrdinaryGetOwnMetadata(MetadataKey, O, P);\r\n var parent = OrdinaryGetPrototypeOf(O);\r\n if (!IsNull(parent))\r\n return OrdinaryGetMetadata(MetadataKey, parent, P);\r\n return undefined;\r\n }\r\n // 3.1.4.1 OrdinaryGetOwnMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarygetownmetadata\r\n function OrdinaryGetOwnMetadata(MetadataKey, O, P) {\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return undefined;\r\n return metadataMap.get(MetadataKey);\r\n }\r\n // 3.1.5.1 OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarydefineownmetadata\r\n function OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P) {\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ true);\r\n metadataMap.set(MetadataKey, MetadataValue);\r\n }\r\n // 3.1.6.1 OrdinaryMetadataKeys(O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarymetadatakeys\r\n function OrdinaryMetadataKeys(O, P) {\r\n var ownKeys = OrdinaryOwnMetadataKeys(O, P);\r\n var parent = OrdinaryGetPrototypeOf(O);\r\n if (parent === null)\r\n return ownKeys;\r\n var parentKeys = OrdinaryMetadataKeys(parent, P);\r\n if (parentKeys.length <= 0)\r\n return ownKeys;\r\n if (ownKeys.length <= 0)\r\n return parentKeys;\r\n var set = new _Set();\r\n var keys = [];\r\n for (var _i = 0, ownKeys_1 = ownKeys; _i < ownKeys_1.length; _i++) {\r\n var key = ownKeys_1[_i];\r\n var hasKey = set.has(key);\r\n if (!hasKey) {\r\n set.add(key);\r\n keys.push(key);\r\n }\r\n }\r\n for (var _a = 0, parentKeys_1 = parentKeys; _a < parentKeys_1.length; _a++) {\r\n var key = parentKeys_1[_a];\r\n var hasKey = set.has(key);\r\n if (!hasKey) {\r\n set.add(key);\r\n keys.push(key);\r\n }\r\n }\r\n return keys;\r\n }\r\n // 3.1.7.1 OrdinaryOwnMetadataKeys(O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinaryownmetadatakeys\r\n function OrdinaryOwnMetadataKeys(O, P) {\r\n var keys = [];\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return keys;\r\n var keysObj = metadataMap.keys();\r\n var iterator = GetIterator(keysObj);\r\n var k = 0;\r\n while (true) {\r\n var next = IteratorStep(iterator);\r\n if (!next) {\r\n keys.length = k;\r\n return keys;\r\n }\r\n var nextValue = IteratorValue(next);\r\n try {\r\n keys[k] = nextValue;\r\n }\r\n catch (e) {\r\n try {\r\n IteratorClose(iterator);\r\n }\r\n finally {\r\n throw e;\r\n }\r\n }\r\n k++;\r\n }\r\n }\r\n // 6 ECMAScript Data Typ0es and Values\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-data-types-and-values\r\n function Type(x) {\r\n if (x === null)\r\n return 1 /* Null */;\r\n switch (typeof x) {\r\n case \"undefined\": return 0 /* Undefined */;\r\n case \"boolean\": return 2 /* Boolean */;\r\n case \"string\": return 3 /* String */;\r\n case \"symbol\": return 4 /* Symbol */;\r\n case \"number\": return 5 /* Number */;\r\n case \"object\": return x === null ? 1 /* Null */ : 6 /* Object */;\r\n default: return 6 /* Object */;\r\n }\r\n }\r\n // 6.1.1 The Undefined Type\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-undefined-type\r\n function IsUndefined(x) {\r\n return x === undefined;\r\n }\r\n // 6.1.2 The Null Type\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-null-type\r\n function IsNull(x) {\r\n return x === null;\r\n }\r\n // 6.1.5 The Symbol Type\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-symbol-type\r\n function IsSymbol(x) {\r\n return typeof x === \"symbol\";\r\n }\r\n // 6.1.7 The Object Type\r\n // https://tc39.github.io/ecma262/#sec-object-type\r\n function IsObject(x) {\r\n return typeof x === \"object\" ? x !== null : typeof x === \"function\";\r\n }\r\n // 7.1 Type Conversion\r\n // https://tc39.github.io/ecma262/#sec-type-conversion\r\n // 7.1.1 ToPrimitive(input [, PreferredType])\r\n // https://tc39.github.io/ecma262/#sec-toprimitive\r\n function ToPrimitive(input, PreferredType) {\r\n switch (Type(input)) {\r\n case 0 /* Undefined */: return input;\r\n case 1 /* Null */: return input;\r\n case 2 /* Boolean */: return input;\r\n case 3 /* String */: return input;\r\n case 4 /* Symbol */: return input;\r\n case 5 /* Number */: return input;\r\n }\r\n var hint = PreferredType === 3 /* String */ ? \"string\" : PreferredType === 5 /* Number */ ? \"number\" : \"default\";\r\n var exoticToPrim = GetMethod(input, toPrimitiveSymbol);\r\n if (exoticToPrim !== undefined) {\r\n var result = exoticToPrim.call(input, hint);\r\n if (IsObject(result))\r\n throw new TypeError();\r\n return result;\r\n }\r\n return OrdinaryToPrimitive(input, hint === \"default\" ? \"number\" : hint);\r\n }\r\n // 7.1.1.1 OrdinaryToPrimitive(O, hint)\r\n // https://tc39.github.io/ecma262/#sec-ordinarytoprimitive\r\n function OrdinaryToPrimitive(O, hint) {\r\n if (hint === \"string\") {\r\n var toString_1 = O.toString;\r\n if (IsCallable(toString_1)) {\r\n var result = toString_1.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n var valueOf = O.valueOf;\r\n if (IsCallable(valueOf)) {\r\n var result = valueOf.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n }\r\n else {\r\n var valueOf = O.valueOf;\r\n if (IsCallable(valueOf)) {\r\n var result = valueOf.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n var toString_2 = O.toString;\r\n if (IsCallable(toString_2)) {\r\n var result = toString_2.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n }\r\n throw new TypeError();\r\n }\r\n // 7.1.2 ToBoolean(argument)\r\n // https://tc39.github.io/ecma262/2016/#sec-toboolean\r\n function ToBoolean(argument) {\r\n return !!argument;\r\n }\r\n // 7.1.12 ToString(argument)\r\n // https://tc39.github.io/ecma262/#sec-tostring\r\n function ToString(argument) {\r\n return \"\" + argument;\r\n }\r\n // 7.1.14 ToPropertyKey(argument)\r\n // https://tc39.github.io/ecma262/#sec-topropertykey\r\n function ToPropertyKey(argument) {\r\n var key = ToPrimitive(argument, 3 /* String */);\r\n if (IsSymbol(key))\r\n return key;\r\n return ToString(key);\r\n }\r\n // 7.2 Testing and Comparison Operations\r\n // https://tc39.github.io/ecma262/#sec-testing-and-comparison-operations\r\n // 7.2.2 IsArray(argument)\r\n // https://tc39.github.io/ecma262/#sec-isarray\r\n function IsArray(argument) {\r\n return Array.isArray\r\n ? Array.isArray(argument)\r\n : argument instanceof Object\r\n ? argument instanceof Array\r\n : Object.prototype.toString.call(argument) === \"[object Array]\";\r\n }\r\n // 7.2.3 IsCallable(argument)\r\n // https://tc39.github.io/ecma262/#sec-iscallable\r\n function IsCallable(argument) {\r\n // NOTE: This is an approximation as we cannot check for [[Call]] internal method.\r\n return typeof argument === \"function\";\r\n }\r\n // 7.2.4 IsConstructor(argument)\r\n // https://tc39.github.io/ecma262/#sec-isconstructor\r\n function IsConstructor(argument) {\r\n // NOTE: This is an approximation as we cannot check for [[Construct]] internal method.\r\n return typeof argument === \"function\";\r\n }\r\n // 7.2.7 IsPropertyKey(argument)\r\n // https://tc39.github.io/ecma262/#sec-ispropertykey\r\n function IsPropertyKey(argument) {\r\n switch (Type(argument)) {\r\n case 3 /* String */: return true;\r\n case 4 /* Symbol */: return true;\r\n default: return false;\r\n }\r\n }\r\n // 7.3 Operations on Objects\r\n // https://tc39.github.io/ecma262/#sec-operations-on-objects\r\n // 7.3.9 GetMethod(V, P)\r\n // https://tc39.github.io/ecma262/#sec-getmethod\r\n function GetMethod(V, P) {\r\n var func = V[P];\r\n if (func === undefined || func === null)\r\n return undefined;\r\n if (!IsCallable(func))\r\n throw new TypeError();\r\n return func;\r\n }\r\n // 7.4 Operations on Iterator Objects\r\n // https://tc39.github.io/ecma262/#sec-operations-on-iterator-objects\r\n function GetIterator(obj) {\r\n var method = GetMethod(obj, iteratorSymbol);\r\n if (!IsCallable(method))\r\n throw new TypeError(); // from Call\r\n var iterator = method.call(obj);\r\n if (!IsObject(iterator))\r\n throw new TypeError();\r\n return iterator;\r\n }\r\n // 7.4.4 IteratorValue(iterResult)\r\n // https://tc39.github.io/ecma262/2016/#sec-iteratorvalue\r\n function IteratorValue(iterResult) {\r\n return iterResult.value;\r\n }\r\n // 7.4.5 IteratorStep(iterator)\r\n // https://tc39.github.io/ecma262/#sec-iteratorstep\r\n function IteratorStep(iterator) {\r\n var result = iterator.next();\r\n return result.done ? false : result;\r\n }\r\n // 7.4.6 IteratorClose(iterator, completion)\r\n // https://tc39.github.io/ecma262/#sec-iteratorclose\r\n function IteratorClose(iterator) {\r\n var f = iterator[\"return\"];\r\n if (f)\r\n f.call(iterator);\r\n }\r\n // 9.1 Ordinary Object Internal Methods and Internal Slots\r\n // https://tc39.github.io/ecma262/#sec-ordinary-object-internal-methods-and-internal-slots\r\n // 9.1.1.1 OrdinaryGetPrototypeOf(O)\r\n // https://tc39.github.io/ecma262/#sec-ordinarygetprototypeof\r\n function OrdinaryGetPrototypeOf(O) {\r\n var proto = Object.getPrototypeOf(O);\r\n if (typeof O !== \"function\" || O === functionPrototype)\r\n return proto;\r\n // TypeScript doesn't set __proto__ in ES5, as it's non-standard.\r\n // Try to determine the superclass constructor. Compatible implementations\r\n // must either set __proto__ on a subclass constructor to the superclass constructor,\r\n // or ensure each class has a valid `constructor` property on its prototype that\r\n // points back to the constructor.\r\n // If this is not the same as Function.[[Prototype]], then this is definately inherited.\r\n // This is the case when in ES6 or when using __proto__ in a compatible browser.\r\n if (proto !== functionPrototype)\r\n return proto;\r\n // If the super prototype is Object.prototype, null, or undefined, then we cannot determine the heritage.\r\n var prototype = O.prototype;\r\n var prototypeProto = prototype && Object.getPrototypeOf(prototype);\r\n if (prototypeProto == null || prototypeProto === Object.prototype)\r\n return proto;\r\n // If the constructor was not a function, then we cannot determine the heritage.\r\n var constructor = prototypeProto.constructor;\r\n if (typeof constructor !== \"function\")\r\n return proto;\r\n // If we have some kind of self-reference, then we cannot determine the heritage.\r\n if (constructor === O)\r\n return proto;\r\n // we have a pretty good guess at the heritage.\r\n return constructor;\r\n }\r\n // naive Map shim\r\n function CreateMapPolyfill() {\r\n var cacheSentinel = {};\r\n var arraySentinel = [];\r\n var MapIterator = (function () {\r\n function MapIterator(keys, values, selector) {\r\n this._index = 0;\r\n this._keys = keys;\r\n this._values = values;\r\n this._selector = selector;\r\n }\r\n MapIterator.prototype[\"@@iterator\"] = function () { return this; };\r\n MapIterator.prototype[iteratorSymbol] = function () { return this; };\r\n MapIterator.prototype.next = function () {\r\n var index = this._index;\r\n if (index >= 0 && index < this._keys.length) {\r\n var result = this._selector(this._keys[index], this._values[index]);\r\n if (index + 1 >= this._keys.length) {\r\n this._index = -1;\r\n this._keys = arraySentinel;\r\n this._values = arraySentinel;\r\n }\r\n else {\r\n this._index++;\r\n }\r\n return { value: result, done: false };\r\n }\r\n return { value: undefined, done: true };\r\n };\r\n MapIterator.prototype.throw = function (error) {\r\n if (this._index >= 0) {\r\n this._index = -1;\r\n this._keys = arraySentinel;\r\n this._values = arraySentinel;\r\n }\r\n throw error;\r\n };\r\n MapIterator.prototype.return = function (value) {\r\n if (this._index >= 0) {\r\n this._index = -1;\r\n this._keys = arraySentinel;\r\n this._values = arraySentinel;\r\n }\r\n return { value: value, done: true };\r\n };\r\n return MapIterator;\r\n }());\r\n return (function () {\r\n function Map() {\r\n this._keys = [];\r\n this._values = [];\r\n this._cacheKey = cacheSentinel;\r\n this._cacheIndex = -2;\r\n }\r\n Object.defineProperty(Map.prototype, \"size\", {\r\n get: function () { return this._keys.length; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Map.prototype.has = function (key) { return this._find(key, /*insert*/ false) >= 0; };\r\n Map.prototype.get = function (key) {\r\n var index = this._find(key, /*insert*/ false);\r\n return index >= 0 ? this._values[index] : undefined;\r\n };\r\n Map.prototype.set = function (key, value) {\r\n var index = this._find(key, /*insert*/ true);\r\n this._values[index] = value;\r\n return this;\r\n };\r\n Map.prototype.delete = function (key) {\r\n var index = this._find(key, /*insert*/ false);\r\n if (index >= 0) {\r\n var size = this._keys.length;\r\n for (var i = index + 1; i < size; i++) {\r\n this._keys[i - 1] = this._keys[i];\r\n this._values[i - 1] = this._values[i];\r\n }\r\n this._keys.length--;\r\n this._values.length--;\r\n if (key === this._cacheKey) {\r\n this._cacheKey = cacheSentinel;\r\n this._cacheIndex = -2;\r\n }\r\n return true;\r\n }\r\n return false;\r\n };\r\n Map.prototype.clear = function () {\r\n this._keys.length = 0;\r\n this._values.length = 0;\r\n this._cacheKey = cacheSentinel;\r\n this._cacheIndex = -2;\r\n };\r\n Map.prototype.keys = function () { return new MapIterator(this._keys, this._values, getKey); };\r\n Map.prototype.values = function () { return new MapIterator(this._keys, this._values, getValue); };\r\n Map.prototype.entries = function () { return new MapIterator(this._keys, this._values, getEntry); };\r\n Map.prototype[\"@@iterator\"] = function () { return this.entries(); };\r\n Map.prototype[iteratorSymbol] = function () { return this.entries(); };\r\n Map.prototype._find = function (key, insert) {\r\n if (this._cacheKey !== key) {\r\n this._cacheIndex = this._keys.indexOf(this._cacheKey = key);\r\n }\r\n if (this._cacheIndex < 0 && insert) {\r\n this._cacheIndex = this._keys.length;\r\n this._keys.push(key);\r\n this._values.push(undefined);\r\n }\r\n return this._cacheIndex;\r\n };\r\n return Map;\r\n }());\r\n function getKey(key, _) {\r\n return key;\r\n }\r\n function getValue(_, value) {\r\n return value;\r\n }\r\n function getEntry(key, value) {\r\n return [key, value];\r\n }\r\n }\r\n // naive Set shim\r\n function CreateSetPolyfill() {\r\n return (function () {\r\n function Set() {\r\n this._map = new _Map();\r\n }\r\n Object.defineProperty(Set.prototype, \"size\", {\r\n get: function () { return this._map.size; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Set.prototype.has = function (value) { return this._map.has(value); };\r\n Set.prototype.add = function (value) { return this._map.set(value, value), this; };\r\n Set.prototype.delete = function (value) { return this._map.delete(value); };\r\n Set.prototype.clear = function () { this._map.clear(); };\r\n Set.prototype.keys = function () { return this._map.keys(); };\r\n Set.prototype.values = function () { return this._map.values(); };\r\n Set.prototype.entries = function () { return this._map.entries(); };\r\n Set.prototype[\"@@iterator\"] = function () { return this.keys(); };\r\n Set.prototype[iteratorSymbol] = function () { return this.keys(); };\r\n return Set;\r\n }());\r\n }\r\n // naive WeakMap shim\r\n function CreateWeakMapPolyfill() {\r\n var UUID_SIZE = 16;\r\n var keys = HashMap.create();\r\n var rootKey = CreateUniqueKey();\r\n return (function () {\r\n function WeakMap() {\r\n this._key = CreateUniqueKey();\r\n }\r\n WeakMap.prototype.has = function (target) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ false);\r\n return table !== undefined ? HashMap.has(table, this._key) : false;\r\n };\r\n WeakMap.prototype.get = function (target) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ false);\r\n return table !== undefined ? HashMap.get(table, this._key) : undefined;\r\n };\r\n WeakMap.prototype.set = function (target, value) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ true);\r\n table[this._key] = value;\r\n return this;\r\n };\r\n WeakMap.prototype.delete = function (target) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ false);\r\n return table !== undefined ? delete table[this._key] : false;\r\n };\r\n WeakMap.prototype.clear = function () {\r\n // NOTE: not a real clear, just makes the previous data unreachable\r\n this._key = CreateUniqueKey();\r\n };\r\n return WeakMap;\r\n }());\r\n function CreateUniqueKey() {\r\n var key;\r\n do\r\n key = \"@@WeakMap@@\" + CreateUUID();\r\n while (HashMap.has(keys, key));\r\n keys[key] = true;\r\n return key;\r\n }\r\n function GetOrCreateWeakMapTable(target, create) {\r\n if (!hasOwn.call(target, rootKey)) {\r\n if (!create)\r\n return undefined;\r\n Object.defineProperty(target, rootKey, { value: HashMap.create() });\r\n }\r\n return target[rootKey];\r\n }\r\n function FillRandomBytes(buffer, size) {\r\n for (var i = 0; i < size; ++i)\r\n buffer[i] = Math.random() * 0xff | 0;\r\n return buffer;\r\n }\r\n function GenRandomBytes(size) {\r\n if (typeof Uint8Array === \"function\") {\r\n if (typeof crypto !== \"undefined\")\r\n return crypto.getRandomValues(new Uint8Array(size));\r\n if (typeof msCrypto !== \"undefined\")\r\n return msCrypto.getRandomValues(new Uint8Array(size));\r\n return FillRandomBytes(new Uint8Array(size), size);\r\n }\r\n return FillRandomBytes(new Array(size), size);\r\n }\r\n function CreateUUID() {\r\n var data = GenRandomBytes(UUID_SIZE);\r\n // mark as random - RFC 4122 ยง 4.4\r\n data[6] = data[6] & 0x4f | 0x40;\r\n data[8] = data[8] & 0xbf | 0x80;\r\n var result = \"\";\r\n for (var offset = 0; offset < UUID_SIZE; ++offset) {\r\n var byte = data[offset];\r\n if (offset === 4 || offset === 6 || offset === 8)\r\n result += \"-\";\r\n if (byte < 16)\r\n result += \"0\";\r\n result += byte.toString(16).toLowerCase();\r\n }\r\n return result;\r\n }\r\n }\r\n // uses a heuristic used by v8 and chakra to force an object into dictionary mode.\r\n function MakeDictionary(obj) {\r\n obj.__ = undefined;\r\n delete obj.__;\r\n return obj;\r\n }\r\n // patch global Reflect\r\n (function (__global) {\r\n if (typeof __global.Reflect !== \"undefined\") {\r\n if (__global.Reflect !== Reflect) {\r\n for (var p in Reflect) {\r\n if (hasOwn.call(Reflect, p)) {\r\n __global.Reflect[p] = Reflect[p];\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n __global.Reflect = Reflect;\r\n }\r\n })(typeof global !== \"undefined\" ? global :\r\n typeof self !== \"undefined\" ? self :\r\n Function(\"return this;\")());\r\n})(Reflect || (Reflect = {}));\r\n//# sourceMappingURL=Reflect.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/reflect-metadata/Reflect.js\n// module id = 10\n// module chunks = 0","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/node-libs-browser/node_modules/process/browser.js\n// module id = 11\n// module chunks = 0","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 12\n// module chunks = 0","/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nexport default noop;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/lodash-es/noop.js","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nexport default identity;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/lodash-es/identity.js","import { assign, defineProperty, copyOwnAndInheritedProps, uniqueId, round, toKbps, toMbps } from \"../core/utils\"\n\nexport interface IUploadStats {\n\tbytesSent: number\n\tprogress: number\n\ttotal: number\n\tspeed: ISpeedStats\n\tstart: number\n\tend: number\n\ttime: number\n}\n\nexport interface ISpeedStats {\n\tkbps: number\n\tmbps: number\n}\n\nclass VTransmitFile {\n\tprivate _nativeFile: File = null\n\tid: string = VTransmitFile.idFactory()\n\taccepted: boolean = undefined // Passed all validation.\n\tlastModified: number = undefined\n\tlastModifiedDate: Date = undefined\n\tname: string = undefined\n\tprocessing: boolean = undefined\n\tsize: number = undefined\n\tstatus: string = undefined\n\ttype: string = undefined\n\tupload: IUploadStats = {\n\t\tbytesSent: 0,\n\t\tprogress: 0,\n\t\ttotal: 0,\n\t\tspeed: {\n\t\t\tkbps: undefined,\n\t\t\tmbps: undefined,\n\t\t},\n\t\tstart: undefined,\n\t\tend: undefined,\n\t\ttime: undefined,\n\t}\n\twebkitRelativePath: USVString = undefined\n\twidth: number = undefined\n\theight: number = undefined\n\txhr: XMLHttpRequest = undefined\n\tprivate _dataUrl: string\n\terrorMessage: string = undefined\n\n\tconstructor(...data: object[]) {\n\t\tassign(this, ...data)\n\t}\n\n\tset(...data: object[]): VTransmitFile {\n\t\tassign(this, ...data)\n\t\treturn this\n\t}\n\n\tcopyNativeFile(file: File): VTransmitFile {\n\t\t// save reference for upload\n\t\tthis.nativeFile = file\n\t\t// Copy props to normal object for Vue reactivity.\n\t\t// Vue cannot define reactive properties on native file's readonly props.\n\t\treturn this.set(copyOwnAndInheritedProps(file))\n\t}\n\n\tcopyOwnAndInheritedProps(...data: object[]): VTransmitFile {\n\t\treturn this.set(...data.map(copyOwnAndInheritedProps))\n\t}\n\n\thandleProgress(e: ProgressEvent): void {\n\t\tthis.startProgress()\n\t\tconst total = e.total || this.upload.total\n\t\tthis.upload.progress = Math.min(100, 100 * e.loaded / total)\n\t\tthis.upload.bytesSent = e.loaded\n\t\tthis.upload.total = total\n\t\tthis.upload.time = (Date.now() - this.upload.start) / 1000\n\t\t// Recalc the upload speed in bytes/sec\n\t\tthis.upload.speed.kbps = round(toKbps(this.upload.bytesSent, this.upload.time))\n\t\tthis.upload.speed.mbps = round(toMbps(this.upload.bytesSent, this.upload.time))\n\t\tif (this.upload.progress === 100) {\n\t\t\tthis.endProgress()\n\t\t}\n\t}\n\n\tstartProgress(): VTransmitFile {\n\t\t// Avoid starting twice\n\t\tif (typeof this.upload.start !== \"number\") {\n\t\t\tthis.upload.start = Date.now()\n\t\t}\n\t\treturn this\n\t}\n\n\tendProgress(): VTransmitFile {\n\t\t// Avoid ending twice\n\t\tif (typeof this.upload.end !== \"number\") {\n\t\t\tthis.upload.end = Date.now()\n\t\t\tthis.upload.time = (Date.now() - this.upload.start) / 1000\n\t\t}\n\t\treturn this\n\t}\n\n\tget nativeFile() {\n\t\treturn this._nativeFile\n\t}\n\n\tset nativeFile(file: File) {\n\t\tif (!(file instanceof File)) {\n\t\t\tthrow new TypeError(`[${VTransmitFile.name}] Expected an instance of File (native).`)\n\t\t}\n\t\tthis._nativeFile = file\n\t\tthis.upload.total = file.size\n\t}\n\n\tget dataUrl() {\n\t\treturn this._dataUrl || \"\"\n\t}\n\n\tset dataUrl(value) {\n\t\tdefineProperty(this, \"_dataUrl\", {\n\t\t\tvalue,\n\t\t\tenumerable: false,\n\t\t\tconfigurable: true,\n\t\t\twritable: true,\n\t\t})\n\t}\n\n\tstatic fromNativeFile(file: File, ...data) {\n\t\tconst instance = new VTransmitFile(...data)\n\t\tinstance.copyNativeFile(file)\n\t\treturn instance\n\t}\n\n\tstatic idFactory() {\n\t\treturn uniqueId(\"v-transmit-file-\")\n\t}\n}\n\nexport default VTransmitFile\n\n\n\n// WEBPACK FOOTER //\n// ./src/classes/VTransmitFile.ts","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(_vm.tag,{tag:\"component\"},[_c('div',_vm._g(_vm._b({staticClass:\"v-transmit__upload-area\",class:[_vm.isDraggingClass, _vm.uploadAreaClasses],attrs:{\"draggable\":\"true\"},on:{\"click\":_vm.handleClickUploaderAction,\"dragstart\":_vm.handleDragStart,\"dragend\":_vm.handleDragEnd,\"dragenter\":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDragEnter($event)},\"dragover\":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDragOver($event)},\"dragleave\":_vm.handleDragLeave,\"drop\":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDrop($event)}}},'div',_vm.uploadAreaAttrs,false),_vm.uploadAreaListeners),[_vm._t(\"default\")],2),_vm._v(\" \"),_vm._t(\"files\",null,null,_vm.fileSlotBindings),_vm._v(\" \"),_c('form',{ref:\"uploadForm\",style:(_vm.formStyles)},[_c('input',{ref:\"hiddenFileInput\",class:[_vm.maxFilesReachedClass],attrs:{\"type\":\"file\",\"multiple\":_vm.multiple,\"accept\":_vm.filesToAccept,\"capture\":_vm.capture},on:{\"change\":_vm.onFileInputChange}})])],2)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-61e675b9\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/VueTransmit.vue\n// module id = 16\n// module chunks = 0"],"sourceRoot":""}
\ No newline at end of file
diff --git a/dist/vue-transmit.browser.min.js b/dist/vue-transmit.browser.min.js
index 892f4db..028f1d8 100644
--- a/dist/vue-transmit.browser.min.js
+++ b/dist/vue-transmit.browser.min.js
@@ -1,8 +1,8 @@
-window.VueTransmit=function(e){function t(r){if(a[r])return a[r].exports;var o=a[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var a={};return t.m=e,t.c=a,t.d=function(e,a,r){t.o(e,a)||Object.defineProperty(e,a,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var a=e&&e.__esModule?function(){return e['default']}:function(){return e};return t.d(a,'a',a),a},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p='',t(t.s=3)}([function(e){(function(){e.exports=window.Vue})()},function(e,t,a){'use strict';function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e){if(Array.isArray(e)){for(var t=0,a=Array(e.length);tl?t:null===o?o=Object.getOwnPropertyDescriptor(t,a):o;if('object'===('undefined'==typeof Reflect?'undefined':p(Reflect))&&'function'==typeof Reflect.decorate)d=Reflect.decorate(e,t,a,o);else for(var r=e.length-1;0<=r;r--)(n=e[r])&&(d=(3>l?n(d):3=this.maxFiles&&this.$emit('max-files-reached',this.files)}},{key:'getFilesWithStatus',value:function(){for(var e=arguments.length,t=Array(e),a=0;a=this.maxConcurrentUploads||0===this.queuedFiles.length)){var t=[].concat(n(this.queuedFiles));if(this.uploadMultiple)return this.processFiles(t.slice(0,this.maxConcurrentUploads-e));for(var a=e;ar.status||300<=r.status?p():a.uploadFinished(t,e,o)}});var c=Object.assign(Object.create(null),this.defaultHeaders,this.headers);for(var y in c)c[y]&&r.setRequestHeader(y,c[y]);var g=new FormData;for(var f in this.params)g.append(f,this.params[f]);var m,h=!0,_=!1;try{for(var v,F,k=t[Symbol.iterator]();!(h=(v=k.next()).done);h=!0)F=v.value,this.$emit('sending',F,r,g)}catch(e){_=!0,m=e}finally{try{!h&&k.return&&k.return()}finally{if(_)throw m}}this.uploadMultiple&&this.$emit('sending-multiple',t,r,g);for(var P=0;P1024*(1024*this.maxFileSize)?t(this.dictFileTooBig.replace(_.hbsRegex,(0,_.hbsReplacer)({fileSize:Math.round(e.size/1024/10.24)/100,maxFileSize:this.maxFileSize}))):this.isValidFileType(e,this.acceptedFileTypes)?null!=this.maxFiles&&this.acceptedFiles.length>=this.maxFiles?(t(this.dictMaxFilesExceeded.replace(_.hbsRegex,(0,_.hbsReplacer)({maxFiles:this.maxFiles}))),this.$emit('max-files-exceeded',e)):this.accept(e,t):t(this.dictInvalidFileType)}},{key:'isValidFileType',value:function(e,t){if(!t.length)return!0;for(var a,r=e.type,o=r.replace(/\/.*$/,''),n=0;n=this.maxFiles}},{key:'maxFilesReachedClass',get:function(){return this.maxFilesReached?'v-transmit__max-files--reached':null}},{key:'isDraggingClass',get:function(){return o({"v-transmit__upload-area--is-dragging":this.dragging},this.dragClass,this.dragging)}},{key:'isUploading',get:function(){return 0o){var s=n(i,e.width),p=l(s,2);a=p[0],r=p[1]}else{var u=n(i,void 0,e.height),c=l(u,2);a=c[0],r=c[1]}return al?t:null===o?o=Object.getOwnPropertyDescriptor(t,a):o;if('object'===('undefined'==typeof Reflect?'undefined':p(Reflect))&&'function'==typeof Reflect.decorate)s=Reflect.decorate(e,t,a,o);else for(var r=e.length-1;0<=r;r--)(n=e[r])&&(s=(3>l?n(s):3=this.maxFiles&&this.$emit('max-files-reached',this.files)}},{key:'getFilesWithStatus',value:function(){for(var e=arguments.length,t=Array(e),a=0;a=this.maxConcurrentUploads||0===this.queuedFiles.length)){var t=[].concat(n(this.queuedFiles));if(this.uploadMultiple)return this.processFiles(t.slice(0,this.maxConcurrentUploads-e));for(var a=e;ar.status||300<=r.status?p():a.uploadFinished(t,e,o)}});var c=Object.assign(Object.create(null),this.defaultHeaders,this.headers);for(var y in c)c[y]&&r.setRequestHeader(y,c[y]);var g=new FormData;for(var m in this.params)g.append(m,this.params[m]);var f,h=!0,_=!1;try{for(var v,F,k=t[Symbol.iterator]();!(h=(v=k.next()).done);h=!0)F=v.value,this.$emit('sending',F,r,g)}catch(e){_=!0,f=e}finally{try{!h&&k.return&&k.return()}finally{if(_)throw f}}this.uploadMultiple&&this.$emit('sending-multiple',t,r,g);for(var P=0;P1024*(1024*this.maxFileSize)?t(this.dictFileTooBig.replace(_.hbsRegex,(0,_.hbsReplacer)({fileSize:Math.round(e.size/1024/10.24)/100,maxFileSize:this.maxFileSize}))):this.isValidFileType(e,this.acceptedFileTypes)?null!=this.maxFiles&&this.acceptedFiles.length>=this.maxFiles?(t(this.dictMaxFilesExceeded.replace(_.hbsRegex,(0,_.hbsReplacer)({maxFiles:this.maxFiles}))),this.$emit('max-files-exceeded',e)):this.accept(e,t):t(this.dictInvalidFileType)}},{key:'isValidFileType',value:function(e,t){if(!t.length)return!0;for(var a,r=e.type,o=r.replace(/\/.*$/,''),n=0;n=this.maxFiles}},{key:'maxFilesReachedClass',get:function(){return this.maxFilesReached?'v-transmit__max-files--reached':null}},{key:'isDraggingClass',get:function(){return o({"v-transmit__upload-area--is-dragging":this.dragging},this.dragClass,this.dragging)}},{key:'isUploading',get:function(){return 0o){var d=n(i,e.width),p=l(d,2);a=p[0],r=p[1]}else{var u=n(i,void 0,e.height),c=l(u,2);a=c[0],r=c[1]}return a=o.length)return a;if(0>=a.length)return o;for(var i=new z,n=[],l=0,d=a;l=this._keys.length?(this._index=-1,this._keys=o,this._values=o):this._index++,{value:t,done:!1}}return{value:void 0,done:!0}},e.prototype.throw=function(e){throw 0<=this._index&&(this._index=-1,this._keys=o,this._values=o),e},e.prototype.return=function(e){return 0<=this._index&&(this._index=-1,this._keys=o,this._values=o),{value:e,done:!0}},e}();return function(){function o(){this._keys=[],this._values=[],this._cacheKey=r,this._cacheIndex=-2}return Object.defineProperty(o.prototype,'size',{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),o.prototype.has=function(e){return 0<=this._find(e,!1)},o.prototype.get=function(e){var t=this._find(e,!1);return 0<=t?this._values[t]:void 0},o.prototype.set=function(e,t){var a=this._find(e,!0);return this._values[a]=t,this},o.prototype.delete=function(e){var t=this._find(e,!1);if(0<=t){for(var a=this._keys.length,o=t+1;othis._cacheIndex&&t&&(this._cacheIndex=this._keys.length,this._keys.push(e),this._values.push(void 0)),this._cacheIndex},o}()}():Map,z=j||'function'!=typeof Set||'function'!=typeof Set.prototype.entries?function(){return function(){function e(){this._map=new Q}return Object.defineProperty(e.prototype,'size',{get:function(){return this._map.size},enumerable:!0,configurable:!0}),e.prototype.has=function(e){return this._map.has(e)},e.prototype.add=function(e){return this._map.set(e,e),this},e.prototype.delete=function(e){return this._map.delete(e)},e.prototype.clear=function(){this._map.clear()},e.prototype.keys=function(){return this._map.keys()},e.prototype.values=function(){return this._map.values()},e.prototype.entries=function(){return this._map.entries()},e.prototype['@@iterator']=function(){return this.keys()},e.prototype[L]=function(){return this.keys()},e}()}():Set,q=j||'function'!=typeof WeakMap?function(){function e(){var e;do e='@@WeakMap@@'+o();while(O.has(n,e));return n[e]=!0,e}function t(e,t){if(!M.call(e,l)){if(!t)return;Object.defineProperty(e,l,{value:O.create()})}return e[l]}function a(e,t){for(var a=0;at&&(a+='0'),a+=t.toString(16).toLowerCase();return a}var i=16,n=O.create(),l=e();return function(){function a(){this._key=e()}return a.prototype.has=function(e){var a=t(e,!1);return void 0!==a&&O.has(a,this._key)},a.prototype.get=function(e){var a=t(e,!1);return void 0===a?void 0:O.get(a,this._key)},a.prototype.set=function(e,a){var r=t(e,!0);return r[this._key]=a,this},a.prototype.delete=function(e){var a=t(e,!1);return void 0!==a&&delete a[this._key]},a.prototype.clear=function(){this._key=e()},a}()}():WeakMap,W=new q;a.decorate=function(e,t,a,i){if(!g(a)){if(!P(e))throw new TypeError;if(!h(t))throw new TypeError;if(!h(i)&&!g(i)&&!f(i))throw new TypeError;return f(i)&&(i=void 0),a=b(a),o(e,t,a,i)}if(!P(e))throw new TypeError;if(!D(t))throw new TypeError;return r(e,t)},a.metadata=function(e,t){return function(a,r){if(!h(a))throw new TypeError;if(!g(r)&&!E(r))throw new TypeError;p(e,t,a,r)}},a.defineMetadata=function(e,t,a,r){if(!h(a))throw new TypeError;return g(r)||(r=b(r)),p(e,t,a,r)},a.hasMetadata=function(e,t,a){if(!h(t))throw new TypeError;return g(a)||(a=b(a)),n(e,t,a)},a.hasOwnMetadata=function(e,t,a){if(!h(t))throw new TypeError;return g(a)||(a=b(a)),l(e,t,a)},a.getMetadata=function(e,t,a){if(!h(t))throw new TypeError;return g(a)||(a=b(a)),d(e,t,a)},a.getOwnMetadata=function(e,t,a){if(!h(t))throw new TypeError;return g(a)||(a=b(a)),s(e,t,a)},a.getMetadataKeys=function(e,t){if(!h(e))throw new TypeError;return g(t)||(t=b(t)),u(e,t)},a.getOwnMetadataKeys=function(e,t){if(!h(e))throw new TypeError;return g(t)||(t=b(t)),c(e,t)},a.deleteMetadata=function(e,t,a){if(!h(t))throw new TypeError;g(a)||(a=b(a));var r=i(t,a,!1);if(g(r))return!1;if(!r.delete(e))return!1;if(0=o.length)return a;if(0>=a.length)return o;for(var i=new z,n=[],l=0,s=a;l=this._keys.length?(this._index=-1,this._keys=o,this._values=o):this._index++,{value:t,done:!1}}return{value:void 0,done:!0}},e.prototype.throw=function(e){throw 0<=this._index&&(this._index=-1,this._keys=o,this._values=o),e},e.prototype.return=function(e){return 0<=this._index&&(this._index=-1,this._keys=o,this._values=o),{value:e,done:!0}},e}();return function(){function o(){this._keys=[],this._values=[],this._cacheKey=r,this._cacheIndex=-2}return Object.defineProperty(o.prototype,'size',{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),o.prototype.has=function(e){return 0<=this._find(e,!1)},o.prototype.get=function(e){var t=this._find(e,!1);return 0<=t?this._values[t]:void 0},o.prototype.set=function(e,t){var a=this._find(e,!0);return this._values[a]=t,this},o.prototype.delete=function(e){var t=this._find(e,!1);if(0<=t){for(var a=this._keys.length,o=t+1;othis._cacheIndex&&t&&(this._cacheIndex=this._keys.length,this._keys.push(e),this._values.push(void 0)),this._cacheIndex},o}()}():Map,z=j||'function'!=typeof Set||'function'!=typeof Set.prototype.entries?function(){return function(){function e(){this._map=new Q}return Object.defineProperty(e.prototype,'size',{get:function(){return this._map.size},enumerable:!0,configurable:!0}),e.prototype.has=function(e){return this._map.has(e)},e.prototype.add=function(e){return this._map.set(e,e),this},e.prototype.delete=function(e){return this._map.delete(e)},e.prototype.clear=function(){this._map.clear()},e.prototype.keys=function(){return this._map.keys()},e.prototype.values=function(){return this._map.values()},e.prototype.entries=function(){return this._map.entries()},e.prototype['@@iterator']=function(){return this.keys()},e.prototype[L]=function(){return this.keys()},e}()}():Set,q=j||'function'!=typeof WeakMap?function(){function e(){var e;do e='@@WeakMap@@'+o();while(O.has(n,e));return n[e]=!0,e}function t(e,t){if(!M.call(e,l)){if(!t)return;Object.defineProperty(e,l,{value:O.create()})}return e[l]}function a(e,t){for(var a=0;at&&(a+='0'),a+=t.toString(16).toLowerCase();return a}var i=16,n=O.create(),l=e();return function(){function a(){this._key=e()}return a.prototype.has=function(e){var a=t(e,!1);return void 0!==a&&O.has(a,this._key)},a.prototype.get=function(e){var a=t(e,!1);return void 0===a?void 0:O.get(a,this._key)},a.prototype.set=function(e,a){var r=t(e,!0);return r[this._key]=a,this},a.prototype.delete=function(e){var a=t(e,!1);return void 0!==a&&delete a[this._key]},a.prototype.clear=function(){this._key=e()},a}()}():WeakMap,W=new q;a.decorate=function(e,t,a,i){if(!g(a)){if(!P(e))throw new TypeError;if(!h(t))throw new TypeError;if(!h(i)&&!g(i)&&!m(i))throw new TypeError;return m(i)&&(i=void 0),a=b(a),o(e,t,a,i)}if(!P(e))throw new TypeError;if(!E(t))throw new TypeError;return r(e,t)},a.metadata=function(e,t){return function(a,r){if(!h(a))throw new TypeError;if(!g(r)&&!D(r))throw new TypeError;p(e,t,a,r)}},a.defineMetadata=function(e,t,a,r){if(!h(a))throw new TypeError;return g(r)||(r=b(r)),p(e,t,a,r)},a.hasMetadata=function(e,t,a){if(!h(t))throw new TypeError;return g(a)||(a=b(a)),n(e,t,a)},a.hasOwnMetadata=function(e,t,a){if(!h(t))throw new TypeError;return g(a)||(a=b(a)),l(e,t,a)},a.getMetadata=function(e,t,a){if(!h(t))throw new TypeError;return g(a)||(a=b(a)),s(e,t,a)},a.getOwnMetadata=function(e,t,a){if(!h(t))throw new TypeError;return g(a)||(a=b(a)),d(e,t,a)},a.getMetadataKeys=function(e,t){if(!h(e))throw new TypeError;return g(t)||(t=b(t)),u(e,t)},a.getOwnMetadataKeys=function(e,t){if(!h(e))throw new TypeError;return g(t)||(t=b(t)),c(e,t)},a.deleteMetadata=function(e,t,a){if(!h(t))throw new TypeError;g(a)||(a=b(a));var r=i(t,a,!1);if(g(r))return!1;if(!r.delete(e))return!1;if(0 [] })\n\tacceptedFileTypes: string[]\n\n\t/**\n * If false, files will be added to the queue but the queue will not be\n * processed automatically.\n * This can be useful if you need some additional user input before sending\n * files (or if you want want all files sent at once).\n * If you're ready to send the file simply call myDropzone.processQueue()\n */\n\t@Prop({ type: Boolean, default: true })\n\tautoProcessQueue: boolean\n\n\t/**\n * If false, files added to the dropzone will not be queued by default.\n * You'll have to call `enqueueFile(file)` manually.\n */\n\t@Prop({ type: Boolean, default: true })\n\tautoQueue: boolean\n\n\t/**\n * If null, no capture type will be specified\n * If camera, mobile devices will skip the file selection and choose camera\n * If microphone, mobile devices will skip the file selection and choose the microphone\n * If camcorder, mobile devices will skip the file selection and choose the camera in video mode\n * On apple devices multiple must be set to false. AcceptedFiles may need to\n * be set to an appropriate mime type (e.g. \"image/*\", \"audio/*\", or \"video/*\").\n */\n\t@Prop({ type: String, default: null })\n\tcapture: string\n\n\t/**\n * Before the file is appended to the formData, the function renameFile is performed for file.name, file\n * which executes the function defined in renameFile\n */\n\t@Prop({ type: Function, default: identity })\n\trenameFile: (name: string) => string\n\n\t// If the file size is too big.\n\t@Prop({ type: String, default: \"File is too big ({{ fileSize }}MiB). Max file size: {{ maxFileSize }}MB.\" })\n\tdictFileTooBig: string\n\n\t// If the file doesn't match the file type.\n\t@Prop({ type: String, default: \"You can't upload files of this type.\" })\n\tdictInvalidFileType: string\n\n\t// If the server response was invalid.\n\t@Prop({ type: String, default: \"Server responded with {{ statusCode }} code.\" })\n\tdictResponseError: string\n\n\t/**\n * Displayed when the maxFiles have been exceeded\n * You can use {{maxFiles}} here, which will be replaced by the option.\n */\n\t@Prop({ type: String, default: \"You can not upload any more files.\" })\n\tdictMaxFilesExceeded: string\n\n\t/**\n * If `done()` is called without argument the file is accepted\n * If you call it with an error message, the file is rejected\n * (This allows for asynchronous validation).\n */\n\t@Prop({ type: Function, default: (_, done: Function) => done() })\n\taccept: (file: VTransmitFile, done: Function) => void\n\n\t@Prop({ type: Function, default: resizeImg })\n\tresize: (file: VTransmitFile, dims: IDimensions) => IDrawImageArgs\n\n\tpublic dragging: boolean = false\n\t// Used to keep the createThumbnail calls processing async one-at-a-time\n\tprivate processingThumbnail: boolean = false\n\tpublic thumbnailQueue: any[] = []\n\tpublic files: VTransmitFile[] = []\n\tpublic defaultHeaders: object = {\n\t\tAccept: \"application/json\",\n\t\t\"Cache-Control\": \"no-cache\",\n\t\t\"X-Requested-With\": \"XMLHttpRequest\",\n\t}\n\tpublic fileInputStyles: object = {\n\t\tvisibility: \"hidden !important\",\n\t\tposition: \"absolute !important\",\n\t\ttop: \"0 !important\",\n\t\tleft: \"0 !important\",\n\t\theight: \"0px !important\",\n\t\twidth: \"0px !important\",\n\t}\n\n\tget inputEl(): HTMLInputElement {\n\t\tlet el = null\n\t\tif (this.$refs.hiddenFileInput instanceof HTMLInputElement) {\n\t\t\tel = this.$refs.hiddenFileInput\n\t\t}\n\t\treturn el\n\t}\n\tget filesToAccept(): string {\n\t\treturn this.acceptedFileTypes.join(\",\")\n\t}\n\tget multiple(): boolean {\n\t\treturn this.maxFiles === null || this.maxFiles > 1\n\t}\n\tget acceptedFiles(): VTransmitFile[] {\n\t\treturn this.files.filter(f => f.accepted)\n\t}\n\tget rejectedFiles(): VTransmitFile[] {\n\t\treturn this.files.filter(f => !f.accepted)\n\t}\n\tget addedFiles(): VTransmitFile[] {\n\t\treturn this.getFilesWithStatus(STATUSES.ADDED)\n\t}\n\tget queuedFiles(): VTransmitFile[] {\n\t\treturn this.getFilesWithStatus(STATUSES.QUEUED)\n\t}\n\tget uploadingFiles(): VTransmitFile[] {\n\t\treturn this.getFilesWithStatus(STATUSES.UPLOADING)\n\t}\n\tget activeFiles(): VTransmitFile[] {\n\t\treturn this.getFilesWithStatus(STATUSES.UPLOADING, STATUSES.QUEUED)\n\t}\n\tget maxFilesReached(): boolean {\n\t\t// Loose equality checks null && undefined\n\t\treturn this.maxFiles != null && this.acceptedFiles.length >= this.maxFiles\n\t}\n\tget maxFilesReachedClass(): string {\n\t\treturn this.maxFilesReached ? \"v-transmit__max-files--reached\" : null\n\t}\n\tget isDraggingClass(): { [key: string]: boolean } {\n\t\treturn {\n\t\t\t\"v-transmit__upload-area--is-dragging\": this.dragging,\n\t\t\t[this.dragClass]: this.dragging,\n\t\t}\n\t}\n\tget isUploading(): boolean {\n\t\treturn this.uploadingFiles.length > 0\n\t}\n\tget fileSlotBindings() {\n\t\treturn {\n\t\t\tfiles: this.files,\n\t\t\tacceptedFiles: this.acceptedFiles,\n\t\t\trejectedFiles: this.rejectedFiles,\n\t\t\taddedFiles: this.addedFiles,\n\t\t\tqueuedFiles: this.queuedFiles,\n\t\t\tuploadingFiles: this.uploadingFiles,\n\t\t\tactiveFiles: this.activeFiles,\n\t\t\tisUploading: this.isUploading,\n\t\t}\n\t}\n\n\t@Watch(\"acceptedFiles\")\n\tonAcceptedFilesChange(acceptedFiles: VTransmitFile[]) {\n\t\tif (this.maxFiles == null) {\n\t\t\treturn\n\t\t}\n\t\tif (acceptedFiles.length >= this.maxFiles) {\n\t\t\tthis.$emit(\"max-files-reached\", this.files)\n\t\t}\n\t}\n\n\tgetFilesWithStatus(...statuses: string[]): VTransmitFile[] {\n\t\treturn this.files.filter(f => statuses.indexOf(f.status) > -1)\n\t}\n\tonFileInputChange(): void {\n\t\tthis.$emit(\"added-files\", Array.from(this.inputEl.files).map(this.addFile))\n\t}\n\taddFile(file: File): VTransmitFile {\n\t\tconst vTransmitFile = VTransmitFile.fromNativeFile(file)\n\t\tvTransmitFile.status = STATUSES.ADDED\n\t\tthis.files.push(vTransmitFile)\n\t\tthis.$emit(\"added-file\", vTransmitFile)\n\t\tthis.enqueueThumbnail(vTransmitFile)\n\t\tthis.acceptFile(vTransmitFile, error => {\n\t\t\tif (error) {\n\t\t\t\tvTransmitFile.accepted = false\n\t\t\t\tthis.errorProcessing([vTransmitFile], error)\n\t\t\t\tthis.$emit(\"rejected-file\", vTransmitFile)\n\t\t\t} else {\n\t\t\t\tvTransmitFile.accepted = true\n\t\t\t\tthis.$emit(\"accepted-file\", vTransmitFile)\n\t\t\t\tif (this.autoQueue) {\n\t\t\t\t\tthis.enqueueFile(vTransmitFile)\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.$emit(\"accept-complete\", vTransmitFile)\n\t\t})\n\n\t\treturn vTransmitFile\n\t}\n\tremoveFile(file: VTransmitFile): void {\n\t\tif (file.status === STATUSES.UPLOADING) {\n\t\t\tthis.cancelUpload(file)\n\t\t}\n\t\tconst idxToRm = this.files.findIndex(f => f.id === file.id)\n\t\tif (~idxToRm) {\n\t\t\tthis.$emit(\"removed-file\", this.files.splice(idxToRm, 1)[0])\n\t\t\tif (this.files.length === 0) {\n\t\t\t\tthis.$emit(\"reset\")\n\t\t\t}\n\t\t}\n\t}\n\tremoveAllFiles(cancelInProgressUploads = false): void {\n\t\tfor (const file of this.files) {\n\t\t\tif (file.status !== STATUSES.UPLOADING || cancelInProgressUploads) {\n\t\t\t\tthis.removeFile(file)\n\t\t\t}\n\t\t}\n\t}\n\ttriggerBrowseFiles(): void {\n\t\tthis.inputEl.click()\n\t}\n\thandleClickUploaderAction(): void {\n\t\tif (this.clickable) {\n\t\t\tthis.triggerBrowseFiles()\n\t\t}\n\t}\n\tenqueueFile(file: VTransmitFile): void {\n\t\tif (file.status === STATUSES.ADDED && file.accepted === true) {\n\t\t\tfile.status = STATUSES.QUEUED\n\t\t\tif (this.autoProcessQueue) {\n\t\t\t\tsetTimeout(this.processQueue, 0)\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new Error(\"This file can't be queued because it has already been processed or was rejected.\")\n\t\t}\n\t}\n\tenqueueThumbnail(file: VTransmitFile): void {\n\t\tif (\n\t\t\tthis.createImageThumbnails &&\n\t\t\tfile.type.match(/image.*/) &&\n\t\t\tfile.size <= this.maxThumbnailFileSize * 1024 * 1024\n\t\t) {\n\t\t\tthis.thumbnailQueue.push(file)\n\t\t\tsetTimeout(this.processThumbnailQueue, 0)\n\t\t}\n\t}\n\tprocessThumbnailQueue(): void {\n\t\t// Employ a chain of self-calling, self-queuing createThumbnail calls\n\t\t// so execution can stay as non-blocking as possible.\n\t\tif (this.processingThumbnail || this.thumbnailQueue.length === 0) {\n\t\t\treturn\n\t\t}\n\t\tthis.processingThumbnail = true\n\t\tthis.createThumbnail(this.thumbnailQueue.shift(), () => {\n\t\t\tthis.processingThumbnail = false\n\t\t\tthis.processThumbnailQueue()\n\t\t})\n\t}\n\tcreateThumbnail(file: VTransmitFile, callback = noop): void {\n\t\tconst reader = new FileReader()\n\t\treader.addEventListener(\n\t\t\t\"load\",\n\t\t\t() => {\n\t\t\t\tif (file.type === \"image/svg+xml\") {\n\t\t\t\t\tfile.dataUrl = reader.result\n\t\t\t\t\tthis.$emit(\"thumbnail\", file, reader.result)\n\t\t\t\t\tcallback()\n\t\t\t\t}\n\t\t\t\tthis.createThumbnailFromUrl(file, reader.result, callback)\n\t\t\t},\n\t\t\tfalse\n\t\t)\n\n\t\t// FileReader requires a native File|Blob object\n\t\treader.readAsDataURL(file.nativeFile)\n\t}\n\tcreateThumbnailFromUrl(file: VTransmitFile, imageUrl: string, callback?: Function): void {\n\t\tconst imgEl = document.createElement(\"img\")\n\n\t\timgEl.addEventListener(\n\t\t\t\"load\",\n\t\t\t() => {\n\t\t\t\tfile.width = imgEl.width\n\t\t\t\tfile.height = imgEl.height\n\t\t\t\tconst resizeInfo = this.resize(file, {\n\t\t\t\t\twidth: this.thumbnailWidth,\n\t\t\t\t\theight: this.thumbnailHeight,\n\t\t\t\t})\n\t\t\t\tconst canvas = document.createElement(\"canvas\")\n\t\t\t\tconst ctx = canvas.getContext(\"2d\")\n\t\t\t\tcanvas.width = resizeInfo.dWidth\n\t\t\t\tcanvas.height = resizeInfo.dHeight\n\t\t\t\tctx.drawImage(\n\t\t\t\t\timgEl,\n\t\t\t\t\tresizeInfo.sx,\n\t\t\t\t\tresizeInfo.sy,\n\t\t\t\t\tresizeInfo.sWidth,\n\t\t\t\t\tresizeInfo.sHeight,\n\t\t\t\t\tresizeInfo.dx,\n\t\t\t\t\tresizeInfo.dy,\n\t\t\t\t\tresizeInfo.dWidth,\n\t\t\t\t\tresizeInfo.dHeight\n\t\t\t\t)\n\t\t\t\tconst thumbnail = canvas.toDataURL(\"image/png\")\n\t\t\t\tfile.dataUrl = thumbnail\n\t\t\t\tthis.$emit(\"thumbnail\", file, thumbnail)\n\n\t\t\t\tif (callback) {\n\t\t\t\t\treturn callback()\n\t\t\t\t}\n\t\t\t},\n\t\t\tfalse\n\t\t)\n\t\tif (callback) {\n\t\t\timgEl.addEventListener(\"error\", callback as EventListenerOrEventListenerObject, false)\n\t\t}\n\n\t\timgEl.src = imageUrl\n\t}\n\tprocessQueue(): void {\n\t\tconst processingLength = this.uploadingFiles.length\n\t\tif (processingLength >= this.maxConcurrentUploads || this.queuedFiles.length === 0) {\n\t\t\treturn\n\t\t}\n\n\t\tconst queuedFiles = [...this.queuedFiles]\n\t\tif (this.uploadMultiple) {\n\t\t\treturn this.processFiles(queuedFiles.slice(0, this.maxConcurrentUploads - processingLength))\n\t\t} else {\n\t\t\tfor (let i = processingLength; i < this.maxConcurrentUploads; i++) {\n\t\t\t\tif (queuedFiles.length) {\n\t\t\t\t\tthis.processFile(queuedFiles.shift())\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tprocessFile(file: VTransmitFile): void {\n\t\tthis.processFiles([file])\n\t}\n\tprocessFiles(files: VTransmitFile[]): void {\n\t\tfor (const file of files) {\n\t\t\tfile.processing = true\n\t\t\tfile.status = STATUSES.UPLOADING\n\t\t\tthis.$emit(\"processing\", file)\n\t\t}\n\t\tif (this.uploadMultiple) {\n\t\t\tthis.$emit(\"processing-multiple\", files)\n\t\t}\n\n\t\treturn this.uploadFiles(files)\n\t}\n\tgetFilesWithXhr(xhr: XMLHttpRequest): VTransmitFile[] {\n\t\treturn this.files.filter(file => file.xhr === xhr)\n\t}\n\tcancelUpload(file: VTransmitFile): void {\n\t\tif (file.status === STATUSES.UPLOADING) {\n\t\t\tconst groupedFiles = this.getFilesWithXhr(file.xhr)\n\t\t\tfile.xhr.abort()\n\t\t\tfor (const f of groupedFiles) {\n\t\t\t\tf.status = STATUSES.CANCELED\n\t\t\t\tthis.$emit(\"canceled\", f)\n\t\t\t}\n\t\t\tif (this.uploadMultiple) {\n\t\t\t\tthis.$emit(\"canceled-multiple\", groupedFiles)\n\t\t\t}\n\t\t} else if (file.status === STATUSES.ADDED || file.status === STATUSES.QUEUED) {\n\t\t\tfile.status = STATUSES.CANCELED\n\t\t\tthis.$emit(\"canceled\", file)\n\t\t\tif (this.uploadMultiple) {\n\t\t\t\tthis.$emit(\"canceled-multiple\", [file])\n\t\t\t}\n\t\t}\n\n\t\tif (this.autoProcessQueue) {\n\t\t\tthis.processQueue()\n\t\t}\n\t}\n\tuploadFile(file: VTransmitFile): void {\n\t\tthis.uploadFiles([file])\n\t}\n\tuploadFiles(files: VTransmitFile[]): void {\n\t\tconst xhr = new XMLHttpRequest()\n\t\tfor (const file of files) {\n\t\t\tfile.xhr = xhr\n\t\t\tfile.startProgress()\n\t\t}\n\t\txhr.open(this.method, this.url, true)\n\t\t// Setting the timeout after open because of IE11 issue: https://gitlab.com/meno/dropzone/issues/8\n\t\txhr.timeout = this.timeout\n\t\txhr.withCredentials = Boolean(this.withCredentials)\n\t\txhr.responseType = this.responseType\n\n\t\tconst handleError = this.handleUploadError(files, xhr)\n\t\tconst updateProgress = this.handleUploadProgress(files)\n\t\txhr.addEventListener(\"error\", handleError)\n\t\txhr.upload.addEventListener(\"progress\", updateProgress)\n\t\txhr.addEventListener(\"timeout\", this.handleTimeout(files, xhr))\n\t\txhr.addEventListener(\"load\", e => {\n\t\t\tif (files[0].status === STATUSES.CANCELED || xhr.readyState !== XMLHttpRequest.DONE) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tlet response = xhr.response\n\n\t\t\tif (!xhr.responseType) {\n\t\t\t\tlet contentType = xhr.getResponseHeader(\"content-type\")\n\t\t\t\tresponse = xhr.responseText\n\n\t\t\t\tif (contentType && contentType.indexOf(\"application/json\") > -1) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tresponse = JSON.parse(response)\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tresponse = \"Invalid JSON response from server.\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Called at load (when complete) will enable all the progress done logic.\n\t\t\tupdateProgress()\n\t\t\tif (xhr.status < 200 || xhr.status >= 300) {\n\t\t\t\treturn handleError()\n\t\t\t} else {\n\t\t\t\treturn this.uploadFinished(files, response, e)\n\t\t\t}\n\t\t})\n\n\t\t// Use null proto obj for the following 'for in' loop\n\t\tconst headers = Object.assign(Object.create(null), this.defaultHeaders, this.headers)\n\t\tfor (const headerName in headers) {\n\t\t\tif (headers[headerName]) {\n\t\t\t\txhr.setRequestHeader(headerName, headers[headerName])\n\t\t\t}\n\t\t}\n\n\t\tconst formData = new FormData()\n\t\tfor (const key in this.params) {\n\t\t\tformData.append(key, this.params[key])\n\t\t}\n\n\t\tfor (const file of files) {\n\t\t\tthis.$emit(\"sending\", file, xhr, formData)\n\t\t}\n\t\tif (this.uploadMultiple) {\n\t\t\tthis.$emit(\"sending-multiple\", files, xhr, formData)\n\t\t}\n\n\t\tfor (let i = 0; i < files.length; i++) {\n\t\t\tformData.append(this.getParamName(i), files[i].nativeFile, this.renameFile(files[i].name))\n\t\t}\n\n\t\treturn xhr.send(formData)\n\t}\n\thandleUploadError(files: VTransmitFile[], xhr: XMLHttpRequest): () => void {\n\t\tconst vm = this\n\t\treturn function onUploadErrorFn(): void {\n\t\t\tif (files[0].status !== STATUSES.CANCELED) {\n\t\t\t\tconst message = vm.dictResponseError.replace(hbsRegex, hbsReplacer({ statusCode: xhr.status }))\n\t\t\t\tvm.errorProcessing(files, message, xhr)\n\t\t\t}\n\t\t}\n\t}\n\thandleTimeout(files: VTransmitFile[], xhr: XMLHttpRequest): (e: Event) => void {\n\t\tconst vm = this\n\t\treturn function onTimeoutFn(e: Event): void {\n\t\t\tfor (const file of files) {\n\t\t\t\tfile.status = STATUSES.TIMEOUT\n\t\t\t\tfile.endProgress()\n\t\t\t\tvm.$emit(\"timeout\", file, e, xhr)\n\t\t\t}\n\t\t\tvm.$emit(\"timeout-multiple\", files, e, xhr)\n\n\t\t\tif (this.autoProcessQueue) {\n\t\t\t\tthis.processQueue()\n\t\t\t}\n\t\t}\n\t}\n\thandleUploadProgress(files): (e?: ProgressEvent) => void {\n\t\tconst vm = this\n\t\treturn function onProgressFn(e?: ProgressEvent): void {\n\t\t\tif (e instanceof ProgressEvent) {\n\t\t\t\tfor (const file of files) {\n\t\t\t\t\tfile.handleProgress(e)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tlet allFilesFinished = true\n\t\t\t\tfor (const file of files) {\n\t\t\t\t\tif (file.upload.progress !== 100 || file.upload.bytesSent !== file.upload.total) {\n\t\t\t\t\t\tallFilesFinished = false\n\t\t\t\t\t}\n\t\t\t\t\tfile.upload.progress = 100\n\t\t\t\t\tfile.upload.bytesSent = file.upload.total\n\t\t\t\t\tfile.endProgress()\n\t\t\t\t}\n\t\t\t\tif (allFilesFinished) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (const file of files) {\n\t\t\t\tvm.$emit(\"upload-progress\", file, file.upload.progress, file.upload.bytesSent)\n\t\t\t}\n\t\t}\n\t}\n\tupdateTotalUploadProgress(): void {\n\t\tconst progress = this.activeFiles.reduce(\n\t\t\t(memo, file) => {\n\t\t\t\tmemo.totalBytesSent += file.upload.bytesSent\n\t\t\t\tmemo.totalBytes += file.upload.total\n\t\t\t\treturn memo\n\t\t\t},\n\t\t\t{ totalBytesSent: 0, totalBytes: 0, totalProgress: 100 }\n\t\t)\n\n\t\tif (this.activeFiles.length) {\n\t\t\tprogress.totalProgress = 100 * progress.totalBytesSent / progress.totalBytes\n\t\t}\n\n\t\tthis.$emit(\"total-upload-progress\", progress)\n\t}\n\tgetParamName(index): string {\n\t\treturn this.paramName + (this.uploadMultiple ? `[${index}]` : \"\")\n\t}\n\tuploadFinished(files: VTransmitFile[], response: string | object | any[], e: Event): void {\n\t\tfor (const file of files) {\n\t\t\tfile.status = STATUSES.SUCCESS\n\t\t\tfile.endProgress()\n\t\t\tthis.$emit(\"success\", file, response, e)\n\t\t\tthis.$emit(\"complete\", file)\n\t\t}\n\n\t\tif (this.uploadMultiple) {\n\t\t\tthis.$emit(\"success-multiple\", files, response, e)\n\t\t\tthis.$emit(\"complete-multiple\", files)\n\t\t}\n\n\t\tif (this.autoProcessQueue) {\n\t\t\tthis.processQueue()\n\t\t}\n\t}\n\terrorProcessing(files: VTransmitFile[], message: string, xhr?: XMLHttpRequest) {\n\t\tfor (const file of files) {\n\t\t\tfile.status = STATUSES.ERROR\n\t\t\tfile.endProgress()\n\t\t\tthis.$emit(\"error\", file, message, xhr)\n\t\t\tthis.$emit(\"complete\", file)\n\t\t}\n\n\t\tif (this.uploadMultiple) {\n\t\t\tthis.$emit(\"error-multiple\", files, message, xhr)\n\t\t\tthis.$emit(\"complete-multiple\", files)\n\t\t}\n\n\t\tif (this.autoProcessQueue) {\n\t\t\treturn this.processQueue()\n\t\t}\n\t}\n\tacceptFile(file: VTransmitFile, done: Function): void {\n\t\tif (file.size > this.maxFileSize * 1024 * 1024) {\n\t\t\tdone(\n\t\t\t\tthis.dictFileTooBig.replace(\n\t\t\t\t\thbsRegex,\n\t\t\t\t\thbsReplacer({\n\t\t\t\t\t\tfileSize: Math.round(file.size / 1024 / 10.24) / 100,\n\t\t\t\t\t\tmaxFileSize: this.maxFileSize,\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t\t)\n\t\t} else if (!this.isValidFileType(file, this.acceptedFileTypes)) {\n\t\t\tdone(this.dictInvalidFileType)\n\t\t} else if (this.maxFiles != null && this.acceptedFiles.length >= this.maxFiles) {\n\t\t\tdone(this.dictMaxFilesExceeded.replace(hbsRegex, hbsReplacer({ maxFiles: this.maxFiles })))\n\t\t\tthis.$emit(\"max-files-exceeded\", file)\n\t\t} else {\n\t\t\t// Call the prop callback for the client to validate.\n\t\t\tthis.accept(file, done)\n\t\t}\n\t}\n\tisValidFileType(file: VTransmitFile, acceptedFileTypes: string[]): boolean {\n\t\tif (!acceptedFileTypes.length) {\n\t\t\treturn true\n\t\t}\n\t\tconst mimeType = file.type\n\t\tconst baseMimeType = mimeType.replace(/\\/.*$/, \"\")\n\t\t// Return true on the first condition match,\n\t\t// otherwise exhaust all conditions and return false.\n\t\tfor (let i = 0; i < acceptedFileTypes.length; i++) {\n\t\t\tconst validType = acceptedFileTypes[i]\n\t\t\tif (validType.charAt(0) === \".\") {\n\t\t\t\t// Handle extension validation\n\t\t\t\t// Ensure extension exists at the end of the filename.\n\t\t\t\tif (file.name.toLowerCase().indexOf(validType.toLowerCase(), file.name.length - validType.length) !== -1) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t} else if (/\\/\\*$/.test(validType)) {\n\t\t\t\t// Handle globbed mimetype validation (\"image/*\")\n\t\t\t\tif (baseMimeType === validType.replace(/\\/.*$/, \"\")) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (mimeType === validType) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn false\n\t}\n\thandleDragStart(e: DragEvent): void {\n\t\tthis.$emit(\"drag-start\", e)\n\t}\n\thandleDragOver(e: DragEvent): void {\n\t\tthis.dragging = true\n\t\tlet effect\n\t\ttry {\n\t\t\t// Handle browser bug\n\t\t\teffect = e.dataTransfer.effectAllowed\n\t\t} catch (error) {}\n\t\te.dataTransfer.dropEffect = effect === \"move\" || effect === \"linkMove\" ? \"move\" : \"copy\"\n\t\tthis.$emit(\"drag-over\", e)\n\t}\n\thandleDragEnter(e: DragEvent): void {\n\t\tthis.dragging = true\n\t\tthis.$emit(\"drag-enter\", e)\n\t}\n\thandleDragLeave(e: DragEvent): void {\n\t\tthis.dragging = false\n\t\tthis.$emit(\"drag-leave\", e)\n\t}\n\thandleDragEnd(e: DragEvent): void {\n\t\tthis.dragging = false\n\t\tthis.$emit(\"drag-end\", e)\n\t}\n\thandleDrop(e: DragEvent): void {\n\t\tthis.dragging = false\n\t\tif (!e.dataTransfer) {\n\t\t\treturn\n\t\t}\n\t\tthis.$emit(\"drop\", e)\n\t\tconst files = Array.from(e.dataTransfer.files)\n\n\t\tthis.$emit(\"added-files\", files)\n\t\tif (files.length && e.dataTransfer.items) {\n\t\t\tconst items = Array.from(e.dataTransfer.items)\n\t\t\tif (items && items.length && items[0].webkitGetAsEntry) {\n\t\t\t\tthis.addFilesFromItems(items)\n\t\t\t} else {\n\t\t\t\tthis.handleFiles(files)\n\t\t\t}\n\t\t} else {\n\t\t\tthis.handleFiles(files)\n\t\t}\n\t}\n\tpaste(e: ClipboardEvent): void {\n\t\tif (!e || !e.clipboardData || !e.clipboardData.items) {\n\t\t\treturn\n\t\t}\n\t\tthis.$emit(\"paste\", e)\n\t\tconst items = Array.from(e.clipboardData.items)\n\t\tif (items.length) {\n\t\t\tthis.addFilesFromItems(items)\n\t\t}\n\t}\n\thandleFiles(files: File[]): VTransmitFile[] {\n\t\treturn files.map(this.addFile)\n\t}\n\taddFilesFromItems(items: DataTransferItem[]): void {\n\t\tfor (const item of items) {\n\t\t\t// Newer API on standards track\n\t\t\tif (item.getAsFile && item.kind == \"file\") {\n\t\t\t\tthis.addFile(item.getAsFile())\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t// Vendor prefixed experimental API\n\t\t\tif (item.webkitGetAsEntry) {\n\t\t\t\tconst entry: FileSystemEntry = item.webkitGetAsEntry()\n\n\t\t\t\tif (entry == null) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif (webkitIsFile(entry)) {\n\t\t\t\t\tentry.file(this.addFile as any, console.error)\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif (webkitIsDir(entry)) {\n\t\t\t\t\tthis.addFilesFromDirectory(entry, entry.name)\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\taddFilesFromDirectory(directory: WebKitDirectoryEntry, path): void {\n\t\tdirectory.createReader().readEntries(\n\t\t\t((entries: FileSystemEntry[]) => {\n\t\t\t\tfor (const entry of entries) {\n\t\t\t\t\tif (entry == null) {\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t\tif (webkitIsDir(entry)) {\n\t\t\t\t\t\tthis.addFilesFromDirectory(entry, `${path}/${entry.name}`)\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t\tif (webkitIsFile(entry)) {\n\t\t\t\t\t\tentry.file(\n\t\t\t\t\t\t\t((file: File) => {\n\t\t\t\t\t\t\t\tif (this.ignoreHiddenFiles && /^\\./.test(file.name)) {\n\t\t\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t;(file as any).fullPath = `${path}/${file.name}`\n\t\t\t\t\t\t\t\tthis.addFile(file)\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tconsole.error\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}),\n\t\t\tconsole.error\n\t\t)\n\t}\n\n\tmounted() {\n\t\tthis.$on(\"upload-progress\", this.updateTotalUploadProgress)\n\t\tthis.$on(\"removed-file\", this.updateTotalUploadProgress)\n\t\tthis.$on(\"canceled\", file => this.$emit(\"complete\", file))\n\t\tthis.$on(\"complete\", file => {\n\t\t\tif (this.addedFiles.length === 0 && this.uploadingFiles.length === 0 && this.queuedFiles.length === 0) {\n\t\t\t\tsetTimeout(() => this.$emit(\"queue-complete\", file), 0)\n\t\t\t}\n\t\t})\n\n\t\tthis.$emit(\"initialize\", this)\n\t}\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/vue-loader/lib/selector.js?type=script&index=0!./src/components/VueTransmit.vue","import VTransmitFile from \"../classes/VTransmitFile\"\n\nexport const assign = Object.assign\nexport const defineProperty = Object.defineProperty\n\nlet idCounter = 0\nexport function uniqueId(prefix: string): string {\n\tvar id = ++idCounter\n\treturn prefix + id\n}\n\nexport function copyOwnAndInheritedProps(obj: object): object {\n\tlet newData = {}\n\tfor (let prop in obj) {\n\t\tif (typeof obj[prop] !== \"function\") {\n\t\t\tnewData[prop] = obj[prop]\n\t\t}\n\t}\n\treturn newData\n}\n\nexport type Rounding = \"round\" | \"ceil\" | \"floor\" | \"trunc\"\n\nexport function round(number: number, decimals: number = 2, roundStyle: Rounding = \"round\") {\n\tconst roundingFactor = Math.pow(10, decimals)\n\treturn Math[roundStyle](number * roundingFactor) / roundingFactor\n}\n\nexport function fromBytesToKbit(bytes: number): number {\n\treturn bytes / 125\n}\n\nexport function fromBytesToMbit(bytes: number): number {\n\treturn bytes / 125000\n}\n\nexport function toKbps(bytes: number, seconds: number): number {\n\treturn fromBytesToKbit(bytes) / seconds\n}\n\nexport function toMbps(bytes: number, seconds: number): number {\n\treturn fromBytesToMbit(bytes) / seconds\n}\n\nexport const hbsRegex = /{{\\s*?([a-zA-Z]+)\\s*?}}/g\nexport function hbsReplacer(context: object = {}) {\n\treturn function hbsReplacerFn(match: string, capture: string) {\n\t\treturn context[capture] !== undefined ? context[capture] : match\n\t}\n}\n\nexport function objFactory() {\n\treturn {}\n}\n\nexport function scaleH(ratio: number, width: number): number {\n\treturn width / ratio\n}\n\nexport function scaleW(ratio: number, height: number): number {\n\treturn height * ratio\n}\n\nexport function scaleDims(ratio: number, width?: number, height?: number): number[] {\n\treturn typeof width === \"number\" ? [width, scaleH(ratio, width)] : [scaleW(ratio, height), height]\n}\n\nexport interface IDrawImageArgs {\n\tsx: number\n\tsy: number\n\tsWidth: number\n\tsHeight: number\n\tdx: number\n\tdy: number\n\tdWidth: number\n\tdHeight: number\n}\n\nexport interface IDimensions {\n\twidth: number\n\theight: number\n}\n\nexport function resizeImg(file: VTransmitFile, dims: IDimensions): IDrawImageArgs {\n\t// Extract the object's primitive values so we don't mutate the input\n\tconst sRatio = file.width / file.height\n\tconst dRatio = dims.width / dims.height\n\tconst imgCoords = {\n\t\tsx: 0,\n\t\tsy: 0,\n\t\tsWidth: file.width,\n\t\tsHeight: file.height,\n\t\tdx: 0,\n\t\tdy: 0,\n\t\tdWidth: dims.width,\n\t\tdHeight: dims.height,\n\t}\n\n\tlet w, h\n\tif (dRatio > sRatio) {\n\t\t;[w, h] = scaleDims(dRatio, file.width)\n\t} else {\n\t\t;[w, h] = scaleDims(dRatio, undefined, file.height)\n\t}\n\n\tif (w < file.width) {\n\t\timgCoords.sx = (file.width - w) / 2\n\t\timgCoords.sWidth = w\n\t}\n\tif (h < file.height) {\n\t\timgCoords.sy = (file.height - h) / 2\n\t\timgCoords.sHeight = h\n\t}\n\n\treturn imgCoords\n}\n\nexport function webkitIsFile(entry: WebKitFileEntry | WebKitDirectoryEntry): entry is WebKitFileEntry {\n\treturn entry.isFile\n}\n\nexport function webkitIsDir(entry: WebKitFileEntry | WebKitDirectoryEntry): entry is WebKitDirectoryEntry {\n\treturn entry.isDirectory\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/core/utils.ts","import { VueTransmit } from \"./src\"\n\nexport default {\n\tinstall(Vue, _options) {\n\t\tVue.component(\"VueTransmit\", VueTransmit)\n\t},\n\tname: \"vue-transmit\",\n}\n\n\n\n// WEBPACK FOOTER //\n// ./index.ts","import VueTransmit from \"./components/VueTransmit.vue\"\n\nexport { VueTransmit }\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.ts","function injectStyle (ssrContext) {\n require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-25b0f28c\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader!postcss-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./VueTransmit.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!vue-ts-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./VueTransmit.vue\"\nimport __vue_script__ from \"!!babel-loader!vue-ts-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./VueTransmit.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-25b0f28c\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./VueTransmit.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/VueTransmit.vue\n// module id = 5\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/extract-text-webpack-plugin/dist/loader.js?{\"omit\":1,\"remove\":true}!./node_modules/vue-style-loader!./node_modules/css-loader!./node_modules/vue-loader/lib/style-compiler?{\"vue\":true,\"id\":\"data-v-25b0f28c\",\"scoped\":false,\"hasInlineConfig\":false}!./node_modules/sass-loader/lib/loader.js!./node_modules/postcss-loader/lib?{\"sourceMap\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./src/components/VueTransmit.vue\n// module id = 6\n// module chunks = 0","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file.\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nmodule.exports = function normalizeComponent (\n rawScriptExports,\n compiledTemplate,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */\n) {\n var esModule\n var scriptExports = rawScriptExports = rawScriptExports || {}\n\n // ES6 modules interop\n var type = typeof rawScriptExports.default\n if (type === 'object' || type === 'function') {\n esModule = rawScriptExports\n scriptExports = rawScriptExports.default\n }\n\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (compiledTemplate) {\n options.render = compiledTemplate.render\n options.staticRenderFns = compiledTemplate.staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = injectStyles\n }\n\n if (hook) {\n var functional = options.functional\n var existing = functional\n ? options.render\n : options.beforeCreate\n\n if (!functional) {\n // inject component registration as beforeCreate hook\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n } else {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return existing(h, context)\n }\n }\n }\n\n return {\n esModule: esModule,\n exports: scriptExports,\n options: options\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/component-normalizer.js\n// module id = 7\n// module chunks = 0","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('vue'), require('vue-class-component'), require('reflect-metadata')) :\n\ttypeof define === 'function' && define.amd ? define(['exports', 'vue', 'vue-class-component', 'reflect-metadata'], factory) :\n\t(factory((global.VuePropertyDecorator = {}),global.Vue,global.VueClassComponent));\n}(this, (function (exports,vue,vueClassComponent) { 'use strict';\n\nvue = vue && vue.hasOwnProperty('default') ? vue['default'] : vue;\nvar vueClassComponent__default = 'default' in vueClassComponent ? vueClassComponent['default'] : vueClassComponent;\n\n/** vue-property-decorator verson 6.0.0 MIT LICENSE copyright 2017 kaorun343 */\n'use strict';\n/**\n * decorator of an inject\n * @param key key\n * @return PropertyDecorator\n */\nfunction Inject(key) {\n return vueClassComponent.createDecorator(function (componentOptions, k) {\n if (typeof componentOptions.inject === 'undefined') {\n componentOptions.inject = {};\n }\n if (!Array.isArray(componentOptions.inject)) {\n componentOptions.inject[k] = key || k;\n }\n });\n}\n/**\n * decorator of a provide\n * @param key key\n * @return PropertyDecorator | void\n */\nfunction Provide(key) {\n return vueClassComponent.createDecorator(function (componentOptions, k) {\n var provide = componentOptions.provide;\n if (typeof provide !== 'function' || !provide.managed) {\n var original_1 = componentOptions.provide;\n provide = componentOptions.provide = function () {\n var rv = Object.create((typeof original_1 === 'function' ? original_1.call(this) : original_1) || null);\n for (var i in provide.managed)\n rv[provide.managed[i]] = this[i];\n return rv;\n };\n provide.managed = {};\n }\n provide.managed[k] = key || k;\n });\n}\n/**\n * decorator of model\n * @param event event name\n * @return PropertyDecorator\n */\nfunction Model(event, options) {\n if (options === void 0) { options = {}; }\n return function (target, key) {\n if (!Array.isArray(options) && typeof options.type === 'undefined') {\n options.type = Reflect.getMetadata('design:type', target, key);\n }\n vueClassComponent.createDecorator(function (componentOptions, k) {\n (componentOptions.props || (componentOptions.props = {}))[k] = options;\n componentOptions.model = { prop: k, event: event || k };\n })(target, key);\n };\n}\n/**\n * decorator of a prop\n * @param options the options for the prop\n * @return PropertyDecorator | void\n */\nfunction Prop(options) {\n if (options === void 0) { options = {}; }\n return function (target, key) {\n if (!Array.isArray(options) && typeof options.type === 'undefined') {\n options.type = Reflect.getMetadata('design:type', target, key);\n }\n vueClassComponent.createDecorator(function (componentOptions, k) {\n (componentOptions.props || (componentOptions.props = {}))[k] = options;\n })(target, key);\n };\n}\n/**\n * decorator of a watch function\n * @param path the path or the expression to observe\n * @param WatchOption\n * @return MethodDecorator\n */\nfunction Watch(path, options) {\n if (options === void 0) { options = {}; }\n var _a = options.deep, deep = _a === void 0 ? false : _a, _b = options.immediate, immediate = _b === void 0 ? false : _b;\n return vueClassComponent.createDecorator(function (componentOptions, handler) {\n if (typeof componentOptions.watch !== 'object') {\n componentOptions.watch = Object.create(null);\n }\n componentOptions.watch[path] = { handler: handler, deep: deep, immediate: immediate };\n });\n}\n// Code copied from Vue/src/shared/util.js\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = function (str) { return str.replace(hyphenateRE, '-$1').toLowerCase(); };\n/**\n * decorator of an event-emitter function\n * @param event The name of the event\n * @return MethodDecorator\n */\nfunction Emit(event) {\n return function (target, key, descriptor) {\n key = hyphenate(key);\n var original = descriptor.value;\n descriptor.value = function emitter() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (original.apply(this, args) !== false)\n this.$emit.apply(this, [event || key].concat(args));\n };\n };\n}\n\nexports.Component = vueClassComponent__default;\nexports.Vue = vue;\nexports.Inject = Inject;\nexports.Provide = Provide;\nexports.Model = Model;\nexports.Prop = Prop;\nexports.Watch = Watch;\nexports.Emit = Emit;\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-property-decorator/lib/vue-property-decorator.umd.js\n// module id = 8\n// module chunks = 0","/**\n * vue-class-component v6.1.2\n * (c) 2015-2017 Evan You\n * @license MIT\n */\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar Vue = _interopDefault(require('vue'));\n\nvar hasProto = { __proto__: [] } instanceof Array;\nfunction createDecorator(factory) {\n return function (target, key, index) {\n var Ctor = typeof target === 'function'\n ? target\n : target.constructor;\n if (!Ctor.__decorators__) {\n Ctor.__decorators__ = [];\n }\n if (typeof index !== 'number') {\n index = undefined;\n }\n Ctor.__decorators__.push(function (options) { return factory(options, key, index); });\n };\n}\nfunction isPrimitive(value) {\n var type = typeof value;\n return value == null || (type !== \"object\" && type !== \"function\");\n}\nfunction warn(message) {\n if (typeof console !== 'undefined') {\n console.warn('[vue-class-component] ' + message);\n }\n}\n\nfunction collectDataFromConstructor(vm, Component) {\n var originalInit = Component.prototype._init;\n Component.prototype._init = function () {\n var _this = this;\n var keys = Object.getOwnPropertyNames(vm);\n if (vm.$options.props) {\n for (var key in vm.$options.props) {\n if (!vm.hasOwnProperty(key)) {\n keys.push(key);\n }\n }\n }\n keys.forEach(function (key) {\n if (key.charAt(0) !== '_') {\n Object.defineProperty(_this, key, {\n get: function () { return vm[key]; },\n set: function (value) { return vm[key] = value; },\n configurable: true\n });\n }\n });\n };\n var data = new Component();\n Component.prototype._init = originalInit;\n var plainData = {};\n Object.keys(data).forEach(function (key) {\n if (data[key] !== undefined) {\n plainData[key] = data[key];\n }\n });\n if (process.env.NODE_ENV !== 'production') {\n if (!(Component.prototype instanceof Vue) && Object.keys(plainData).length > 0) {\n warn('Component class must inherit Vue or its descendant class ' +\n 'when class property is used.');\n }\n }\n return plainData;\n}\n\nvar $internalHooks = [\n 'data',\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeDestroy',\n 'destroyed',\n 'beforeUpdate',\n 'updated',\n 'activated',\n 'deactivated',\n 'render',\n 'errorCaptured'\n];\nfunction componentFactory(Component, options) {\n if (options === void 0) { options = {}; }\n options.name = options.name || Component._componentTag || Component.name;\n var proto = Component.prototype;\n Object.getOwnPropertyNames(proto).forEach(function (key) {\n if (key === 'constructor') {\n return;\n }\n if ($internalHooks.indexOf(key) > -1) {\n options[key] = proto[key];\n return;\n }\n var descriptor = Object.getOwnPropertyDescriptor(proto, key);\n if (typeof descriptor.value === 'function') {\n (options.methods || (options.methods = {}))[key] = descriptor.value;\n }\n else if (descriptor.get || descriptor.set) {\n (options.computed || (options.computed = {}))[key] = {\n get: descriptor.get,\n set: descriptor.set\n };\n }\n });\n (options.mixins || (options.mixins = [])).push({\n data: function () {\n return collectDataFromConstructor(this, Component);\n }\n });\n var decorators = Component.__decorators__;\n if (decorators) {\n decorators.forEach(function (fn) { return fn(options); });\n delete Component.__decorators__;\n }\n var superProto = Object.getPrototypeOf(Component.prototype);\n var Super = superProto instanceof Vue\n ? superProto.constructor\n : Vue;\n var Extended = Super.extend(options);\n forwardStaticMembers(Extended, Component, Super);\n return Extended;\n}\nvar reservedPropertyNames = [\n 'cid',\n 'super',\n 'options',\n 'superOptions',\n 'extendOptions',\n 'sealedOptions',\n 'component',\n 'directive',\n 'filter'\n];\nfunction forwardStaticMembers(Extended, Original, Super) {\n Object.getOwnPropertyNames(Original).forEach(function (key) {\n if (key === 'prototype') {\n return;\n }\n var extendedDescriptor = Object.getOwnPropertyDescriptor(Extended, key);\n if (extendedDescriptor && !extendedDescriptor.configurable) {\n return;\n }\n var descriptor = Object.getOwnPropertyDescriptor(Original, key);\n if (!hasProto) {\n if (key === 'cid') {\n return;\n }\n var superDescriptor = Object.getOwnPropertyDescriptor(Super, key);\n if (!isPrimitive(descriptor.value)\n && superDescriptor\n && superDescriptor.value === descriptor.value) {\n return;\n }\n }\n if (process.env.NODE_ENV !== 'production'\n && reservedPropertyNames.indexOf(key) >= 0) {\n warn(\"Static property name '\" + key + \"' declared on class '\" + Original.name + \"' \" +\n 'conflicts with reserved property name of Vue internal. ' +\n 'It may cause unexpected behavior of the component. Consider renaming the property.');\n }\n Object.defineProperty(Extended, key, descriptor);\n });\n}\n\nfunction Component(options) {\n if (typeof options === 'function') {\n return componentFactory(options);\n }\n return function (Component) {\n return componentFactory(Component, options);\n };\n}\n(function (Component) {\n function registerHooks(keys) {\n $internalHooks.push.apply($internalHooks, keys);\n }\n Component.registerHooks = registerHooks;\n})(Component || (Component = {}));\nvar Component$1 = Component;\n\nexports['default'] = Component$1;\nexports.createDecorator = createDecorator;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-class-component/dist/vue-class-component.common.js\n// module id = 9\n// module chunks = 0","/*! *****************************************************************************\r\nCopyright (C) Microsoft. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\nvar Reflect;\r\n(function (Reflect) {\r\n \"use strict\";\r\n var hasOwn = Object.prototype.hasOwnProperty;\r\n // feature test for Symbol support\r\n var supportsSymbol = typeof Symbol === \"function\";\r\n var toPrimitiveSymbol = supportsSymbol && typeof Symbol.toPrimitive !== \"undefined\" ? Symbol.toPrimitive : \"@@toPrimitive\";\r\n var iteratorSymbol = supportsSymbol && typeof Symbol.iterator !== \"undefined\" ? Symbol.iterator : \"@@iterator\";\r\n var HashMap;\r\n (function (HashMap) {\r\n var supportsCreate = typeof Object.create === \"function\"; // feature test for Object.create support\r\n var supportsProto = { __proto__: [] } instanceof Array; // feature test for __proto__ support\r\n var downLevel = !supportsCreate && !supportsProto;\r\n // create an object in dictionary mode (a.k.a. \"slow\" mode in v8)\r\n HashMap.create = supportsCreate\r\n ? function () { return MakeDictionary(Object.create(null)); }\r\n : supportsProto\r\n ? function () { return MakeDictionary({ __proto__: null }); }\r\n : function () { return MakeDictionary({}); };\r\n HashMap.has = downLevel\r\n ? function (map, key) { return hasOwn.call(map, key); }\r\n : function (map, key) { return key in map; };\r\n HashMap.get = downLevel\r\n ? function (map, key) { return hasOwn.call(map, key) ? map[key] : undefined; }\r\n : function (map, key) { return map[key]; };\r\n })(HashMap || (HashMap = {}));\r\n // Load global or shim versions of Map, Set, and WeakMap\r\n var functionPrototype = Object.getPrototypeOf(Function);\r\n var usePolyfill = typeof process === \"object\" && process.env && process.env[\"REFLECT_METADATA_USE_MAP_POLYFILL\"] === \"true\";\r\n var _Map = !usePolyfill && typeof Map === \"function\" && typeof Map.prototype.entries === \"function\" ? Map : CreateMapPolyfill();\r\n var _Set = !usePolyfill && typeof Set === \"function\" && typeof Set.prototype.entries === \"function\" ? Set : CreateSetPolyfill();\r\n var _WeakMap = !usePolyfill && typeof WeakMap === \"function\" ? WeakMap : CreateWeakMapPolyfill();\r\n // [[Metadata]] internal slot\r\n // https://rbuckton.github.io/reflect-metadata/#ordinary-object-internal-methods-and-internal-slots\r\n var Metadata = new _WeakMap();\r\n /**\r\n * Applies a set of decorators to a property of a target object.\r\n * @param decorators An array of decorators.\r\n * @param target The target object.\r\n * @param propertyKey (Optional) The property key to decorate.\r\n * @param attributes (Optional) The property descriptor for the target key.\r\n * @remarks Decorators are applied in reverse order.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * Example = Reflect.decorate(decoratorsArray, Example);\r\n *\r\n * // property (on constructor)\r\n * Reflect.decorate(decoratorsArray, Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * Reflect.decorate(decoratorsArray, Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * Object.defineProperty(Example, \"staticMethod\",\r\n * Reflect.decorate(decoratorsArray, Example, \"staticMethod\",\r\n * Object.getOwnPropertyDescriptor(Example, \"staticMethod\")));\r\n *\r\n * // method (on prototype)\r\n * Object.defineProperty(Example.prototype, \"method\",\r\n * Reflect.decorate(decoratorsArray, Example.prototype, \"method\",\r\n * Object.getOwnPropertyDescriptor(Example.prototype, \"method\")));\r\n *\r\n */\r\n function decorate(decorators, target, propertyKey, attributes) {\r\n if (!IsUndefined(propertyKey)) {\r\n if (!IsArray(decorators))\r\n throw new TypeError();\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsObject(attributes) && !IsUndefined(attributes) && !IsNull(attributes))\r\n throw new TypeError();\r\n if (IsNull(attributes))\r\n attributes = undefined;\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return DecorateProperty(decorators, target, propertyKey, attributes);\r\n }\r\n else {\r\n if (!IsArray(decorators))\r\n throw new TypeError();\r\n if (!IsConstructor(target))\r\n throw new TypeError();\r\n return DecorateConstructor(decorators, target);\r\n }\r\n }\r\n Reflect.decorate = decorate;\r\n // 4.1.2 Reflect.metadata(metadataKey, metadataValue)\r\n // https://rbuckton.github.io/reflect-metadata/#reflect.metadata\r\n /**\r\n * A default metadata decorator factory that can be used on a class, class member, or parameter.\r\n * @param metadataKey The key for the metadata entry.\r\n * @param metadataValue The value for the metadata entry.\r\n * @returns A decorator function.\r\n * @remarks\r\n * If `metadataKey` is already defined for the target and target key, the\r\n * metadataValue for that key will be overwritten.\r\n * @example\r\n *\r\n * // constructor\r\n * @Reflect.metadata(key, value)\r\n * class Example {\r\n * }\r\n *\r\n * // property (on constructor, TypeScript only)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * static staticProperty;\r\n * }\r\n *\r\n * // property (on prototype, TypeScript only)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * property;\r\n * }\r\n *\r\n * // method (on constructor)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * static staticMethod() { }\r\n * }\r\n *\r\n * // method (on prototype)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * method() { }\r\n * }\r\n *\r\n */\r\n function metadata(metadataKey, metadataValue) {\r\n function decorator(target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey) && !IsPropertyKey(propertyKey))\r\n throw new TypeError();\r\n OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey);\r\n }\r\n return decorator;\r\n }\r\n Reflect.metadata = metadata;\r\n /**\r\n * Define a unique metadata entry on the target.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param metadataValue A value that contains attached metadata.\r\n * @param target The target object on which to define metadata.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example);\r\n *\r\n * // property (on constructor)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example.prototype, \"method\");\r\n *\r\n * // decorator factory as metadata-producing annotation.\r\n * function MyAnnotation(options): Decorator {\r\n * return (target, key?) => Reflect.defineMetadata(\"custom:annotation\", options, target, key);\r\n * }\r\n *\r\n */\r\n function defineMetadata(metadataKey, metadataValue, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey);\r\n }\r\n Reflect.defineMetadata = defineMetadata;\r\n /**\r\n * Gets a value indicating whether the target object or its prototype chain has the provided metadata key defined.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns `true` if the metadata key was defined on the target object or its prototype chain; otherwise, `false`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function hasMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryHasMetadata(metadataKey, target, propertyKey);\r\n }\r\n Reflect.hasMetadata = hasMetadata;\r\n /**\r\n * Gets a value indicating whether the target object has the provided metadata key defined.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns `true` if the metadata key was defined on the target object; otherwise, `false`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function hasOwnMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryHasOwnMetadata(metadataKey, target, propertyKey);\r\n }\r\n Reflect.hasOwnMetadata = hasOwnMetadata;\r\n /**\r\n * Gets the metadata value for the provided metadata key on the target object or its prototype chain.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns The metadata value for the metadata key if found; otherwise, `undefined`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function getMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryGetMetadata(metadataKey, target, propertyKey);\r\n }\r\n Reflect.getMetadata = getMetadata;\r\n /**\r\n * Gets the metadata value for the provided metadata key on the target object.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns The metadata value for the metadata key if found; otherwise, `undefined`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function getOwnMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryGetOwnMetadata(metadataKey, target, propertyKey);\r\n }\r\n Reflect.getOwnMetadata = getOwnMetadata;\r\n /**\r\n * Gets the metadata keys defined on the target object or its prototype chain.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns An array of unique metadata keys.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getMetadataKeys(Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getMetadataKeys(Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getMetadataKeys(Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getMetadataKeys(Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getMetadataKeys(Example.prototype, \"method\");\r\n *\r\n */\r\n function getMetadataKeys(target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryMetadataKeys(target, propertyKey);\r\n }\r\n Reflect.getMetadataKeys = getMetadataKeys;\r\n /**\r\n * Gets the unique metadata keys defined on the target object.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns An array of unique metadata keys.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getOwnMetadataKeys(Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getOwnMetadataKeys(Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getOwnMetadataKeys(Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getOwnMetadataKeys(Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getOwnMetadataKeys(Example.prototype, \"method\");\r\n *\r\n */\r\n function getOwnMetadataKeys(target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryOwnMetadataKeys(target, propertyKey);\r\n }\r\n Reflect.getOwnMetadataKeys = getOwnMetadataKeys;\r\n /**\r\n * Deletes the metadata entry from the target object with the provided key.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns `true` if the metadata entry was found and deleted; otherwise, false.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function deleteMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n var metadataMap = GetOrCreateMetadataMap(target, propertyKey, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return false;\r\n if (!metadataMap.delete(metadataKey))\r\n return false;\r\n if (metadataMap.size > 0)\r\n return true;\r\n var targetMetadata = Metadata.get(target);\r\n targetMetadata.delete(propertyKey);\r\n if (targetMetadata.size > 0)\r\n return true;\r\n Metadata.delete(target);\r\n return true;\r\n }\r\n Reflect.deleteMetadata = deleteMetadata;\r\n function DecorateConstructor(decorators, target) {\r\n for (var i = decorators.length - 1; i >= 0; --i) {\r\n var decorator = decorators[i];\r\n var decorated = decorator(target);\r\n if (!IsUndefined(decorated) && !IsNull(decorated)) {\r\n if (!IsConstructor(decorated))\r\n throw new TypeError();\r\n target = decorated;\r\n }\r\n }\r\n return target;\r\n }\r\n function DecorateProperty(decorators, target, propertyKey, descriptor) {\r\n for (var i = decorators.length - 1; i >= 0; --i) {\r\n var decorator = decorators[i];\r\n var decorated = decorator(target, propertyKey, descriptor);\r\n if (!IsUndefined(decorated) && !IsNull(decorated)) {\r\n if (!IsObject(decorated))\r\n throw new TypeError();\r\n descriptor = decorated;\r\n }\r\n }\r\n return descriptor;\r\n }\r\n function GetOrCreateMetadataMap(O, P, Create) {\r\n var targetMetadata = Metadata.get(O);\r\n if (IsUndefined(targetMetadata)) {\r\n if (!Create)\r\n return undefined;\r\n targetMetadata = new _Map();\r\n Metadata.set(O, targetMetadata);\r\n }\r\n var metadataMap = targetMetadata.get(P);\r\n if (IsUndefined(metadataMap)) {\r\n if (!Create)\r\n return undefined;\r\n metadataMap = new _Map();\r\n targetMetadata.set(P, metadataMap);\r\n }\r\n return metadataMap;\r\n }\r\n // 3.1.1.1 OrdinaryHasMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinaryhasmetadata\r\n function OrdinaryHasMetadata(MetadataKey, O, P) {\r\n var hasOwn = OrdinaryHasOwnMetadata(MetadataKey, O, P);\r\n if (hasOwn)\r\n return true;\r\n var parent = OrdinaryGetPrototypeOf(O);\r\n if (!IsNull(parent))\r\n return OrdinaryHasMetadata(MetadataKey, parent, P);\r\n return false;\r\n }\r\n // 3.1.2.1 OrdinaryHasOwnMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinaryhasownmetadata\r\n function OrdinaryHasOwnMetadata(MetadataKey, O, P) {\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return false;\r\n return ToBoolean(metadataMap.has(MetadataKey));\r\n }\r\n // 3.1.3.1 OrdinaryGetMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarygetmetadata\r\n function OrdinaryGetMetadata(MetadataKey, O, P) {\r\n var hasOwn = OrdinaryHasOwnMetadata(MetadataKey, O, P);\r\n if (hasOwn)\r\n return OrdinaryGetOwnMetadata(MetadataKey, O, P);\r\n var parent = OrdinaryGetPrototypeOf(O);\r\n if (!IsNull(parent))\r\n return OrdinaryGetMetadata(MetadataKey, parent, P);\r\n return undefined;\r\n }\r\n // 3.1.4.1 OrdinaryGetOwnMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarygetownmetadata\r\n function OrdinaryGetOwnMetadata(MetadataKey, O, P) {\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return undefined;\r\n return metadataMap.get(MetadataKey);\r\n }\r\n // 3.1.5.1 OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarydefineownmetadata\r\n function OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P) {\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ true);\r\n metadataMap.set(MetadataKey, MetadataValue);\r\n }\r\n // 3.1.6.1 OrdinaryMetadataKeys(O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarymetadatakeys\r\n function OrdinaryMetadataKeys(O, P) {\r\n var ownKeys = OrdinaryOwnMetadataKeys(O, P);\r\n var parent = OrdinaryGetPrototypeOf(O);\r\n if (parent === null)\r\n return ownKeys;\r\n var parentKeys = OrdinaryMetadataKeys(parent, P);\r\n if (parentKeys.length <= 0)\r\n return ownKeys;\r\n if (ownKeys.length <= 0)\r\n return parentKeys;\r\n var set = new _Set();\r\n var keys = [];\r\n for (var _i = 0, ownKeys_1 = ownKeys; _i < ownKeys_1.length; _i++) {\r\n var key = ownKeys_1[_i];\r\n var hasKey = set.has(key);\r\n if (!hasKey) {\r\n set.add(key);\r\n keys.push(key);\r\n }\r\n }\r\n for (var _a = 0, parentKeys_1 = parentKeys; _a < parentKeys_1.length; _a++) {\r\n var key = parentKeys_1[_a];\r\n var hasKey = set.has(key);\r\n if (!hasKey) {\r\n set.add(key);\r\n keys.push(key);\r\n }\r\n }\r\n return keys;\r\n }\r\n // 3.1.7.1 OrdinaryOwnMetadataKeys(O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinaryownmetadatakeys\r\n function OrdinaryOwnMetadataKeys(O, P) {\r\n var keys = [];\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return keys;\r\n var keysObj = metadataMap.keys();\r\n var iterator = GetIterator(keysObj);\r\n var k = 0;\r\n while (true) {\r\n var next = IteratorStep(iterator);\r\n if (!next) {\r\n keys.length = k;\r\n return keys;\r\n }\r\n var nextValue = IteratorValue(next);\r\n try {\r\n keys[k] = nextValue;\r\n }\r\n catch (e) {\r\n try {\r\n IteratorClose(iterator);\r\n }\r\n finally {\r\n throw e;\r\n }\r\n }\r\n k++;\r\n }\r\n }\r\n // 6 ECMAScript Data Typ0es and Values\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-data-types-and-values\r\n function Type(x) {\r\n if (x === null)\r\n return 1 /* Null */;\r\n switch (typeof x) {\r\n case \"undefined\": return 0 /* Undefined */;\r\n case \"boolean\": return 2 /* Boolean */;\r\n case \"string\": return 3 /* String */;\r\n case \"symbol\": return 4 /* Symbol */;\r\n case \"number\": return 5 /* Number */;\r\n case \"object\": return x === null ? 1 /* Null */ : 6 /* Object */;\r\n default: return 6 /* Object */;\r\n }\r\n }\r\n // 6.1.1 The Undefined Type\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-undefined-type\r\n function IsUndefined(x) {\r\n return x === undefined;\r\n }\r\n // 6.1.2 The Null Type\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-null-type\r\n function IsNull(x) {\r\n return x === null;\r\n }\r\n // 6.1.5 The Symbol Type\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-symbol-type\r\n function IsSymbol(x) {\r\n return typeof x === \"symbol\";\r\n }\r\n // 6.1.7 The Object Type\r\n // https://tc39.github.io/ecma262/#sec-object-type\r\n function IsObject(x) {\r\n return typeof x === \"object\" ? x !== null : typeof x === \"function\";\r\n }\r\n // 7.1 Type Conversion\r\n // https://tc39.github.io/ecma262/#sec-type-conversion\r\n // 7.1.1 ToPrimitive(input [, PreferredType])\r\n // https://tc39.github.io/ecma262/#sec-toprimitive\r\n function ToPrimitive(input, PreferredType) {\r\n switch (Type(input)) {\r\n case 0 /* Undefined */: return input;\r\n case 1 /* Null */: return input;\r\n case 2 /* Boolean */: return input;\r\n case 3 /* String */: return input;\r\n case 4 /* Symbol */: return input;\r\n case 5 /* Number */: return input;\r\n }\r\n var hint = PreferredType === 3 /* String */ ? \"string\" : PreferredType === 5 /* Number */ ? \"number\" : \"default\";\r\n var exoticToPrim = GetMethod(input, toPrimitiveSymbol);\r\n if (exoticToPrim !== undefined) {\r\n var result = exoticToPrim.call(input, hint);\r\n if (IsObject(result))\r\n throw new TypeError();\r\n return result;\r\n }\r\n return OrdinaryToPrimitive(input, hint === \"default\" ? \"number\" : hint);\r\n }\r\n // 7.1.1.1 OrdinaryToPrimitive(O, hint)\r\n // https://tc39.github.io/ecma262/#sec-ordinarytoprimitive\r\n function OrdinaryToPrimitive(O, hint) {\r\n if (hint === \"string\") {\r\n var toString_1 = O.toString;\r\n if (IsCallable(toString_1)) {\r\n var result = toString_1.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n var valueOf = O.valueOf;\r\n if (IsCallable(valueOf)) {\r\n var result = valueOf.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n }\r\n else {\r\n var valueOf = O.valueOf;\r\n if (IsCallable(valueOf)) {\r\n var result = valueOf.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n var toString_2 = O.toString;\r\n if (IsCallable(toString_2)) {\r\n var result = toString_2.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n }\r\n throw new TypeError();\r\n }\r\n // 7.1.2 ToBoolean(argument)\r\n // https://tc39.github.io/ecma262/2016/#sec-toboolean\r\n function ToBoolean(argument) {\r\n return !!argument;\r\n }\r\n // 7.1.12 ToString(argument)\r\n // https://tc39.github.io/ecma262/#sec-tostring\r\n function ToString(argument) {\r\n return \"\" + argument;\r\n }\r\n // 7.1.14 ToPropertyKey(argument)\r\n // https://tc39.github.io/ecma262/#sec-topropertykey\r\n function ToPropertyKey(argument) {\r\n var key = ToPrimitive(argument, 3 /* String */);\r\n if (IsSymbol(key))\r\n return key;\r\n return ToString(key);\r\n }\r\n // 7.2 Testing and Comparison Operations\r\n // https://tc39.github.io/ecma262/#sec-testing-and-comparison-operations\r\n // 7.2.2 IsArray(argument)\r\n // https://tc39.github.io/ecma262/#sec-isarray\r\n function IsArray(argument) {\r\n return Array.isArray\r\n ? Array.isArray(argument)\r\n : argument instanceof Object\r\n ? argument instanceof Array\r\n : Object.prototype.toString.call(argument) === \"[object Array]\";\r\n }\r\n // 7.2.3 IsCallable(argument)\r\n // https://tc39.github.io/ecma262/#sec-iscallable\r\n function IsCallable(argument) {\r\n // NOTE: This is an approximation as we cannot check for [[Call]] internal method.\r\n return typeof argument === \"function\";\r\n }\r\n // 7.2.4 IsConstructor(argument)\r\n // https://tc39.github.io/ecma262/#sec-isconstructor\r\n function IsConstructor(argument) {\r\n // NOTE: This is an approximation as we cannot check for [[Construct]] internal method.\r\n return typeof argument === \"function\";\r\n }\r\n // 7.2.7 IsPropertyKey(argument)\r\n // https://tc39.github.io/ecma262/#sec-ispropertykey\r\n function IsPropertyKey(argument) {\r\n switch (Type(argument)) {\r\n case 3 /* String */: return true;\r\n case 4 /* Symbol */: return true;\r\n default: return false;\r\n }\r\n }\r\n // 7.3 Operations on Objects\r\n // https://tc39.github.io/ecma262/#sec-operations-on-objects\r\n // 7.3.9 GetMethod(V, P)\r\n // https://tc39.github.io/ecma262/#sec-getmethod\r\n function GetMethod(V, P) {\r\n var func = V[P];\r\n if (func === undefined || func === null)\r\n return undefined;\r\n if (!IsCallable(func))\r\n throw new TypeError();\r\n return func;\r\n }\r\n // 7.4 Operations on Iterator Objects\r\n // https://tc39.github.io/ecma262/#sec-operations-on-iterator-objects\r\n function GetIterator(obj) {\r\n var method = GetMethod(obj, iteratorSymbol);\r\n if (!IsCallable(method))\r\n throw new TypeError(); // from Call\r\n var iterator = method.call(obj);\r\n if (!IsObject(iterator))\r\n throw new TypeError();\r\n return iterator;\r\n }\r\n // 7.4.4 IteratorValue(iterResult)\r\n // https://tc39.github.io/ecma262/2016/#sec-iteratorvalue\r\n function IteratorValue(iterResult) {\r\n return iterResult.value;\r\n }\r\n // 7.4.5 IteratorStep(iterator)\r\n // https://tc39.github.io/ecma262/#sec-iteratorstep\r\n function IteratorStep(iterator) {\r\n var result = iterator.next();\r\n return result.done ? false : result;\r\n }\r\n // 7.4.6 IteratorClose(iterator, completion)\r\n // https://tc39.github.io/ecma262/#sec-iteratorclose\r\n function IteratorClose(iterator) {\r\n var f = iterator[\"return\"];\r\n if (f)\r\n f.call(iterator);\r\n }\r\n // 9.1 Ordinary Object Internal Methods and Internal Slots\r\n // https://tc39.github.io/ecma262/#sec-ordinary-object-internal-methods-and-internal-slots\r\n // 9.1.1.1 OrdinaryGetPrototypeOf(O)\r\n // https://tc39.github.io/ecma262/#sec-ordinarygetprototypeof\r\n function OrdinaryGetPrototypeOf(O) {\r\n var proto = Object.getPrototypeOf(O);\r\n if (typeof O !== \"function\" || O === functionPrototype)\r\n return proto;\r\n // TypeScript doesn't set __proto__ in ES5, as it's non-standard.\r\n // Try to determine the superclass constructor. Compatible implementations\r\n // must either set __proto__ on a subclass constructor to the superclass constructor,\r\n // or ensure each class has a valid `constructor` property on its prototype that\r\n // points back to the constructor.\r\n // If this is not the same as Function.[[Prototype]], then this is definately inherited.\r\n // This is the case when in ES6 or when using __proto__ in a compatible browser.\r\n if (proto !== functionPrototype)\r\n return proto;\r\n // If the super prototype is Object.prototype, null, or undefined, then we cannot determine the heritage.\r\n var prototype = O.prototype;\r\n var prototypeProto = prototype && Object.getPrototypeOf(prototype);\r\n if (prototypeProto == null || prototypeProto === Object.prototype)\r\n return proto;\r\n // If the constructor was not a function, then we cannot determine the heritage.\r\n var constructor = prototypeProto.constructor;\r\n if (typeof constructor !== \"function\")\r\n return proto;\r\n // If we have some kind of self-reference, then we cannot determine the heritage.\r\n if (constructor === O)\r\n return proto;\r\n // we have a pretty good guess at the heritage.\r\n return constructor;\r\n }\r\n // naive Map shim\r\n function CreateMapPolyfill() {\r\n var cacheSentinel = {};\r\n var arraySentinel = [];\r\n var MapIterator = (function () {\r\n function MapIterator(keys, values, selector) {\r\n this._index = 0;\r\n this._keys = keys;\r\n this._values = values;\r\n this._selector = selector;\r\n }\r\n MapIterator.prototype[\"@@iterator\"] = function () { return this; };\r\n MapIterator.prototype[iteratorSymbol] = function () { return this; };\r\n MapIterator.prototype.next = function () {\r\n var index = this._index;\r\n if (index >= 0 && index < this._keys.length) {\r\n var result = this._selector(this._keys[index], this._values[index]);\r\n if (index + 1 >= this._keys.length) {\r\n this._index = -1;\r\n this._keys = arraySentinel;\r\n this._values = arraySentinel;\r\n }\r\n else {\r\n this._index++;\r\n }\r\n return { value: result, done: false };\r\n }\r\n return { value: undefined, done: true };\r\n };\r\n MapIterator.prototype.throw = function (error) {\r\n if (this._index >= 0) {\r\n this._index = -1;\r\n this._keys = arraySentinel;\r\n this._values = arraySentinel;\r\n }\r\n throw error;\r\n };\r\n MapIterator.prototype.return = function (value) {\r\n if (this._index >= 0) {\r\n this._index = -1;\r\n this._keys = arraySentinel;\r\n this._values = arraySentinel;\r\n }\r\n return { value: value, done: true };\r\n };\r\n return MapIterator;\r\n }());\r\n return (function () {\r\n function Map() {\r\n this._keys = [];\r\n this._values = [];\r\n this._cacheKey = cacheSentinel;\r\n this._cacheIndex = -2;\r\n }\r\n Object.defineProperty(Map.prototype, \"size\", {\r\n get: function () { return this._keys.length; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Map.prototype.has = function (key) { return this._find(key, /*insert*/ false) >= 0; };\r\n Map.prototype.get = function (key) {\r\n var index = this._find(key, /*insert*/ false);\r\n return index >= 0 ? this._values[index] : undefined;\r\n };\r\n Map.prototype.set = function (key, value) {\r\n var index = this._find(key, /*insert*/ true);\r\n this._values[index] = value;\r\n return this;\r\n };\r\n Map.prototype.delete = function (key) {\r\n var index = this._find(key, /*insert*/ false);\r\n if (index >= 0) {\r\n var size = this._keys.length;\r\n for (var i = index + 1; i < size; i++) {\r\n this._keys[i - 1] = this._keys[i];\r\n this._values[i - 1] = this._values[i];\r\n }\r\n this._keys.length--;\r\n this._values.length--;\r\n if (key === this._cacheKey) {\r\n this._cacheKey = cacheSentinel;\r\n this._cacheIndex = -2;\r\n }\r\n return true;\r\n }\r\n return false;\r\n };\r\n Map.prototype.clear = function () {\r\n this._keys.length = 0;\r\n this._values.length = 0;\r\n this._cacheKey = cacheSentinel;\r\n this._cacheIndex = -2;\r\n };\r\n Map.prototype.keys = function () { return new MapIterator(this._keys, this._values, getKey); };\r\n Map.prototype.values = function () { return new MapIterator(this._keys, this._values, getValue); };\r\n Map.prototype.entries = function () { return new MapIterator(this._keys, this._values, getEntry); };\r\n Map.prototype[\"@@iterator\"] = function () { return this.entries(); };\r\n Map.prototype[iteratorSymbol] = function () { return this.entries(); };\r\n Map.prototype._find = function (key, insert) {\r\n if (this._cacheKey !== key) {\r\n this._cacheIndex = this._keys.indexOf(this._cacheKey = key);\r\n }\r\n if (this._cacheIndex < 0 && insert) {\r\n this._cacheIndex = this._keys.length;\r\n this._keys.push(key);\r\n this._values.push(undefined);\r\n }\r\n return this._cacheIndex;\r\n };\r\n return Map;\r\n }());\r\n function getKey(key, _) {\r\n return key;\r\n }\r\n function getValue(_, value) {\r\n return value;\r\n }\r\n function getEntry(key, value) {\r\n return [key, value];\r\n }\r\n }\r\n // naive Set shim\r\n function CreateSetPolyfill() {\r\n return (function () {\r\n function Set() {\r\n this._map = new _Map();\r\n }\r\n Object.defineProperty(Set.prototype, \"size\", {\r\n get: function () { return this._map.size; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Set.prototype.has = function (value) { return this._map.has(value); };\r\n Set.prototype.add = function (value) { return this._map.set(value, value), this; };\r\n Set.prototype.delete = function (value) { return this._map.delete(value); };\r\n Set.prototype.clear = function () { this._map.clear(); };\r\n Set.prototype.keys = function () { return this._map.keys(); };\r\n Set.prototype.values = function () { return this._map.values(); };\r\n Set.prototype.entries = function () { return this._map.entries(); };\r\n Set.prototype[\"@@iterator\"] = function () { return this.keys(); };\r\n Set.prototype[iteratorSymbol] = function () { return this.keys(); };\r\n return Set;\r\n }());\r\n }\r\n // naive WeakMap shim\r\n function CreateWeakMapPolyfill() {\r\n var UUID_SIZE = 16;\r\n var keys = HashMap.create();\r\n var rootKey = CreateUniqueKey();\r\n return (function () {\r\n function WeakMap() {\r\n this._key = CreateUniqueKey();\r\n }\r\n WeakMap.prototype.has = function (target) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ false);\r\n return table !== undefined ? HashMap.has(table, this._key) : false;\r\n };\r\n WeakMap.prototype.get = function (target) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ false);\r\n return table !== undefined ? HashMap.get(table, this._key) : undefined;\r\n };\r\n WeakMap.prototype.set = function (target, value) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ true);\r\n table[this._key] = value;\r\n return this;\r\n };\r\n WeakMap.prototype.delete = function (target) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ false);\r\n return table !== undefined ? delete table[this._key] : false;\r\n };\r\n WeakMap.prototype.clear = function () {\r\n // NOTE: not a real clear, just makes the previous data unreachable\r\n this._key = CreateUniqueKey();\r\n };\r\n return WeakMap;\r\n }());\r\n function CreateUniqueKey() {\r\n var key;\r\n do\r\n key = \"@@WeakMap@@\" + CreateUUID();\r\n while (HashMap.has(keys, key));\r\n keys[key] = true;\r\n return key;\r\n }\r\n function GetOrCreateWeakMapTable(target, create) {\r\n if (!hasOwn.call(target, rootKey)) {\r\n if (!create)\r\n return undefined;\r\n Object.defineProperty(target, rootKey, { value: HashMap.create() });\r\n }\r\n return target[rootKey];\r\n }\r\n function FillRandomBytes(buffer, size) {\r\n for (var i = 0; i < size; ++i)\r\n buffer[i] = Math.random() * 0xff | 0;\r\n return buffer;\r\n }\r\n function GenRandomBytes(size) {\r\n if (typeof Uint8Array === \"function\") {\r\n if (typeof crypto !== \"undefined\")\r\n return crypto.getRandomValues(new Uint8Array(size));\r\n if (typeof msCrypto !== \"undefined\")\r\n return msCrypto.getRandomValues(new Uint8Array(size));\r\n return FillRandomBytes(new Uint8Array(size), size);\r\n }\r\n return FillRandomBytes(new Array(size), size);\r\n }\r\n function CreateUUID() {\r\n var data = GenRandomBytes(UUID_SIZE);\r\n // mark as random - RFC 4122 ยง 4.4\r\n data[6] = data[6] & 0x4f | 0x40;\r\n data[8] = data[8] & 0xbf | 0x80;\r\n var result = \"\";\r\n for (var offset = 0; offset < UUID_SIZE; ++offset) {\r\n var byte = data[offset];\r\n if (offset === 4 || offset === 6 || offset === 8)\r\n result += \"-\";\r\n if (byte < 16)\r\n result += \"0\";\r\n result += byte.toString(16).toLowerCase();\r\n }\r\n return result;\r\n }\r\n }\r\n // uses a heuristic used by v8 and chakra to force an object into dictionary mode.\r\n function MakeDictionary(obj) {\r\n obj.__ = undefined;\r\n delete obj.__;\r\n return obj;\r\n }\r\n // patch global Reflect\r\n (function (__global) {\r\n if (typeof __global.Reflect !== \"undefined\") {\r\n if (__global.Reflect !== Reflect) {\r\n for (var p in Reflect) {\r\n if (hasOwn.call(Reflect, p)) {\r\n __global.Reflect[p] = Reflect[p];\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n __global.Reflect = Reflect;\r\n }\r\n })(typeof global !== \"undefined\" ? global :\r\n typeof self !== \"undefined\" ? self :\r\n Function(\"return this;\")());\r\n})(Reflect || (Reflect = {}));\r\n//# sourceMappingURL=Reflect.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/reflect-metadata/Reflect.js\n// module id = 10\n// module chunks = 0","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/node-libs-browser/node_modules/process/browser.js\n// module id = 11\n// module chunks = 0","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 12\n// module chunks = 0","/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nexport default noop;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/lodash-es/noop.js","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nexport default identity;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/lodash-es/identity.js","import { assign, defineProperty, copyOwnAndInheritedProps, uniqueId, round, toKbps, toMbps } from \"../core/utils\"\n\nexport interface IUploadStats {\n\tbytesSent: number\n\tprogress: number\n\ttotal: number\n\tspeed: ISpeedStats\n\tstart: number\n\tend: number\n\ttime: number\n}\n\nexport interface ISpeedStats {\n\tkbps: number\n\tmbps: number\n}\n\nclass VTransmitFile {\n\tprivate _nativeFile: File = null\n\tid: string = VTransmitFile.idFactory()\n\taccepted: boolean = undefined // Passed all validation.\n\tlastModified: number = undefined\n\tlastModifiedDate: Date = undefined\n\tname: string = undefined\n\tprocessing: boolean = undefined\n\tsize: number = undefined\n\tstatus: string = undefined\n\ttype: string = undefined\n\tupload: IUploadStats = {\n\t\tbytesSent: 0,\n\t\tprogress: 0,\n\t\ttotal: 0,\n\t\tspeed: {\n\t\t\tkbps: undefined,\n\t\t\tmbps: undefined,\n\t\t},\n\t\tstart: undefined,\n\t\tend: undefined,\n\t\ttime: undefined,\n\t}\n\twebkitRelativePath: USVString = undefined\n\twidth: number = undefined\n\theight: number = undefined\n\txhr: XMLHttpRequest = undefined\n\tprivate _dataUrl: string\n\terrorMessage: string = undefined\n\n\tconstructor(...data: object[]) {\n\t\tassign(this, ...data)\n\t}\n\n\tset(...data: object[]): VTransmitFile {\n\t\tassign(this, ...data)\n\t\treturn this\n\t}\n\n\tcopyNativeFile(file: File): VTransmitFile {\n\t\t// save reference for upload\n\t\tthis.nativeFile = file\n\t\t// Copy props to normal object for Vue reactivity.\n\t\t// Vue cannot define reactive properties on native file's readonly props.\n\t\treturn this.set(copyOwnAndInheritedProps(file))\n\t}\n\n\tcopyOwnAndInheritedProps(...data: object[]): VTransmitFile {\n\t\treturn this.set(...data.map(copyOwnAndInheritedProps))\n\t}\n\n\thandleProgress(e: ProgressEvent): void {\n\t\tthis.startProgress()\n\t\tconst total = e.total || this.upload.total\n\t\tthis.upload.progress = Math.min(100, 100 * e.loaded / total)\n\t\tthis.upload.bytesSent = e.loaded\n\t\tthis.upload.total = total\n\t\tthis.upload.time = (Date.now() - this.upload.start) / 1000\n\t\t// Recalc the upload speed in bytes/sec\n\t\tthis.upload.speed.kbps = round(toKbps(this.upload.bytesSent, this.upload.time))\n\t\tthis.upload.speed.mbps = round(toMbps(this.upload.bytesSent, this.upload.time))\n\t\tif (this.upload.progress === 100) {\n\t\t\tthis.endProgress()\n\t\t}\n\t}\n\n\tstartProgress(): VTransmitFile {\n\t\t// Avoid starting twice\n\t\tif (typeof this.upload.start !== \"number\") {\n\t\t\tthis.upload.start = Date.now()\n\t\t}\n\t\treturn this\n\t}\n\n\tendProgress(): VTransmitFile {\n\t\t// Avoid ending twice\n\t\tif (typeof this.upload.end !== \"number\") {\n\t\t\tthis.upload.end = Date.now()\n\t\t\tthis.upload.time = (Date.now() - this.upload.start) / 1000\n\t\t}\n\t\treturn this\n\t}\n\n\tget nativeFile() {\n\t\treturn this._nativeFile\n\t}\n\n\tset nativeFile(file: File) {\n\t\tif (!(file instanceof File)) {\n\t\t\tthrow new TypeError(`[${VTransmitFile.name}] Expected an instance of File (native).`)\n\t\t}\n\t\tthis._nativeFile = file\n\t\tthis.upload.total = file.size\n\t}\n\n\tget dataUrl() {\n\t\treturn this._dataUrl || \"\"\n\t}\n\n\tset dataUrl(value) {\n\t\tdefineProperty(this, \"_dataUrl\", {\n\t\t\tvalue,\n\t\t\tenumerable: false,\n\t\t\tconfigurable: true,\n\t\t\twritable: true,\n\t\t})\n\t}\n\n\tstatic fromNativeFile(file: File, ...data) {\n\t\tconst instance = new VTransmitFile(...data)\n\t\tinstance.copyNativeFile(file)\n\t\treturn instance\n\t}\n\n\tstatic idFactory() {\n\t\treturn uniqueId(\"v-transmit-file-\")\n\t}\n}\n\nexport default VTransmitFile\n\n\n\n// WEBPACK FOOTER //\n// ./src/classes/VTransmitFile.ts","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(_vm.tag,{tag:\"component\"},[_c('div',_vm._g(_vm._b({staticClass:\"v-transmit__upload-area\",class:[_vm.isDraggingClass, _vm.uploadAreaClasses],attrs:{\"draggable\":\"true\"},on:{\"click\":_vm.handleClickUploaderAction,\"dragstart\":_vm.handleDragStart,\"dragend\":_vm.handleDragEnd,\"dragenter\":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDragEnter($event)},\"dragover\":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDragOver($event)},\"dragleave\":_vm.handleDragLeave,\"drop\":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDrop($event)}}},'div',_vm.uploadAreaAttrs,false),_vm.uploadAreaListeners),[_vm._t(\"default\")],2),_vm._v(\" \"),_vm._t(\"files\",null,null,_vm.fileSlotBindings),_vm._v(\" \"),_c('input',{ref:\"hiddenFileInput\",class:[_vm.maxFilesReachedClass],style:(_vm.fileInputStyles),attrs:{\"type\":\"file\",\"multiple\":_vm.multiple,\"accept\":_vm.filesToAccept,\"capture\":_vm.capture},on:{\"change\":_vm.onFileInputChange}})],2)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-25b0f28c\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/VueTransmit.vue\n// module id = 16\n// module chunks = 0"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["webpack:///webpack/bootstrap 2551bc065b106ca9d7d6","webpack:///external \"Vue\"","webpack:///./src/components/VueTransmit.vue?cd95","webpack:///./src/core/utils.ts","webpack:///./index.ts","webpack:///./src/index.ts","webpack:///./src/components/VueTransmit.vue","webpack:///./src/components/VueTransmit.vue?18b8","webpack:///./node_modules/vue-loader/lib/component-normalizer.js","webpack:///./node_modules/vue-property-decorator/lib/vue-property-decorator.umd.js","webpack:///./node_modules/vue-class-component/dist/vue-class-component.common.js","webpack:///./node_modules/reflect-metadata/Reflect.js","webpack:///./node_modules/node-libs-browser/node_modules/process/browser.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/lodash-es/noop.js","webpack:///./node_modules/lodash-es/identity.js","webpack:///./src/classes/VTransmitFile.ts","webpack:///./src/components/VueTransmit.vue?d47d"],"names":[],"mappings":"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,kBAZA,KACA,YAIA,GASA,OACA,CACA,WACA,UAEA,4BCtGA,eACA,iBAGA,IAAC,uBAAkD,cAEnD,gDACA,sBAQA,aAkFA,MACA,0BAAgC,2BAAsD,aAKtF,EAgBA,cACA,QACA,SAzGA,WACA,uCACA,CACA,iCAEA,2BACA,sBAEA,KACA,EAKA,EA4FA,UA3FA,WACA,uCACA,SACA,4CACA,SACA,8BACA,4DACA,qBACA,wBACA,QACA,QACA,IACA,UACA,cACA,IACA,EAKA,EAwEA,QAvEA,aACA,YAA6B,SAC7B,mBACA,mBACA,wDAEA,mDACA,cACA,wBAAsC,cACtC,KACA,OACA,CAKA,EAwDA,OAvDA,WACA,YAA6B,SAC7B,mBACA,mBACA,wDAEA,mDACA,cACA,eACA,OACA,CAMA,EAwCA,QAvCA,aACA,KAA6B,SAC7B,uEAEA,CACA,iDAEA,kBAAwC,8BACxC,cALA,UAMA,EACA,EA8BA,OAtBA,WACA,uBACA,GACA,aACA,wBACA,QACA,QAA4B,cAAuB,OACnD,SAEA,0BACA,sCACA,UACA,CACA,GAWA,qCAA8C,CAE9C,UAAC,iCC7HD;;;;IAuBA,aACA,OACA,sCACA,aAKA,CAEA,eACA,mBACA,kCACA,OACA,cACA,qCACA,8BACA,QACA,qBAIA,6BACA,CACA,6CACA,eAAsC,OAAgB,KACtD,iBAA2C,OAAwB,OACnE,EAGA,iBACA,EACA,QACA,kBACA,WACA,MAYA,yCAXA,CACA,qBAEA,KAOA,OAGA,CAeA,eACA,KAA6B,SAC7B,wCACA,aACA,2DACA,IAGA,uBACA,eAGA,iBAFA,mBAGA,8BACA,0CAAqD,kBAErD,gBACA,uBAAuD,iBACvD,OACA,UAGA,MACA,kCACA,gBACA,UACA,OAEA,YAEA,wCAA0C,OAAoB,KAC9D,YAEA,8CACA,aACA,iBAEA,kBACA,UAEA,MADA,WAYA,CACA,iBACA,kDACA,IAGA,8BACA,uCAGA,2BACA,oCACA,IACA,UAEA,oBACA,sCAEA,uBACA,MAEA,MAOA,WACA,uBACA,GAEA,aACA,OACA,qBAEA,gBACA,OACA,OACA,EA/KA,qCAA8C,CAAc,WAI5D,MAFA,WAA+B,+CAAiF,gBAIhH,MAAgB,CAAgB,8BA8EhC,oKA4FA,YACA,GAIA,yBAHA,QACA,UACA,CACC,OAA8B,OAC/B,QAEA,eACA,kBAlLA,WACA,uBACA,OAEA,yBACA,cACA,mBAEA,mBACA,qBAEA,2CAAqD,OAAqC,SAC1F,EACA,mBC3BA,gBAaA;;;;;;;;;;;;;gFACA,MACA,YACA,CACA,4BAkfA,oBAA2C,EAAQ,SACnD,OACA,OACA,qBACA,KACA,cACA,WACA,GACA,CACA,CACA,QACA,oBACA,oBAA2C,EAAQ,SACnD,OACA,OACA,yBACA,KACA,cACA,WACA,GACA,CACA,CACA,QACA,kBACA,SACA,eACA,IACA,GACA,SACA,QACA,QACA,SACA,eACA,IACA,GACA,SACA,QACA,QACA,CACA,QAGA,kBACA,OACA,SACA,KACA,eACA,YACA,MAEA,QAGA,kBACA,OACA,iBAEA,UACA,OAGA,kBACA,OACA,SACA,WACA,gBACA,WACA,aAEA,QAGA,kBACA,OACA,gBAEA,eACA,MAGA,oBACA,OACA,YACA,QAGA,gBACA,OACA,SACA,QACA,SACA,eACA,UACA,YACA,YACA,YACA,mBACA,MACA,SAA6C,QAAuB,WACpE,OACA,SAEA,aACA,SAEA,QACA,aAAmD,QAA0B,WAC7E,OACA,SAEA,aACA,SAEA,QACA,CACA,QAGA,gBACA,IACA,QACA,aACA,KACA,qBACA,SACA,OACA,IACA,OACA,QACA,GAGA,SAFA,iBAGA,QACA,CACA,MACA,SACA,IACA,CACA,IACA,QACA,CACA,OACA,CACA,CACA,GACA,CAGA,cACA,IACA,eACA,UACA,gCACA,uBACA,sBACA,sBACA,sBACA,kCACA,gBAEA,IAGA,cACA,OACA,WAGA,cACA,OACA,SAGA,cACA,OACA,kBAGA,cACA,mCACA,oBAKA,gBACA,QACA,aACA,gBACA,gBACA,gBACA,gBACA,gBAEA,8CACA,YACA,qBACA,SACA,aACA,cACA,WACA,QACA,yBACA,WAGA,gBACA,iBACA,SACA,iBACA,SACA,YACA,KACA,QACA,SACA,gBACA,SACA,YACA,KACA,QACA,CACA,KACA,SACA,gBACA,SACA,YACA,KACA,QACA,SACA,iBACA,SACA,YACA,KACA,QACA,CACA,UACA,UAGA,cACA,QACA,EAGA,cACA,OACA,IAGA,cACA,WACA,SAEA,QACA,IAKA,cACA,cACA,cACA,uBACA,oBACA,OACA,oDAGA,cAEA,OACA,oBAGA,cAEA,OACA,oBAGA,cACA,QACA,aACA,gBACA,iBAEA,UAKA,gBACA,OACA,oBAEA,cACA,cACA,WACA,SAGA,cACA,OACA,WACA,cACA,mBACA,YACA,cACA,WACA,QAGA,cACA,UACA,KAGA,cACA,SACA,gBACA,OAGA,cACA,SAEA,eACA,OAKA,cACA,cACA,2CACA,MAQA,YACA,MAEA,iBACA,sBACA,yCACA,UAEA,iBACA,kBAGA,qBAIA,WAEA,cAiOA,CAGA,SAFA,mBACA,IAGA,IA5jCA,sBAJA,iBACA,yFACA,yEACA,yBAEA,OACA,mCAA6B,CAAgB,uBAC7C,aAEA,YACA,YAA2B,wBAA4C,MACvE,EACA,YAA+B,UAAwB,WAAoB,MAC3E,YAA+B,OAA2B,MAC1D,QACA,eAAmC,UAA8B,SACjE,eAAmC,OAAmB,OACtD,QACA,eAAmC,oBAAqD,WACxF,eAAmC,OAAiB,KACpD,CAAK,OAEL,mCACA,yDACA,mJAm0BA,cA8GA,CACA,QACA,gBACA,CACA,QACA,gBACA,OACA,KACA,IArHA,MACA,iBACA,kBACA,aACA,OACA,aACA,eACA,WACA,CAmCA,2CAnC+D,OAAa,KAC5E,2BAAiE,OAAa,KAC9E,6BACA,YACA,oCACA,yCACA,mCACA,qBACA,OACA,aAGA,gBAEA,SAA4B,SAC5B,QACA,OAAwB,cACxB,QACA,+BACA,CAMA,KALA,+BACA,OACA,aAEA,YAEA,gCACA,OACA,+BACA,OACA,aAEA,WAAwB,SACxB,QACA,GAEA,qBACA,aACA,MACA,cACA,gBACA,8BACA,CACA,CAwDA,gDAvDA,eAAkC,mBAA0B,MAC5D,EACA,cAEA,6CAAgD,OAA+C,oBAC/F,6BACA,YACA,6BACA,iBACA,+BACA,YACA,wBACA,aACA,IACA,gCACA,YACA,oBACA,sBACA,WAA2C,EAAU,IACrD,yBACA,gCAEA,WAOA,kBANA,sBACA,kBACA,iBACA,8BAEA,KAEA,CACA,QACA,8BACA,mBACA,sBACA,OACA,8BACA,CACA,6BAA8C,8BAA0D,UACxG,+BAAgD,8BAA4D,UAC5G,gCAAiD,8BAA4D,UAC7G,sCAAuD,aAAuB,SAC9E,2BAAyD,aAAuB,SAChF,iCACA,aACA,yDAEA,cACA,oDACA,kBACA,qBAEA,mBACA,WACA,GAEA,GAWA,CA17BA,uFA27BA,kBACA,aACA,WACA,KACA,CAeA,gDAdA,eAAkC,kBAAuB,IACzD,EACA,cAEA,6CAAkD,kBAA6B,MAC/E,6BAAkD,2BAA0C,IAC5F,gCAAqD,kBAAgC,SACrF,8BAA+C,WAAmB,OAClE,6BAA8C,kBAAyB,MACvE,+BAAgD,kBAA2B,QAC3E,gCAAiD,kBAA4B,SAC7E,sCAAuD,aAAoB,MAC3E,2BAAyD,aAAoB,MAC7E,GAEA,GAEA,CAh9BA,iDAi9BA,aA+BA,IACA,GACA,mBACA,YACA,UAEA,MADA,UAEA,gBACA,iBACA,IACA,GACA,iCAAwD,SACxD,UACA,OACA,KACA,gBACA,WAA2B,EAAU,IACrC,SACA,oBACA,QACA,cACA,OACA,8BACA,2BAEA,kCAGA,8CAFA,0CAFA,kBAKA,WACA,aACA,OAEA,UACA,gBACA,yBACA,KAAgC,EAAoB,IACpD,MACA,oBACA,YACA,KACA,UACA,uBAEA,cACA,QACA,OA5EA,OACA,WACA,qBACA,aACA,WACA,GACA,CAsBA,kCArBA,OACA,wCACA,KACA,6BACA,OACA,8CACA,KACA,+BACA,OACA,sBACA,QACA,IACA,gCACA,OACA,yCACA,KACA,8BAEA,WACA,GACA,GAEA,GAiDA,CA7hCA,aAwCA,QAgEA,0BA/DA,UACA,KACA,cACA,eACA,cACA,6BACA,cACA,iBACA,QACA,YACA,KACA,UAEA,KACA,cACA,eACA,cACA,iBAEA,OACA,IA6FA,sBAjDA,CAQA,oBAPA,KACA,cACA,sBACA,cACA,WACA,UACA,CAEA,IAkFA,gCAzCA,KACA,cACA,iBACA,UACA,MACA,UACA,IA6EA,2BAzCA,KACA,cACA,iBACA,UACA,MACA,QACA,IA6EA,8BAzCA,KACA,cACA,iBACA,UACA,MACA,QACA,IA6EA,2BAzCA,KACA,cACA,iBACA,UACA,MACA,QACA,IA4EA,8BAxCA,KACA,cACA,iBACA,UACA,MACA,QACA,IA2EA,6BAxCA,KACA,cACA,iBACA,UACA,MACA,MACA,IA4EA,gCAzCA,KACA,cACA,iBACA,UACA,MACA,MACA,IAuDA,8BAnBA,KACA,cACA,WACA,SACA,YACA,aACA,KACA,eACA,UACA,YACA,SACA,iBACA,iBACA,YAEA,eAEA,aACA,aAmlBA,MACA,iCAWA,oBAVA,mBACA,UACA,yBAMA,KAEK,EACL,wDAEA,kBADA,OACC,OACD,yCCpmCA,CAWA,YACA,iBACA,mCACA,YACA,iBACA,oCACA,CAoBA,aACA,QAEA,+BAGA,mBACA,oBACA,wBAEA,MAEA,YACA,EAAK,SACL,IAEA,sBACA,EAAS,SAET,sBACA,EACA,CAGA,EACA,aACA,QAEA,mBAGA,iCACA,sBACA,aAEA,mBAEA,OACA,KAAK,SACL,IAEA,eACA,OAAS,SAGT,eACA,OACA,CAIA,EAMA,YACA,CAGA,OACA,OACA,WAEA,aAEA,IACA,QAEA,KAEA,YACA,CAGA,aACA,KAEA,iBACA,UACA,KACA,IACA,KAEA,eAGA,SACA,MACA,MACA,GACA,KACA,KACA,MAgBA,eACA,MACA,WACA,QAWA,cAhKA,GAQA,SADA,sBAUA,IACA,GACA,8BAIA,YAAK,SACL,CACA,GACA,IACA,GACA,gCAIA,cAAK,SACL,CACA,GACA,CAAC,KAqDD,GAGA,GAFA,KACA,UA0CA,sBACA,8BACA,MACA,6BAAuB,cAAsB,OAC7C,WAGA,oBACA,YACA,iBAEA,IAEA,EAKA,0BACA,0BACA,QACA,kBACA,aACA,SACA,UACA,UAAqB,GACrB,cAIA,OACA,gBACA,SACA,QACA,mBACA,uBACA,SACA,oBACA,wBAEA,sBAAqC,WAErC,oBACA,iBACA,qCAEA,gBAA2B,YAC3B,kBACA,iBACA,mCACA,kBAA4B,OAAU,iBCvLtC,GAGA,aACA,OACA,KAAC,IAED,GAEA,0CACA,OAAC,SAED,CACA,4BACA,OAI4C,CAE5C,8ECpBA,aAgBe,QAJN,UAER,qECdD,aAoBe,QAJG,WAChB,CACD,giBCDD,uBA8Ba,gBA7BJ,aAAW,YACnB,UAAE,GAAwB,EAC1B,iBACA,qBACA,yBACA,6BACA,iBACA,uBACA,iBACA,mBACA,iBAAM,OACI,WACD,WACH,QACA,QACA,CACA,YAEA,aACF,aACC,WAEL,kBACA,+BACA,kBACA,mBAEA,gBAAgC,kEAEH,SACtB,oCAAO,MAGV,iGAAiB,SACd,2CAAO,MACP,WAGO,mCAAW,WAEpB,aAGE,aAAK,KAAI,IAAyB,KAGhB,+HAAiB,SACnC,mBAAK,MAAK,iBAAO,EACxB,MAEc,0DAAiB,WAC1B,MACJ,mBAAW,GAAI,EAAM,OAAQ,KAAO,OAChC,WAAO,OAAS,SAAO,KAAI,IAAI,IAAK,IAAI,EACxC,eAAO,OAAU,UAAI,EACrB,YAAO,OACP,aAAO,OAAK,KAAG,CAAK,KAAM,MAAO,KAAO,OAExC,gBAAO,OAAM,MAAK,KAAQ,YAAO,aAAK,KAAO,OAAU,UAAM,KAAO,OACpE,YAAO,OAAM,MAAK,KAAQ,YAAO,aAAK,KAAO,OAAU,UAAM,KAAO,OACrE,OACE,GADG,QAAO,OAAS,eAKZ,qDAET,OACE,QADD,QAAW,MAAO,OAAM,aAChB,OAAM,MAAO,KAEnB,OAGI,0CAEP,OACE,QADD,QAAW,MAAO,OAAI,WACd,OAAI,IAAO,KAClB,WAAO,OAAK,KAAG,CAAK,KAAM,MAAO,KAAO,OAEvC,YAGO,uCACP,OAAK,MAGE,iBAAW,WACrB,IAAE,EAAK,YACT,YAAM,IAAc,eAAiB,EACtC,KACI,iDACA,mBAAO,OAAM,MAAO,EAGd,oCACJ,OAAK,MAAS,UAGV,QAAM,WACF,sBAAK,KAAY,WACzB,CACK,QACE,cACJ,gBAIW,8CAAa,kEAAO,WACxC,gBAAiB,+BAAkB,eAC3B,YAIO,SAHT,uDAIA,OAAS,eAIjB,+BAA4B,yBCxI5B,a,IAEiB,mBAFS,MAAa,SAA0B,+BAAwB,gBAAmB,IAAgB,iCAA0B,oFAAmH,6BAAK,4GAA+H,mBAAwB,oBAAyB,oBAA4B,uBAA6B,mBAAwB,oBAAyB,mBAA2B,+CAAyD,mBAAwB,oBAAyB,eAAyB,qJAAoK,yBAAwC,wBAAc,4DAA8D,iEAAuF,aAAK,SAAgC,0BAE1lC,EACA","file":"vue-transmit.browser.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 3);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 2551bc065b106ca9d7d6","(function() { module.exports = window[\"Vue\"]; }());\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"Vue\"\n// module id = 0\n// module chunks = 0","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\"\nimport { Component, Prop, Watch } from \"vue-property-decorator\"\nimport noop from \"lodash-es/noop\"\nimport identity from \"lodash-es/identity\"\nimport {\n\thbsRegex,\n\thbsReplacer,\n\tobjFactory,\n\tresizeImg,\n\tIDrawImageArgs,\n\tIDimensions,\n\twebkitIsFile,\n\twebkitIsDir,\n} from \"../core/utils\"\nimport VTransmitFile from \"../classes/VTransmitFile\"\n\ntype FileSystemEntry = WebKitFileEntry | WebKitDirectoryEntry\n\nconst STATUSES = {\n\tADDED: \"added\",\n\tQUEUED: \"queued\",\n\tACCEPTED: \"queued\",\n\tUPLOADING: \"uploading\",\n\tPROCESSING: \"uploading\",\n\tCANCELED: \"canceled\",\n\tERROR: \"error\",\n\tTIMEOUT: \"timeout\",\n\tSUCCESS: \"success\",\n}\n\n@Component({ name: \"VueTransmit\" })\nexport default class VueTransmit extends Vue {\n\t@Prop({ type: String, default: \"div\" })\n\ttag: string\n\n\t@Prop({ type: [Array, Object, String], default: null })\n\tuploadAreaClasses: any[] | object | string\n\n\t@Prop({ type: Object, default: objFactory })\n\tuploadAreaAttrs: object\n\n\t@Prop({ type: Object, default: objFactory })\n\tuploadAreaListeners: object\n\n\t@Prop({ type: String, default: null })\n\tdragClass: string\n\n\t@Prop({ type: String, required: true })\n\turl: string\n\n\t@Prop({ type: String, default: \"post\" })\n\tmethod: string\n\n\t@Prop({ type: Boolean, default: false })\n\twithCredentials: boolean\n\n\t// timeout in milliseconds\n\t@Prop({ type: Number, default: 0 })\n\ttimeout: number\n\n\t@Prop({ type: Number, default: 2 })\n\tmaxConcurrentUploads: number\n\t// Whether to send multiple files in one request.\n\t@Prop({ type: Boolean, default: false })\n\tuploadMultiple: boolean\n\n\t// in MB\n\t@Prop({ type: Number, default: 256 })\n\tmaxFileSize: number\n\n\t// The name of the file param that gets transferred.\n\t@Prop({ type: String, default: \"file\" })\n\tparamName: string\n\n\t@Prop({ type: Boolean, default: true })\n\tcreateImageThumbnails: boolean\n\n\t// in MB. When the filename exceeds this limit, the thumbnail will not be generated.\n\t@Prop({ type: Number, default: 10 })\n\tmaxThumbnailFileSize: number\n\n\t@Prop({ type: Number, default: 120 })\n\tthumbnailWidth: number\n\n\t@Prop({ type: Number, default: 120 })\n\tthumbnailHeight: number\n\n\t/**\n * The base that is used to calculate the file size. You can change this to\n * 1024 if you would rather display kibibytes, mebibytes, etc...\n * 1024 is technically incorrect,\n * because `1024 bytes` are `1 kibibyte` not `1 kilobyte`.\n * You can change this to `1024` if you don't care about validity.\n */\n\t@Prop({ type: Number, default: 1000 })\n\tfileSizeBase: number\n\n\t/**\n * Can be used to limit the maximum number of files that will be handled\n * by this Dropzone\n */\n\t@Prop({ type: Number, default: null })\n\tmaxFiles: number\n\n\t/**\n * Can be an object of additional parameters to transfer to the server.\n * This is the same as adding hidden input fields in the form element.\n */\n\t@Prop({ type: Object, default: objFactory })\n\tparams: object\n\n\t@Prop({ type: Object, default: objFactory })\n\theaders: object\n\n\t@Prop({ type: String, default: \"\" })\n\tresponseType: XMLHttpRequestResponseType\n\n\t// If true, the dropzone will present a file selector when clicked.\n\t@Prop({ type: Boolean, default: true })\n\tclickable: boolean\n\n\t// Whether hidden files in directories should be ignored.\n\t@Prop({ type: Boolean, default: true })\n\tignoreHiddenFiles: boolean\n\n\t/**\n * You can set accepted mime types here.\n *\n * The default implementation of the `accept()` function will check this\n * property, and if the Dropzone is clickable this will be used as\n * `accept` attribute.\n *\n * This is a comma separated list of mime types or extensions. E.g.:\n * - audio/*,video/*,image/png,.pdf\n *\n * See https://developer.mozilla.org/en-US/docs/HTML/Element/input#attr-accept\n * for a reference.\n */\n\t@Prop({ type: Array, default: () => [] })\n\tacceptedFileTypes: string[]\n\n\t/**\n * If false, files will be added to the queue but the queue will not be\n * processed automatically.\n * This can be useful if you need some additional user input before sending\n * files (or if you want want all files sent at once).\n * If you're ready to send the file simply call myDropzone.processQueue()\n */\n\t@Prop({ type: Boolean, default: true })\n\tautoProcessQueue: boolean\n\n\t/**\n * If false, files added to the dropzone will not be queued by default.\n * You'll have to call `enqueueFile(file)` manually.\n */\n\t@Prop({ type: Boolean, default: true })\n\tautoQueue: boolean\n\n\t/**\n * If null, no capture type will be specified\n * If camera, mobile devices will skip the file selection and choose camera\n * If microphone, mobile devices will skip the file selection and choose the microphone\n * If camcorder, mobile devices will skip the file selection and choose the camera in video mode\n * On apple devices multiple must be set to false. AcceptedFiles may need to\n * be set to an appropriate mime type (e.g. \"image/*\", \"audio/*\", or \"video/*\").\n */\n\t@Prop({ type: String, default: null })\n\tcapture: string\n\n\t/**\n * Before the file is appended to the formData, the function renameFile is performed for file.name, file\n * which executes the function defined in renameFile\n */\n\t@Prop({ type: Function, default: identity })\n\trenameFile: (name: string) => string\n\n\t// If the file size is too big.\n\t@Prop({ type: String, default: \"File is too big ({{ fileSize }}MiB). Max file size: {{ maxFileSize }}MB.\" })\n\tdictFileTooBig: string\n\n\t// If the file doesn't match the file type.\n\t@Prop({ type: String, default: \"You can't upload files of this type.\" })\n\tdictInvalidFileType: string\n\n\t// If the server response was invalid.\n\t@Prop({ type: String, default: \"Error during upload: {{ statusText }} [{{ statusCode }}]\" })\n\tdictResponseError: string\n\n\t/**\n * Displayed when the maxFiles have been exceeded\n * You can use {{maxFiles}} here, which will be replaced by the option.\n */\n\t@Prop({ type: String, default: \"You can not upload any more files.\" })\n\tdictMaxFilesExceeded: string\n\n\t/**\n * If `done()` is called without argument the file is accepted\n * If you call it with an error message, the file is rejected\n * (This allows for asynchronous validation).\n */\n\t@Prop({ type: Function, default: (_, done: Function) => done() })\n\taccept: (file: VTransmitFile, done: Function) => void\n\n\t@Prop({ type: Function, default: resizeImg })\n\tresize: (file: VTransmitFile, dims: IDimensions) => IDrawImageArgs\n\n\tpublic dragging: boolean = false\n\t// Used to keep the createThumbnail calls processing async one-at-a-time\n\tprivate processingThumbnail: boolean = false\n\tpublic thumbnailQueue: any[] = []\n\tpublic files: VTransmitFile[] = []\n\tpublic defaultHeaders: object = {\n\t\tAccept: \"application/json\",\n\t\t\"Cache-Control\": \"no-cache\",\n\t\t\"X-Requested-With\": \"XMLHttpRequest\",\n\t}\n\tpublic formStyles: object = {\n\t\tvisibility: \"hidden !important\",\n\t\tposition: \"absolute !important\",\n\t\ttop: \"0 !important\",\n\t\tleft: \"0 !important\",\n\t\theight: \"0px !important\",\n\t\twidth: \"0px !important\",\n\t}\n\n\tget inputEl(): HTMLInputElement {\n\t\tlet el = null\n\t\tif (this.$refs.hiddenFileInput instanceof HTMLInputElement) {\n\t\t\tel = this.$refs.hiddenFileInput\n\t\t}\n\t\treturn el\n\t}\n\tget formEl(): HTMLFormElement {\n\t\tlet el = null\n\t\tif (this.$refs.uploadForm instanceof HTMLFormElement) {\n\t\t\tel = this.$refs.uploadForm\n\t\t}\n\t\treturn el\n\t}\n\tget filesToAccept(): string {\n\t\treturn this.acceptedFileTypes.join(\",\")\n\t}\n\tget multiple(): boolean {\n\t\treturn this.maxFiles === null || this.maxFiles > 1\n\t}\n\tget acceptedFiles(): VTransmitFile[] {\n\t\treturn this.files.filter(f => f.accepted)\n\t}\n\tget rejectedFiles(): VTransmitFile[] {\n\t\treturn this.files.filter(f => !f.accepted)\n\t}\n\tget addedFiles(): VTransmitFile[] {\n\t\treturn this.getFilesWithStatus(STATUSES.ADDED)\n\t}\n\tget queuedFiles(): VTransmitFile[] {\n\t\treturn this.getFilesWithStatus(STATUSES.QUEUED)\n\t}\n\tget uploadingFiles(): VTransmitFile[] {\n\t\treturn this.getFilesWithStatus(STATUSES.UPLOADING)\n\t}\n\tget activeFiles(): VTransmitFile[] {\n\t\treturn this.getFilesWithStatus(STATUSES.UPLOADING, STATUSES.QUEUED)\n\t}\n\tget maxFilesReached(): boolean {\n\t\t// Loose equality checks null && undefined\n\t\treturn this.maxFiles != null && this.acceptedFiles.length >= this.maxFiles\n\t}\n\tget maxFilesReachedClass(): string {\n\t\treturn this.maxFilesReached ? \"v-transmit__max-files--reached\" : null\n\t}\n\tget isDraggingClass(): { [key: string]: boolean } {\n\t\treturn {\n\t\t\t\"v-transmit__upload-area--is-dragging\": this.dragging,\n\t\t\t[this.dragClass]: this.dragging,\n\t\t}\n\t}\n\tget isUploading(): boolean {\n\t\treturn this.uploadingFiles.length > 0\n\t}\n\tget fileSlotBindings() {\n\t\treturn {\n\t\t\tfiles: this.files,\n\t\t\tacceptedFiles: this.acceptedFiles,\n\t\t\trejectedFiles: this.rejectedFiles,\n\t\t\taddedFiles: this.addedFiles,\n\t\t\tqueuedFiles: this.queuedFiles,\n\t\t\tuploadingFiles: this.uploadingFiles,\n\t\t\tactiveFiles: this.activeFiles,\n\t\t\tisUploading: this.isUploading,\n\t\t}\n\t}\n\n\t@Watch(\"acceptedFiles\")\n\tonAcceptedFilesChange(acceptedFiles: VTransmitFile[]) {\n\t\tif (this.maxFiles == null) {\n\t\t\treturn\n\t\t}\n\t\tif (acceptedFiles.length >= this.maxFiles) {\n\t\t\tthis.$emit(\"max-files-reached\", this.files)\n\t\t}\n\t}\n\n\tgetFilesWithStatus(...statuses: string[]): VTransmitFile[] {\n\t\treturn this.files.filter(f => statuses.indexOf(f.status) > -1)\n\t}\n\tonFileInputChange(): void {\n\t\tthis.$emit(\"added-files\", Array.from(this.inputEl.files).map(this.addFile))\n\t\tthis.formEl.reset()\n\t}\n\taddFile(file: File): VTransmitFile {\n\t\tconst vTransmitFile = VTransmitFile.fromNativeFile(file)\n\t\tvTransmitFile.status = STATUSES.ADDED\n\t\tthis.files.push(vTransmitFile)\n\t\tthis.$emit(\"added-file\", vTransmitFile)\n\t\tthis.enqueueThumbnail(vTransmitFile)\n\t\tthis.acceptFile(vTransmitFile, error => {\n\t\t\tif (error) {\n\t\t\t\tvTransmitFile.accepted = false\n\t\t\t\tthis.errorProcessing([vTransmitFile], error)\n\t\t\t\tthis.$emit(\"rejected-file\", vTransmitFile)\n\t\t\t} else {\n\t\t\t\tvTransmitFile.accepted = true\n\t\t\t\tthis.$emit(\"accepted-file\", vTransmitFile)\n\t\t\t\tif (this.autoQueue) {\n\t\t\t\t\tthis.enqueueFile(vTransmitFile)\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.$emit(\"accept-complete\", vTransmitFile)\n\t\t})\n\n\t\treturn vTransmitFile\n\t}\n\tremoveFile(file: VTransmitFile): void {\n\t\tif (file.status === STATUSES.UPLOADING) {\n\t\t\tthis.cancelUpload(file)\n\t\t}\n\t\tconst idxToRm = this.files.findIndex(f => f.id === file.id)\n\t\tif (~idxToRm) {\n\t\t\tthis.$emit(\"removed-file\", this.files.splice(idxToRm, 1)[0])\n\t\t\tif (this.files.length === 0) {\n\t\t\t\tthis.$emit(\"reset\")\n\t\t\t}\n\t\t}\n\t}\n\tremoveAllFiles(cancelInProgressUploads = false): void {\n\t\tfor (const file of this.files) {\n\t\t\tif (file.status !== STATUSES.UPLOADING || cancelInProgressUploads) {\n\t\t\t\tthis.removeFile(file)\n\t\t\t}\n\t\t}\n\t}\n\ttriggerBrowseFiles(): void {\n\t\tthis.inputEl.click()\n\t}\n\thandleClickUploaderAction(): void {\n\t\tif (this.clickable) {\n\t\t\tthis.triggerBrowseFiles()\n\t\t}\n\t}\n\tenqueueFile(file: VTransmitFile): void {\n\t\tif (file.status === STATUSES.ADDED && file.accepted === true) {\n\t\t\tfile.status = STATUSES.QUEUED\n\t\t\tif (this.autoProcessQueue) {\n\t\t\t\tsetTimeout(this.processQueue, 0)\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new Error(\"This file can't be queued because it has already been processed or was rejected.\")\n\t\t}\n\t}\n\tenqueueThumbnail(file: VTransmitFile): void {\n\t\tif (\n\t\t\tthis.createImageThumbnails &&\n\t\t\tfile.type.match(/image.*/) &&\n\t\t\tfile.size <= this.maxThumbnailFileSize * 1024 * 1024\n\t\t) {\n\t\t\tthis.thumbnailQueue.push(file)\n\t\t\tsetTimeout(this.processThumbnailQueue, 0)\n\t\t}\n\t}\n\tprocessThumbnailQueue(): void {\n\t\t// Employ a chain of self-calling, self-queuing createThumbnail calls\n\t\t// so execution can stay as non-blocking as possible.\n\t\tif (this.processingThumbnail || this.thumbnailQueue.length === 0) {\n\t\t\treturn\n\t\t}\n\t\tthis.processingThumbnail = true\n\t\tthis.createThumbnail(this.thumbnailQueue.shift(), () => {\n\t\t\tthis.processingThumbnail = false\n\t\t\tthis.processThumbnailQueue()\n\t\t})\n\t}\n\tcreateThumbnail(file: VTransmitFile, callback = noop): void {\n\t\tconst reader = new FileReader()\n\t\treader.addEventListener(\n\t\t\t\"load\",\n\t\t\t() => {\n\t\t\t\tif (file.type === \"image/svg+xml\") {\n\t\t\t\t\tfile.dataUrl = reader.result\n\t\t\t\t\tthis.$emit(\"thumbnail\", file, reader.result)\n\t\t\t\t\tcallback()\n\t\t\t\t}\n\t\t\t\tthis.createThumbnailFromUrl(file, reader.result, callback)\n\t\t\t},\n\t\t\tfalse\n\t\t)\n\n\t\t// FileReader requires a native File|Blob object\n\t\treader.readAsDataURL(file.nativeFile)\n\t}\n\tcreateThumbnailFromUrl(file: VTransmitFile, imageUrl: string, callback?: Function): void {\n\t\tconst imgEl = document.createElement(\"img\")\n\n\t\timgEl.addEventListener(\n\t\t\t\"load\",\n\t\t\t() => {\n\t\t\t\tfile.width = imgEl.width\n\t\t\t\tfile.height = imgEl.height\n\t\t\t\tconst resizeInfo = this.resize(file, {\n\t\t\t\t\twidth: this.thumbnailWidth,\n\t\t\t\t\theight: this.thumbnailHeight,\n\t\t\t\t})\n\t\t\t\tconst canvas = document.createElement(\"canvas\")\n\t\t\t\tconst ctx = canvas.getContext(\"2d\")\n\t\t\t\tcanvas.width = resizeInfo.dWidth\n\t\t\t\tcanvas.height = resizeInfo.dHeight\n\t\t\t\tctx.drawImage(\n\t\t\t\t\timgEl,\n\t\t\t\t\tresizeInfo.sx,\n\t\t\t\t\tresizeInfo.sy,\n\t\t\t\t\tresizeInfo.sWidth,\n\t\t\t\t\tresizeInfo.sHeight,\n\t\t\t\t\tresizeInfo.dx,\n\t\t\t\t\tresizeInfo.dy,\n\t\t\t\t\tresizeInfo.dWidth,\n\t\t\t\t\tresizeInfo.dHeight\n\t\t\t\t)\n\t\t\t\tconst thumbnail = canvas.toDataURL(\"image/png\")\n\t\t\t\tfile.dataUrl = thumbnail\n\t\t\t\tthis.$emit(\"thumbnail\", file, thumbnail)\n\n\t\t\t\tif (callback) {\n\t\t\t\t\treturn callback()\n\t\t\t\t}\n\t\t\t},\n\t\t\tfalse\n\t\t)\n\t\tif (callback) {\n\t\t\timgEl.addEventListener(\"error\", callback as EventListenerOrEventListenerObject, false)\n\t\t}\n\n\t\timgEl.src = imageUrl\n\t}\n\tprocessQueue(): void {\n\t\tconst processingLength = this.uploadingFiles.length\n\t\tif (processingLength >= this.maxConcurrentUploads || this.queuedFiles.length === 0) {\n\t\t\treturn\n\t\t}\n\n\t\tconst queuedFiles = [...this.queuedFiles]\n\t\tif (this.uploadMultiple) {\n\t\t\treturn this.processFiles(queuedFiles.slice(0, this.maxConcurrentUploads - processingLength))\n\t\t} else {\n\t\t\tfor (let i = processingLength; i < this.maxConcurrentUploads; i++) {\n\t\t\t\tif (queuedFiles.length) {\n\t\t\t\t\tthis.processFile(queuedFiles.shift())\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tprocessFile(file: VTransmitFile): void {\n\t\tthis.processFiles([file])\n\t}\n\tprocessFiles(files: VTransmitFile[]): void {\n\t\tfor (const file of files) {\n\t\t\tfile.processing = true\n\t\t\tfile.status = STATUSES.UPLOADING\n\t\t\tthis.$emit(\"processing\", file)\n\t\t}\n\t\tif (this.uploadMultiple) {\n\t\t\tthis.$emit(\"processing-multiple\", files)\n\t\t}\n\n\t\treturn this.uploadFiles(files)\n\t}\n\tgetFilesWithXhr(xhr: XMLHttpRequest): VTransmitFile[] {\n\t\treturn this.files.filter(file => file.xhr === xhr)\n\t}\n\tcancelUpload(file: VTransmitFile): void {\n\t\tif (file.status === STATUSES.UPLOADING) {\n\t\t\tconst groupedFiles = this.getFilesWithXhr(file.xhr)\n\t\t\tfile.xhr.abort()\n\t\t\tfor (const f of groupedFiles) {\n\t\t\t\tf.status = STATUSES.CANCELED\n\t\t\t\tthis.$emit(\"canceled\", f)\n\t\t\t}\n\t\t\tif (this.uploadMultiple) {\n\t\t\t\tthis.$emit(\"canceled-multiple\", groupedFiles)\n\t\t\t}\n\t\t} else if (file.status === STATUSES.ADDED || file.status === STATUSES.QUEUED) {\n\t\t\tfile.status = STATUSES.CANCELED\n\t\t\tthis.$emit(\"canceled\", file)\n\t\t\tif (this.uploadMultiple) {\n\t\t\t\tthis.$emit(\"canceled-multiple\", [file])\n\t\t\t}\n\t\t}\n\n\t\tif (this.autoProcessQueue) {\n\t\t\tthis.processQueue()\n\t\t}\n\t}\n\tuploadFile(file: VTransmitFile): void {\n\t\tthis.uploadFiles([file])\n\t}\n\tuploadFiles(files: VTransmitFile[]): void {\n\t\tconst xhr = new XMLHttpRequest()\n\t\tfor (const file of files) {\n\t\t\tfile.xhr = xhr\n\t\t\tfile.startProgress()\n\t\t}\n\t\txhr.open(this.method, this.url, true)\n\t\t// Setting the timeout after open because of IE11 issue: https://gitlab.com/meno/dropzone/issues/8\n\t\txhr.timeout = this.timeout\n\t\txhr.withCredentials = Boolean(this.withCredentials)\n\t\txhr.responseType = this.responseType\n\n\t\tconst handleError = this.handleUploadError(files, xhr)\n\t\tconst updateProgress = this.handleUploadProgress(files)\n\t\txhr.addEventListener(\"error\", handleError)\n\t\txhr.upload.addEventListener(\"progress\", updateProgress)\n\t\txhr.addEventListener(\"timeout\", this.handleTimeout(files, xhr))\n\t\txhr.addEventListener(\"load\", e => {\n\t\t\tif (files[0].status === STATUSES.CANCELED || xhr.readyState !== XMLHttpRequest.DONE) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tlet response = xhr.response\n\n\t\t\tif (!xhr.responseType) {\n\t\t\t\tlet contentType = xhr.getResponseHeader(\"content-type\")\n\t\t\t\tresponse = xhr.responseText\n\n\t\t\t\tif (contentType && contentType.indexOf(\"application/json\") > -1) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tresponse = JSON.parse(response)\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tresponse = \"Invalid JSON response from server.\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Called at load (when complete) will enable all the progress done logic.\n\t\t\tupdateProgress()\n\t\t\tif (xhr.status < 200 || xhr.status >= 300) {\n\t\t\t\treturn handleError()\n\t\t\t} else {\n\t\t\t\treturn this.uploadFinished(files, response, e)\n\t\t\t}\n\t\t})\n\n\t\t// Use null proto obj for the following 'for in' loop\n\t\tconst headers = Object.assign(Object.create(null), this.defaultHeaders, this.headers)\n\t\tfor (const headerName in headers) {\n\t\t\tif (headers[headerName]) {\n\t\t\t\txhr.setRequestHeader(headerName, headers[headerName])\n\t\t\t}\n\t\t}\n\n\t\tconst formData = new FormData()\n\t\tfor (const key in this.params) {\n\t\t\tformData.append(key, this.params[key])\n\t\t}\n\n\t\tfor (const file of files) {\n\t\t\tthis.$emit(\"sending\", file, xhr, formData)\n\t\t}\n\t\tif (this.uploadMultiple) {\n\t\t\tthis.$emit(\"sending-multiple\", files, xhr, formData)\n\t\t}\n\n\t\tfor (let i = 0; i < files.length; i++) {\n\t\t\tformData.append(this.getParamName(i), files[i].nativeFile, this.renameFile(files[i].name))\n\t\t}\n\n\t\treturn xhr.send(formData)\n\t}\n\thandleUploadError(files: VTransmitFile[], xhr: XMLHttpRequest): () => void {\n\t\tconst vm = this\n\t\treturn function onUploadErrorFn(): void {\n\t\t\tif (files[0].status !== STATUSES.CANCELED) {\n\t\t\t\tconst message = vm.dictResponseError.replace(\n\t\t\t\t\thbsRegex,\n\t\t\t\t\thbsReplacer({ statusText: xhr.statusText, statusCode: xhr.status })\n\t\t\t\t)\n\t\t\t\tvm.errorProcessing(files, message, xhr)\n\t\t\t}\n\t\t}\n\t}\n\thandleTimeout(files: VTransmitFile[], xhr: XMLHttpRequest): (e: Event) => void {\n\t\tconst vm = this\n\t\treturn function onTimeoutFn(e: Event): void {\n\t\t\tfor (const file of files) {\n\t\t\t\tfile.status = STATUSES.TIMEOUT\n\t\t\t\tfile.endProgress()\n\t\t\t\tvm.$emit(\"timeout\", file, e, xhr)\n\t\t\t}\n\t\t\tvm.$emit(\"timeout-multiple\", files, e, xhr)\n\n\t\t\tif (this.autoProcessQueue) {\n\t\t\t\tthis.processQueue()\n\t\t\t}\n\t\t}\n\t}\n\thandleUploadProgress(files): (e?: ProgressEvent) => void {\n\t\tconst vm = this\n\t\treturn function onProgressFn(e?: ProgressEvent): void {\n\t\t\tif (e instanceof ProgressEvent) {\n\t\t\t\tfor (const file of files) {\n\t\t\t\t\tfile.handleProgress(e)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tlet allFilesFinished = true\n\t\t\t\tfor (const file of files) {\n\t\t\t\t\tif (file.upload.progress !== 100 || file.upload.bytesSent !== file.upload.total) {\n\t\t\t\t\t\tallFilesFinished = false\n\t\t\t\t\t}\n\t\t\t\t\tfile.upload.progress = 100\n\t\t\t\t\tfile.upload.bytesSent = file.upload.total\n\t\t\t\t\tfile.endProgress()\n\t\t\t\t}\n\t\t\t\tif (allFilesFinished) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (const file of files) {\n\t\t\t\tvm.$emit(\"upload-progress\", file, file.upload.progress, file.upload.bytesSent)\n\t\t\t}\n\t\t}\n\t}\n\tupdateTotalUploadProgress(): void {\n\t\tconst progress = this.activeFiles.reduce(\n\t\t\t(memo, file) => {\n\t\t\t\tmemo.totalBytesSent += file.upload.bytesSent\n\t\t\t\tmemo.totalBytes += file.upload.total\n\t\t\t\treturn memo\n\t\t\t},\n\t\t\t{ totalBytesSent: 0, totalBytes: 0, totalProgress: 100 }\n\t\t)\n\n\t\tif (this.activeFiles.length) {\n\t\t\tprogress.totalProgress = 100 * progress.totalBytesSent / progress.totalBytes\n\t\t}\n\n\t\tthis.$emit(\"total-upload-progress\", progress)\n\t}\n\tgetParamName(index): string {\n\t\treturn this.paramName + (this.uploadMultiple ? `[${index}]` : \"\")\n\t}\n\tuploadFinished(files: VTransmitFile[], response: string | object | any[], e: Event): void {\n\t\tfor (const file of files) {\n\t\t\tfile.status = STATUSES.SUCCESS\n\t\t\tfile.endProgress()\n\t\t\tthis.$emit(\"success\", file, response, e)\n\t\t\tthis.$emit(\"complete\", file)\n\t\t}\n\n\t\tif (this.uploadMultiple) {\n\t\t\tthis.$emit(\"success-multiple\", files, response, e)\n\t\t\tthis.$emit(\"complete-multiple\", files)\n\t\t}\n\n\t\tif (this.autoProcessQueue) {\n\t\t\tthis.processQueue()\n\t\t}\n\t}\n\terrorProcessing(files: VTransmitFile[], message: string, xhr?: XMLHttpRequest) {\n\t\tfor (const file of files) {\n\t\t\tfile.status = STATUSES.ERROR\n\t\t\tfile.endProgress()\n\t\t\tthis.$emit(\"error\", file, message, xhr)\n\t\t\tthis.$emit(\"complete\", file)\n\t\t}\n\n\t\tif (this.uploadMultiple) {\n\t\t\tthis.$emit(\"error-multiple\", files, message, xhr)\n\t\t\tthis.$emit(\"complete-multiple\", files)\n\t\t}\n\n\t\tif (this.autoProcessQueue) {\n\t\t\treturn this.processQueue()\n\t\t}\n\t}\n\tacceptFile(file: VTransmitFile, done: Function): void {\n\t\tif (file.size > this.maxFileSize * 1024 * 1024) {\n\t\t\tdone(\n\t\t\t\tthis.dictFileTooBig.replace(\n\t\t\t\t\thbsRegex,\n\t\t\t\t\thbsReplacer({\n\t\t\t\t\t\tfileSize: Math.round(file.size / 1024 / 10.24) / 100,\n\t\t\t\t\t\tmaxFileSize: this.maxFileSize,\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t\t)\n\t\t} else if (!this.isValidFileType(file, this.acceptedFileTypes)) {\n\t\t\tdone(this.dictInvalidFileType)\n\t\t} else if (this.maxFiles != null && this.acceptedFiles.length >= this.maxFiles) {\n\t\t\tdone(this.dictMaxFilesExceeded.replace(hbsRegex, hbsReplacer({ maxFiles: this.maxFiles })))\n\t\t\tthis.$emit(\"max-files-exceeded\", file)\n\t\t} else {\n\t\t\t// Call the prop callback for the client to validate.\n\t\t\tthis.accept(file, done)\n\t\t}\n\t}\n\tisValidFileType(file: VTransmitFile, acceptedFileTypes: string[]): boolean {\n\t\tif (!acceptedFileTypes.length) {\n\t\t\treturn true\n\t\t}\n\t\tconst mimeType = file.type\n\t\tconst baseMimeType = mimeType.replace(/\\/.*$/, \"\")\n\t\t// Return true on the first condition match,\n\t\t// otherwise exhaust all conditions and return false.\n\t\tfor (let i = 0; i < acceptedFileTypes.length; i++) {\n\t\t\tconst validType = acceptedFileTypes[i]\n\t\t\tif (validType.charAt(0) === \".\") {\n\t\t\t\t// Handle extension validation\n\t\t\t\t// Ensure extension exists at the end of the filename.\n\t\t\t\tif (file.name.toLowerCase().indexOf(validType.toLowerCase(), file.name.length - validType.length) !== -1) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t} else if (/\\/\\*$/.test(validType)) {\n\t\t\t\t// Handle globbed mimetype validation (\"image/*\")\n\t\t\t\tif (baseMimeType === validType.replace(/\\/.*$/, \"\")) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (mimeType === validType) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn false\n\t}\n\thandleDragStart(e: DragEvent): void {\n\t\tthis.$emit(\"drag-start\", e)\n\t}\n\thandleDragOver(e: DragEvent): void {\n\t\tthis.dragging = true\n\t\tlet effect\n\t\ttry {\n\t\t\t// Handle browser bug\n\t\t\teffect = e.dataTransfer.effectAllowed\n\t\t} catch (error) {}\n\t\te.dataTransfer.dropEffect = effect === \"move\" || effect === \"linkMove\" ? \"move\" : \"copy\"\n\t\tthis.$emit(\"drag-over\", e)\n\t}\n\thandleDragEnter(e: DragEvent): void {\n\t\tthis.dragging = true\n\t\tthis.$emit(\"drag-enter\", e)\n\t}\n\thandleDragLeave(e: DragEvent): void {\n\t\tthis.dragging = false\n\t\tthis.$emit(\"drag-leave\", e)\n\t}\n\thandleDragEnd(e: DragEvent): void {\n\t\tthis.dragging = false\n\t\tthis.$emit(\"drag-end\", e)\n\t}\n\thandleDrop(e: DragEvent): void {\n\t\tthis.dragging = false\n\t\tif (!e.dataTransfer) {\n\t\t\treturn\n\t\t}\n\t\tthis.$emit(\"drop\", e)\n\t\tconst files = Array.from(e.dataTransfer.files)\n\n\t\tthis.$emit(\"added-files\", files)\n\t\tif (files.length && e.dataTransfer.items) {\n\t\t\tconst items = Array.from(e.dataTransfer.items)\n\t\t\tif (items && items.length && items[0].webkitGetAsEntry) {\n\t\t\t\tthis.addFilesFromItems(items)\n\t\t\t} else {\n\t\t\t\tthis.handleFiles(files)\n\t\t\t}\n\t\t} else {\n\t\t\tthis.handleFiles(files)\n\t\t}\n\t}\n\tpaste(e: ClipboardEvent): void {\n\t\tif (!e || !e.clipboardData || !e.clipboardData.items) {\n\t\t\treturn\n\t\t}\n\t\tthis.$emit(\"paste\", e)\n\t\tconst items = Array.from(e.clipboardData.items)\n\t\tif (items.length) {\n\t\t\tthis.addFilesFromItems(items)\n\t\t}\n\t}\n\thandleFiles(files: File[]): VTransmitFile[] {\n\t\treturn files.map(this.addFile)\n\t}\n\taddFilesFromItems(items: DataTransferItem[]): void {\n\t\tfor (const item of items) {\n\t\t\t// Newer API on standards track\n\t\t\tif (item.getAsFile && item.kind == \"file\") {\n\t\t\t\tthis.addFile(item.getAsFile())\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t// Vendor prefixed experimental API\n\t\t\tif (item.webkitGetAsEntry) {\n\t\t\t\tconst entry: FileSystemEntry = item.webkitGetAsEntry()\n\n\t\t\t\tif (entry == null) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif (webkitIsFile(entry)) {\n\t\t\t\t\tentry.file(this.addFile as any, console.error)\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif (webkitIsDir(entry)) {\n\t\t\t\t\tthis.addFilesFromDirectory(entry, entry.name)\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\taddFilesFromDirectory(directory: WebKitDirectoryEntry, path): void {\n\t\tdirectory.createReader().readEntries(\n\t\t\t((entries: FileSystemEntry[]) => {\n\t\t\t\tfor (const entry of entries) {\n\t\t\t\t\tif (entry == null) {\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t\tif (webkitIsDir(entry)) {\n\t\t\t\t\t\tthis.addFilesFromDirectory(entry, `${path}/${entry.name}`)\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t\tif (webkitIsFile(entry)) {\n\t\t\t\t\t\tentry.file(\n\t\t\t\t\t\t\t((file: File) => {\n\t\t\t\t\t\t\t\tif (this.ignoreHiddenFiles && /^\\./.test(file.name)) {\n\t\t\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t;(file as any).fullPath = `${path}/${file.name}`\n\t\t\t\t\t\t\t\tthis.addFile(file)\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tconsole.error\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}),\n\t\t\tconsole.error\n\t\t)\n\t}\n\n\tmounted() {\n\t\tthis.$on(\"upload-progress\", this.updateTotalUploadProgress)\n\t\tthis.$on(\"removed-file\", this.updateTotalUploadProgress)\n\t\tthis.$on(\"canceled\", file => this.$emit(\"complete\", file))\n\t\tthis.$on(\"complete\", file => {\n\t\t\tif (this.addedFiles.length === 0 && this.uploadingFiles.length === 0 && this.queuedFiles.length === 0) {\n\t\t\t\tsetTimeout(() => this.$emit(\"queue-complete\", file), 0)\n\t\t\t}\n\t\t})\n\n\t\tthis.$emit(\"initialize\", this)\n\t}\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/vue-loader/lib/selector.js?type=script&index=0!./src/components/VueTransmit.vue","import VTransmitFile from \"../classes/VTransmitFile\"\n\nexport const assign = Object.assign\nexport const defineProperty = Object.defineProperty\n\nlet idCounter = 0\nexport function uniqueId(prefix: string): string {\n\tvar id = ++idCounter\n\treturn prefix + id\n}\n\nexport function copyOwnAndInheritedProps(obj: object): object {\n\tlet newData = {}\n\tfor (let prop in obj) {\n\t\tif (typeof obj[prop] !== \"function\") {\n\t\t\tnewData[prop] = obj[prop]\n\t\t}\n\t}\n\treturn newData\n}\n\nexport type Rounding = \"round\" | \"ceil\" | \"floor\" | \"trunc\"\n\nexport function round(number: number, decimals: number = 2, roundStyle: Rounding = \"round\") {\n\tconst roundingFactor = Math.pow(10, decimals)\n\treturn Math[roundStyle](number * roundingFactor) / roundingFactor\n}\n\nexport function fromBytesToKbit(bytes: number): number {\n\treturn bytes / 125\n}\n\nexport function fromBytesToMbit(bytes: number): number {\n\treturn bytes / 125000\n}\n\nexport function toKbps(bytes: number, seconds: number): number {\n\treturn fromBytesToKbit(bytes) / seconds\n}\n\nexport function toMbps(bytes: number, seconds: number): number {\n\treturn fromBytesToMbit(bytes) / seconds\n}\n\nexport const hbsRegex = /{{\\s*?([a-zA-Z]+)\\s*?}}/g\nexport function hbsReplacer(context: object = {}) {\n\treturn function hbsReplacerFn(match: string, capture: string) {\n\t\treturn context[capture] !== undefined ? context[capture] : match\n\t}\n}\n\nexport function objFactory() {\n\treturn {}\n}\n\nexport function scaleH(ratio: number, width: number): number {\n\treturn width / ratio\n}\n\nexport function scaleW(ratio: number, height: number): number {\n\treturn height * ratio\n}\n\nexport function scaleDims(ratio: number, width?: number, height?: number): number[] {\n\treturn typeof width === \"number\" ? [width, scaleH(ratio, width)] : [scaleW(ratio, height), height]\n}\n\nexport interface IDrawImageArgs {\n\tsx: number\n\tsy: number\n\tsWidth: number\n\tsHeight: number\n\tdx: number\n\tdy: number\n\tdWidth: number\n\tdHeight: number\n}\n\nexport interface IDimensions {\n\twidth: number\n\theight: number\n}\n\nexport function resizeImg(file: VTransmitFile, dims: IDimensions): IDrawImageArgs {\n\t// Extract the object's primitive values so we don't mutate the input\n\tconst sRatio = file.width / file.height\n\tconst dRatio = dims.width / dims.height\n\tconst imgCoords = {\n\t\tsx: 0,\n\t\tsy: 0,\n\t\tsWidth: file.width,\n\t\tsHeight: file.height,\n\t\tdx: 0,\n\t\tdy: 0,\n\t\tdWidth: dims.width,\n\t\tdHeight: dims.height,\n\t}\n\n\tlet w, h\n\tif (dRatio > sRatio) {\n\t\t;[w, h] = scaleDims(dRatio, file.width)\n\t} else {\n\t\t;[w, h] = scaleDims(dRatio, undefined, file.height)\n\t}\n\n\tif (w < file.width) {\n\t\timgCoords.sx = (file.width - w) / 2\n\t\timgCoords.sWidth = w\n\t}\n\tif (h < file.height) {\n\t\timgCoords.sy = (file.height - h) / 2\n\t\timgCoords.sHeight = h\n\t}\n\n\treturn imgCoords\n}\n\nexport function webkitIsFile(entry: WebKitFileEntry | WebKitDirectoryEntry): entry is WebKitFileEntry {\n\treturn entry.isFile\n}\n\nexport function webkitIsDir(entry: WebKitFileEntry | WebKitDirectoryEntry): entry is WebKitDirectoryEntry {\n\treturn entry.isDirectory\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/core/utils.ts","import { VueTransmit } from \"./src\"\n\nexport default {\n\tinstall(Vue, _options) {\n\t\tVue.component(\"VueTransmit\", VueTransmit)\n\t},\n\tname: \"vue-transmit\",\n}\n\n\n\n// WEBPACK FOOTER //\n// ./index.ts","import VueTransmit from \"./components/VueTransmit.vue\"\n\nexport { VueTransmit }\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.ts","function injectStyle (ssrContext) {\n require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-61e675b9\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader!postcss-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./VueTransmit.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!vue-ts-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./VueTransmit.vue\"\nimport __vue_script__ from \"!!babel-loader!vue-ts-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./VueTransmit.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-61e675b9\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./VueTransmit.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/VueTransmit.vue\n// module id = 5\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/extract-text-webpack-plugin/dist/loader.js?{\"omit\":1,\"remove\":true}!./node_modules/vue-style-loader!./node_modules/css-loader!./node_modules/vue-loader/lib/style-compiler?{\"vue\":true,\"id\":\"data-v-61e675b9\",\"scoped\":false,\"hasInlineConfig\":false}!./node_modules/sass-loader/lib/loader.js!./node_modules/postcss-loader/lib?{\"sourceMap\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./src/components/VueTransmit.vue\n// module id = 6\n// module chunks = 0","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file.\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nmodule.exports = function normalizeComponent (\n rawScriptExports,\n compiledTemplate,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */\n) {\n var esModule\n var scriptExports = rawScriptExports = rawScriptExports || {}\n\n // ES6 modules interop\n var type = typeof rawScriptExports.default\n if (type === 'object' || type === 'function') {\n esModule = rawScriptExports\n scriptExports = rawScriptExports.default\n }\n\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (compiledTemplate) {\n options.render = compiledTemplate.render\n options.staticRenderFns = compiledTemplate.staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = injectStyles\n }\n\n if (hook) {\n var functional = options.functional\n var existing = functional\n ? options.render\n : options.beforeCreate\n\n if (!functional) {\n // inject component registration as beforeCreate hook\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n } else {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return existing(h, context)\n }\n }\n }\n\n return {\n esModule: esModule,\n exports: scriptExports,\n options: options\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/component-normalizer.js\n// module id = 7\n// module chunks = 0","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('vue'), require('vue-class-component'), require('reflect-metadata')) :\n\ttypeof define === 'function' && define.amd ? define(['exports', 'vue', 'vue-class-component', 'reflect-metadata'], factory) :\n\t(factory((global.VuePropertyDecorator = {}),global.Vue,global.VueClassComponent));\n}(this, (function (exports,vue,vueClassComponent) { 'use strict';\n\nvue = vue && vue.hasOwnProperty('default') ? vue['default'] : vue;\nvar vueClassComponent__default = 'default' in vueClassComponent ? vueClassComponent['default'] : vueClassComponent;\n\n/** vue-property-decorator verson 6.0.0 MIT LICENSE copyright 2017 kaorun343 */\n'use strict';\n/**\n * decorator of an inject\n * @param key key\n * @return PropertyDecorator\n */\nfunction Inject(key) {\n return vueClassComponent.createDecorator(function (componentOptions, k) {\n if (typeof componentOptions.inject === 'undefined') {\n componentOptions.inject = {};\n }\n if (!Array.isArray(componentOptions.inject)) {\n componentOptions.inject[k] = key || k;\n }\n });\n}\n/**\n * decorator of a provide\n * @param key key\n * @return PropertyDecorator | void\n */\nfunction Provide(key) {\n return vueClassComponent.createDecorator(function (componentOptions, k) {\n var provide = componentOptions.provide;\n if (typeof provide !== 'function' || !provide.managed) {\n var original_1 = componentOptions.provide;\n provide = componentOptions.provide = function () {\n var rv = Object.create((typeof original_1 === 'function' ? original_1.call(this) : original_1) || null);\n for (var i in provide.managed)\n rv[provide.managed[i]] = this[i];\n return rv;\n };\n provide.managed = {};\n }\n provide.managed[k] = key || k;\n });\n}\n/**\n * decorator of model\n * @param event event name\n * @return PropertyDecorator\n */\nfunction Model(event, options) {\n if (options === void 0) { options = {}; }\n return function (target, key) {\n if (!Array.isArray(options) && typeof options.type === 'undefined') {\n options.type = Reflect.getMetadata('design:type', target, key);\n }\n vueClassComponent.createDecorator(function (componentOptions, k) {\n (componentOptions.props || (componentOptions.props = {}))[k] = options;\n componentOptions.model = { prop: k, event: event || k };\n })(target, key);\n };\n}\n/**\n * decorator of a prop\n * @param options the options for the prop\n * @return PropertyDecorator | void\n */\nfunction Prop(options) {\n if (options === void 0) { options = {}; }\n return function (target, key) {\n if (!Array.isArray(options) && typeof options.type === 'undefined') {\n options.type = Reflect.getMetadata('design:type', target, key);\n }\n vueClassComponent.createDecorator(function (componentOptions, k) {\n (componentOptions.props || (componentOptions.props = {}))[k] = options;\n })(target, key);\n };\n}\n/**\n * decorator of a watch function\n * @param path the path or the expression to observe\n * @param WatchOption\n * @return MethodDecorator\n */\nfunction Watch(path, options) {\n if (options === void 0) { options = {}; }\n var _a = options.deep, deep = _a === void 0 ? false : _a, _b = options.immediate, immediate = _b === void 0 ? false : _b;\n return vueClassComponent.createDecorator(function (componentOptions, handler) {\n if (typeof componentOptions.watch !== 'object') {\n componentOptions.watch = Object.create(null);\n }\n componentOptions.watch[path] = { handler: handler, deep: deep, immediate: immediate };\n });\n}\n// Code copied from Vue/src/shared/util.js\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = function (str) { return str.replace(hyphenateRE, '-$1').toLowerCase(); };\n/**\n * decorator of an event-emitter function\n * @param event The name of the event\n * @return MethodDecorator\n */\nfunction Emit(event) {\n return function (target, key, descriptor) {\n key = hyphenate(key);\n var original = descriptor.value;\n descriptor.value = function emitter() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (original.apply(this, args) !== false)\n this.$emit.apply(this, [event || key].concat(args));\n };\n };\n}\n\nexports.Component = vueClassComponent__default;\nexports.Vue = vue;\nexports.Inject = Inject;\nexports.Provide = Provide;\nexports.Model = Model;\nexports.Prop = Prop;\nexports.Watch = Watch;\nexports.Emit = Emit;\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-property-decorator/lib/vue-property-decorator.umd.js\n// module id = 8\n// module chunks = 0","/**\n * vue-class-component v6.1.2\n * (c) 2015-2017 Evan You\n * @license MIT\n */\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar Vue = _interopDefault(require('vue'));\n\nvar hasProto = { __proto__: [] } instanceof Array;\nfunction createDecorator(factory) {\n return function (target, key, index) {\n var Ctor = typeof target === 'function'\n ? target\n : target.constructor;\n if (!Ctor.__decorators__) {\n Ctor.__decorators__ = [];\n }\n if (typeof index !== 'number') {\n index = undefined;\n }\n Ctor.__decorators__.push(function (options) { return factory(options, key, index); });\n };\n}\nfunction isPrimitive(value) {\n var type = typeof value;\n return value == null || (type !== \"object\" && type !== \"function\");\n}\nfunction warn(message) {\n if (typeof console !== 'undefined') {\n console.warn('[vue-class-component] ' + message);\n }\n}\n\nfunction collectDataFromConstructor(vm, Component) {\n var originalInit = Component.prototype._init;\n Component.prototype._init = function () {\n var _this = this;\n var keys = Object.getOwnPropertyNames(vm);\n if (vm.$options.props) {\n for (var key in vm.$options.props) {\n if (!vm.hasOwnProperty(key)) {\n keys.push(key);\n }\n }\n }\n keys.forEach(function (key) {\n if (key.charAt(0) !== '_') {\n Object.defineProperty(_this, key, {\n get: function () { return vm[key]; },\n set: function (value) { return vm[key] = value; },\n configurable: true\n });\n }\n });\n };\n var data = new Component();\n Component.prototype._init = originalInit;\n var plainData = {};\n Object.keys(data).forEach(function (key) {\n if (data[key] !== undefined) {\n plainData[key] = data[key];\n }\n });\n if (process.env.NODE_ENV !== 'production') {\n if (!(Component.prototype instanceof Vue) && Object.keys(plainData).length > 0) {\n warn('Component class must inherit Vue or its descendant class ' +\n 'when class property is used.');\n }\n }\n return plainData;\n}\n\nvar $internalHooks = [\n 'data',\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeDestroy',\n 'destroyed',\n 'beforeUpdate',\n 'updated',\n 'activated',\n 'deactivated',\n 'render',\n 'errorCaptured'\n];\nfunction componentFactory(Component, options) {\n if (options === void 0) { options = {}; }\n options.name = options.name || Component._componentTag || Component.name;\n var proto = Component.prototype;\n Object.getOwnPropertyNames(proto).forEach(function (key) {\n if (key === 'constructor') {\n return;\n }\n if ($internalHooks.indexOf(key) > -1) {\n options[key] = proto[key];\n return;\n }\n var descriptor = Object.getOwnPropertyDescriptor(proto, key);\n if (typeof descriptor.value === 'function') {\n (options.methods || (options.methods = {}))[key] = descriptor.value;\n }\n else if (descriptor.get || descriptor.set) {\n (options.computed || (options.computed = {}))[key] = {\n get: descriptor.get,\n set: descriptor.set\n };\n }\n });\n (options.mixins || (options.mixins = [])).push({\n data: function () {\n return collectDataFromConstructor(this, Component);\n }\n });\n var decorators = Component.__decorators__;\n if (decorators) {\n decorators.forEach(function (fn) { return fn(options); });\n delete Component.__decorators__;\n }\n var superProto = Object.getPrototypeOf(Component.prototype);\n var Super = superProto instanceof Vue\n ? superProto.constructor\n : Vue;\n var Extended = Super.extend(options);\n forwardStaticMembers(Extended, Component, Super);\n return Extended;\n}\nvar reservedPropertyNames = [\n 'cid',\n 'super',\n 'options',\n 'superOptions',\n 'extendOptions',\n 'sealedOptions',\n 'component',\n 'directive',\n 'filter'\n];\nfunction forwardStaticMembers(Extended, Original, Super) {\n Object.getOwnPropertyNames(Original).forEach(function (key) {\n if (key === 'prototype') {\n return;\n }\n var extendedDescriptor = Object.getOwnPropertyDescriptor(Extended, key);\n if (extendedDescriptor && !extendedDescriptor.configurable) {\n return;\n }\n var descriptor = Object.getOwnPropertyDescriptor(Original, key);\n if (!hasProto) {\n if (key === 'cid') {\n return;\n }\n var superDescriptor = Object.getOwnPropertyDescriptor(Super, key);\n if (!isPrimitive(descriptor.value)\n && superDescriptor\n && superDescriptor.value === descriptor.value) {\n return;\n }\n }\n if (process.env.NODE_ENV !== 'production'\n && reservedPropertyNames.indexOf(key) >= 0) {\n warn(\"Static property name '\" + key + \"' declared on class '\" + Original.name + \"' \" +\n 'conflicts with reserved property name of Vue internal. ' +\n 'It may cause unexpected behavior of the component. Consider renaming the property.');\n }\n Object.defineProperty(Extended, key, descriptor);\n });\n}\n\nfunction Component(options) {\n if (typeof options === 'function') {\n return componentFactory(options);\n }\n return function (Component) {\n return componentFactory(Component, options);\n };\n}\n(function (Component) {\n function registerHooks(keys) {\n $internalHooks.push.apply($internalHooks, keys);\n }\n Component.registerHooks = registerHooks;\n})(Component || (Component = {}));\nvar Component$1 = Component;\n\nexports['default'] = Component$1;\nexports.createDecorator = createDecorator;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-class-component/dist/vue-class-component.common.js\n// module id = 9\n// module chunks = 0","/*! *****************************************************************************\r\nCopyright (C) Microsoft. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\nvar Reflect;\r\n(function (Reflect) {\r\n \"use strict\";\r\n var hasOwn = Object.prototype.hasOwnProperty;\r\n // feature test for Symbol support\r\n var supportsSymbol = typeof Symbol === \"function\";\r\n var toPrimitiveSymbol = supportsSymbol && typeof Symbol.toPrimitive !== \"undefined\" ? Symbol.toPrimitive : \"@@toPrimitive\";\r\n var iteratorSymbol = supportsSymbol && typeof Symbol.iterator !== \"undefined\" ? Symbol.iterator : \"@@iterator\";\r\n var HashMap;\r\n (function (HashMap) {\r\n var supportsCreate = typeof Object.create === \"function\"; // feature test for Object.create support\r\n var supportsProto = { __proto__: [] } instanceof Array; // feature test for __proto__ support\r\n var downLevel = !supportsCreate && !supportsProto;\r\n // create an object in dictionary mode (a.k.a. \"slow\" mode in v8)\r\n HashMap.create = supportsCreate\r\n ? function () { return MakeDictionary(Object.create(null)); }\r\n : supportsProto\r\n ? function () { return MakeDictionary({ __proto__: null }); }\r\n : function () { return MakeDictionary({}); };\r\n HashMap.has = downLevel\r\n ? function (map, key) { return hasOwn.call(map, key); }\r\n : function (map, key) { return key in map; };\r\n HashMap.get = downLevel\r\n ? function (map, key) { return hasOwn.call(map, key) ? map[key] : undefined; }\r\n : function (map, key) { return map[key]; };\r\n })(HashMap || (HashMap = {}));\r\n // Load global or shim versions of Map, Set, and WeakMap\r\n var functionPrototype = Object.getPrototypeOf(Function);\r\n var usePolyfill = typeof process === \"object\" && process.env && process.env[\"REFLECT_METADATA_USE_MAP_POLYFILL\"] === \"true\";\r\n var _Map = !usePolyfill && typeof Map === \"function\" && typeof Map.prototype.entries === \"function\" ? Map : CreateMapPolyfill();\r\n var _Set = !usePolyfill && typeof Set === \"function\" && typeof Set.prototype.entries === \"function\" ? Set : CreateSetPolyfill();\r\n var _WeakMap = !usePolyfill && typeof WeakMap === \"function\" ? WeakMap : CreateWeakMapPolyfill();\r\n // [[Metadata]] internal slot\r\n // https://rbuckton.github.io/reflect-metadata/#ordinary-object-internal-methods-and-internal-slots\r\n var Metadata = new _WeakMap();\r\n /**\r\n * Applies a set of decorators to a property of a target object.\r\n * @param decorators An array of decorators.\r\n * @param target The target object.\r\n * @param propertyKey (Optional) The property key to decorate.\r\n * @param attributes (Optional) The property descriptor for the target key.\r\n * @remarks Decorators are applied in reverse order.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * Example = Reflect.decorate(decoratorsArray, Example);\r\n *\r\n * // property (on constructor)\r\n * Reflect.decorate(decoratorsArray, Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * Reflect.decorate(decoratorsArray, Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * Object.defineProperty(Example, \"staticMethod\",\r\n * Reflect.decorate(decoratorsArray, Example, \"staticMethod\",\r\n * Object.getOwnPropertyDescriptor(Example, \"staticMethod\")));\r\n *\r\n * // method (on prototype)\r\n * Object.defineProperty(Example.prototype, \"method\",\r\n * Reflect.decorate(decoratorsArray, Example.prototype, \"method\",\r\n * Object.getOwnPropertyDescriptor(Example.prototype, \"method\")));\r\n *\r\n */\r\n function decorate(decorators, target, propertyKey, attributes) {\r\n if (!IsUndefined(propertyKey)) {\r\n if (!IsArray(decorators))\r\n throw new TypeError();\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsObject(attributes) && !IsUndefined(attributes) && !IsNull(attributes))\r\n throw new TypeError();\r\n if (IsNull(attributes))\r\n attributes = undefined;\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return DecorateProperty(decorators, target, propertyKey, attributes);\r\n }\r\n else {\r\n if (!IsArray(decorators))\r\n throw new TypeError();\r\n if (!IsConstructor(target))\r\n throw new TypeError();\r\n return DecorateConstructor(decorators, target);\r\n }\r\n }\r\n Reflect.decorate = decorate;\r\n // 4.1.2 Reflect.metadata(metadataKey, metadataValue)\r\n // https://rbuckton.github.io/reflect-metadata/#reflect.metadata\r\n /**\r\n * A default metadata decorator factory that can be used on a class, class member, or parameter.\r\n * @param metadataKey The key for the metadata entry.\r\n * @param metadataValue The value for the metadata entry.\r\n * @returns A decorator function.\r\n * @remarks\r\n * If `metadataKey` is already defined for the target and target key, the\r\n * metadataValue for that key will be overwritten.\r\n * @example\r\n *\r\n * // constructor\r\n * @Reflect.metadata(key, value)\r\n * class Example {\r\n * }\r\n *\r\n * // property (on constructor, TypeScript only)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * static staticProperty;\r\n * }\r\n *\r\n * // property (on prototype, TypeScript only)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * property;\r\n * }\r\n *\r\n * // method (on constructor)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * static staticMethod() { }\r\n * }\r\n *\r\n * // method (on prototype)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * method() { }\r\n * }\r\n *\r\n */\r\n function metadata(metadataKey, metadataValue) {\r\n function decorator(target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey) && !IsPropertyKey(propertyKey))\r\n throw new TypeError();\r\n OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey);\r\n }\r\n return decorator;\r\n }\r\n Reflect.metadata = metadata;\r\n /**\r\n * Define a unique metadata entry on the target.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param metadataValue A value that contains attached metadata.\r\n * @param target The target object on which to define metadata.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example);\r\n *\r\n * // property (on constructor)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example.prototype, \"method\");\r\n *\r\n * // decorator factory as metadata-producing annotation.\r\n * function MyAnnotation(options): Decorator {\r\n * return (target, key?) => Reflect.defineMetadata(\"custom:annotation\", options, target, key);\r\n * }\r\n *\r\n */\r\n function defineMetadata(metadataKey, metadataValue, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey);\r\n }\r\n Reflect.defineMetadata = defineMetadata;\r\n /**\r\n * Gets a value indicating whether the target object or its prototype chain has the provided metadata key defined.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns `true` if the metadata key was defined on the target object or its prototype chain; otherwise, `false`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function hasMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryHasMetadata(metadataKey, target, propertyKey);\r\n }\r\n Reflect.hasMetadata = hasMetadata;\r\n /**\r\n * Gets a value indicating whether the target object has the provided metadata key defined.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns `true` if the metadata key was defined on the target object; otherwise, `false`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function hasOwnMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryHasOwnMetadata(metadataKey, target, propertyKey);\r\n }\r\n Reflect.hasOwnMetadata = hasOwnMetadata;\r\n /**\r\n * Gets the metadata value for the provided metadata key on the target object or its prototype chain.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns The metadata value for the metadata key if found; otherwise, `undefined`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function getMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryGetMetadata(metadataKey, target, propertyKey);\r\n }\r\n Reflect.getMetadata = getMetadata;\r\n /**\r\n * Gets the metadata value for the provided metadata key on the target object.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns The metadata value for the metadata key if found; otherwise, `undefined`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function getOwnMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryGetOwnMetadata(metadataKey, target, propertyKey);\r\n }\r\n Reflect.getOwnMetadata = getOwnMetadata;\r\n /**\r\n * Gets the metadata keys defined on the target object or its prototype chain.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns An array of unique metadata keys.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getMetadataKeys(Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getMetadataKeys(Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getMetadataKeys(Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getMetadataKeys(Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getMetadataKeys(Example.prototype, \"method\");\r\n *\r\n */\r\n function getMetadataKeys(target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryMetadataKeys(target, propertyKey);\r\n }\r\n Reflect.getMetadataKeys = getMetadataKeys;\r\n /**\r\n * Gets the unique metadata keys defined on the target object.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns An array of unique metadata keys.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getOwnMetadataKeys(Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getOwnMetadataKeys(Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getOwnMetadataKeys(Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getOwnMetadataKeys(Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getOwnMetadataKeys(Example.prototype, \"method\");\r\n *\r\n */\r\n function getOwnMetadataKeys(target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryOwnMetadataKeys(target, propertyKey);\r\n }\r\n Reflect.getOwnMetadataKeys = getOwnMetadataKeys;\r\n /**\r\n * Deletes the metadata entry from the target object with the provided key.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns `true` if the metadata entry was found and deleted; otherwise, false.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function deleteMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n var metadataMap = GetOrCreateMetadataMap(target, propertyKey, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return false;\r\n if (!metadataMap.delete(metadataKey))\r\n return false;\r\n if (metadataMap.size > 0)\r\n return true;\r\n var targetMetadata = Metadata.get(target);\r\n targetMetadata.delete(propertyKey);\r\n if (targetMetadata.size > 0)\r\n return true;\r\n Metadata.delete(target);\r\n return true;\r\n }\r\n Reflect.deleteMetadata = deleteMetadata;\r\n function DecorateConstructor(decorators, target) {\r\n for (var i = decorators.length - 1; i >= 0; --i) {\r\n var decorator = decorators[i];\r\n var decorated = decorator(target);\r\n if (!IsUndefined(decorated) && !IsNull(decorated)) {\r\n if (!IsConstructor(decorated))\r\n throw new TypeError();\r\n target = decorated;\r\n }\r\n }\r\n return target;\r\n }\r\n function DecorateProperty(decorators, target, propertyKey, descriptor) {\r\n for (var i = decorators.length - 1; i >= 0; --i) {\r\n var decorator = decorators[i];\r\n var decorated = decorator(target, propertyKey, descriptor);\r\n if (!IsUndefined(decorated) && !IsNull(decorated)) {\r\n if (!IsObject(decorated))\r\n throw new TypeError();\r\n descriptor = decorated;\r\n }\r\n }\r\n return descriptor;\r\n }\r\n function GetOrCreateMetadataMap(O, P, Create) {\r\n var targetMetadata = Metadata.get(O);\r\n if (IsUndefined(targetMetadata)) {\r\n if (!Create)\r\n return undefined;\r\n targetMetadata = new _Map();\r\n Metadata.set(O, targetMetadata);\r\n }\r\n var metadataMap = targetMetadata.get(P);\r\n if (IsUndefined(metadataMap)) {\r\n if (!Create)\r\n return undefined;\r\n metadataMap = new _Map();\r\n targetMetadata.set(P, metadataMap);\r\n }\r\n return metadataMap;\r\n }\r\n // 3.1.1.1 OrdinaryHasMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinaryhasmetadata\r\n function OrdinaryHasMetadata(MetadataKey, O, P) {\r\n var hasOwn = OrdinaryHasOwnMetadata(MetadataKey, O, P);\r\n if (hasOwn)\r\n return true;\r\n var parent = OrdinaryGetPrototypeOf(O);\r\n if (!IsNull(parent))\r\n return OrdinaryHasMetadata(MetadataKey, parent, P);\r\n return false;\r\n }\r\n // 3.1.2.1 OrdinaryHasOwnMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinaryhasownmetadata\r\n function OrdinaryHasOwnMetadata(MetadataKey, O, P) {\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return false;\r\n return ToBoolean(metadataMap.has(MetadataKey));\r\n }\r\n // 3.1.3.1 OrdinaryGetMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarygetmetadata\r\n function OrdinaryGetMetadata(MetadataKey, O, P) {\r\n var hasOwn = OrdinaryHasOwnMetadata(MetadataKey, O, P);\r\n if (hasOwn)\r\n return OrdinaryGetOwnMetadata(MetadataKey, O, P);\r\n var parent = OrdinaryGetPrototypeOf(O);\r\n if (!IsNull(parent))\r\n return OrdinaryGetMetadata(MetadataKey, parent, P);\r\n return undefined;\r\n }\r\n // 3.1.4.1 OrdinaryGetOwnMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarygetownmetadata\r\n function OrdinaryGetOwnMetadata(MetadataKey, O, P) {\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return undefined;\r\n return metadataMap.get(MetadataKey);\r\n }\r\n // 3.1.5.1 OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarydefineownmetadata\r\n function OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P) {\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ true);\r\n metadataMap.set(MetadataKey, MetadataValue);\r\n }\r\n // 3.1.6.1 OrdinaryMetadataKeys(O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarymetadatakeys\r\n function OrdinaryMetadataKeys(O, P) {\r\n var ownKeys = OrdinaryOwnMetadataKeys(O, P);\r\n var parent = OrdinaryGetPrototypeOf(O);\r\n if (parent === null)\r\n return ownKeys;\r\n var parentKeys = OrdinaryMetadataKeys(parent, P);\r\n if (parentKeys.length <= 0)\r\n return ownKeys;\r\n if (ownKeys.length <= 0)\r\n return parentKeys;\r\n var set = new _Set();\r\n var keys = [];\r\n for (var _i = 0, ownKeys_1 = ownKeys; _i < ownKeys_1.length; _i++) {\r\n var key = ownKeys_1[_i];\r\n var hasKey = set.has(key);\r\n if (!hasKey) {\r\n set.add(key);\r\n keys.push(key);\r\n }\r\n }\r\n for (var _a = 0, parentKeys_1 = parentKeys; _a < parentKeys_1.length; _a++) {\r\n var key = parentKeys_1[_a];\r\n var hasKey = set.has(key);\r\n if (!hasKey) {\r\n set.add(key);\r\n keys.push(key);\r\n }\r\n }\r\n return keys;\r\n }\r\n // 3.1.7.1 OrdinaryOwnMetadataKeys(O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinaryownmetadatakeys\r\n function OrdinaryOwnMetadataKeys(O, P) {\r\n var keys = [];\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return keys;\r\n var keysObj = metadataMap.keys();\r\n var iterator = GetIterator(keysObj);\r\n var k = 0;\r\n while (true) {\r\n var next = IteratorStep(iterator);\r\n if (!next) {\r\n keys.length = k;\r\n return keys;\r\n }\r\n var nextValue = IteratorValue(next);\r\n try {\r\n keys[k] = nextValue;\r\n }\r\n catch (e) {\r\n try {\r\n IteratorClose(iterator);\r\n }\r\n finally {\r\n throw e;\r\n }\r\n }\r\n k++;\r\n }\r\n }\r\n // 6 ECMAScript Data Typ0es and Values\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-data-types-and-values\r\n function Type(x) {\r\n if (x === null)\r\n return 1 /* Null */;\r\n switch (typeof x) {\r\n case \"undefined\": return 0 /* Undefined */;\r\n case \"boolean\": return 2 /* Boolean */;\r\n case \"string\": return 3 /* String */;\r\n case \"symbol\": return 4 /* Symbol */;\r\n case \"number\": return 5 /* Number */;\r\n case \"object\": return x === null ? 1 /* Null */ : 6 /* Object */;\r\n default: return 6 /* Object */;\r\n }\r\n }\r\n // 6.1.1 The Undefined Type\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-undefined-type\r\n function IsUndefined(x) {\r\n return x === undefined;\r\n }\r\n // 6.1.2 The Null Type\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-null-type\r\n function IsNull(x) {\r\n return x === null;\r\n }\r\n // 6.1.5 The Symbol Type\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-symbol-type\r\n function IsSymbol(x) {\r\n return typeof x === \"symbol\";\r\n }\r\n // 6.1.7 The Object Type\r\n // https://tc39.github.io/ecma262/#sec-object-type\r\n function IsObject(x) {\r\n return typeof x === \"object\" ? x !== null : typeof x === \"function\";\r\n }\r\n // 7.1 Type Conversion\r\n // https://tc39.github.io/ecma262/#sec-type-conversion\r\n // 7.1.1 ToPrimitive(input [, PreferredType])\r\n // https://tc39.github.io/ecma262/#sec-toprimitive\r\n function ToPrimitive(input, PreferredType) {\r\n switch (Type(input)) {\r\n case 0 /* Undefined */: return input;\r\n case 1 /* Null */: return input;\r\n case 2 /* Boolean */: return input;\r\n case 3 /* String */: return input;\r\n case 4 /* Symbol */: return input;\r\n case 5 /* Number */: return input;\r\n }\r\n var hint = PreferredType === 3 /* String */ ? \"string\" : PreferredType === 5 /* Number */ ? \"number\" : \"default\";\r\n var exoticToPrim = GetMethod(input, toPrimitiveSymbol);\r\n if (exoticToPrim !== undefined) {\r\n var result = exoticToPrim.call(input, hint);\r\n if (IsObject(result))\r\n throw new TypeError();\r\n return result;\r\n }\r\n return OrdinaryToPrimitive(input, hint === \"default\" ? \"number\" : hint);\r\n }\r\n // 7.1.1.1 OrdinaryToPrimitive(O, hint)\r\n // https://tc39.github.io/ecma262/#sec-ordinarytoprimitive\r\n function OrdinaryToPrimitive(O, hint) {\r\n if (hint === \"string\") {\r\n var toString_1 = O.toString;\r\n if (IsCallable(toString_1)) {\r\n var result = toString_1.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n var valueOf = O.valueOf;\r\n if (IsCallable(valueOf)) {\r\n var result = valueOf.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n }\r\n else {\r\n var valueOf = O.valueOf;\r\n if (IsCallable(valueOf)) {\r\n var result = valueOf.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n var toString_2 = O.toString;\r\n if (IsCallable(toString_2)) {\r\n var result = toString_2.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n }\r\n throw new TypeError();\r\n }\r\n // 7.1.2 ToBoolean(argument)\r\n // https://tc39.github.io/ecma262/2016/#sec-toboolean\r\n function ToBoolean(argument) {\r\n return !!argument;\r\n }\r\n // 7.1.12 ToString(argument)\r\n // https://tc39.github.io/ecma262/#sec-tostring\r\n function ToString(argument) {\r\n return \"\" + argument;\r\n }\r\n // 7.1.14 ToPropertyKey(argument)\r\n // https://tc39.github.io/ecma262/#sec-topropertykey\r\n function ToPropertyKey(argument) {\r\n var key = ToPrimitive(argument, 3 /* String */);\r\n if (IsSymbol(key))\r\n return key;\r\n return ToString(key);\r\n }\r\n // 7.2 Testing and Comparison Operations\r\n // https://tc39.github.io/ecma262/#sec-testing-and-comparison-operations\r\n // 7.2.2 IsArray(argument)\r\n // https://tc39.github.io/ecma262/#sec-isarray\r\n function IsArray(argument) {\r\n return Array.isArray\r\n ? Array.isArray(argument)\r\n : argument instanceof Object\r\n ? argument instanceof Array\r\n : Object.prototype.toString.call(argument) === \"[object Array]\";\r\n }\r\n // 7.2.3 IsCallable(argument)\r\n // https://tc39.github.io/ecma262/#sec-iscallable\r\n function IsCallable(argument) {\r\n // NOTE: This is an approximation as we cannot check for [[Call]] internal method.\r\n return typeof argument === \"function\";\r\n }\r\n // 7.2.4 IsConstructor(argument)\r\n // https://tc39.github.io/ecma262/#sec-isconstructor\r\n function IsConstructor(argument) {\r\n // NOTE: This is an approximation as we cannot check for [[Construct]] internal method.\r\n return typeof argument === \"function\";\r\n }\r\n // 7.2.7 IsPropertyKey(argument)\r\n // https://tc39.github.io/ecma262/#sec-ispropertykey\r\n function IsPropertyKey(argument) {\r\n switch (Type(argument)) {\r\n case 3 /* String */: return true;\r\n case 4 /* Symbol */: return true;\r\n default: return false;\r\n }\r\n }\r\n // 7.3 Operations on Objects\r\n // https://tc39.github.io/ecma262/#sec-operations-on-objects\r\n // 7.3.9 GetMethod(V, P)\r\n // https://tc39.github.io/ecma262/#sec-getmethod\r\n function GetMethod(V, P) {\r\n var func = V[P];\r\n if (func === undefined || func === null)\r\n return undefined;\r\n if (!IsCallable(func))\r\n throw new TypeError();\r\n return func;\r\n }\r\n // 7.4 Operations on Iterator Objects\r\n // https://tc39.github.io/ecma262/#sec-operations-on-iterator-objects\r\n function GetIterator(obj) {\r\n var method = GetMethod(obj, iteratorSymbol);\r\n if (!IsCallable(method))\r\n throw new TypeError(); // from Call\r\n var iterator = method.call(obj);\r\n if (!IsObject(iterator))\r\n throw new TypeError();\r\n return iterator;\r\n }\r\n // 7.4.4 IteratorValue(iterResult)\r\n // https://tc39.github.io/ecma262/2016/#sec-iteratorvalue\r\n function IteratorValue(iterResult) {\r\n return iterResult.value;\r\n }\r\n // 7.4.5 IteratorStep(iterator)\r\n // https://tc39.github.io/ecma262/#sec-iteratorstep\r\n function IteratorStep(iterator) {\r\n var result = iterator.next();\r\n return result.done ? false : result;\r\n }\r\n // 7.4.6 IteratorClose(iterator, completion)\r\n // https://tc39.github.io/ecma262/#sec-iteratorclose\r\n function IteratorClose(iterator) {\r\n var f = iterator[\"return\"];\r\n if (f)\r\n f.call(iterator);\r\n }\r\n // 9.1 Ordinary Object Internal Methods and Internal Slots\r\n // https://tc39.github.io/ecma262/#sec-ordinary-object-internal-methods-and-internal-slots\r\n // 9.1.1.1 OrdinaryGetPrototypeOf(O)\r\n // https://tc39.github.io/ecma262/#sec-ordinarygetprototypeof\r\n function OrdinaryGetPrototypeOf(O) {\r\n var proto = Object.getPrototypeOf(O);\r\n if (typeof O !== \"function\" || O === functionPrototype)\r\n return proto;\r\n // TypeScript doesn't set __proto__ in ES5, as it's non-standard.\r\n // Try to determine the superclass constructor. Compatible implementations\r\n // must either set __proto__ on a subclass constructor to the superclass constructor,\r\n // or ensure each class has a valid `constructor` property on its prototype that\r\n // points back to the constructor.\r\n // If this is not the same as Function.[[Prototype]], then this is definately inherited.\r\n // This is the case when in ES6 or when using __proto__ in a compatible browser.\r\n if (proto !== functionPrototype)\r\n return proto;\r\n // If the super prototype is Object.prototype, null, or undefined, then we cannot determine the heritage.\r\n var prototype = O.prototype;\r\n var prototypeProto = prototype && Object.getPrototypeOf(prototype);\r\n if (prototypeProto == null || prototypeProto === Object.prototype)\r\n return proto;\r\n // If the constructor was not a function, then we cannot determine the heritage.\r\n var constructor = prototypeProto.constructor;\r\n if (typeof constructor !== \"function\")\r\n return proto;\r\n // If we have some kind of self-reference, then we cannot determine the heritage.\r\n if (constructor === O)\r\n return proto;\r\n // we have a pretty good guess at the heritage.\r\n return constructor;\r\n }\r\n // naive Map shim\r\n function CreateMapPolyfill() {\r\n var cacheSentinel = {};\r\n var arraySentinel = [];\r\n var MapIterator = (function () {\r\n function MapIterator(keys, values, selector) {\r\n this._index = 0;\r\n this._keys = keys;\r\n this._values = values;\r\n this._selector = selector;\r\n }\r\n MapIterator.prototype[\"@@iterator\"] = function () { return this; };\r\n MapIterator.prototype[iteratorSymbol] = function () { return this; };\r\n MapIterator.prototype.next = function () {\r\n var index = this._index;\r\n if (index >= 0 && index < this._keys.length) {\r\n var result = this._selector(this._keys[index], this._values[index]);\r\n if (index + 1 >= this._keys.length) {\r\n this._index = -1;\r\n this._keys = arraySentinel;\r\n this._values = arraySentinel;\r\n }\r\n else {\r\n this._index++;\r\n }\r\n return { value: result, done: false };\r\n }\r\n return { value: undefined, done: true };\r\n };\r\n MapIterator.prototype.throw = function (error) {\r\n if (this._index >= 0) {\r\n this._index = -1;\r\n this._keys = arraySentinel;\r\n this._values = arraySentinel;\r\n }\r\n throw error;\r\n };\r\n MapIterator.prototype.return = function (value) {\r\n if (this._index >= 0) {\r\n this._index = -1;\r\n this._keys = arraySentinel;\r\n this._values = arraySentinel;\r\n }\r\n return { value: value, done: true };\r\n };\r\n return MapIterator;\r\n }());\r\n return (function () {\r\n function Map() {\r\n this._keys = [];\r\n this._values = [];\r\n this._cacheKey = cacheSentinel;\r\n this._cacheIndex = -2;\r\n }\r\n Object.defineProperty(Map.prototype, \"size\", {\r\n get: function () { return this._keys.length; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Map.prototype.has = function (key) { return this._find(key, /*insert*/ false) >= 0; };\r\n Map.prototype.get = function (key) {\r\n var index = this._find(key, /*insert*/ false);\r\n return index >= 0 ? this._values[index] : undefined;\r\n };\r\n Map.prototype.set = function (key, value) {\r\n var index = this._find(key, /*insert*/ true);\r\n this._values[index] = value;\r\n return this;\r\n };\r\n Map.prototype.delete = function (key) {\r\n var index = this._find(key, /*insert*/ false);\r\n if (index >= 0) {\r\n var size = this._keys.length;\r\n for (var i = index + 1; i < size; i++) {\r\n this._keys[i - 1] = this._keys[i];\r\n this._values[i - 1] = this._values[i];\r\n }\r\n this._keys.length--;\r\n this._values.length--;\r\n if (key === this._cacheKey) {\r\n this._cacheKey = cacheSentinel;\r\n this._cacheIndex = -2;\r\n }\r\n return true;\r\n }\r\n return false;\r\n };\r\n Map.prototype.clear = function () {\r\n this._keys.length = 0;\r\n this._values.length = 0;\r\n this._cacheKey = cacheSentinel;\r\n this._cacheIndex = -2;\r\n };\r\n Map.prototype.keys = function () { return new MapIterator(this._keys, this._values, getKey); };\r\n Map.prototype.values = function () { return new MapIterator(this._keys, this._values, getValue); };\r\n Map.prototype.entries = function () { return new MapIterator(this._keys, this._values, getEntry); };\r\n Map.prototype[\"@@iterator\"] = function () { return this.entries(); };\r\n Map.prototype[iteratorSymbol] = function () { return this.entries(); };\r\n Map.prototype._find = function (key, insert) {\r\n if (this._cacheKey !== key) {\r\n this._cacheIndex = this._keys.indexOf(this._cacheKey = key);\r\n }\r\n if (this._cacheIndex < 0 && insert) {\r\n this._cacheIndex = this._keys.length;\r\n this._keys.push(key);\r\n this._values.push(undefined);\r\n }\r\n return this._cacheIndex;\r\n };\r\n return Map;\r\n }());\r\n function getKey(key, _) {\r\n return key;\r\n }\r\n function getValue(_, value) {\r\n return value;\r\n }\r\n function getEntry(key, value) {\r\n return [key, value];\r\n }\r\n }\r\n // naive Set shim\r\n function CreateSetPolyfill() {\r\n return (function () {\r\n function Set() {\r\n this._map = new _Map();\r\n }\r\n Object.defineProperty(Set.prototype, \"size\", {\r\n get: function () { return this._map.size; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Set.prototype.has = function (value) { return this._map.has(value); };\r\n Set.prototype.add = function (value) { return this._map.set(value, value), this; };\r\n Set.prototype.delete = function (value) { return this._map.delete(value); };\r\n Set.prototype.clear = function () { this._map.clear(); };\r\n Set.prototype.keys = function () { return this._map.keys(); };\r\n Set.prototype.values = function () { return this._map.values(); };\r\n Set.prototype.entries = function () { return this._map.entries(); };\r\n Set.prototype[\"@@iterator\"] = function () { return this.keys(); };\r\n Set.prototype[iteratorSymbol] = function () { return this.keys(); };\r\n return Set;\r\n }());\r\n }\r\n // naive WeakMap shim\r\n function CreateWeakMapPolyfill() {\r\n var UUID_SIZE = 16;\r\n var keys = HashMap.create();\r\n var rootKey = CreateUniqueKey();\r\n return (function () {\r\n function WeakMap() {\r\n this._key = CreateUniqueKey();\r\n }\r\n WeakMap.prototype.has = function (target) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ false);\r\n return table !== undefined ? HashMap.has(table, this._key) : false;\r\n };\r\n WeakMap.prototype.get = function (target) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ false);\r\n return table !== undefined ? HashMap.get(table, this._key) : undefined;\r\n };\r\n WeakMap.prototype.set = function (target, value) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ true);\r\n table[this._key] = value;\r\n return this;\r\n };\r\n WeakMap.prototype.delete = function (target) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ false);\r\n return table !== undefined ? delete table[this._key] : false;\r\n };\r\n WeakMap.prototype.clear = function () {\r\n // NOTE: not a real clear, just makes the previous data unreachable\r\n this._key = CreateUniqueKey();\r\n };\r\n return WeakMap;\r\n }());\r\n function CreateUniqueKey() {\r\n var key;\r\n do\r\n key = \"@@WeakMap@@\" + CreateUUID();\r\n while (HashMap.has(keys, key));\r\n keys[key] = true;\r\n return key;\r\n }\r\n function GetOrCreateWeakMapTable(target, create) {\r\n if (!hasOwn.call(target, rootKey)) {\r\n if (!create)\r\n return undefined;\r\n Object.defineProperty(target, rootKey, { value: HashMap.create() });\r\n }\r\n return target[rootKey];\r\n }\r\n function FillRandomBytes(buffer, size) {\r\n for (var i = 0; i < size; ++i)\r\n buffer[i] = Math.random() * 0xff | 0;\r\n return buffer;\r\n }\r\n function GenRandomBytes(size) {\r\n if (typeof Uint8Array === \"function\") {\r\n if (typeof crypto !== \"undefined\")\r\n return crypto.getRandomValues(new Uint8Array(size));\r\n if (typeof msCrypto !== \"undefined\")\r\n return msCrypto.getRandomValues(new Uint8Array(size));\r\n return FillRandomBytes(new Uint8Array(size), size);\r\n }\r\n return FillRandomBytes(new Array(size), size);\r\n }\r\n function CreateUUID() {\r\n var data = GenRandomBytes(UUID_SIZE);\r\n // mark as random - RFC 4122 ยง 4.4\r\n data[6] = data[6] & 0x4f | 0x40;\r\n data[8] = data[8] & 0xbf | 0x80;\r\n var result = \"\";\r\n for (var offset = 0; offset < UUID_SIZE; ++offset) {\r\n var byte = data[offset];\r\n if (offset === 4 || offset === 6 || offset === 8)\r\n result += \"-\";\r\n if (byte < 16)\r\n result += \"0\";\r\n result += byte.toString(16).toLowerCase();\r\n }\r\n return result;\r\n }\r\n }\r\n // uses a heuristic used by v8 and chakra to force an object into dictionary mode.\r\n function MakeDictionary(obj) {\r\n obj.__ = undefined;\r\n delete obj.__;\r\n return obj;\r\n }\r\n // patch global Reflect\r\n (function (__global) {\r\n if (typeof __global.Reflect !== \"undefined\") {\r\n if (__global.Reflect !== Reflect) {\r\n for (var p in Reflect) {\r\n if (hasOwn.call(Reflect, p)) {\r\n __global.Reflect[p] = Reflect[p];\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n __global.Reflect = Reflect;\r\n }\r\n })(typeof global !== \"undefined\" ? global :\r\n typeof self !== \"undefined\" ? self :\r\n Function(\"return this;\")());\r\n})(Reflect || (Reflect = {}));\r\n//# sourceMappingURL=Reflect.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/reflect-metadata/Reflect.js\n// module id = 10\n// module chunks = 0","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/node-libs-browser/node_modules/process/browser.js\n// module id = 11\n// module chunks = 0","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 12\n// module chunks = 0","/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nexport default noop;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/lodash-es/noop.js","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nexport default identity;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/lodash-es/identity.js","import { assign, defineProperty, copyOwnAndInheritedProps, uniqueId, round, toKbps, toMbps } from \"../core/utils\"\n\nexport interface IUploadStats {\n\tbytesSent: number\n\tprogress: number\n\ttotal: number\n\tspeed: ISpeedStats\n\tstart: number\n\tend: number\n\ttime: number\n}\n\nexport interface ISpeedStats {\n\tkbps: number\n\tmbps: number\n}\n\nclass VTransmitFile {\n\tprivate _nativeFile: File = null\n\tid: string = VTransmitFile.idFactory()\n\taccepted: boolean = undefined // Passed all validation.\n\tlastModified: number = undefined\n\tlastModifiedDate: Date = undefined\n\tname: string = undefined\n\tprocessing: boolean = undefined\n\tsize: number = undefined\n\tstatus: string = undefined\n\ttype: string = undefined\n\tupload: IUploadStats = {\n\t\tbytesSent: 0,\n\t\tprogress: 0,\n\t\ttotal: 0,\n\t\tspeed: {\n\t\t\tkbps: undefined,\n\t\t\tmbps: undefined,\n\t\t},\n\t\tstart: undefined,\n\t\tend: undefined,\n\t\ttime: undefined,\n\t}\n\twebkitRelativePath: USVString = undefined\n\twidth: number = undefined\n\theight: number = undefined\n\txhr: XMLHttpRequest = undefined\n\tprivate _dataUrl: string\n\terrorMessage: string = undefined\n\n\tconstructor(...data: object[]) {\n\t\tassign(this, ...data)\n\t}\n\n\tset(...data: object[]): VTransmitFile {\n\t\tassign(this, ...data)\n\t\treturn this\n\t}\n\n\tcopyNativeFile(file: File): VTransmitFile {\n\t\t// save reference for upload\n\t\tthis.nativeFile = file\n\t\t// Copy props to normal object for Vue reactivity.\n\t\t// Vue cannot define reactive properties on native file's readonly props.\n\t\treturn this.set(copyOwnAndInheritedProps(file))\n\t}\n\n\tcopyOwnAndInheritedProps(...data: object[]): VTransmitFile {\n\t\treturn this.set(...data.map(copyOwnAndInheritedProps))\n\t}\n\n\thandleProgress(e: ProgressEvent): void {\n\t\tthis.startProgress()\n\t\tconst total = e.total || this.upload.total\n\t\tthis.upload.progress = Math.min(100, 100 * e.loaded / total)\n\t\tthis.upload.bytesSent = e.loaded\n\t\tthis.upload.total = total\n\t\tthis.upload.time = (Date.now() - this.upload.start) / 1000\n\t\t// Recalc the upload speed in bytes/sec\n\t\tthis.upload.speed.kbps = round(toKbps(this.upload.bytesSent, this.upload.time))\n\t\tthis.upload.speed.mbps = round(toMbps(this.upload.bytesSent, this.upload.time))\n\t\tif (this.upload.progress === 100) {\n\t\t\tthis.endProgress()\n\t\t}\n\t}\n\n\tstartProgress(): VTransmitFile {\n\t\t// Avoid starting twice\n\t\tif (typeof this.upload.start !== \"number\") {\n\t\t\tthis.upload.start = Date.now()\n\t\t}\n\t\treturn this\n\t}\n\n\tendProgress(): VTransmitFile {\n\t\t// Avoid ending twice\n\t\tif (typeof this.upload.end !== \"number\") {\n\t\t\tthis.upload.end = Date.now()\n\t\t\tthis.upload.time = (Date.now() - this.upload.start) / 1000\n\t\t}\n\t\treturn this\n\t}\n\n\tget nativeFile() {\n\t\treturn this._nativeFile\n\t}\n\n\tset nativeFile(file: File) {\n\t\tif (!(file instanceof File)) {\n\t\t\tthrow new TypeError(`[${VTransmitFile.name}] Expected an instance of File (native).`)\n\t\t}\n\t\tthis._nativeFile = file\n\t\tthis.upload.total = file.size\n\t}\n\n\tget dataUrl() {\n\t\treturn this._dataUrl || \"\"\n\t}\n\n\tset dataUrl(value) {\n\t\tdefineProperty(this, \"_dataUrl\", {\n\t\t\tvalue,\n\t\t\tenumerable: false,\n\t\t\tconfigurable: true,\n\t\t\twritable: true,\n\t\t})\n\t}\n\n\tstatic fromNativeFile(file: File, ...data) {\n\t\tconst instance = new VTransmitFile(...data)\n\t\tinstance.copyNativeFile(file)\n\t\treturn instance\n\t}\n\n\tstatic idFactory() {\n\t\treturn uniqueId(\"v-transmit-file-\")\n\t}\n}\n\nexport default VTransmitFile\n\n\n\n// WEBPACK FOOTER //\n// ./src/classes/VTransmitFile.ts","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(_vm.tag,{tag:\"component\"},[_c('div',_vm._g(_vm._b({staticClass:\"v-transmit__upload-area\",class:[_vm.isDraggingClass, _vm.uploadAreaClasses],attrs:{\"draggable\":\"true\"},on:{\"click\":_vm.handleClickUploaderAction,\"dragstart\":_vm.handleDragStart,\"dragend\":_vm.handleDragEnd,\"dragenter\":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDragEnter($event)},\"dragover\":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDragOver($event)},\"dragleave\":_vm.handleDragLeave,\"drop\":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDrop($event)}}},'div',_vm.uploadAreaAttrs,false),_vm.uploadAreaListeners),[_vm._t(\"default\")],2),_vm._v(\" \"),_vm._t(\"files\",null,null,_vm.fileSlotBindings),_vm._v(\" \"),_c('form',{ref:\"uploadForm\",style:(_vm.formStyles)},[_c('input',{ref:\"hiddenFileInput\",class:[_vm.maxFilesReachedClass],attrs:{\"type\":\"file\",\"multiple\":_vm.multiple,\"accept\":_vm.filesToAccept,\"capture\":_vm.capture},on:{\"change\":_vm.onFileInputChange}})])],2)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-61e675b9\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/VueTransmit.vue\n// module id = 16\n// module chunks = 0"],"sourceRoot":""}
\ No newline at end of file
diff --git a/dist/vue-transmit.common.js b/dist/vue-transmit.common.js
index 86b1cbc..2bd3fcb 100644
--- a/dist/vue-transmit.common.js
+++ b/dist/vue-transmit.common.js
@@ -155,7 +155,7 @@ var VueTransmit = function (_Vue) {
"Cache-Control": "no-cache",
"X-Requested-With": "XMLHttpRequest"
};
- _this.fileInputStyles = {
+ _this.formStyles = {
visibility: "hidden !important",
position: "absolute !important",
top: "0 !important",
@@ -191,6 +191,7 @@ var VueTransmit = function (_Vue) {
key: "onFileInputChange",
value: function onFileInputChange() {
this.$emit("added-files", Array.from(this.inputEl.files).map(this.addFile));
+ this.formEl.reset();
}
}, {
key: "addFile",
@@ -594,7 +595,7 @@ var VueTransmit = function (_Vue) {
var vm = this;
return function onUploadErrorFn() {
if (files[0].status !== STATUSES.CANCELED) {
- var message = vm.dictResponseError.replace(_utils.hbsRegex, (0, _utils.hbsReplacer)({ statusCode: xhr.status }));
+ var message = vm.dictResponseError.replace(_utils.hbsRegex, (0, _utils.hbsReplacer)({ statusText: xhr.statusText, statusCode: xhr.status }));
vm.errorProcessing(files, message, xhr);
}
};
@@ -1070,6 +1071,15 @@ var VueTransmit = function (_Vue) {
}
return el;
}
+ }, {
+ key: "formEl",
+ get: function get() {
+ var el = null;
+ if (this.$refs.uploadForm instanceof HTMLFormElement) {
+ el = this.$refs.uploadForm;
+ }
+ return el;
+ }
}, {
key: "filesToAccept",
get: function get() {
@@ -1188,7 +1198,7 @@ __decorate([(0, _vuePropertyDecorator.Prop)({ type: String, default: null })], V
__decorate([(0, _vuePropertyDecorator.Prop)({ type: Function, default: _identity2.default })], VueTransmit.prototype, "renameFile", void 0);
__decorate([(0, _vuePropertyDecorator.Prop)({ type: String, default: "File is too big ({{ fileSize }}MiB). Max file size: {{ maxFileSize }}MB." })], VueTransmit.prototype, "dictFileTooBig", void 0);
__decorate([(0, _vuePropertyDecorator.Prop)({ type: String, default: "You can't upload files of this type." })], VueTransmit.prototype, "dictInvalidFileType", void 0);
-__decorate([(0, _vuePropertyDecorator.Prop)({ type: String, default: "Server responded with {{ statusCode }} code." })], VueTransmit.prototype, "dictResponseError", void 0);
+__decorate([(0, _vuePropertyDecorator.Prop)({ type: String, default: "Error during upload: {{ statusText }} [{{ statusCode }}]" })], VueTransmit.prototype, "dictResponseError", void 0);
__decorate([(0, _vuePropertyDecorator.Prop)({ type: String, default: "You can not upload any more files." })], VueTransmit.prototype, "dictMaxFilesExceeded", void 0);
__decorate([(0, _vuePropertyDecorator.Prop)({ type: Function, default: function _default(_, done) {
return done();
@@ -1383,7 +1393,7 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_vue_ts_loader_node_modules_vue_loader_lib_selector_type_script_index_0_VueTransmit_vue__ = __webpack_require__(1);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_vue_ts_loader_node_modules_vue_loader_lib_selector_type_script_index_0_VueTransmit_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_vue_ts_loader_node_modules_vue_loader_lib_selector_type_script_index_0_VueTransmit_vue__);
/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_vue_ts_loader_node_modules_vue_loader_lib_selector_type_script_index_0_VueTransmit_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_vue_ts_loader_node_modules_vue_loader_lib_selector_type_script_index_0_VueTransmit_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_25b0f28c_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_VueTransmit_vue__ = __webpack_require__(16);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_61e675b9_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_VueTransmit_vue__ = __webpack_require__(16);
function injectStyle (ssrContext) {
__webpack_require__(6)
}
@@ -1403,7 +1413,7 @@ var __vue_scopeId__ = null
var __vue_module_identifier__ = null
var Component = normalizeComponent(
__WEBPACK_IMPORTED_MODULE_0__babel_loader_vue_ts_loader_node_modules_vue_loader_lib_selector_type_script_index_0_VueTransmit_vue___default.a,
- __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_25b0f28c_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_VueTransmit_vue__["a" /* default */],
+ __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_61e675b9_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_VueTransmit_vue__["a" /* default */],
__vue_template_functional__,
__vue_styles__,
__vue_scopeId__,
@@ -3446,7 +3456,7 @@ exports.default = VTransmitFile;
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(_vm.tag,{tag:"component"},[_c('div',_vm._g(_vm._b({staticClass:"v-transmit__upload-area",class:[_vm.isDraggingClass, _vm.uploadAreaClasses],attrs:{"draggable":"true"},on:{"click":_vm.handleClickUploaderAction,"dragstart":_vm.handleDragStart,"dragend":_vm.handleDragEnd,"dragenter":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDragEnter($event)},"dragover":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDragOver($event)},"dragleave":_vm.handleDragLeave,"drop":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDrop($event)}}},'div',_vm.uploadAreaAttrs,false),_vm.uploadAreaListeners),[_vm._t("default")],2),_vm._v(" "),_vm._t("files",null,null,_vm.fileSlotBindings),_vm._v(" "),_c('input',{ref:"hiddenFileInput",class:[_vm.maxFilesReachedClass],style:(_vm.fileInputStyles),attrs:{"type":"file","multiple":_vm.multiple,"accept":_vm.filesToAccept,"capture":_vm.capture},on:{"change":_vm.onFileInputChange}})],2)}
+var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(_vm.tag,{tag:"component"},[_c('div',_vm._g(_vm._b({staticClass:"v-transmit__upload-area",class:[_vm.isDraggingClass, _vm.uploadAreaClasses],attrs:{"draggable":"true"},on:{"click":_vm.handleClickUploaderAction,"dragstart":_vm.handleDragStart,"dragend":_vm.handleDragEnd,"dragenter":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDragEnter($event)},"dragover":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDragOver($event)},"dragleave":_vm.handleDragLeave,"drop":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDrop($event)}}},'div',_vm.uploadAreaAttrs,false),_vm.uploadAreaListeners),[_vm._t("default")],2),_vm._v(" "),_vm._t("files",null,null,_vm.fileSlotBindings),_vm._v(" "),_c('form',{ref:"uploadForm",style:(_vm.formStyles)},[_c('input',{ref:"hiddenFileInput",class:[_vm.maxFilesReachedClass],attrs:{"type":"file","multiple":_vm.multiple,"accept":_vm.filesToAccept,"capture":_vm.capture},on:{"change":_vm.onFileInputChange}})])],2)}
var staticRenderFns = []
var esExports = { render: render, staticRenderFns: staticRenderFns }
/* harmony default export */ __webpack_exports__["a"] = (esExports);
diff --git a/dist/vue-transmit.common.js.map b/dist/vue-transmit.common.js.map
index 394e8c4..008083a 100644
--- a/dist/vue-transmit.common.js.map
+++ b/dist/vue-transmit.common.js.map
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///webpack/bootstrap 64638f6191499b6bb476","webpack:///external {\"root\":\"Vue\",\"commonjs2\":\"vue\"}","webpack:///./src/components/VueTransmit.vue?cd95","webpack:///./src/core/utils.ts","webpack:///./index.ts","webpack:///./src/index.ts","webpack:///./src/components/VueTransmit.vue","webpack:///./src/components/VueTransmit.vue?c45d","webpack:///./node_modules/vue-loader/lib/component-normalizer.js","webpack:///./node_modules/vue-property-decorator/lib/vue-property-decorator.umd.js","webpack:///./node_modules/vue-class-component/dist/vue-class-component.common.js","webpack:///./node_modules/reflect-metadata/Reflect.js","webpack:///./node_modules/node-libs-browser/node_modules/process/browser.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/lodash-es/noop.js","webpack:///./node_modules/lodash-es/identity.js","webpack:///./src/classes/VTransmitFile.ts","webpack:///./src/components/VueTransmit.vue?7518"],"names":["noop","identity","value"],"mappings":"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AEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACtGA;AACA;AACA;AACA,2CAA2C;AAC3C,CAAC,kDAAkD;;AAEnD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,cAAc;AAC3C;AACA;AACA;AACA;AACA;AACA,mEAAmE;AACnE,sCAAsC;AACtC,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,cAAc;AAC3C;AACA;AACA;AACA;AACA;AACA,mEAAmE;AACnE,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,cAAc;AAC3C;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,KAAK;AACL;AACA;AACA;AACA,gCAAgC,sDAAsD;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,8CAA8C,cAAc;;AAE5D,CAAC;;;;;;;;AClID;AACA;AACA;AACA;AACA;AACA;;AAEA,8CAA8C,cAAc;;AAE5D,+BAA+B,iFAAiF;;AAEhH;;AAEA,gBAAgB,gBAAgB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,qCAAqC,EAAE;AAC5F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,gBAAgB,EAAE;AACxD,2CAA2C,wBAAwB,EAAE;AACrE;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,cAAc;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA;AACA,uDAAuD;AACvD;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,0CAA0C,oBAAoB,EAAE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,8BAA8B;AAC/B;;AAEA;AACA;;;;;;;AChMA;AACA;AACA,+DAA+D;AAC/D;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE;AACjE,6BAA6B,gBAAgB,kBAAkB;AAC/D;AACA;AACA;AACA,2BAA2B,4CAA4C;AACvE;AACA,+BAA+B,wBAAwB,kBAAkB,EAAE;AAC3E,+BAA+B,yBAAyB,EAAE;AAC1D;AACA,mCAAmC,8BAA8B;AACjE,mCAAmC,mBAAmB;AACtD;AACA,mCAAmC,qDAAqD;AACxF,mCAAmC,iBAAiB;AACpD,KAAK,0BAA0B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oGAAoG;AACpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6EAA6E;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,QAAQ;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,QAAQ;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,uBAAuB;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,0BAA0B;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D,aAAa;AAC5E,iEAAiE,aAAa;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,0BAA0B,EAAE;AAC9D;AACA;AACA,aAAa;AACb,gDAAgD,+CAA+C;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,UAAU;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,0DAA0D;AACxG,gDAAgD,4DAA4D;AAC5G,iDAAiD,4DAA4D;AAC7G,uDAAuD,uBAAuB;AAC9E,yDAAyD,uBAAuB;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,uBAAuB,EAAE;AAC3D;AACA;AACA,aAAa;AACb,kDAAkD,6BAA6B;AAC/E,kDAAkD,0CAA0C;AAC5F,qDAAqD,gCAAgC;AACrF,+CAA+C,mBAAmB;AAClE,8CAA8C,yBAAyB;AACvE,gDAAgD,2BAA2B;AAC3E,iDAAiD,4BAA4B;AAC7E,uDAAuD,oBAAoB;AAC3E,yDAAyD,oBAAoB;AAC7E;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,0BAA0B;AAClF;AACA;AACA;AACA;AACA,2BAA2B,UAAU;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,oBAAoB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC;AAClC,CAAC,0BAA0B;AAC3B,mC;;;;;;;ACpmCA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA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","file":"vue-transmit.common.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 3);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 64638f6191499b6bb476","module.exports = require(\"vue\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"root\":\"Vue\",\"commonjs2\":\"vue\"}\n// module id = 0\n// module chunks = 0","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\"\nimport { Component, Prop, Watch } from \"vue-property-decorator\"\nimport noop from \"lodash-es/noop\"\nimport identity from \"lodash-es/identity\"\nimport {\n\thbsRegex,\n\thbsReplacer,\n\tobjFactory,\n\tresizeImg,\n\tIDrawImageArgs,\n\tIDimensions,\n\twebkitIsFile,\n\twebkitIsDir,\n} from \"../core/utils\"\nimport VTransmitFile from \"../classes/VTransmitFile\"\n\ntype FileSystemEntry = WebKitFileEntry | WebKitDirectoryEntry\n\nconst STATUSES = {\n\tADDED: \"added\",\n\tQUEUED: \"queued\",\n\tACCEPTED: \"queued\",\n\tUPLOADING: \"uploading\",\n\tPROCESSING: \"uploading\",\n\tCANCELED: \"canceled\",\n\tERROR: \"error\",\n\tTIMEOUT: \"timeout\",\n\tSUCCESS: \"success\",\n}\n\n@Component({ name: \"VueTransmit\" })\nexport default class VueTransmit extends Vue {\n\t@Prop({ type: String, default: \"div\" })\n\ttag: string\n\n\t@Prop({ type: [Array, Object, String], default: null })\n\tuploadAreaClasses: any[] | object | string\n\n\t@Prop({ type: Object, default: objFactory })\n\tuploadAreaAttrs: object\n\n\t@Prop({ type: Object, default: objFactory })\n\tuploadAreaListeners: object\n\n\t@Prop({ type: String, default: null })\n\tdragClass: string\n\n\t@Prop({ type: String, required: true })\n\turl: string\n\n\t@Prop({ type: String, default: \"post\" })\n\tmethod: string\n\n\t@Prop({ type: Boolean, default: false })\n\twithCredentials: boolean\n\n\t// timeout in milliseconds\n\t@Prop({ type: Number, default: 0 })\n\ttimeout: number\n\n\t@Prop({ type: Number, default: 2 })\n\tmaxConcurrentUploads: number\n\t// Whether to send multiple files in one request.\n\t@Prop({ type: Boolean, default: false })\n\tuploadMultiple: boolean\n\n\t// in MB\n\t@Prop({ type: Number, default: 256 })\n\tmaxFileSize: number\n\n\t// The name of the file param that gets transferred.\n\t@Prop({ type: String, default: \"file\" })\n\tparamName: string\n\n\t@Prop({ type: Boolean, default: true })\n\tcreateImageThumbnails: boolean\n\n\t// in MB. When the filename exceeds this limit, the thumbnail will not be generated.\n\t@Prop({ type: Number, default: 10 })\n\tmaxThumbnailFileSize: number\n\n\t@Prop({ type: Number, default: 120 })\n\tthumbnailWidth: number\n\n\t@Prop({ type: Number, default: 120 })\n\tthumbnailHeight: number\n\n\t/**\n * The base that is used to calculate the file size. You can change this to\n * 1024 if you would rather display kibibytes, mebibytes, etc...\n * 1024 is technically incorrect,\n * because `1024 bytes` are `1 kibibyte` not `1 kilobyte`.\n * You can change this to `1024` if you don't care about validity.\n */\n\t@Prop({ type: Number, default: 1000 })\n\tfileSizeBase: number\n\n\t/**\n * Can be used to limit the maximum number of files that will be handled\n * by this Dropzone\n */\n\t@Prop({ type: Number, default: null })\n\tmaxFiles: number\n\n\t/**\n * Can be an object of additional parameters to transfer to the server.\n * This is the same as adding hidden input fields in the form element.\n */\n\t@Prop({ type: Object, default: objFactory })\n\tparams: object\n\n\t@Prop({ type: Object, default: objFactory })\n\theaders: object\n\n\t@Prop({ type: String, default: \"\" })\n\tresponseType: XMLHttpRequestResponseType\n\n\t// If true, the dropzone will present a file selector when clicked.\n\t@Prop({ type: Boolean, default: true })\n\tclickable: boolean\n\n\t// Whether hidden files in directories should be ignored.\n\t@Prop({ type: Boolean, default: true })\n\tignoreHiddenFiles: boolean\n\n\t/**\n * You can set accepted mime types here.\n *\n * The default implementation of the `accept()` function will check this\n * property, and if the Dropzone is clickable this will be used as\n * `accept` attribute.\n *\n * This is a comma separated list of mime types or extensions. E.g.:\n * - audio/*,video/*,image/png,.pdf\n *\n * See https://developer.mozilla.org/en-US/docs/HTML/Element/input#attr-accept\n * for a reference.\n */\n\t@Prop({ type: Array, default: () => [] })\n\tacceptedFileTypes: string[]\n\n\t/**\n * If false, files will be added to the queue but the queue will not be\n * processed automatically.\n * This can be useful if you need some additional user input before sending\n * files (or if you want want all files sent at once).\n * If you're ready to send the file simply call myDropzone.processQueue()\n */\n\t@Prop({ type: Boolean, default: true })\n\tautoProcessQueue: boolean\n\n\t/**\n * If false, files added to the dropzone will not be queued by default.\n * You'll have to call `enqueueFile(file)` manually.\n */\n\t@Prop({ type: Boolean, default: true })\n\tautoQueue: boolean\n\n\t/**\n * If null, no capture type will be specified\n * If camera, mobile devices will skip the file selection and choose camera\n * If microphone, mobile devices will skip the file selection and choose the microphone\n * If camcorder, mobile devices will skip the file selection and choose the camera in video mode\n * On apple devices multiple must be set to false. AcceptedFiles may need to\n * be set to an appropriate mime type (e.g. \"image/*\", \"audio/*\", or \"video/*\").\n */\n\t@Prop({ type: String, default: null })\n\tcapture: string\n\n\t/**\n * Before the file is appended to the formData, the function renameFile is performed for file.name, file\n * which executes the function defined in renameFile\n */\n\t@Prop({ type: Function, default: identity })\n\trenameFile: (name: string) => string\n\n\t// If the file size is too big.\n\t@Prop({ type: String, default: \"File is too big ({{ fileSize }}MiB). Max file size: {{ maxFileSize }}MB.\" })\n\tdictFileTooBig: string\n\n\t// If the file doesn't match the file type.\n\t@Prop({ type: String, default: \"You can't upload files of this type.\" })\n\tdictInvalidFileType: string\n\n\t// If the server response was invalid.\n\t@Prop({ type: String, default: \"Server responded with {{ statusCode }} code.\" })\n\tdictResponseError: string\n\n\t/**\n * Displayed when the maxFiles have been exceeded\n * You can use {{maxFiles}} here, which will be replaced by the option.\n */\n\t@Prop({ type: String, default: \"You can not upload any more files.\" })\n\tdictMaxFilesExceeded: string\n\n\t/**\n * If `done()` is called without argument the file is accepted\n * If you call it with an error message, the file is rejected\n * (This allows for asynchronous validation).\n */\n\t@Prop({ type: Function, default: (_, done: Function) => done() })\n\taccept: (file: VTransmitFile, done: Function) => void\n\n\t@Prop({ type: Function, default: resizeImg })\n\tresize: (file: VTransmitFile, dims: IDimensions) => IDrawImageArgs\n\n\tpublic dragging: boolean = false\n\t// Used to keep the createThumbnail calls processing async one-at-a-time\n\tprivate processingThumbnail: boolean = false\n\tpublic thumbnailQueue: any[] = []\n\tpublic files: VTransmitFile[] = []\n\tpublic defaultHeaders: object = {\n\t\tAccept: \"application/json\",\n\t\t\"Cache-Control\": \"no-cache\",\n\t\t\"X-Requested-With\": \"XMLHttpRequest\",\n\t}\n\tpublic fileInputStyles: object = {\n\t\tvisibility: \"hidden !important\",\n\t\tposition: \"absolute !important\",\n\t\ttop: \"0 !important\",\n\t\tleft: \"0 !important\",\n\t\theight: \"0px !important\",\n\t\twidth: \"0px !important\",\n\t}\n\n\tget inputEl(): HTMLInputElement {\n\t\tlet el = null\n\t\tif (this.$refs.hiddenFileInput instanceof HTMLInputElement) {\n\t\t\tel = this.$refs.hiddenFileInput\n\t\t}\n\t\treturn el\n\t}\n\tget filesToAccept(): string {\n\t\treturn this.acceptedFileTypes.join(\",\")\n\t}\n\tget multiple(): boolean {\n\t\treturn this.maxFiles === null || this.maxFiles > 1\n\t}\n\tget acceptedFiles(): VTransmitFile[] {\n\t\treturn this.files.filter(f => f.accepted)\n\t}\n\tget rejectedFiles(): VTransmitFile[] {\n\t\treturn this.files.filter(f => !f.accepted)\n\t}\n\tget addedFiles(): VTransmitFile[] {\n\t\treturn this.getFilesWithStatus(STATUSES.ADDED)\n\t}\n\tget queuedFiles(): VTransmitFile[] {\n\t\treturn this.getFilesWithStatus(STATUSES.QUEUED)\n\t}\n\tget uploadingFiles(): VTransmitFile[] {\n\t\treturn this.getFilesWithStatus(STATUSES.UPLOADING)\n\t}\n\tget activeFiles(): VTransmitFile[] {\n\t\treturn this.getFilesWithStatus(STATUSES.UPLOADING, STATUSES.QUEUED)\n\t}\n\tget maxFilesReached(): boolean {\n\t\t// Loose equality checks null && undefined\n\t\treturn this.maxFiles != null && this.acceptedFiles.length >= this.maxFiles\n\t}\n\tget maxFilesReachedClass(): string {\n\t\treturn this.maxFilesReached ? \"v-transmit__max-files--reached\" : null\n\t}\n\tget isDraggingClass(): { [key: string]: boolean } {\n\t\treturn {\n\t\t\t\"v-transmit__upload-area--is-dragging\": this.dragging,\n\t\t\t[this.dragClass]: this.dragging,\n\t\t}\n\t}\n\tget isUploading(): boolean {\n\t\treturn this.uploadingFiles.length > 0\n\t}\n\tget fileSlotBindings() {\n\t\treturn {\n\t\t\tfiles: this.files,\n\t\t\tacceptedFiles: this.acceptedFiles,\n\t\t\trejectedFiles: this.rejectedFiles,\n\t\t\taddedFiles: this.addedFiles,\n\t\t\tqueuedFiles: this.queuedFiles,\n\t\t\tuploadingFiles: this.uploadingFiles,\n\t\t\tactiveFiles: this.activeFiles,\n\t\t\tisUploading: this.isUploading,\n\t\t}\n\t}\n\n\t@Watch(\"acceptedFiles\")\n\tonAcceptedFilesChange(acceptedFiles: VTransmitFile[]) {\n\t\tif (this.maxFiles == null) {\n\t\t\treturn\n\t\t}\n\t\tif (acceptedFiles.length >= this.maxFiles) {\n\t\t\tthis.$emit(\"max-files-reached\", this.files)\n\t\t}\n\t}\n\n\tgetFilesWithStatus(...statuses: string[]): VTransmitFile[] {\n\t\treturn this.files.filter(f => statuses.indexOf(f.status) > -1)\n\t}\n\tonFileInputChange(): void {\n\t\tthis.$emit(\"added-files\", Array.from(this.inputEl.files).map(this.addFile))\n\t}\n\taddFile(file: File): VTransmitFile {\n\t\tconst vTransmitFile = VTransmitFile.fromNativeFile(file)\n\t\tvTransmitFile.status = STATUSES.ADDED\n\t\tthis.files.push(vTransmitFile)\n\t\tthis.$emit(\"added-file\", vTransmitFile)\n\t\tthis.enqueueThumbnail(vTransmitFile)\n\t\tthis.acceptFile(vTransmitFile, error => {\n\t\t\tif (error) {\n\t\t\t\tvTransmitFile.accepted = false\n\t\t\t\tthis.errorProcessing([vTransmitFile], error)\n\t\t\t\tthis.$emit(\"rejected-file\", vTransmitFile)\n\t\t\t} else {\n\t\t\t\tvTransmitFile.accepted = true\n\t\t\t\tthis.$emit(\"accepted-file\", vTransmitFile)\n\t\t\t\tif (this.autoQueue) {\n\t\t\t\t\tthis.enqueueFile(vTransmitFile)\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.$emit(\"accept-complete\", vTransmitFile)\n\t\t})\n\n\t\treturn vTransmitFile\n\t}\n\tremoveFile(file: VTransmitFile): void {\n\t\tif (file.status === STATUSES.UPLOADING) {\n\t\t\tthis.cancelUpload(file)\n\t\t}\n\t\tconst idxToRm = this.files.findIndex(f => f.id === file.id)\n\t\tif (~idxToRm) {\n\t\t\tthis.$emit(\"removed-file\", this.files.splice(idxToRm, 1)[0])\n\t\t\tif (this.files.length === 0) {\n\t\t\t\tthis.$emit(\"reset\")\n\t\t\t}\n\t\t}\n\t}\n\tremoveAllFiles(cancelInProgressUploads = false): void {\n\t\tfor (const file of this.files) {\n\t\t\tif (file.status !== STATUSES.UPLOADING || cancelInProgressUploads) {\n\t\t\t\tthis.removeFile(file)\n\t\t\t}\n\t\t}\n\t}\n\ttriggerBrowseFiles(): void {\n\t\tthis.inputEl.click()\n\t}\n\thandleClickUploaderAction(): void {\n\t\tif (this.clickable) {\n\t\t\tthis.triggerBrowseFiles()\n\t\t}\n\t}\n\tenqueueFile(file: VTransmitFile): void {\n\t\tif (file.status === STATUSES.ADDED && file.accepted === true) {\n\t\t\tfile.status = STATUSES.QUEUED\n\t\t\tif (this.autoProcessQueue) {\n\t\t\t\tsetTimeout(this.processQueue, 0)\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new Error(\"This file can't be queued because it has already been processed or was rejected.\")\n\t\t}\n\t}\n\tenqueueThumbnail(file: VTransmitFile): void {\n\t\tif (\n\t\t\tthis.createImageThumbnails &&\n\t\t\tfile.type.match(/image.*/) &&\n\t\t\tfile.size <= this.maxThumbnailFileSize * 1024 * 1024\n\t\t) {\n\t\t\tthis.thumbnailQueue.push(file)\n\t\t\tsetTimeout(this.processThumbnailQueue, 0)\n\t\t}\n\t}\n\tprocessThumbnailQueue(): void {\n\t\t// Employ a chain of self-calling, self-queuing createThumbnail calls\n\t\t// so execution can stay as non-blocking as possible.\n\t\tif (this.processingThumbnail || this.thumbnailQueue.length === 0) {\n\t\t\treturn\n\t\t}\n\t\tthis.processingThumbnail = true\n\t\tthis.createThumbnail(this.thumbnailQueue.shift(), () => {\n\t\t\tthis.processingThumbnail = false\n\t\t\tthis.processThumbnailQueue()\n\t\t})\n\t}\n\tcreateThumbnail(file: VTransmitFile, callback = noop): void {\n\t\tconst reader = new FileReader()\n\t\treader.addEventListener(\n\t\t\t\"load\",\n\t\t\t() => {\n\t\t\t\tif (file.type === \"image/svg+xml\") {\n\t\t\t\t\tfile.dataUrl = reader.result\n\t\t\t\t\tthis.$emit(\"thumbnail\", file, reader.result)\n\t\t\t\t\tcallback()\n\t\t\t\t}\n\t\t\t\tthis.createThumbnailFromUrl(file, reader.result, callback)\n\t\t\t},\n\t\t\tfalse\n\t\t)\n\n\t\t// FileReader requires a native File|Blob object\n\t\treader.readAsDataURL(file.nativeFile)\n\t}\n\tcreateThumbnailFromUrl(file: VTransmitFile, imageUrl: string, callback?: Function): void {\n\t\tconst imgEl = document.createElement(\"img\")\n\n\t\timgEl.addEventListener(\n\t\t\t\"load\",\n\t\t\t() => {\n\t\t\t\tfile.width = imgEl.width\n\t\t\t\tfile.height = imgEl.height\n\t\t\t\tconst resizeInfo = this.resize(file, {\n\t\t\t\t\twidth: this.thumbnailWidth,\n\t\t\t\t\theight: this.thumbnailHeight,\n\t\t\t\t})\n\t\t\t\tconst canvas = document.createElement(\"canvas\")\n\t\t\t\tconst ctx = canvas.getContext(\"2d\")\n\t\t\t\tcanvas.width = resizeInfo.dWidth\n\t\t\t\tcanvas.height = resizeInfo.dHeight\n\t\t\t\tctx.drawImage(\n\t\t\t\t\timgEl,\n\t\t\t\t\tresizeInfo.sx,\n\t\t\t\t\tresizeInfo.sy,\n\t\t\t\t\tresizeInfo.sWidth,\n\t\t\t\t\tresizeInfo.sHeight,\n\t\t\t\t\tresizeInfo.dx,\n\t\t\t\t\tresizeInfo.dy,\n\t\t\t\t\tresizeInfo.dWidth,\n\t\t\t\t\tresizeInfo.dHeight\n\t\t\t\t)\n\t\t\t\tconst thumbnail = canvas.toDataURL(\"image/png\")\n\t\t\t\tfile.dataUrl = thumbnail\n\t\t\t\tthis.$emit(\"thumbnail\", file, thumbnail)\n\n\t\t\t\tif (callback) {\n\t\t\t\t\treturn callback()\n\t\t\t\t}\n\t\t\t},\n\t\t\tfalse\n\t\t)\n\t\tif (callback) {\n\t\t\timgEl.addEventListener(\"error\", callback as EventListenerOrEventListenerObject, false)\n\t\t}\n\n\t\timgEl.src = imageUrl\n\t}\n\tprocessQueue(): void {\n\t\tconst processingLength = this.uploadingFiles.length\n\t\tif (processingLength >= this.maxConcurrentUploads || this.queuedFiles.length === 0) {\n\t\t\treturn\n\t\t}\n\n\t\tconst queuedFiles = [...this.queuedFiles]\n\t\tif (this.uploadMultiple) {\n\t\t\treturn this.processFiles(queuedFiles.slice(0, this.maxConcurrentUploads - processingLength))\n\t\t} else {\n\t\t\tfor (let i = processingLength; i < this.maxConcurrentUploads; i++) {\n\t\t\t\tif (queuedFiles.length) {\n\t\t\t\t\tthis.processFile(queuedFiles.shift())\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tprocessFile(file: VTransmitFile): void {\n\t\tthis.processFiles([file])\n\t}\n\tprocessFiles(files: VTransmitFile[]): void {\n\t\tfor (const file of files) {\n\t\t\tfile.processing = true\n\t\t\tfile.status = STATUSES.UPLOADING\n\t\t\tthis.$emit(\"processing\", file)\n\t\t}\n\t\tif (this.uploadMultiple) {\n\t\t\tthis.$emit(\"processing-multiple\", files)\n\t\t}\n\n\t\treturn this.uploadFiles(files)\n\t}\n\tgetFilesWithXhr(xhr: XMLHttpRequest): VTransmitFile[] {\n\t\treturn this.files.filter(file => file.xhr === xhr)\n\t}\n\tcancelUpload(file: VTransmitFile): void {\n\t\tif (file.status === STATUSES.UPLOADING) {\n\t\t\tconst groupedFiles = this.getFilesWithXhr(file.xhr)\n\t\t\tfile.xhr.abort()\n\t\t\tfor (const f of groupedFiles) {\n\t\t\t\tf.status = STATUSES.CANCELED\n\t\t\t\tthis.$emit(\"canceled\", f)\n\t\t\t}\n\t\t\tif (this.uploadMultiple) {\n\t\t\t\tthis.$emit(\"canceled-multiple\", groupedFiles)\n\t\t\t}\n\t\t} else if (file.status === STATUSES.ADDED || file.status === STATUSES.QUEUED) {\n\t\t\tfile.status = STATUSES.CANCELED\n\t\t\tthis.$emit(\"canceled\", file)\n\t\t\tif (this.uploadMultiple) {\n\t\t\t\tthis.$emit(\"canceled-multiple\", [file])\n\t\t\t}\n\t\t}\n\n\t\tif (this.autoProcessQueue) {\n\t\t\tthis.processQueue()\n\t\t}\n\t}\n\tuploadFile(file: VTransmitFile): void {\n\t\tthis.uploadFiles([file])\n\t}\n\tuploadFiles(files: VTransmitFile[]): void {\n\t\tconst xhr = new XMLHttpRequest()\n\t\tfor (const file of files) {\n\t\t\tfile.xhr = xhr\n\t\t\tfile.startProgress()\n\t\t}\n\t\txhr.open(this.method, this.url, true)\n\t\t// Setting the timeout after open because of IE11 issue: https://gitlab.com/meno/dropzone/issues/8\n\t\txhr.timeout = this.timeout\n\t\txhr.withCredentials = Boolean(this.withCredentials)\n\t\txhr.responseType = this.responseType\n\n\t\tconst handleError = this.handleUploadError(files, xhr)\n\t\tconst updateProgress = this.handleUploadProgress(files)\n\t\txhr.addEventListener(\"error\", handleError)\n\t\txhr.upload.addEventListener(\"progress\", updateProgress)\n\t\txhr.addEventListener(\"timeout\", this.handleTimeout(files, xhr))\n\t\txhr.addEventListener(\"load\", e => {\n\t\t\tif (files[0].status === STATUSES.CANCELED || xhr.readyState !== XMLHttpRequest.DONE) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tlet response = xhr.response\n\n\t\t\tif (!xhr.responseType) {\n\t\t\t\tlet contentType = xhr.getResponseHeader(\"content-type\")\n\t\t\t\tresponse = xhr.responseText\n\n\t\t\t\tif (contentType && contentType.indexOf(\"application/json\") > -1) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tresponse = JSON.parse(response)\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tresponse = \"Invalid JSON response from server.\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Called at load (when complete) will enable all the progress done logic.\n\t\t\tupdateProgress()\n\t\t\tif (xhr.status < 200 || xhr.status >= 300) {\n\t\t\t\treturn handleError()\n\t\t\t} else {\n\t\t\t\treturn this.uploadFinished(files, response, e)\n\t\t\t}\n\t\t})\n\n\t\t// Use null proto obj for the following 'for in' loop\n\t\tconst headers = Object.assign(Object.create(null), this.defaultHeaders, this.headers)\n\t\tfor (const headerName in headers) {\n\t\t\tif (headers[headerName]) {\n\t\t\t\txhr.setRequestHeader(headerName, headers[headerName])\n\t\t\t}\n\t\t}\n\n\t\tconst formData = new FormData()\n\t\tfor (const key in this.params) {\n\t\t\tformData.append(key, this.params[key])\n\t\t}\n\n\t\tfor (const file of files) {\n\t\t\tthis.$emit(\"sending\", file, xhr, formData)\n\t\t}\n\t\tif (this.uploadMultiple) {\n\t\t\tthis.$emit(\"sending-multiple\", files, xhr, formData)\n\t\t}\n\n\t\tfor (let i = 0; i < files.length; i++) {\n\t\t\tformData.append(this.getParamName(i), files[i].nativeFile, this.renameFile(files[i].name))\n\t\t}\n\n\t\treturn xhr.send(formData)\n\t}\n\thandleUploadError(files: VTransmitFile[], xhr: XMLHttpRequest): () => void {\n\t\tconst vm = this\n\t\treturn function onUploadErrorFn(): void {\n\t\t\tif (files[0].status !== STATUSES.CANCELED) {\n\t\t\t\tconst message = vm.dictResponseError.replace(hbsRegex, hbsReplacer({ statusCode: xhr.status }))\n\t\t\t\tvm.errorProcessing(files, message, xhr)\n\t\t\t}\n\t\t}\n\t}\n\thandleTimeout(files: VTransmitFile[], xhr: XMLHttpRequest): (e: Event) => void {\n\t\tconst vm = this\n\t\treturn function onTimeoutFn(e: Event): void {\n\t\t\tfor (const file of files) {\n\t\t\t\tfile.status = STATUSES.TIMEOUT\n\t\t\t\tfile.endProgress()\n\t\t\t\tvm.$emit(\"timeout\", file, e, xhr)\n\t\t\t}\n\t\t\tvm.$emit(\"timeout-multiple\", files, e, xhr)\n\n\t\t\tif (this.autoProcessQueue) {\n\t\t\t\tthis.processQueue()\n\t\t\t}\n\t\t}\n\t}\n\thandleUploadProgress(files): (e?: ProgressEvent) => void {\n\t\tconst vm = this\n\t\treturn function onProgressFn(e?: ProgressEvent): void {\n\t\t\tif (e instanceof ProgressEvent) {\n\t\t\t\tfor (const file of files) {\n\t\t\t\t\tfile.handleProgress(e)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tlet allFilesFinished = true\n\t\t\t\tfor (const file of files) {\n\t\t\t\t\tif (file.upload.progress !== 100 || file.upload.bytesSent !== file.upload.total) {\n\t\t\t\t\t\tallFilesFinished = false\n\t\t\t\t\t}\n\t\t\t\t\tfile.upload.progress = 100\n\t\t\t\t\tfile.upload.bytesSent = file.upload.total\n\t\t\t\t\tfile.endProgress()\n\t\t\t\t}\n\t\t\t\tif (allFilesFinished) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (const file of files) {\n\t\t\t\tvm.$emit(\"upload-progress\", file, file.upload.progress, file.upload.bytesSent)\n\t\t\t}\n\t\t}\n\t}\n\tupdateTotalUploadProgress(): void {\n\t\tconst progress = this.activeFiles.reduce(\n\t\t\t(memo, file) => {\n\t\t\t\tmemo.totalBytesSent += file.upload.bytesSent\n\t\t\t\tmemo.totalBytes += file.upload.total\n\t\t\t\treturn memo\n\t\t\t},\n\t\t\t{ totalBytesSent: 0, totalBytes: 0, totalProgress: 100 }\n\t\t)\n\n\t\tif (this.activeFiles.length) {\n\t\t\tprogress.totalProgress = 100 * progress.totalBytesSent / progress.totalBytes\n\t\t}\n\n\t\tthis.$emit(\"total-upload-progress\", progress)\n\t}\n\tgetParamName(index): string {\n\t\treturn this.paramName + (this.uploadMultiple ? `[${index}]` : \"\")\n\t}\n\tuploadFinished(files: VTransmitFile[], response: string | object | any[], e: Event): void {\n\t\tfor (const file of files) {\n\t\t\tfile.status = STATUSES.SUCCESS\n\t\t\tfile.endProgress()\n\t\t\tthis.$emit(\"success\", file, response, e)\n\t\t\tthis.$emit(\"complete\", file)\n\t\t}\n\n\t\tif (this.uploadMultiple) {\n\t\t\tthis.$emit(\"success-multiple\", files, response, e)\n\t\t\tthis.$emit(\"complete-multiple\", files)\n\t\t}\n\n\t\tif (this.autoProcessQueue) {\n\t\t\tthis.processQueue()\n\t\t}\n\t}\n\terrorProcessing(files: VTransmitFile[], message: string, xhr?: XMLHttpRequest) {\n\t\tfor (const file of files) {\n\t\t\tfile.status = STATUSES.ERROR\n\t\t\tfile.endProgress()\n\t\t\tthis.$emit(\"error\", file, message, xhr)\n\t\t\tthis.$emit(\"complete\", file)\n\t\t}\n\n\t\tif (this.uploadMultiple) {\n\t\t\tthis.$emit(\"error-multiple\", files, message, xhr)\n\t\t\tthis.$emit(\"complete-multiple\", files)\n\t\t}\n\n\t\tif (this.autoProcessQueue) {\n\t\t\treturn this.processQueue()\n\t\t}\n\t}\n\tacceptFile(file: VTransmitFile, done: Function): void {\n\t\tif (file.size > this.maxFileSize * 1024 * 1024) {\n\t\t\tdone(\n\t\t\t\tthis.dictFileTooBig.replace(\n\t\t\t\t\thbsRegex,\n\t\t\t\t\thbsReplacer({\n\t\t\t\t\t\tfileSize: Math.round(file.size / 1024 / 10.24) / 100,\n\t\t\t\t\t\tmaxFileSize: this.maxFileSize,\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t\t)\n\t\t} else if (!this.isValidFileType(file, this.acceptedFileTypes)) {\n\t\t\tdone(this.dictInvalidFileType)\n\t\t} else if (this.maxFiles != null && this.acceptedFiles.length >= this.maxFiles) {\n\t\t\tdone(this.dictMaxFilesExceeded.replace(hbsRegex, hbsReplacer({ maxFiles: this.maxFiles })))\n\t\t\tthis.$emit(\"max-files-exceeded\", file)\n\t\t} else {\n\t\t\t// Call the prop callback for the client to validate.\n\t\t\tthis.accept(file, done)\n\t\t}\n\t}\n\tisValidFileType(file: VTransmitFile, acceptedFileTypes: string[]): boolean {\n\t\tif (!acceptedFileTypes.length) {\n\t\t\treturn true\n\t\t}\n\t\tconst mimeType = file.type\n\t\tconst baseMimeType = mimeType.replace(/\\/.*$/, \"\")\n\t\t// Return true on the first condition match,\n\t\t// otherwise exhaust all conditions and return false.\n\t\tfor (let i = 0; i < acceptedFileTypes.length; i++) {\n\t\t\tconst validType = acceptedFileTypes[i]\n\t\t\tif (validType.charAt(0) === \".\") {\n\t\t\t\t// Handle extension validation\n\t\t\t\t// Ensure extension exists at the end of the filename.\n\t\t\t\tif (file.name.toLowerCase().indexOf(validType.toLowerCase(), file.name.length - validType.length) !== -1) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t} else if (/\\/\\*$/.test(validType)) {\n\t\t\t\t// Handle globbed mimetype validation (\"image/*\")\n\t\t\t\tif (baseMimeType === validType.replace(/\\/.*$/, \"\")) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (mimeType === validType) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn false\n\t}\n\thandleDragStart(e: DragEvent): void {\n\t\tthis.$emit(\"drag-start\", e)\n\t}\n\thandleDragOver(e: DragEvent): void {\n\t\tthis.dragging = true\n\t\tlet effect\n\t\ttry {\n\t\t\t// Handle browser bug\n\t\t\teffect = e.dataTransfer.effectAllowed\n\t\t} catch (error) {}\n\t\te.dataTransfer.dropEffect = effect === \"move\" || effect === \"linkMove\" ? \"move\" : \"copy\"\n\t\tthis.$emit(\"drag-over\", e)\n\t}\n\thandleDragEnter(e: DragEvent): void {\n\t\tthis.dragging = true\n\t\tthis.$emit(\"drag-enter\", e)\n\t}\n\thandleDragLeave(e: DragEvent): void {\n\t\tthis.dragging = false\n\t\tthis.$emit(\"drag-leave\", e)\n\t}\n\thandleDragEnd(e: DragEvent): void {\n\t\tthis.dragging = false\n\t\tthis.$emit(\"drag-end\", e)\n\t}\n\thandleDrop(e: DragEvent): void {\n\t\tthis.dragging = false\n\t\tif (!e.dataTransfer) {\n\t\t\treturn\n\t\t}\n\t\tthis.$emit(\"drop\", e)\n\t\tconst files = Array.from(e.dataTransfer.files)\n\n\t\tthis.$emit(\"added-files\", files)\n\t\tif (files.length && e.dataTransfer.items) {\n\t\t\tconst items = Array.from(e.dataTransfer.items)\n\t\t\tif (items && items.length && items[0].webkitGetAsEntry) {\n\t\t\t\tthis.addFilesFromItems(items)\n\t\t\t} else {\n\t\t\t\tthis.handleFiles(files)\n\t\t\t}\n\t\t} else {\n\t\t\tthis.handleFiles(files)\n\t\t}\n\t}\n\tpaste(e: ClipboardEvent): void {\n\t\tif (!e || !e.clipboardData || !e.clipboardData.items) {\n\t\t\treturn\n\t\t}\n\t\tthis.$emit(\"paste\", e)\n\t\tconst items = Array.from(e.clipboardData.items)\n\t\tif (items.length) {\n\t\t\tthis.addFilesFromItems(items)\n\t\t}\n\t}\n\thandleFiles(files: File[]): VTransmitFile[] {\n\t\treturn files.map(this.addFile)\n\t}\n\taddFilesFromItems(items: DataTransferItem[]): void {\n\t\tfor (const item of items) {\n\t\t\t// Newer API on standards track\n\t\t\tif (item.getAsFile && item.kind == \"file\") {\n\t\t\t\tthis.addFile(item.getAsFile())\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t// Vendor prefixed experimental API\n\t\t\tif (item.webkitGetAsEntry) {\n\t\t\t\tconst entry: FileSystemEntry = item.webkitGetAsEntry()\n\n\t\t\t\tif (entry == null) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif (webkitIsFile(entry)) {\n\t\t\t\t\tentry.file(this.addFile as any, console.error)\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif (webkitIsDir(entry)) {\n\t\t\t\t\tthis.addFilesFromDirectory(entry, entry.name)\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\taddFilesFromDirectory(directory: WebKitDirectoryEntry, path): void {\n\t\tdirectory.createReader().readEntries(\n\t\t\t((entries: FileSystemEntry[]) => {\n\t\t\t\tfor (const entry of entries) {\n\t\t\t\t\tif (entry == null) {\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t\tif (webkitIsDir(entry)) {\n\t\t\t\t\t\tthis.addFilesFromDirectory(entry, `${path}/${entry.name}`)\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t\tif (webkitIsFile(entry)) {\n\t\t\t\t\t\tentry.file(\n\t\t\t\t\t\t\t((file: File) => {\n\t\t\t\t\t\t\t\tif (this.ignoreHiddenFiles && /^\\./.test(file.name)) {\n\t\t\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t;(file as any).fullPath = `${path}/${file.name}`\n\t\t\t\t\t\t\t\tthis.addFile(file)\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tconsole.error\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}),\n\t\t\tconsole.error\n\t\t)\n\t}\n\n\tmounted() {\n\t\tthis.$on(\"upload-progress\", this.updateTotalUploadProgress)\n\t\tthis.$on(\"removed-file\", this.updateTotalUploadProgress)\n\t\tthis.$on(\"canceled\", file => this.$emit(\"complete\", file))\n\t\tthis.$on(\"complete\", file => {\n\t\t\tif (this.addedFiles.length === 0 && this.uploadingFiles.length === 0 && this.queuedFiles.length === 0) {\n\t\t\t\tsetTimeout(() => this.$emit(\"queue-complete\", file), 0)\n\t\t\t}\n\t\t})\n\n\t\tthis.$emit(\"initialize\", this)\n\t}\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/vue-loader/lib/selector.js?type=script&index=0!./src/components/VueTransmit.vue","import VTransmitFile from \"../classes/VTransmitFile\"\n\nexport const assign = Object.assign\nexport const defineProperty = Object.defineProperty\n\nlet idCounter = 0\nexport function uniqueId(prefix: string): string {\n\tvar id = ++idCounter\n\treturn prefix + id\n}\n\nexport function copyOwnAndInheritedProps(obj: object): object {\n\tlet newData = {}\n\tfor (let prop in obj) {\n\t\tif (typeof obj[prop] !== \"function\") {\n\t\t\tnewData[prop] = obj[prop]\n\t\t}\n\t}\n\treturn newData\n}\n\nexport type Rounding = \"round\" | \"ceil\" | \"floor\" | \"trunc\"\n\nexport function round(number: number, decimals: number = 2, roundStyle: Rounding = \"round\") {\n\tconst roundingFactor = Math.pow(10, decimals)\n\treturn Math[roundStyle](number * roundingFactor) / roundingFactor\n}\n\nexport function fromBytesToKbit(bytes: number): number {\n\treturn bytes / 125\n}\n\nexport function fromBytesToMbit(bytes: number): number {\n\treturn bytes / 125000\n}\n\nexport function toKbps(bytes: number, seconds: number): number {\n\treturn fromBytesToKbit(bytes) / seconds\n}\n\nexport function toMbps(bytes: number, seconds: number): number {\n\treturn fromBytesToMbit(bytes) / seconds\n}\n\nexport const hbsRegex = /{{\\s*?([a-zA-Z]+)\\s*?}}/g\nexport function hbsReplacer(context: object = {}) {\n\treturn function hbsReplacerFn(match: string, capture: string) {\n\t\treturn context[capture] !== undefined ? context[capture] : match\n\t}\n}\n\nexport function objFactory() {\n\treturn {}\n}\n\nexport function scaleH(ratio: number, width: number): number {\n\treturn width / ratio\n}\n\nexport function scaleW(ratio: number, height: number): number {\n\treturn height * ratio\n}\n\nexport function scaleDims(ratio: number, width?: number, height?: number): number[] {\n\treturn typeof width === \"number\" ? [width, scaleH(ratio, width)] : [scaleW(ratio, height), height]\n}\n\nexport interface IDrawImageArgs {\n\tsx: number\n\tsy: number\n\tsWidth: number\n\tsHeight: number\n\tdx: number\n\tdy: number\n\tdWidth: number\n\tdHeight: number\n}\n\nexport interface IDimensions {\n\twidth: number\n\theight: number\n}\n\nexport function resizeImg(file: VTransmitFile, dims: IDimensions): IDrawImageArgs {\n\t// Extract the object's primitive values so we don't mutate the input\n\tconst sRatio = file.width / file.height\n\tconst dRatio = dims.width / dims.height\n\tconst imgCoords = {\n\t\tsx: 0,\n\t\tsy: 0,\n\t\tsWidth: file.width,\n\t\tsHeight: file.height,\n\t\tdx: 0,\n\t\tdy: 0,\n\t\tdWidth: dims.width,\n\t\tdHeight: dims.height,\n\t}\n\n\tlet w, h\n\tif (dRatio > sRatio) {\n\t\t;[w, h] = scaleDims(dRatio, file.width)\n\t} else {\n\t\t;[w, h] = scaleDims(dRatio, undefined, file.height)\n\t}\n\n\tif (w < file.width) {\n\t\timgCoords.sx = (file.width - w) / 2\n\t\timgCoords.sWidth = w\n\t}\n\tif (h < file.height) {\n\t\timgCoords.sy = (file.height - h) / 2\n\t\timgCoords.sHeight = h\n\t}\n\n\treturn imgCoords\n}\n\nexport function webkitIsFile(entry: WebKitFileEntry | WebKitDirectoryEntry): entry is WebKitFileEntry {\n\treturn entry.isFile\n}\n\nexport function webkitIsDir(entry: WebKitFileEntry | WebKitDirectoryEntry): entry is WebKitDirectoryEntry {\n\treturn entry.isDirectory\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/core/utils.ts","import { VueTransmit } from \"./src\"\n\nexport default {\n\tinstall(Vue, _options) {\n\t\tVue.component(\"VueTransmit\", VueTransmit)\n\t},\n\tname: \"vue-transmit\",\n}\n\n\n\n// WEBPACK FOOTER //\n// ./index.ts","import VueTransmit from \"./components/VueTransmit.vue\"\n\nexport { VueTransmit }\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.ts","function injectStyle (ssrContext) {\n require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-25b0f28c\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader!postcss-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./VueTransmit.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!vue-ts-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./VueTransmit.vue\"\nimport __vue_script__ from \"!!babel-loader!vue-ts-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./VueTransmit.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-25b0f28c\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./VueTransmit.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/VueTransmit.vue\n// module id = 5\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/extract-text-webpack-plugin/dist/loader.js?{\"omit\":1,\"remove\":true}!./node_modules/vue-style-loader!./node_modules/css-loader!./node_modules/vue-loader/lib/style-compiler?{\"vue\":true,\"id\":\"data-v-25b0f28c\",\"scoped\":false,\"hasInlineConfig\":false}!./node_modules/sass-loader/lib/loader.js!./node_modules/postcss-loader/lib?{\"sourceMap\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./src/components/VueTransmit.vue\n// module id = 6\n// module chunks = 0","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file.\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nmodule.exports = function normalizeComponent (\n rawScriptExports,\n compiledTemplate,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */\n) {\n var esModule\n var scriptExports = rawScriptExports = rawScriptExports || {}\n\n // ES6 modules interop\n var type = typeof rawScriptExports.default\n if (type === 'object' || type === 'function') {\n esModule = rawScriptExports\n scriptExports = rawScriptExports.default\n }\n\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (compiledTemplate) {\n options.render = compiledTemplate.render\n options.staticRenderFns = compiledTemplate.staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = injectStyles\n }\n\n if (hook) {\n var functional = options.functional\n var existing = functional\n ? options.render\n : options.beforeCreate\n\n if (!functional) {\n // inject component registration as beforeCreate hook\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n } else {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return existing(h, context)\n }\n }\n }\n\n return {\n esModule: esModule,\n exports: scriptExports,\n options: options\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/component-normalizer.js\n// module id = 7\n// module chunks = 0","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('vue'), require('vue-class-component'), require('reflect-metadata')) :\n\ttypeof define === 'function' && define.amd ? define(['exports', 'vue', 'vue-class-component', 'reflect-metadata'], factory) :\n\t(factory((global.VuePropertyDecorator = {}),global.Vue,global.VueClassComponent));\n}(this, (function (exports,vue,vueClassComponent) { 'use strict';\n\nvue = vue && vue.hasOwnProperty('default') ? vue['default'] : vue;\nvar vueClassComponent__default = 'default' in vueClassComponent ? vueClassComponent['default'] : vueClassComponent;\n\n/** vue-property-decorator verson 6.0.0 MIT LICENSE copyright 2017 kaorun343 */\n'use strict';\n/**\n * decorator of an inject\n * @param key key\n * @return PropertyDecorator\n */\nfunction Inject(key) {\n return vueClassComponent.createDecorator(function (componentOptions, k) {\n if (typeof componentOptions.inject === 'undefined') {\n componentOptions.inject = {};\n }\n if (!Array.isArray(componentOptions.inject)) {\n componentOptions.inject[k] = key || k;\n }\n });\n}\n/**\n * decorator of a provide\n * @param key key\n * @return PropertyDecorator | void\n */\nfunction Provide(key) {\n return vueClassComponent.createDecorator(function (componentOptions, k) {\n var provide = componentOptions.provide;\n if (typeof provide !== 'function' || !provide.managed) {\n var original_1 = componentOptions.provide;\n provide = componentOptions.provide = function () {\n var rv = Object.create((typeof original_1 === 'function' ? original_1.call(this) : original_1) || null);\n for (var i in provide.managed)\n rv[provide.managed[i]] = this[i];\n return rv;\n };\n provide.managed = {};\n }\n provide.managed[k] = key || k;\n });\n}\n/**\n * decorator of model\n * @param event event name\n * @return PropertyDecorator\n */\nfunction Model(event, options) {\n if (options === void 0) { options = {}; }\n return function (target, key) {\n if (!Array.isArray(options) && typeof options.type === 'undefined') {\n options.type = Reflect.getMetadata('design:type', target, key);\n }\n vueClassComponent.createDecorator(function (componentOptions, k) {\n (componentOptions.props || (componentOptions.props = {}))[k] = options;\n componentOptions.model = { prop: k, event: event || k };\n })(target, key);\n };\n}\n/**\n * decorator of a prop\n * @param options the options for the prop\n * @return PropertyDecorator | void\n */\nfunction Prop(options) {\n if (options === void 0) { options = {}; }\n return function (target, key) {\n if (!Array.isArray(options) && typeof options.type === 'undefined') {\n options.type = Reflect.getMetadata('design:type', target, key);\n }\n vueClassComponent.createDecorator(function (componentOptions, k) {\n (componentOptions.props || (componentOptions.props = {}))[k] = options;\n })(target, key);\n };\n}\n/**\n * decorator of a watch function\n * @param path the path or the expression to observe\n * @param WatchOption\n * @return MethodDecorator\n */\nfunction Watch(path, options) {\n if (options === void 0) { options = {}; }\n var _a = options.deep, deep = _a === void 0 ? false : _a, _b = options.immediate, immediate = _b === void 0 ? false : _b;\n return vueClassComponent.createDecorator(function (componentOptions, handler) {\n if (typeof componentOptions.watch !== 'object') {\n componentOptions.watch = Object.create(null);\n }\n componentOptions.watch[path] = { handler: handler, deep: deep, immediate: immediate };\n });\n}\n// Code copied from Vue/src/shared/util.js\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = function (str) { return str.replace(hyphenateRE, '-$1').toLowerCase(); };\n/**\n * decorator of an event-emitter function\n * @param event The name of the event\n * @return MethodDecorator\n */\nfunction Emit(event) {\n return function (target, key, descriptor) {\n key = hyphenate(key);\n var original = descriptor.value;\n descriptor.value = function emitter() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (original.apply(this, args) !== false)\n this.$emit.apply(this, [event || key].concat(args));\n };\n };\n}\n\nexports.Component = vueClassComponent__default;\nexports.Vue = vue;\nexports.Inject = Inject;\nexports.Provide = Provide;\nexports.Model = Model;\nexports.Prop = Prop;\nexports.Watch = Watch;\nexports.Emit = Emit;\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-property-decorator/lib/vue-property-decorator.umd.js\n// module id = 8\n// module chunks = 0","/**\n * vue-class-component v6.1.2\n * (c) 2015-2017 Evan You\n * @license MIT\n */\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar Vue = _interopDefault(require('vue'));\n\nvar hasProto = { __proto__: [] } instanceof Array;\nfunction createDecorator(factory) {\n return function (target, key, index) {\n var Ctor = typeof target === 'function'\n ? target\n : target.constructor;\n if (!Ctor.__decorators__) {\n Ctor.__decorators__ = [];\n }\n if (typeof index !== 'number') {\n index = undefined;\n }\n Ctor.__decorators__.push(function (options) { return factory(options, key, index); });\n };\n}\nfunction isPrimitive(value) {\n var type = typeof value;\n return value == null || (type !== \"object\" && type !== \"function\");\n}\nfunction warn(message) {\n if (typeof console !== 'undefined') {\n console.warn('[vue-class-component] ' + message);\n }\n}\n\nfunction collectDataFromConstructor(vm, Component) {\n var originalInit = Component.prototype._init;\n Component.prototype._init = function () {\n var _this = this;\n var keys = Object.getOwnPropertyNames(vm);\n if (vm.$options.props) {\n for (var key in vm.$options.props) {\n if (!vm.hasOwnProperty(key)) {\n keys.push(key);\n }\n }\n }\n keys.forEach(function (key) {\n if (key.charAt(0) !== '_') {\n Object.defineProperty(_this, key, {\n get: function () { return vm[key]; },\n set: function (value) { return vm[key] = value; },\n configurable: true\n });\n }\n });\n };\n var data = new Component();\n Component.prototype._init = originalInit;\n var plainData = {};\n Object.keys(data).forEach(function (key) {\n if (data[key] !== undefined) {\n plainData[key] = data[key];\n }\n });\n if (process.env.NODE_ENV !== 'production') {\n if (!(Component.prototype instanceof Vue) && Object.keys(plainData).length > 0) {\n warn('Component class must inherit Vue or its descendant class ' +\n 'when class property is used.');\n }\n }\n return plainData;\n}\n\nvar $internalHooks = [\n 'data',\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeDestroy',\n 'destroyed',\n 'beforeUpdate',\n 'updated',\n 'activated',\n 'deactivated',\n 'render',\n 'errorCaptured'\n];\nfunction componentFactory(Component, options) {\n if (options === void 0) { options = {}; }\n options.name = options.name || Component._componentTag || Component.name;\n var proto = Component.prototype;\n Object.getOwnPropertyNames(proto).forEach(function (key) {\n if (key === 'constructor') {\n return;\n }\n if ($internalHooks.indexOf(key) > -1) {\n options[key] = proto[key];\n return;\n }\n var descriptor = Object.getOwnPropertyDescriptor(proto, key);\n if (typeof descriptor.value === 'function') {\n (options.methods || (options.methods = {}))[key] = descriptor.value;\n }\n else if (descriptor.get || descriptor.set) {\n (options.computed || (options.computed = {}))[key] = {\n get: descriptor.get,\n set: descriptor.set\n };\n }\n });\n (options.mixins || (options.mixins = [])).push({\n data: function () {\n return collectDataFromConstructor(this, Component);\n }\n });\n var decorators = Component.__decorators__;\n if (decorators) {\n decorators.forEach(function (fn) { return fn(options); });\n delete Component.__decorators__;\n }\n var superProto = Object.getPrototypeOf(Component.prototype);\n var Super = superProto instanceof Vue\n ? superProto.constructor\n : Vue;\n var Extended = Super.extend(options);\n forwardStaticMembers(Extended, Component, Super);\n return Extended;\n}\nvar reservedPropertyNames = [\n 'cid',\n 'super',\n 'options',\n 'superOptions',\n 'extendOptions',\n 'sealedOptions',\n 'component',\n 'directive',\n 'filter'\n];\nfunction forwardStaticMembers(Extended, Original, Super) {\n Object.getOwnPropertyNames(Original).forEach(function (key) {\n if (key === 'prototype') {\n return;\n }\n var extendedDescriptor = Object.getOwnPropertyDescriptor(Extended, key);\n if (extendedDescriptor && !extendedDescriptor.configurable) {\n return;\n }\n var descriptor = Object.getOwnPropertyDescriptor(Original, key);\n if (!hasProto) {\n if (key === 'cid') {\n return;\n }\n var superDescriptor = Object.getOwnPropertyDescriptor(Super, key);\n if (!isPrimitive(descriptor.value)\n && superDescriptor\n && superDescriptor.value === descriptor.value) {\n return;\n }\n }\n if (process.env.NODE_ENV !== 'production'\n && reservedPropertyNames.indexOf(key) >= 0) {\n warn(\"Static property name '\" + key + \"' declared on class '\" + Original.name + \"' \" +\n 'conflicts with reserved property name of Vue internal. ' +\n 'It may cause unexpected behavior of the component. Consider renaming the property.');\n }\n Object.defineProperty(Extended, key, descriptor);\n });\n}\n\nfunction Component(options) {\n if (typeof options === 'function') {\n return componentFactory(options);\n }\n return function (Component) {\n return componentFactory(Component, options);\n };\n}\n(function (Component) {\n function registerHooks(keys) {\n $internalHooks.push.apply($internalHooks, keys);\n }\n Component.registerHooks = registerHooks;\n})(Component || (Component = {}));\nvar Component$1 = Component;\n\nexports['default'] = Component$1;\nexports.createDecorator = createDecorator;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-class-component/dist/vue-class-component.common.js\n// module id = 9\n// module chunks = 0","/*! *****************************************************************************\r\nCopyright (C) Microsoft. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\nvar Reflect;\r\n(function (Reflect) {\r\n \"use strict\";\r\n var hasOwn = Object.prototype.hasOwnProperty;\r\n // feature test for Symbol support\r\n var supportsSymbol = typeof Symbol === \"function\";\r\n var toPrimitiveSymbol = supportsSymbol && typeof Symbol.toPrimitive !== \"undefined\" ? Symbol.toPrimitive : \"@@toPrimitive\";\r\n var iteratorSymbol = supportsSymbol && typeof Symbol.iterator !== \"undefined\" ? Symbol.iterator : \"@@iterator\";\r\n var HashMap;\r\n (function (HashMap) {\r\n var supportsCreate = typeof Object.create === \"function\"; // feature test for Object.create support\r\n var supportsProto = { __proto__: [] } instanceof Array; // feature test for __proto__ support\r\n var downLevel = !supportsCreate && !supportsProto;\r\n // create an object in dictionary mode (a.k.a. \"slow\" mode in v8)\r\n HashMap.create = supportsCreate\r\n ? function () { return MakeDictionary(Object.create(null)); }\r\n : supportsProto\r\n ? function () { return MakeDictionary({ __proto__: null }); }\r\n : function () { return MakeDictionary({}); };\r\n HashMap.has = downLevel\r\n ? function (map, key) { return hasOwn.call(map, key); }\r\n : function (map, key) { return key in map; };\r\n HashMap.get = downLevel\r\n ? function (map, key) { return hasOwn.call(map, key) ? map[key] : undefined; }\r\n : function (map, key) { return map[key]; };\r\n })(HashMap || (HashMap = {}));\r\n // Load global or shim versions of Map, Set, and WeakMap\r\n var functionPrototype = Object.getPrototypeOf(Function);\r\n var usePolyfill = typeof process === \"object\" && process.env && process.env[\"REFLECT_METADATA_USE_MAP_POLYFILL\"] === \"true\";\r\n var _Map = !usePolyfill && typeof Map === \"function\" && typeof Map.prototype.entries === \"function\" ? Map : CreateMapPolyfill();\r\n var _Set = !usePolyfill && typeof Set === \"function\" && typeof Set.prototype.entries === \"function\" ? Set : CreateSetPolyfill();\r\n var _WeakMap = !usePolyfill && typeof WeakMap === \"function\" ? WeakMap : CreateWeakMapPolyfill();\r\n // [[Metadata]] internal slot\r\n // https://rbuckton.github.io/reflect-metadata/#ordinary-object-internal-methods-and-internal-slots\r\n var Metadata = new _WeakMap();\r\n /**\r\n * Applies a set of decorators to a property of a target object.\r\n * @param decorators An array of decorators.\r\n * @param target The target object.\r\n * @param propertyKey (Optional) The property key to decorate.\r\n * @param attributes (Optional) The property descriptor for the target key.\r\n * @remarks Decorators are applied in reverse order.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * Example = Reflect.decorate(decoratorsArray, Example);\r\n *\r\n * // property (on constructor)\r\n * Reflect.decorate(decoratorsArray, Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * Reflect.decorate(decoratorsArray, Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * Object.defineProperty(Example, \"staticMethod\",\r\n * Reflect.decorate(decoratorsArray, Example, \"staticMethod\",\r\n * Object.getOwnPropertyDescriptor(Example, \"staticMethod\")));\r\n *\r\n * // method (on prototype)\r\n * Object.defineProperty(Example.prototype, \"method\",\r\n * Reflect.decorate(decoratorsArray, Example.prototype, \"method\",\r\n * Object.getOwnPropertyDescriptor(Example.prototype, \"method\")));\r\n *\r\n */\r\n function decorate(decorators, target, propertyKey, attributes) {\r\n if (!IsUndefined(propertyKey)) {\r\n if (!IsArray(decorators))\r\n throw new TypeError();\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsObject(attributes) && !IsUndefined(attributes) && !IsNull(attributes))\r\n throw new TypeError();\r\n if (IsNull(attributes))\r\n attributes = undefined;\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return DecorateProperty(decorators, target, propertyKey, attributes);\r\n }\r\n else {\r\n if (!IsArray(decorators))\r\n throw new TypeError();\r\n if (!IsConstructor(target))\r\n throw new TypeError();\r\n return DecorateConstructor(decorators, target);\r\n }\r\n }\r\n Reflect.decorate = decorate;\r\n // 4.1.2 Reflect.metadata(metadataKey, metadataValue)\r\n // https://rbuckton.github.io/reflect-metadata/#reflect.metadata\r\n /**\r\n * A default metadata decorator factory that can be used on a class, class member, or parameter.\r\n * @param metadataKey The key for the metadata entry.\r\n * @param metadataValue The value for the metadata entry.\r\n * @returns A decorator function.\r\n * @remarks\r\n * If `metadataKey` is already defined for the target and target key, the\r\n * metadataValue for that key will be overwritten.\r\n * @example\r\n *\r\n * // constructor\r\n * @Reflect.metadata(key, value)\r\n * class Example {\r\n * }\r\n *\r\n * // property (on constructor, TypeScript only)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * static staticProperty;\r\n * }\r\n *\r\n * // property (on prototype, TypeScript only)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * property;\r\n * }\r\n *\r\n * // method (on constructor)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * static staticMethod() { }\r\n * }\r\n *\r\n * // method (on prototype)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * method() { }\r\n * }\r\n *\r\n */\r\n function metadata(metadataKey, metadataValue) {\r\n function decorator(target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey) && !IsPropertyKey(propertyKey))\r\n throw new TypeError();\r\n OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey);\r\n }\r\n return decorator;\r\n }\r\n Reflect.metadata = metadata;\r\n /**\r\n * Define a unique metadata entry on the target.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param metadataValue A value that contains attached metadata.\r\n * @param target The target object on which to define metadata.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example);\r\n *\r\n * // property (on constructor)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example.prototype, \"method\");\r\n *\r\n * // decorator factory as metadata-producing annotation.\r\n * function MyAnnotation(options): Decorator {\r\n * return (target, key?) => Reflect.defineMetadata(\"custom:annotation\", options, target, key);\r\n * }\r\n *\r\n */\r\n function defineMetadata(metadataKey, metadataValue, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey);\r\n }\r\n Reflect.defineMetadata = defineMetadata;\r\n /**\r\n * Gets a value indicating whether the target object or its prototype chain has the provided metadata key defined.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns `true` if the metadata key was defined on the target object or its prototype chain; otherwise, `false`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function hasMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryHasMetadata(metadataKey, target, propertyKey);\r\n }\r\n Reflect.hasMetadata = hasMetadata;\r\n /**\r\n * Gets a value indicating whether the target object has the provided metadata key defined.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns `true` if the metadata key was defined on the target object; otherwise, `false`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function hasOwnMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryHasOwnMetadata(metadataKey, target, propertyKey);\r\n }\r\n Reflect.hasOwnMetadata = hasOwnMetadata;\r\n /**\r\n * Gets the metadata value for the provided metadata key on the target object or its prototype chain.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns The metadata value for the metadata key if found; otherwise, `undefined`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function getMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryGetMetadata(metadataKey, target, propertyKey);\r\n }\r\n Reflect.getMetadata = getMetadata;\r\n /**\r\n * Gets the metadata value for the provided metadata key on the target object.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns The metadata value for the metadata key if found; otherwise, `undefined`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function getOwnMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryGetOwnMetadata(metadataKey, target, propertyKey);\r\n }\r\n Reflect.getOwnMetadata = getOwnMetadata;\r\n /**\r\n * Gets the metadata keys defined on the target object or its prototype chain.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns An array of unique metadata keys.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getMetadataKeys(Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getMetadataKeys(Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getMetadataKeys(Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getMetadataKeys(Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getMetadataKeys(Example.prototype, \"method\");\r\n *\r\n */\r\n function getMetadataKeys(target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryMetadataKeys(target, propertyKey);\r\n }\r\n Reflect.getMetadataKeys = getMetadataKeys;\r\n /**\r\n * Gets the unique metadata keys defined on the target object.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns An array of unique metadata keys.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getOwnMetadataKeys(Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getOwnMetadataKeys(Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getOwnMetadataKeys(Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getOwnMetadataKeys(Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getOwnMetadataKeys(Example.prototype, \"method\");\r\n *\r\n */\r\n function getOwnMetadataKeys(target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryOwnMetadataKeys(target, propertyKey);\r\n }\r\n Reflect.getOwnMetadataKeys = getOwnMetadataKeys;\r\n /**\r\n * Deletes the metadata entry from the target object with the provided key.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns `true` if the metadata entry was found and deleted; otherwise, false.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function deleteMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n var metadataMap = GetOrCreateMetadataMap(target, propertyKey, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return false;\r\n if (!metadataMap.delete(metadataKey))\r\n return false;\r\n if (metadataMap.size > 0)\r\n return true;\r\n var targetMetadata = Metadata.get(target);\r\n targetMetadata.delete(propertyKey);\r\n if (targetMetadata.size > 0)\r\n return true;\r\n Metadata.delete(target);\r\n return true;\r\n }\r\n Reflect.deleteMetadata = deleteMetadata;\r\n function DecorateConstructor(decorators, target) {\r\n for (var i = decorators.length - 1; i >= 0; --i) {\r\n var decorator = decorators[i];\r\n var decorated = decorator(target);\r\n if (!IsUndefined(decorated) && !IsNull(decorated)) {\r\n if (!IsConstructor(decorated))\r\n throw new TypeError();\r\n target = decorated;\r\n }\r\n }\r\n return target;\r\n }\r\n function DecorateProperty(decorators, target, propertyKey, descriptor) {\r\n for (var i = decorators.length - 1; i >= 0; --i) {\r\n var decorator = decorators[i];\r\n var decorated = decorator(target, propertyKey, descriptor);\r\n if (!IsUndefined(decorated) && !IsNull(decorated)) {\r\n if (!IsObject(decorated))\r\n throw new TypeError();\r\n descriptor = decorated;\r\n }\r\n }\r\n return descriptor;\r\n }\r\n function GetOrCreateMetadataMap(O, P, Create) {\r\n var targetMetadata = Metadata.get(O);\r\n if (IsUndefined(targetMetadata)) {\r\n if (!Create)\r\n return undefined;\r\n targetMetadata = new _Map();\r\n Metadata.set(O, targetMetadata);\r\n }\r\n var metadataMap = targetMetadata.get(P);\r\n if (IsUndefined(metadataMap)) {\r\n if (!Create)\r\n return undefined;\r\n metadataMap = new _Map();\r\n targetMetadata.set(P, metadataMap);\r\n }\r\n return metadataMap;\r\n }\r\n // 3.1.1.1 OrdinaryHasMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinaryhasmetadata\r\n function OrdinaryHasMetadata(MetadataKey, O, P) {\r\n var hasOwn = OrdinaryHasOwnMetadata(MetadataKey, O, P);\r\n if (hasOwn)\r\n return true;\r\n var parent = OrdinaryGetPrototypeOf(O);\r\n if (!IsNull(parent))\r\n return OrdinaryHasMetadata(MetadataKey, parent, P);\r\n return false;\r\n }\r\n // 3.1.2.1 OrdinaryHasOwnMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinaryhasownmetadata\r\n function OrdinaryHasOwnMetadata(MetadataKey, O, P) {\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return false;\r\n return ToBoolean(metadataMap.has(MetadataKey));\r\n }\r\n // 3.1.3.1 OrdinaryGetMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarygetmetadata\r\n function OrdinaryGetMetadata(MetadataKey, O, P) {\r\n var hasOwn = OrdinaryHasOwnMetadata(MetadataKey, O, P);\r\n if (hasOwn)\r\n return OrdinaryGetOwnMetadata(MetadataKey, O, P);\r\n var parent = OrdinaryGetPrototypeOf(O);\r\n if (!IsNull(parent))\r\n return OrdinaryGetMetadata(MetadataKey, parent, P);\r\n return undefined;\r\n }\r\n // 3.1.4.1 OrdinaryGetOwnMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarygetownmetadata\r\n function OrdinaryGetOwnMetadata(MetadataKey, O, P) {\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return undefined;\r\n return metadataMap.get(MetadataKey);\r\n }\r\n // 3.1.5.1 OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarydefineownmetadata\r\n function OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P) {\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ true);\r\n metadataMap.set(MetadataKey, MetadataValue);\r\n }\r\n // 3.1.6.1 OrdinaryMetadataKeys(O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarymetadatakeys\r\n function OrdinaryMetadataKeys(O, P) {\r\n var ownKeys = OrdinaryOwnMetadataKeys(O, P);\r\n var parent = OrdinaryGetPrototypeOf(O);\r\n if (parent === null)\r\n return ownKeys;\r\n var parentKeys = OrdinaryMetadataKeys(parent, P);\r\n if (parentKeys.length <= 0)\r\n return ownKeys;\r\n if (ownKeys.length <= 0)\r\n return parentKeys;\r\n var set = new _Set();\r\n var keys = [];\r\n for (var _i = 0, ownKeys_1 = ownKeys; _i < ownKeys_1.length; _i++) {\r\n var key = ownKeys_1[_i];\r\n var hasKey = set.has(key);\r\n if (!hasKey) {\r\n set.add(key);\r\n keys.push(key);\r\n }\r\n }\r\n for (var _a = 0, parentKeys_1 = parentKeys; _a < parentKeys_1.length; _a++) {\r\n var key = parentKeys_1[_a];\r\n var hasKey = set.has(key);\r\n if (!hasKey) {\r\n set.add(key);\r\n keys.push(key);\r\n }\r\n }\r\n return keys;\r\n }\r\n // 3.1.7.1 OrdinaryOwnMetadataKeys(O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinaryownmetadatakeys\r\n function OrdinaryOwnMetadataKeys(O, P) {\r\n var keys = [];\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return keys;\r\n var keysObj = metadataMap.keys();\r\n var iterator = GetIterator(keysObj);\r\n var k = 0;\r\n while (true) {\r\n var next = IteratorStep(iterator);\r\n if (!next) {\r\n keys.length = k;\r\n return keys;\r\n }\r\n var nextValue = IteratorValue(next);\r\n try {\r\n keys[k] = nextValue;\r\n }\r\n catch (e) {\r\n try {\r\n IteratorClose(iterator);\r\n }\r\n finally {\r\n throw e;\r\n }\r\n }\r\n k++;\r\n }\r\n }\r\n // 6 ECMAScript Data Typ0es and Values\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-data-types-and-values\r\n function Type(x) {\r\n if (x === null)\r\n return 1 /* Null */;\r\n switch (typeof x) {\r\n case \"undefined\": return 0 /* Undefined */;\r\n case \"boolean\": return 2 /* Boolean */;\r\n case \"string\": return 3 /* String */;\r\n case \"symbol\": return 4 /* Symbol */;\r\n case \"number\": return 5 /* Number */;\r\n case \"object\": return x === null ? 1 /* Null */ : 6 /* Object */;\r\n default: return 6 /* Object */;\r\n }\r\n }\r\n // 6.1.1 The Undefined Type\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-undefined-type\r\n function IsUndefined(x) {\r\n return x === undefined;\r\n }\r\n // 6.1.2 The Null Type\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-null-type\r\n function IsNull(x) {\r\n return x === null;\r\n }\r\n // 6.1.5 The Symbol Type\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-symbol-type\r\n function IsSymbol(x) {\r\n return typeof x === \"symbol\";\r\n }\r\n // 6.1.7 The Object Type\r\n // https://tc39.github.io/ecma262/#sec-object-type\r\n function IsObject(x) {\r\n return typeof x === \"object\" ? x !== null : typeof x === \"function\";\r\n }\r\n // 7.1 Type Conversion\r\n // https://tc39.github.io/ecma262/#sec-type-conversion\r\n // 7.1.1 ToPrimitive(input [, PreferredType])\r\n // https://tc39.github.io/ecma262/#sec-toprimitive\r\n function ToPrimitive(input, PreferredType) {\r\n switch (Type(input)) {\r\n case 0 /* Undefined */: return input;\r\n case 1 /* Null */: return input;\r\n case 2 /* Boolean */: return input;\r\n case 3 /* String */: return input;\r\n case 4 /* Symbol */: return input;\r\n case 5 /* Number */: return input;\r\n }\r\n var hint = PreferredType === 3 /* String */ ? \"string\" : PreferredType === 5 /* Number */ ? \"number\" : \"default\";\r\n var exoticToPrim = GetMethod(input, toPrimitiveSymbol);\r\n if (exoticToPrim !== undefined) {\r\n var result = exoticToPrim.call(input, hint);\r\n if (IsObject(result))\r\n throw new TypeError();\r\n return result;\r\n }\r\n return OrdinaryToPrimitive(input, hint === \"default\" ? \"number\" : hint);\r\n }\r\n // 7.1.1.1 OrdinaryToPrimitive(O, hint)\r\n // https://tc39.github.io/ecma262/#sec-ordinarytoprimitive\r\n function OrdinaryToPrimitive(O, hint) {\r\n if (hint === \"string\") {\r\n var toString_1 = O.toString;\r\n if (IsCallable(toString_1)) {\r\n var result = toString_1.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n var valueOf = O.valueOf;\r\n if (IsCallable(valueOf)) {\r\n var result = valueOf.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n }\r\n else {\r\n var valueOf = O.valueOf;\r\n if (IsCallable(valueOf)) {\r\n var result = valueOf.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n var toString_2 = O.toString;\r\n if (IsCallable(toString_2)) {\r\n var result = toString_2.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n }\r\n throw new TypeError();\r\n }\r\n // 7.1.2 ToBoolean(argument)\r\n // https://tc39.github.io/ecma262/2016/#sec-toboolean\r\n function ToBoolean(argument) {\r\n return !!argument;\r\n }\r\n // 7.1.12 ToString(argument)\r\n // https://tc39.github.io/ecma262/#sec-tostring\r\n function ToString(argument) {\r\n return \"\" + argument;\r\n }\r\n // 7.1.14 ToPropertyKey(argument)\r\n // https://tc39.github.io/ecma262/#sec-topropertykey\r\n function ToPropertyKey(argument) {\r\n var key = ToPrimitive(argument, 3 /* String */);\r\n if (IsSymbol(key))\r\n return key;\r\n return ToString(key);\r\n }\r\n // 7.2 Testing and Comparison Operations\r\n // https://tc39.github.io/ecma262/#sec-testing-and-comparison-operations\r\n // 7.2.2 IsArray(argument)\r\n // https://tc39.github.io/ecma262/#sec-isarray\r\n function IsArray(argument) {\r\n return Array.isArray\r\n ? Array.isArray(argument)\r\n : argument instanceof Object\r\n ? argument instanceof Array\r\n : Object.prototype.toString.call(argument) === \"[object Array]\";\r\n }\r\n // 7.2.3 IsCallable(argument)\r\n // https://tc39.github.io/ecma262/#sec-iscallable\r\n function IsCallable(argument) {\r\n // NOTE: This is an approximation as we cannot check for [[Call]] internal method.\r\n return typeof argument === \"function\";\r\n }\r\n // 7.2.4 IsConstructor(argument)\r\n // https://tc39.github.io/ecma262/#sec-isconstructor\r\n function IsConstructor(argument) {\r\n // NOTE: This is an approximation as we cannot check for [[Construct]] internal method.\r\n return typeof argument === \"function\";\r\n }\r\n // 7.2.7 IsPropertyKey(argument)\r\n // https://tc39.github.io/ecma262/#sec-ispropertykey\r\n function IsPropertyKey(argument) {\r\n switch (Type(argument)) {\r\n case 3 /* String */: return true;\r\n case 4 /* Symbol */: return true;\r\n default: return false;\r\n }\r\n }\r\n // 7.3 Operations on Objects\r\n // https://tc39.github.io/ecma262/#sec-operations-on-objects\r\n // 7.3.9 GetMethod(V, P)\r\n // https://tc39.github.io/ecma262/#sec-getmethod\r\n function GetMethod(V, P) {\r\n var func = V[P];\r\n if (func === undefined || func === null)\r\n return undefined;\r\n if (!IsCallable(func))\r\n throw new TypeError();\r\n return func;\r\n }\r\n // 7.4 Operations on Iterator Objects\r\n // https://tc39.github.io/ecma262/#sec-operations-on-iterator-objects\r\n function GetIterator(obj) {\r\n var method = GetMethod(obj, iteratorSymbol);\r\n if (!IsCallable(method))\r\n throw new TypeError(); // from Call\r\n var iterator = method.call(obj);\r\n if (!IsObject(iterator))\r\n throw new TypeError();\r\n return iterator;\r\n }\r\n // 7.4.4 IteratorValue(iterResult)\r\n // https://tc39.github.io/ecma262/2016/#sec-iteratorvalue\r\n function IteratorValue(iterResult) {\r\n return iterResult.value;\r\n }\r\n // 7.4.5 IteratorStep(iterator)\r\n // https://tc39.github.io/ecma262/#sec-iteratorstep\r\n function IteratorStep(iterator) {\r\n var result = iterator.next();\r\n return result.done ? false : result;\r\n }\r\n // 7.4.6 IteratorClose(iterator, completion)\r\n // https://tc39.github.io/ecma262/#sec-iteratorclose\r\n function IteratorClose(iterator) {\r\n var f = iterator[\"return\"];\r\n if (f)\r\n f.call(iterator);\r\n }\r\n // 9.1 Ordinary Object Internal Methods and Internal Slots\r\n // https://tc39.github.io/ecma262/#sec-ordinary-object-internal-methods-and-internal-slots\r\n // 9.1.1.1 OrdinaryGetPrototypeOf(O)\r\n // https://tc39.github.io/ecma262/#sec-ordinarygetprototypeof\r\n function OrdinaryGetPrototypeOf(O) {\r\n var proto = Object.getPrototypeOf(O);\r\n if (typeof O !== \"function\" || O === functionPrototype)\r\n return proto;\r\n // TypeScript doesn't set __proto__ in ES5, as it's non-standard.\r\n // Try to determine the superclass constructor. Compatible implementations\r\n // must either set __proto__ on a subclass constructor to the superclass constructor,\r\n // or ensure each class has a valid `constructor` property on its prototype that\r\n // points back to the constructor.\r\n // If this is not the same as Function.[[Prototype]], then this is definately inherited.\r\n // This is the case when in ES6 or when using __proto__ in a compatible browser.\r\n if (proto !== functionPrototype)\r\n return proto;\r\n // If the super prototype is Object.prototype, null, or undefined, then we cannot determine the heritage.\r\n var prototype = O.prototype;\r\n var prototypeProto = prototype && Object.getPrototypeOf(prototype);\r\n if (prototypeProto == null || prototypeProto === Object.prototype)\r\n return proto;\r\n // If the constructor was not a function, then we cannot determine the heritage.\r\n var constructor = prototypeProto.constructor;\r\n if (typeof constructor !== \"function\")\r\n return proto;\r\n // If we have some kind of self-reference, then we cannot determine the heritage.\r\n if (constructor === O)\r\n return proto;\r\n // we have a pretty good guess at the heritage.\r\n return constructor;\r\n }\r\n // naive Map shim\r\n function CreateMapPolyfill() {\r\n var cacheSentinel = {};\r\n var arraySentinel = [];\r\n var MapIterator = (function () {\r\n function MapIterator(keys, values, selector) {\r\n this._index = 0;\r\n this._keys = keys;\r\n this._values = values;\r\n this._selector = selector;\r\n }\r\n MapIterator.prototype[\"@@iterator\"] = function () { return this; };\r\n MapIterator.prototype[iteratorSymbol] = function () { return this; };\r\n MapIterator.prototype.next = function () {\r\n var index = this._index;\r\n if (index >= 0 && index < this._keys.length) {\r\n var result = this._selector(this._keys[index], this._values[index]);\r\n if (index + 1 >= this._keys.length) {\r\n this._index = -1;\r\n this._keys = arraySentinel;\r\n this._values = arraySentinel;\r\n }\r\n else {\r\n this._index++;\r\n }\r\n return { value: result, done: false };\r\n }\r\n return { value: undefined, done: true };\r\n };\r\n MapIterator.prototype.throw = function (error) {\r\n if (this._index >= 0) {\r\n this._index = -1;\r\n this._keys = arraySentinel;\r\n this._values = arraySentinel;\r\n }\r\n throw error;\r\n };\r\n MapIterator.prototype.return = function (value) {\r\n if (this._index >= 0) {\r\n this._index = -1;\r\n this._keys = arraySentinel;\r\n this._values = arraySentinel;\r\n }\r\n return { value: value, done: true };\r\n };\r\n return MapIterator;\r\n }());\r\n return (function () {\r\n function Map() {\r\n this._keys = [];\r\n this._values = [];\r\n this._cacheKey = cacheSentinel;\r\n this._cacheIndex = -2;\r\n }\r\n Object.defineProperty(Map.prototype, \"size\", {\r\n get: function () { return this._keys.length; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Map.prototype.has = function (key) { return this._find(key, /*insert*/ false) >= 0; };\r\n Map.prototype.get = function (key) {\r\n var index = this._find(key, /*insert*/ false);\r\n return index >= 0 ? this._values[index] : undefined;\r\n };\r\n Map.prototype.set = function (key, value) {\r\n var index = this._find(key, /*insert*/ true);\r\n this._values[index] = value;\r\n return this;\r\n };\r\n Map.prototype.delete = function (key) {\r\n var index = this._find(key, /*insert*/ false);\r\n if (index >= 0) {\r\n var size = this._keys.length;\r\n for (var i = index + 1; i < size; i++) {\r\n this._keys[i - 1] = this._keys[i];\r\n this._values[i - 1] = this._values[i];\r\n }\r\n this._keys.length--;\r\n this._values.length--;\r\n if (key === this._cacheKey) {\r\n this._cacheKey = cacheSentinel;\r\n this._cacheIndex = -2;\r\n }\r\n return true;\r\n }\r\n return false;\r\n };\r\n Map.prototype.clear = function () {\r\n this._keys.length = 0;\r\n this._values.length = 0;\r\n this._cacheKey = cacheSentinel;\r\n this._cacheIndex = -2;\r\n };\r\n Map.prototype.keys = function () { return new MapIterator(this._keys, this._values, getKey); };\r\n Map.prototype.values = function () { return new MapIterator(this._keys, this._values, getValue); };\r\n Map.prototype.entries = function () { return new MapIterator(this._keys, this._values, getEntry); };\r\n Map.prototype[\"@@iterator\"] = function () { return this.entries(); };\r\n Map.prototype[iteratorSymbol] = function () { return this.entries(); };\r\n Map.prototype._find = function (key, insert) {\r\n if (this._cacheKey !== key) {\r\n this._cacheIndex = this._keys.indexOf(this._cacheKey = key);\r\n }\r\n if (this._cacheIndex < 0 && insert) {\r\n this._cacheIndex = this._keys.length;\r\n this._keys.push(key);\r\n this._values.push(undefined);\r\n }\r\n return this._cacheIndex;\r\n };\r\n return Map;\r\n }());\r\n function getKey(key, _) {\r\n return key;\r\n }\r\n function getValue(_, value) {\r\n return value;\r\n }\r\n function getEntry(key, value) {\r\n return [key, value];\r\n }\r\n }\r\n // naive Set shim\r\n function CreateSetPolyfill() {\r\n return (function () {\r\n function Set() {\r\n this._map = new _Map();\r\n }\r\n Object.defineProperty(Set.prototype, \"size\", {\r\n get: function () { return this._map.size; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Set.prototype.has = function (value) { return this._map.has(value); };\r\n Set.prototype.add = function (value) { return this._map.set(value, value), this; };\r\n Set.prototype.delete = function (value) { return this._map.delete(value); };\r\n Set.prototype.clear = function () { this._map.clear(); };\r\n Set.prototype.keys = function () { return this._map.keys(); };\r\n Set.prototype.values = function () { return this._map.values(); };\r\n Set.prototype.entries = function () { return this._map.entries(); };\r\n Set.prototype[\"@@iterator\"] = function () { return this.keys(); };\r\n Set.prototype[iteratorSymbol] = function () { return this.keys(); };\r\n return Set;\r\n }());\r\n }\r\n // naive WeakMap shim\r\n function CreateWeakMapPolyfill() {\r\n var UUID_SIZE = 16;\r\n var keys = HashMap.create();\r\n var rootKey = CreateUniqueKey();\r\n return (function () {\r\n function WeakMap() {\r\n this._key = CreateUniqueKey();\r\n }\r\n WeakMap.prototype.has = function (target) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ false);\r\n return table !== undefined ? HashMap.has(table, this._key) : false;\r\n };\r\n WeakMap.prototype.get = function (target) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ false);\r\n return table !== undefined ? HashMap.get(table, this._key) : undefined;\r\n };\r\n WeakMap.prototype.set = function (target, value) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ true);\r\n table[this._key] = value;\r\n return this;\r\n };\r\n WeakMap.prototype.delete = function (target) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ false);\r\n return table !== undefined ? delete table[this._key] : false;\r\n };\r\n WeakMap.prototype.clear = function () {\r\n // NOTE: not a real clear, just makes the previous data unreachable\r\n this._key = CreateUniqueKey();\r\n };\r\n return WeakMap;\r\n }());\r\n function CreateUniqueKey() {\r\n var key;\r\n do\r\n key = \"@@WeakMap@@\" + CreateUUID();\r\n while (HashMap.has(keys, key));\r\n keys[key] = true;\r\n return key;\r\n }\r\n function GetOrCreateWeakMapTable(target, create) {\r\n if (!hasOwn.call(target, rootKey)) {\r\n if (!create)\r\n return undefined;\r\n Object.defineProperty(target, rootKey, { value: HashMap.create() });\r\n }\r\n return target[rootKey];\r\n }\r\n function FillRandomBytes(buffer, size) {\r\n for (var i = 0; i < size; ++i)\r\n buffer[i] = Math.random() * 0xff | 0;\r\n return buffer;\r\n }\r\n function GenRandomBytes(size) {\r\n if (typeof Uint8Array === \"function\") {\r\n if (typeof crypto !== \"undefined\")\r\n return crypto.getRandomValues(new Uint8Array(size));\r\n if (typeof msCrypto !== \"undefined\")\r\n return msCrypto.getRandomValues(new Uint8Array(size));\r\n return FillRandomBytes(new Uint8Array(size), size);\r\n }\r\n return FillRandomBytes(new Array(size), size);\r\n }\r\n function CreateUUID() {\r\n var data = GenRandomBytes(UUID_SIZE);\r\n // mark as random - RFC 4122 ยง 4.4\r\n data[6] = data[6] & 0x4f | 0x40;\r\n data[8] = data[8] & 0xbf | 0x80;\r\n var result = \"\";\r\n for (var offset = 0; offset < UUID_SIZE; ++offset) {\r\n var byte = data[offset];\r\n if (offset === 4 || offset === 6 || offset === 8)\r\n result += \"-\";\r\n if (byte < 16)\r\n result += \"0\";\r\n result += byte.toString(16).toLowerCase();\r\n }\r\n return result;\r\n }\r\n }\r\n // uses a heuristic used by v8 and chakra to force an object into dictionary mode.\r\n function MakeDictionary(obj) {\r\n obj.__ = undefined;\r\n delete obj.__;\r\n return obj;\r\n }\r\n // patch global Reflect\r\n (function (__global) {\r\n if (typeof __global.Reflect !== \"undefined\") {\r\n if (__global.Reflect !== Reflect) {\r\n for (var p in Reflect) {\r\n if (hasOwn.call(Reflect, p)) {\r\n __global.Reflect[p] = Reflect[p];\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n __global.Reflect = Reflect;\r\n }\r\n })(typeof global !== \"undefined\" ? global :\r\n typeof self !== \"undefined\" ? self :\r\n Function(\"return this;\")());\r\n})(Reflect || (Reflect = {}));\r\n//# sourceMappingURL=Reflect.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/reflect-metadata/Reflect.js\n// module id = 10\n// module chunks = 0","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/node-libs-browser/node_modules/process/browser.js\n// module id = 11\n// module chunks = 0","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 12\n// module chunks = 0","/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nexport default noop;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/lodash-es/noop.js","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nexport default identity;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/lodash-es/identity.js","import { assign, defineProperty, copyOwnAndInheritedProps, uniqueId, round, toKbps, toMbps } from \"../core/utils\"\n\nexport interface IUploadStats {\n\tbytesSent: number\n\tprogress: number\n\ttotal: number\n\tspeed: ISpeedStats\n\tstart: number\n\tend: number\n\ttime: number\n}\n\nexport interface ISpeedStats {\n\tkbps: number\n\tmbps: number\n}\n\nclass VTransmitFile {\n\tprivate _nativeFile: File = null\n\tid: string = VTransmitFile.idFactory()\n\taccepted: boolean = undefined // Passed all validation.\n\tlastModified: number = undefined\n\tlastModifiedDate: Date = undefined\n\tname: string = undefined\n\tprocessing: boolean = undefined\n\tsize: number = undefined\n\tstatus: string = undefined\n\ttype: string = undefined\n\tupload: IUploadStats = {\n\t\tbytesSent: 0,\n\t\tprogress: 0,\n\t\ttotal: 0,\n\t\tspeed: {\n\t\t\tkbps: undefined,\n\t\t\tmbps: undefined,\n\t\t},\n\t\tstart: undefined,\n\t\tend: undefined,\n\t\ttime: undefined,\n\t}\n\twebkitRelativePath: USVString = undefined\n\twidth: number = undefined\n\theight: number = undefined\n\txhr: XMLHttpRequest = undefined\n\tprivate _dataUrl: string\n\terrorMessage: string = undefined\n\n\tconstructor(...data: object[]) {\n\t\tassign(this, ...data)\n\t}\n\n\tset(...data: object[]): VTransmitFile {\n\t\tassign(this, ...data)\n\t\treturn this\n\t}\n\n\tcopyNativeFile(file: File): VTransmitFile {\n\t\t// save reference for upload\n\t\tthis.nativeFile = file\n\t\t// Copy props to normal object for Vue reactivity.\n\t\t// Vue cannot define reactive properties on native file's readonly props.\n\t\treturn this.set(copyOwnAndInheritedProps(file))\n\t}\n\n\tcopyOwnAndInheritedProps(...data: object[]): VTransmitFile {\n\t\treturn this.set(...data.map(copyOwnAndInheritedProps))\n\t}\n\n\thandleProgress(e: ProgressEvent): void {\n\t\tthis.startProgress()\n\t\tconst total = e.total || this.upload.total\n\t\tthis.upload.progress = Math.min(100, 100 * e.loaded / total)\n\t\tthis.upload.bytesSent = e.loaded\n\t\tthis.upload.total = total\n\t\tthis.upload.time = (Date.now() - this.upload.start) / 1000\n\t\t// Recalc the upload speed in bytes/sec\n\t\tthis.upload.speed.kbps = round(toKbps(this.upload.bytesSent, this.upload.time))\n\t\tthis.upload.speed.mbps = round(toMbps(this.upload.bytesSent, this.upload.time))\n\t\tif (this.upload.progress === 100) {\n\t\t\tthis.endProgress()\n\t\t}\n\t}\n\n\tstartProgress(): VTransmitFile {\n\t\t// Avoid starting twice\n\t\tif (typeof this.upload.start !== \"number\") {\n\t\t\tthis.upload.start = Date.now()\n\t\t}\n\t\treturn this\n\t}\n\n\tendProgress(): VTransmitFile {\n\t\t// Avoid ending twice\n\t\tif (typeof this.upload.end !== \"number\") {\n\t\t\tthis.upload.end = Date.now()\n\t\t\tthis.upload.time = (Date.now() - this.upload.start) / 1000\n\t\t}\n\t\treturn this\n\t}\n\n\tget nativeFile() {\n\t\treturn this._nativeFile\n\t}\n\n\tset nativeFile(file: File) {\n\t\tif (!(file instanceof File)) {\n\t\t\tthrow new TypeError(`[${VTransmitFile.name}] Expected an instance of File (native).`)\n\t\t}\n\t\tthis._nativeFile = file\n\t\tthis.upload.total = file.size\n\t}\n\n\tget dataUrl() {\n\t\treturn this._dataUrl || \"\"\n\t}\n\n\tset dataUrl(value) {\n\t\tdefineProperty(this, \"_dataUrl\", {\n\t\t\tvalue,\n\t\t\tenumerable: false,\n\t\t\tconfigurable: true,\n\t\t\twritable: true,\n\t\t})\n\t}\n\n\tstatic fromNativeFile(file: File, ...data) {\n\t\tconst instance = new VTransmitFile(...data)\n\t\tinstance.copyNativeFile(file)\n\t\treturn instance\n\t}\n\n\tstatic idFactory() {\n\t\treturn uniqueId(\"v-transmit-file-\")\n\t}\n}\n\nexport default VTransmitFile\n\n\n\n// WEBPACK FOOTER //\n// ./src/classes/VTransmitFile.ts","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(_vm.tag,{tag:\"component\"},[_c('div',_vm._g(_vm._b({staticClass:\"v-transmit__upload-area\",class:[_vm.isDraggingClass, _vm.uploadAreaClasses],attrs:{\"draggable\":\"true\"},on:{\"click\":_vm.handleClickUploaderAction,\"dragstart\":_vm.handleDragStart,\"dragend\":_vm.handleDragEnd,\"dragenter\":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDragEnter($event)},\"dragover\":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDragOver($event)},\"dragleave\":_vm.handleDragLeave,\"drop\":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDrop($event)}}},'div',_vm.uploadAreaAttrs,false),_vm.uploadAreaListeners),[_vm._t(\"default\")],2),_vm._v(\" \"),_vm._t(\"files\",null,null,_vm.fileSlotBindings),_vm._v(\" \"),_c('input',{ref:\"hiddenFileInput\",class:[_vm.maxFilesReachedClass],style:(_vm.fileInputStyles),attrs:{\"type\":\"file\",\"multiple\":_vm.multiple,\"accept\":_vm.filesToAccept,\"capture\":_vm.capture},on:{\"change\":_vm.onFileInputChange}})],2)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-25b0f28c\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/VueTransmit.vue\n// module id = 16\n// module chunks = 0"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["webpack:///webpack/bootstrap 9dd6162e9128ef5367e8","webpack:///external {\"root\":\"Vue\",\"commonjs2\":\"vue\"}","webpack:///./src/components/VueTransmit.vue?cd95","webpack:///./src/core/utils.ts","webpack:///./index.ts","webpack:///./src/index.ts","webpack:///./src/components/VueTransmit.vue","webpack:///./src/components/VueTransmit.vue?18b8","webpack:///./node_modules/vue-loader/lib/component-normalizer.js","webpack:///./node_modules/vue-property-decorator/lib/vue-property-decorator.umd.js","webpack:///./node_modules/vue-class-component/dist/vue-class-component.common.js","webpack:///./node_modules/reflect-metadata/Reflect.js","webpack:///./node_modules/node-libs-browser/node_modules/process/browser.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/lodash-es/noop.js","webpack:///./node_modules/lodash-es/identity.js","webpack:///./src/classes/VTransmitFile.ts","webpack:///./src/components/VueTransmit.vue?d47d"],"names":["noop","identity","value"],"mappings":"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CA;AACA;AACwK;AACxK;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC1BA,yC;;;;;;ACAA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACtGA;AACA;AACA;AACA,2CAA2C;AAC3C,CAAC,kDAAkD;;AAEnD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,cAAc;AAC3C;AACA;AACA;AACA;AACA;AACA,mEAAmE;AACnE,sCAAsC;AACtC,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,cAAc;AAC3C;AACA;AACA;AACA;AACA;AACA,mEAAmE;AACnE,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,cAAc;AAC3C;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,KAAK;AACL;AACA;AACA;AACA,gCAAgC,sDAAsD;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,8CAA8C,cAAc;;AAE5D,CAAC;;;;;;;;AClID;AACA;AACA;AACA;AACA;AACA;;AAEA,8CAA8C,cAAc;;AAE5D,+BAA+B,iFAAiF;;AAEhH;;AAEA,gBAAgB,gBAAgB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,qCAAqC,EAAE;AAC5F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,gBAAgB,EAAE;AACxD,2CAA2C,wBAAwB,EAAE;AACrE;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,cAAc;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA;AACA,uDAAuD;AACvD;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,0CAA0C,oBAAoB,EAAE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,8BAA8B;AAC/B;;AAEA;AACA;;;;;;;AChMA;AACA;AACA,+DAA+D;AAC/D;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE;AACjE,6BAA6B,gBAAgB,kBAAkB;AAC/D;AACA;AACA;AACA,2BAA2B,4CAA4C;AACvE;AACA,+BAA+B,wBAAwB,kBAAkB,EAAE;AAC3E,+BAA+B,yBAAyB,EAAE;AAC1D;AACA,mCAAmC,8BAA8B;AACjE,mCAAmC,mBAAmB;AACtD;AACA,mCAAmC,qDAAqD;AACxF,mCAAmC,iBAAiB;AACpD,KAAK,0BAA0B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oGAAoG;AACpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6EAA6E;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,QAAQ;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,QAAQ;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,uBAAuB;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,0BAA0B;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D,aAAa;AAC5E,iEAAiE,aAAa;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,0BAA0B,EAAE;AAC9D;AACA;AACA,aAAa;AACb,gDAAgD,+CAA+C;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,UAAU;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,0DAA0D;AACxG,gDAAgD,4DAA4D;AAC5G,iDAAiD,4DAA4D;AAC7G,uDAAuD,uBAAuB;AAC9E,yDAAyD,uBAAuB;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,uBAAuB,EAAE;AAC3D;AACA;AACA,aAAa;AACb,kDAAkD,6BAA6B;AAC/E,kDAAkD,0CAA0C;AAC5F,qDAAqD,gCAAgC;AACrF,+CAA+C,mBAAmB;AAClE,8CAA8C,yBAAyB;AACvE,gDAAgD,2BAA2B;AAC3E,iDAAiD,4BAA4B;AAC7E,uDAAuD,oBAAoB;AAC3E,yDAAyD,oBAAoB;AAC7E;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,0BAA0B;AAClF;AACA;AACA;AACA;AACA,2BAA2B,UAAU;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,oBAAoB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC;AAClC,CAAC,0BAA0B;AAC3B,mC;;;;;;;ACpmCA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qCAAqC;;AAErC;AACA;AACA;;AAEA,2BAA2B;AAC3B;AACA;AACA;AACA,4BAA4B,UAAU;;;;;;;ACvLtC;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;;;;;;;;;;;ACpBA;;;;;;;;;;;;AAYA,SAASA,IAAT,GAAgB;AACd;AACD;;kBAEcA,I;;;;;;;;;;;;AChBf;;;;;;;;;;;;;;;;AAgBA,SAASC,QAAT,CAAkBC,KAAlB,EAAyB;AACvB,SAAOA,KAAP;AACD;;kBAEcD,Q;;;;;;;;;;;;;;;ACHf;;;;;;;AA8Ba;;;AA7BJ,aAAW,cAAa;AAChC,aAAE,KAAwB,cAAY;AACtC,aAAQ,WAAqB,WAA0B;AACvD,aAAY,eAAoB;AAChC,aAAgB,mBAAkB;AAClC,aAAI,OAAoB;AACxB,aAAU,aAAqB;AAC/B,aAAI,OAAoB;AACxB,aAAM,SAAoB;AAC1B,aAAI,OAAoB;AACxB,aAAM;AACI,uBAAG;AACJ,sBAAG;AACN,mBAAG;AACH;AACA,sBAAW;AACX,sBACJ;AAHM;AAIF,mBAAW;AACb,iBAAW;AACV,kBACJ;AAXsB;AAYvB,aAAkB,qBAAuB;AACzC,aAAK,QAAoB;AACzB,aAAM,SAAoB;AAC1B,aAAG,MAA4B;AAE/B,aAAY,eAAoB;;;AAEH;;;AACtB,wCAAO,aACd;AAEI;;;;;;AAAiB;;;AACd,4CAAO,aAAQ;AACf,mBACP;AAEc;;;uCAAW;AACI;AACxB,iBAAW,aAAO;AAC4B;AACuB;AACnE,mBAAK,KAAI,IAAyB,qCACzC;AAEyB;;;;;AAAiB;;;AACnC,mBAAK,KAAK,mCAAO,KACxB;AAEc;;;uCAAiB;AAC1B,iBAAgB;AACpB,gBAAW,QAAI,EAAM,SAAQ,KAAO,OAAM;AACtC,iBAAO,OAAS,WAAO,KAAI,IAAI,KAAK,MAAI,EAAO,SAAS;AACxD,iBAAO,OAAU,YAAI,EAAO;AAC5B,iBAAO,OAAM,QAAQ;AACrB,iBAAO,OAAK,OAAG,CAAK,KAAM,QAAO,KAAO,OAAO,SAAO;AACnB;AACnC,iBAAO,OAAM,MAAK,OAAQ,kBAAO,mBAAK,KAAO,OAAU,WAAM,KAAO,OAAO;AAC3E,iBAAO,OAAM,MAAK,OAAQ,kBAAO,mBAAK,KAAO,OAAU,WAAM,KAAO,OAAO;AAC5E,gBAAK,KAAO,OAAS,aAAS,KAAE;AAC9B,qBACL;AACD;AAEa;;;;AACW;AACpB,gBAAC,OAAW,KAAO,OAAM,UAAc,UAAE;AACvC,qBAAO,OAAM,QAAO,KACzB;AAAC;AACK,mBACP;AAEW;;;;AACW;AAClB,gBAAC,OAAW,KAAO,OAAI,QAAc,UAAE;AACrC,qBAAO,OAAI,MAAO,KAAM;AACxB,qBAAO,OAAK,OAAG,CAAK,KAAM,QAAO,KAAO,OAAO,SACpD;AAAC;AACK,mBACP;AAEc;;;;AACP,mBAAK,KACZ;AAEc;0BAAW;AACrB,gBAAE,EAAK,gBAAkB,OAAE;AAC7B,sBAAM,IAAc,gBAAiB,cACtC;AAAC;AACG,iBAAY,cAAO;AACnB,iBAAO,OAAM,QAAO,KACzB;AAEW;;;;AACJ,mBAAK,KAAS,YACrB;AAEW;0BAAM;AACF,uCAAK,MAAY;AACzB;AACK,4BAAO;AACL,8BAAM;AACV,0BAEV;AANkC;AAQb;;;uCAAa;;AAAO;;;AACxC,gBAAiB,8CAAkB,6BAAQ;AACnC,qBAAe,eAAM;AACvB,mBACP;AAEgB;;;;AACT,mBAAS,qBAChB;AAGD;;;;;;kBAA4B,c;;;;;;;ACxI5B,0BAA0B,aAAa,0BAA0B,wBAAwB,mBAAmB,gBAAgB,0BAA0B,gGAAgG,mBAAmB,KAAK,+HAA+H,wBAAwB,yBAAyB,4BAA4B,6BAA6B,wBAAwB,yBAAyB,2BAA2B,yDAAyD,wBAAwB,yBAAyB,yBAAyB,oKAAoK,wCAAwC,cAAc,8DAA8D,uFAAuF,KAAK,gCAAgC;AAC1lC;AACA,iBAAiB;AACjB,kE","file":"vue-transmit.common.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 3);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 9dd6162e9128ef5367e8","module.exports = require(\"vue\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"root\":\"Vue\",\"commonjs2\":\"vue\"}\n// module id = 0\n// module chunks = 0","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\"\nimport { Component, Prop, Watch } from \"vue-property-decorator\"\nimport noop from \"lodash-es/noop\"\nimport identity from \"lodash-es/identity\"\nimport {\n\thbsRegex,\n\thbsReplacer,\n\tobjFactory,\n\tresizeImg,\n\tIDrawImageArgs,\n\tIDimensions,\n\twebkitIsFile,\n\twebkitIsDir,\n} from \"../core/utils\"\nimport VTransmitFile from \"../classes/VTransmitFile\"\n\ntype FileSystemEntry = WebKitFileEntry | WebKitDirectoryEntry\n\nconst STATUSES = {\n\tADDED: \"added\",\n\tQUEUED: \"queued\",\n\tACCEPTED: \"queued\",\n\tUPLOADING: \"uploading\",\n\tPROCESSING: \"uploading\",\n\tCANCELED: \"canceled\",\n\tERROR: \"error\",\n\tTIMEOUT: \"timeout\",\n\tSUCCESS: \"success\",\n}\n\n@Component({ name: \"VueTransmit\" })\nexport default class VueTransmit extends Vue {\n\t@Prop({ type: String, default: \"div\" })\n\ttag: string\n\n\t@Prop({ type: [Array, Object, String], default: null })\n\tuploadAreaClasses: any[] | object | string\n\n\t@Prop({ type: Object, default: objFactory })\n\tuploadAreaAttrs: object\n\n\t@Prop({ type: Object, default: objFactory })\n\tuploadAreaListeners: object\n\n\t@Prop({ type: String, default: null })\n\tdragClass: string\n\n\t@Prop({ type: String, required: true })\n\turl: string\n\n\t@Prop({ type: String, default: \"post\" })\n\tmethod: string\n\n\t@Prop({ type: Boolean, default: false })\n\twithCredentials: boolean\n\n\t// timeout in milliseconds\n\t@Prop({ type: Number, default: 0 })\n\ttimeout: number\n\n\t@Prop({ type: Number, default: 2 })\n\tmaxConcurrentUploads: number\n\t// Whether to send multiple files in one request.\n\t@Prop({ type: Boolean, default: false })\n\tuploadMultiple: boolean\n\n\t// in MB\n\t@Prop({ type: Number, default: 256 })\n\tmaxFileSize: number\n\n\t// The name of the file param that gets transferred.\n\t@Prop({ type: String, default: \"file\" })\n\tparamName: string\n\n\t@Prop({ type: Boolean, default: true })\n\tcreateImageThumbnails: boolean\n\n\t// in MB. When the filename exceeds this limit, the thumbnail will not be generated.\n\t@Prop({ type: Number, default: 10 })\n\tmaxThumbnailFileSize: number\n\n\t@Prop({ type: Number, default: 120 })\n\tthumbnailWidth: number\n\n\t@Prop({ type: Number, default: 120 })\n\tthumbnailHeight: number\n\n\t/**\n * The base that is used to calculate the file size. You can change this to\n * 1024 if you would rather display kibibytes, mebibytes, etc...\n * 1024 is technically incorrect,\n * because `1024 bytes` are `1 kibibyte` not `1 kilobyte`.\n * You can change this to `1024` if you don't care about validity.\n */\n\t@Prop({ type: Number, default: 1000 })\n\tfileSizeBase: number\n\n\t/**\n * Can be used to limit the maximum number of files that will be handled\n * by this Dropzone\n */\n\t@Prop({ type: Number, default: null })\n\tmaxFiles: number\n\n\t/**\n * Can be an object of additional parameters to transfer to the server.\n * This is the same as adding hidden input fields in the form element.\n */\n\t@Prop({ type: Object, default: objFactory })\n\tparams: object\n\n\t@Prop({ type: Object, default: objFactory })\n\theaders: object\n\n\t@Prop({ type: String, default: \"\" })\n\tresponseType: XMLHttpRequestResponseType\n\n\t// If true, the dropzone will present a file selector when clicked.\n\t@Prop({ type: Boolean, default: true })\n\tclickable: boolean\n\n\t// Whether hidden files in directories should be ignored.\n\t@Prop({ type: Boolean, default: true })\n\tignoreHiddenFiles: boolean\n\n\t/**\n * You can set accepted mime types here.\n *\n * The default implementation of the `accept()` function will check this\n * property, and if the Dropzone is clickable this will be used as\n * `accept` attribute.\n *\n * This is a comma separated list of mime types or extensions. E.g.:\n * - audio/*,video/*,image/png,.pdf\n *\n * See https://developer.mozilla.org/en-US/docs/HTML/Element/input#attr-accept\n * for a reference.\n */\n\t@Prop({ type: Array, default: () => [] })\n\tacceptedFileTypes: string[]\n\n\t/**\n * If false, files will be added to the queue but the queue will not be\n * processed automatically.\n * This can be useful if you need some additional user input before sending\n * files (or if you want want all files sent at once).\n * If you're ready to send the file simply call myDropzone.processQueue()\n */\n\t@Prop({ type: Boolean, default: true })\n\tautoProcessQueue: boolean\n\n\t/**\n * If false, files added to the dropzone will not be queued by default.\n * You'll have to call `enqueueFile(file)` manually.\n */\n\t@Prop({ type: Boolean, default: true })\n\tautoQueue: boolean\n\n\t/**\n * If null, no capture type will be specified\n * If camera, mobile devices will skip the file selection and choose camera\n * If microphone, mobile devices will skip the file selection and choose the microphone\n * If camcorder, mobile devices will skip the file selection and choose the camera in video mode\n * On apple devices multiple must be set to false. AcceptedFiles may need to\n * be set to an appropriate mime type (e.g. \"image/*\", \"audio/*\", or \"video/*\").\n */\n\t@Prop({ type: String, default: null })\n\tcapture: string\n\n\t/**\n * Before the file is appended to the formData, the function renameFile is performed for file.name, file\n * which executes the function defined in renameFile\n */\n\t@Prop({ type: Function, default: identity })\n\trenameFile: (name: string) => string\n\n\t// If the file size is too big.\n\t@Prop({ type: String, default: \"File is too big ({{ fileSize }}MiB). Max file size: {{ maxFileSize }}MB.\" })\n\tdictFileTooBig: string\n\n\t// If the file doesn't match the file type.\n\t@Prop({ type: String, default: \"You can't upload files of this type.\" })\n\tdictInvalidFileType: string\n\n\t// If the server response was invalid.\n\t@Prop({ type: String, default: \"Error during upload: {{ statusText }} [{{ statusCode }}]\" })\n\tdictResponseError: string\n\n\t/**\n * Displayed when the maxFiles have been exceeded\n * You can use {{maxFiles}} here, which will be replaced by the option.\n */\n\t@Prop({ type: String, default: \"You can not upload any more files.\" })\n\tdictMaxFilesExceeded: string\n\n\t/**\n * If `done()` is called without argument the file is accepted\n * If you call it with an error message, the file is rejected\n * (This allows for asynchronous validation).\n */\n\t@Prop({ type: Function, default: (_, done: Function) => done() })\n\taccept: (file: VTransmitFile, done: Function) => void\n\n\t@Prop({ type: Function, default: resizeImg })\n\tresize: (file: VTransmitFile, dims: IDimensions) => IDrawImageArgs\n\n\tpublic dragging: boolean = false\n\t// Used to keep the createThumbnail calls processing async one-at-a-time\n\tprivate processingThumbnail: boolean = false\n\tpublic thumbnailQueue: any[] = []\n\tpublic files: VTransmitFile[] = []\n\tpublic defaultHeaders: object = {\n\t\tAccept: \"application/json\",\n\t\t\"Cache-Control\": \"no-cache\",\n\t\t\"X-Requested-With\": \"XMLHttpRequest\",\n\t}\n\tpublic formStyles: object = {\n\t\tvisibility: \"hidden !important\",\n\t\tposition: \"absolute !important\",\n\t\ttop: \"0 !important\",\n\t\tleft: \"0 !important\",\n\t\theight: \"0px !important\",\n\t\twidth: \"0px !important\",\n\t}\n\n\tget inputEl(): HTMLInputElement {\n\t\tlet el = null\n\t\tif (this.$refs.hiddenFileInput instanceof HTMLInputElement) {\n\t\t\tel = this.$refs.hiddenFileInput\n\t\t}\n\t\treturn el\n\t}\n\tget formEl(): HTMLFormElement {\n\t\tlet el = null\n\t\tif (this.$refs.uploadForm instanceof HTMLFormElement) {\n\t\t\tel = this.$refs.uploadForm\n\t\t}\n\t\treturn el\n\t}\n\tget filesToAccept(): string {\n\t\treturn this.acceptedFileTypes.join(\",\")\n\t}\n\tget multiple(): boolean {\n\t\treturn this.maxFiles === null || this.maxFiles > 1\n\t}\n\tget acceptedFiles(): VTransmitFile[] {\n\t\treturn this.files.filter(f => f.accepted)\n\t}\n\tget rejectedFiles(): VTransmitFile[] {\n\t\treturn this.files.filter(f => !f.accepted)\n\t}\n\tget addedFiles(): VTransmitFile[] {\n\t\treturn this.getFilesWithStatus(STATUSES.ADDED)\n\t}\n\tget queuedFiles(): VTransmitFile[] {\n\t\treturn this.getFilesWithStatus(STATUSES.QUEUED)\n\t}\n\tget uploadingFiles(): VTransmitFile[] {\n\t\treturn this.getFilesWithStatus(STATUSES.UPLOADING)\n\t}\n\tget activeFiles(): VTransmitFile[] {\n\t\treturn this.getFilesWithStatus(STATUSES.UPLOADING, STATUSES.QUEUED)\n\t}\n\tget maxFilesReached(): boolean {\n\t\t// Loose equality checks null && undefined\n\t\treturn this.maxFiles != null && this.acceptedFiles.length >= this.maxFiles\n\t}\n\tget maxFilesReachedClass(): string {\n\t\treturn this.maxFilesReached ? \"v-transmit__max-files--reached\" : null\n\t}\n\tget isDraggingClass(): { [key: string]: boolean } {\n\t\treturn {\n\t\t\t\"v-transmit__upload-area--is-dragging\": this.dragging,\n\t\t\t[this.dragClass]: this.dragging,\n\t\t}\n\t}\n\tget isUploading(): boolean {\n\t\treturn this.uploadingFiles.length > 0\n\t}\n\tget fileSlotBindings() {\n\t\treturn {\n\t\t\tfiles: this.files,\n\t\t\tacceptedFiles: this.acceptedFiles,\n\t\t\trejectedFiles: this.rejectedFiles,\n\t\t\taddedFiles: this.addedFiles,\n\t\t\tqueuedFiles: this.queuedFiles,\n\t\t\tuploadingFiles: this.uploadingFiles,\n\t\t\tactiveFiles: this.activeFiles,\n\t\t\tisUploading: this.isUploading,\n\t\t}\n\t}\n\n\t@Watch(\"acceptedFiles\")\n\tonAcceptedFilesChange(acceptedFiles: VTransmitFile[]) {\n\t\tif (this.maxFiles == null) {\n\t\t\treturn\n\t\t}\n\t\tif (acceptedFiles.length >= this.maxFiles) {\n\t\t\tthis.$emit(\"max-files-reached\", this.files)\n\t\t}\n\t}\n\n\tgetFilesWithStatus(...statuses: string[]): VTransmitFile[] {\n\t\treturn this.files.filter(f => statuses.indexOf(f.status) > -1)\n\t}\n\tonFileInputChange(): void {\n\t\tthis.$emit(\"added-files\", Array.from(this.inputEl.files).map(this.addFile))\n\t\tthis.formEl.reset()\n\t}\n\taddFile(file: File): VTransmitFile {\n\t\tconst vTransmitFile = VTransmitFile.fromNativeFile(file)\n\t\tvTransmitFile.status = STATUSES.ADDED\n\t\tthis.files.push(vTransmitFile)\n\t\tthis.$emit(\"added-file\", vTransmitFile)\n\t\tthis.enqueueThumbnail(vTransmitFile)\n\t\tthis.acceptFile(vTransmitFile, error => {\n\t\t\tif (error) {\n\t\t\t\tvTransmitFile.accepted = false\n\t\t\t\tthis.errorProcessing([vTransmitFile], error)\n\t\t\t\tthis.$emit(\"rejected-file\", vTransmitFile)\n\t\t\t} else {\n\t\t\t\tvTransmitFile.accepted = true\n\t\t\t\tthis.$emit(\"accepted-file\", vTransmitFile)\n\t\t\t\tif (this.autoQueue) {\n\t\t\t\t\tthis.enqueueFile(vTransmitFile)\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.$emit(\"accept-complete\", vTransmitFile)\n\t\t})\n\n\t\treturn vTransmitFile\n\t}\n\tremoveFile(file: VTransmitFile): void {\n\t\tif (file.status === STATUSES.UPLOADING) {\n\t\t\tthis.cancelUpload(file)\n\t\t}\n\t\tconst idxToRm = this.files.findIndex(f => f.id === file.id)\n\t\tif (~idxToRm) {\n\t\t\tthis.$emit(\"removed-file\", this.files.splice(idxToRm, 1)[0])\n\t\t\tif (this.files.length === 0) {\n\t\t\t\tthis.$emit(\"reset\")\n\t\t\t}\n\t\t}\n\t}\n\tremoveAllFiles(cancelInProgressUploads = false): void {\n\t\tfor (const file of this.files) {\n\t\t\tif (file.status !== STATUSES.UPLOADING || cancelInProgressUploads) {\n\t\t\t\tthis.removeFile(file)\n\t\t\t}\n\t\t}\n\t}\n\ttriggerBrowseFiles(): void {\n\t\tthis.inputEl.click()\n\t}\n\thandleClickUploaderAction(): void {\n\t\tif (this.clickable) {\n\t\t\tthis.triggerBrowseFiles()\n\t\t}\n\t}\n\tenqueueFile(file: VTransmitFile): void {\n\t\tif (file.status === STATUSES.ADDED && file.accepted === true) {\n\t\t\tfile.status = STATUSES.QUEUED\n\t\t\tif (this.autoProcessQueue) {\n\t\t\t\tsetTimeout(this.processQueue, 0)\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new Error(\"This file can't be queued because it has already been processed or was rejected.\")\n\t\t}\n\t}\n\tenqueueThumbnail(file: VTransmitFile): void {\n\t\tif (\n\t\t\tthis.createImageThumbnails &&\n\t\t\tfile.type.match(/image.*/) &&\n\t\t\tfile.size <= this.maxThumbnailFileSize * 1024 * 1024\n\t\t) {\n\t\t\tthis.thumbnailQueue.push(file)\n\t\t\tsetTimeout(this.processThumbnailQueue, 0)\n\t\t}\n\t}\n\tprocessThumbnailQueue(): void {\n\t\t// Employ a chain of self-calling, self-queuing createThumbnail calls\n\t\t// so execution can stay as non-blocking as possible.\n\t\tif (this.processingThumbnail || this.thumbnailQueue.length === 0) {\n\t\t\treturn\n\t\t}\n\t\tthis.processingThumbnail = true\n\t\tthis.createThumbnail(this.thumbnailQueue.shift(), () => {\n\t\t\tthis.processingThumbnail = false\n\t\t\tthis.processThumbnailQueue()\n\t\t})\n\t}\n\tcreateThumbnail(file: VTransmitFile, callback = noop): void {\n\t\tconst reader = new FileReader()\n\t\treader.addEventListener(\n\t\t\t\"load\",\n\t\t\t() => {\n\t\t\t\tif (file.type === \"image/svg+xml\") {\n\t\t\t\t\tfile.dataUrl = reader.result\n\t\t\t\t\tthis.$emit(\"thumbnail\", file, reader.result)\n\t\t\t\t\tcallback()\n\t\t\t\t}\n\t\t\t\tthis.createThumbnailFromUrl(file, reader.result, callback)\n\t\t\t},\n\t\t\tfalse\n\t\t)\n\n\t\t// FileReader requires a native File|Blob object\n\t\treader.readAsDataURL(file.nativeFile)\n\t}\n\tcreateThumbnailFromUrl(file: VTransmitFile, imageUrl: string, callback?: Function): void {\n\t\tconst imgEl = document.createElement(\"img\")\n\n\t\timgEl.addEventListener(\n\t\t\t\"load\",\n\t\t\t() => {\n\t\t\t\tfile.width = imgEl.width\n\t\t\t\tfile.height = imgEl.height\n\t\t\t\tconst resizeInfo = this.resize(file, {\n\t\t\t\t\twidth: this.thumbnailWidth,\n\t\t\t\t\theight: this.thumbnailHeight,\n\t\t\t\t})\n\t\t\t\tconst canvas = document.createElement(\"canvas\")\n\t\t\t\tconst ctx = canvas.getContext(\"2d\")\n\t\t\t\tcanvas.width = resizeInfo.dWidth\n\t\t\t\tcanvas.height = resizeInfo.dHeight\n\t\t\t\tctx.drawImage(\n\t\t\t\t\timgEl,\n\t\t\t\t\tresizeInfo.sx,\n\t\t\t\t\tresizeInfo.sy,\n\t\t\t\t\tresizeInfo.sWidth,\n\t\t\t\t\tresizeInfo.sHeight,\n\t\t\t\t\tresizeInfo.dx,\n\t\t\t\t\tresizeInfo.dy,\n\t\t\t\t\tresizeInfo.dWidth,\n\t\t\t\t\tresizeInfo.dHeight\n\t\t\t\t)\n\t\t\t\tconst thumbnail = canvas.toDataURL(\"image/png\")\n\t\t\t\tfile.dataUrl = thumbnail\n\t\t\t\tthis.$emit(\"thumbnail\", file, thumbnail)\n\n\t\t\t\tif (callback) {\n\t\t\t\t\treturn callback()\n\t\t\t\t}\n\t\t\t},\n\t\t\tfalse\n\t\t)\n\t\tif (callback) {\n\t\t\timgEl.addEventListener(\"error\", callback as EventListenerOrEventListenerObject, false)\n\t\t}\n\n\t\timgEl.src = imageUrl\n\t}\n\tprocessQueue(): void {\n\t\tconst processingLength = this.uploadingFiles.length\n\t\tif (processingLength >= this.maxConcurrentUploads || this.queuedFiles.length === 0) {\n\t\t\treturn\n\t\t}\n\n\t\tconst queuedFiles = [...this.queuedFiles]\n\t\tif (this.uploadMultiple) {\n\t\t\treturn this.processFiles(queuedFiles.slice(0, this.maxConcurrentUploads - processingLength))\n\t\t} else {\n\t\t\tfor (let i = processingLength; i < this.maxConcurrentUploads; i++) {\n\t\t\t\tif (queuedFiles.length) {\n\t\t\t\t\tthis.processFile(queuedFiles.shift())\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tprocessFile(file: VTransmitFile): void {\n\t\tthis.processFiles([file])\n\t}\n\tprocessFiles(files: VTransmitFile[]): void {\n\t\tfor (const file of files) {\n\t\t\tfile.processing = true\n\t\t\tfile.status = STATUSES.UPLOADING\n\t\t\tthis.$emit(\"processing\", file)\n\t\t}\n\t\tif (this.uploadMultiple) {\n\t\t\tthis.$emit(\"processing-multiple\", files)\n\t\t}\n\n\t\treturn this.uploadFiles(files)\n\t}\n\tgetFilesWithXhr(xhr: XMLHttpRequest): VTransmitFile[] {\n\t\treturn this.files.filter(file => file.xhr === xhr)\n\t}\n\tcancelUpload(file: VTransmitFile): void {\n\t\tif (file.status === STATUSES.UPLOADING) {\n\t\t\tconst groupedFiles = this.getFilesWithXhr(file.xhr)\n\t\t\tfile.xhr.abort()\n\t\t\tfor (const f of groupedFiles) {\n\t\t\t\tf.status = STATUSES.CANCELED\n\t\t\t\tthis.$emit(\"canceled\", f)\n\t\t\t}\n\t\t\tif (this.uploadMultiple) {\n\t\t\t\tthis.$emit(\"canceled-multiple\", groupedFiles)\n\t\t\t}\n\t\t} else if (file.status === STATUSES.ADDED || file.status === STATUSES.QUEUED) {\n\t\t\tfile.status = STATUSES.CANCELED\n\t\t\tthis.$emit(\"canceled\", file)\n\t\t\tif (this.uploadMultiple) {\n\t\t\t\tthis.$emit(\"canceled-multiple\", [file])\n\t\t\t}\n\t\t}\n\n\t\tif (this.autoProcessQueue) {\n\t\t\tthis.processQueue()\n\t\t}\n\t}\n\tuploadFile(file: VTransmitFile): void {\n\t\tthis.uploadFiles([file])\n\t}\n\tuploadFiles(files: VTransmitFile[]): void {\n\t\tconst xhr = new XMLHttpRequest()\n\t\tfor (const file of files) {\n\t\t\tfile.xhr = xhr\n\t\t\tfile.startProgress()\n\t\t}\n\t\txhr.open(this.method, this.url, true)\n\t\t// Setting the timeout after open because of IE11 issue: https://gitlab.com/meno/dropzone/issues/8\n\t\txhr.timeout = this.timeout\n\t\txhr.withCredentials = Boolean(this.withCredentials)\n\t\txhr.responseType = this.responseType\n\n\t\tconst handleError = this.handleUploadError(files, xhr)\n\t\tconst updateProgress = this.handleUploadProgress(files)\n\t\txhr.addEventListener(\"error\", handleError)\n\t\txhr.upload.addEventListener(\"progress\", updateProgress)\n\t\txhr.addEventListener(\"timeout\", this.handleTimeout(files, xhr))\n\t\txhr.addEventListener(\"load\", e => {\n\t\t\tif (files[0].status === STATUSES.CANCELED || xhr.readyState !== XMLHttpRequest.DONE) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tlet response = xhr.response\n\n\t\t\tif (!xhr.responseType) {\n\t\t\t\tlet contentType = xhr.getResponseHeader(\"content-type\")\n\t\t\t\tresponse = xhr.responseText\n\n\t\t\t\tif (contentType && contentType.indexOf(\"application/json\") > -1) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tresponse = JSON.parse(response)\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tresponse = \"Invalid JSON response from server.\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Called at load (when complete) will enable all the progress done logic.\n\t\t\tupdateProgress()\n\t\t\tif (xhr.status < 200 || xhr.status >= 300) {\n\t\t\t\treturn handleError()\n\t\t\t} else {\n\t\t\t\treturn this.uploadFinished(files, response, e)\n\t\t\t}\n\t\t})\n\n\t\t// Use null proto obj for the following 'for in' loop\n\t\tconst headers = Object.assign(Object.create(null), this.defaultHeaders, this.headers)\n\t\tfor (const headerName in headers) {\n\t\t\tif (headers[headerName]) {\n\t\t\t\txhr.setRequestHeader(headerName, headers[headerName])\n\t\t\t}\n\t\t}\n\n\t\tconst formData = new FormData()\n\t\tfor (const key in this.params) {\n\t\t\tformData.append(key, this.params[key])\n\t\t}\n\n\t\tfor (const file of files) {\n\t\t\tthis.$emit(\"sending\", file, xhr, formData)\n\t\t}\n\t\tif (this.uploadMultiple) {\n\t\t\tthis.$emit(\"sending-multiple\", files, xhr, formData)\n\t\t}\n\n\t\tfor (let i = 0; i < files.length; i++) {\n\t\t\tformData.append(this.getParamName(i), files[i].nativeFile, this.renameFile(files[i].name))\n\t\t}\n\n\t\treturn xhr.send(formData)\n\t}\n\thandleUploadError(files: VTransmitFile[], xhr: XMLHttpRequest): () => void {\n\t\tconst vm = this\n\t\treturn function onUploadErrorFn(): void {\n\t\t\tif (files[0].status !== STATUSES.CANCELED) {\n\t\t\t\tconst message = vm.dictResponseError.replace(\n\t\t\t\t\thbsRegex,\n\t\t\t\t\thbsReplacer({ statusText: xhr.statusText, statusCode: xhr.status })\n\t\t\t\t)\n\t\t\t\tvm.errorProcessing(files, message, xhr)\n\t\t\t}\n\t\t}\n\t}\n\thandleTimeout(files: VTransmitFile[], xhr: XMLHttpRequest): (e: Event) => void {\n\t\tconst vm = this\n\t\treturn function onTimeoutFn(e: Event): void {\n\t\t\tfor (const file of files) {\n\t\t\t\tfile.status = STATUSES.TIMEOUT\n\t\t\t\tfile.endProgress()\n\t\t\t\tvm.$emit(\"timeout\", file, e, xhr)\n\t\t\t}\n\t\t\tvm.$emit(\"timeout-multiple\", files, e, xhr)\n\n\t\t\tif (this.autoProcessQueue) {\n\t\t\t\tthis.processQueue()\n\t\t\t}\n\t\t}\n\t}\n\thandleUploadProgress(files): (e?: ProgressEvent) => void {\n\t\tconst vm = this\n\t\treturn function onProgressFn(e?: ProgressEvent): void {\n\t\t\tif (e instanceof ProgressEvent) {\n\t\t\t\tfor (const file of files) {\n\t\t\t\t\tfile.handleProgress(e)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tlet allFilesFinished = true\n\t\t\t\tfor (const file of files) {\n\t\t\t\t\tif (file.upload.progress !== 100 || file.upload.bytesSent !== file.upload.total) {\n\t\t\t\t\t\tallFilesFinished = false\n\t\t\t\t\t}\n\t\t\t\t\tfile.upload.progress = 100\n\t\t\t\t\tfile.upload.bytesSent = file.upload.total\n\t\t\t\t\tfile.endProgress()\n\t\t\t\t}\n\t\t\t\tif (allFilesFinished) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (const file of files) {\n\t\t\t\tvm.$emit(\"upload-progress\", file, file.upload.progress, file.upload.bytesSent)\n\t\t\t}\n\t\t}\n\t}\n\tupdateTotalUploadProgress(): void {\n\t\tconst progress = this.activeFiles.reduce(\n\t\t\t(memo, file) => {\n\t\t\t\tmemo.totalBytesSent += file.upload.bytesSent\n\t\t\t\tmemo.totalBytes += file.upload.total\n\t\t\t\treturn memo\n\t\t\t},\n\t\t\t{ totalBytesSent: 0, totalBytes: 0, totalProgress: 100 }\n\t\t)\n\n\t\tif (this.activeFiles.length) {\n\t\t\tprogress.totalProgress = 100 * progress.totalBytesSent / progress.totalBytes\n\t\t}\n\n\t\tthis.$emit(\"total-upload-progress\", progress)\n\t}\n\tgetParamName(index): string {\n\t\treturn this.paramName + (this.uploadMultiple ? `[${index}]` : \"\")\n\t}\n\tuploadFinished(files: VTransmitFile[], response: string | object | any[], e: Event): void {\n\t\tfor (const file of files) {\n\t\t\tfile.status = STATUSES.SUCCESS\n\t\t\tfile.endProgress()\n\t\t\tthis.$emit(\"success\", file, response, e)\n\t\t\tthis.$emit(\"complete\", file)\n\t\t}\n\n\t\tif (this.uploadMultiple) {\n\t\t\tthis.$emit(\"success-multiple\", files, response, e)\n\t\t\tthis.$emit(\"complete-multiple\", files)\n\t\t}\n\n\t\tif (this.autoProcessQueue) {\n\t\t\tthis.processQueue()\n\t\t}\n\t}\n\terrorProcessing(files: VTransmitFile[], message: string, xhr?: XMLHttpRequest) {\n\t\tfor (const file of files) {\n\t\t\tfile.status = STATUSES.ERROR\n\t\t\tfile.endProgress()\n\t\t\tthis.$emit(\"error\", file, message, xhr)\n\t\t\tthis.$emit(\"complete\", file)\n\t\t}\n\n\t\tif (this.uploadMultiple) {\n\t\t\tthis.$emit(\"error-multiple\", files, message, xhr)\n\t\t\tthis.$emit(\"complete-multiple\", files)\n\t\t}\n\n\t\tif (this.autoProcessQueue) {\n\t\t\treturn this.processQueue()\n\t\t}\n\t}\n\tacceptFile(file: VTransmitFile, done: Function): void {\n\t\tif (file.size > this.maxFileSize * 1024 * 1024) {\n\t\t\tdone(\n\t\t\t\tthis.dictFileTooBig.replace(\n\t\t\t\t\thbsRegex,\n\t\t\t\t\thbsReplacer({\n\t\t\t\t\t\tfileSize: Math.round(file.size / 1024 / 10.24) / 100,\n\t\t\t\t\t\tmaxFileSize: this.maxFileSize,\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t\t)\n\t\t} else if (!this.isValidFileType(file, this.acceptedFileTypes)) {\n\t\t\tdone(this.dictInvalidFileType)\n\t\t} else if (this.maxFiles != null && this.acceptedFiles.length >= this.maxFiles) {\n\t\t\tdone(this.dictMaxFilesExceeded.replace(hbsRegex, hbsReplacer({ maxFiles: this.maxFiles })))\n\t\t\tthis.$emit(\"max-files-exceeded\", file)\n\t\t} else {\n\t\t\t// Call the prop callback for the client to validate.\n\t\t\tthis.accept(file, done)\n\t\t}\n\t}\n\tisValidFileType(file: VTransmitFile, acceptedFileTypes: string[]): boolean {\n\t\tif (!acceptedFileTypes.length) {\n\t\t\treturn true\n\t\t}\n\t\tconst mimeType = file.type\n\t\tconst baseMimeType = mimeType.replace(/\\/.*$/, \"\")\n\t\t// Return true on the first condition match,\n\t\t// otherwise exhaust all conditions and return false.\n\t\tfor (let i = 0; i < acceptedFileTypes.length; i++) {\n\t\t\tconst validType = acceptedFileTypes[i]\n\t\t\tif (validType.charAt(0) === \".\") {\n\t\t\t\t// Handle extension validation\n\t\t\t\t// Ensure extension exists at the end of the filename.\n\t\t\t\tif (file.name.toLowerCase().indexOf(validType.toLowerCase(), file.name.length - validType.length) !== -1) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t} else if (/\\/\\*$/.test(validType)) {\n\t\t\t\t// Handle globbed mimetype validation (\"image/*\")\n\t\t\t\tif (baseMimeType === validType.replace(/\\/.*$/, \"\")) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (mimeType === validType) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn false\n\t}\n\thandleDragStart(e: DragEvent): void {\n\t\tthis.$emit(\"drag-start\", e)\n\t}\n\thandleDragOver(e: DragEvent): void {\n\t\tthis.dragging = true\n\t\tlet effect\n\t\ttry {\n\t\t\t// Handle browser bug\n\t\t\teffect = e.dataTransfer.effectAllowed\n\t\t} catch (error) {}\n\t\te.dataTransfer.dropEffect = effect === \"move\" || effect === \"linkMove\" ? \"move\" : \"copy\"\n\t\tthis.$emit(\"drag-over\", e)\n\t}\n\thandleDragEnter(e: DragEvent): void {\n\t\tthis.dragging = true\n\t\tthis.$emit(\"drag-enter\", e)\n\t}\n\thandleDragLeave(e: DragEvent): void {\n\t\tthis.dragging = false\n\t\tthis.$emit(\"drag-leave\", e)\n\t}\n\thandleDragEnd(e: DragEvent): void {\n\t\tthis.dragging = false\n\t\tthis.$emit(\"drag-end\", e)\n\t}\n\thandleDrop(e: DragEvent): void {\n\t\tthis.dragging = false\n\t\tif (!e.dataTransfer) {\n\t\t\treturn\n\t\t}\n\t\tthis.$emit(\"drop\", e)\n\t\tconst files = Array.from(e.dataTransfer.files)\n\n\t\tthis.$emit(\"added-files\", files)\n\t\tif (files.length && e.dataTransfer.items) {\n\t\t\tconst items = Array.from(e.dataTransfer.items)\n\t\t\tif (items && items.length && items[0].webkitGetAsEntry) {\n\t\t\t\tthis.addFilesFromItems(items)\n\t\t\t} else {\n\t\t\t\tthis.handleFiles(files)\n\t\t\t}\n\t\t} else {\n\t\t\tthis.handleFiles(files)\n\t\t}\n\t}\n\tpaste(e: ClipboardEvent): void {\n\t\tif (!e || !e.clipboardData || !e.clipboardData.items) {\n\t\t\treturn\n\t\t}\n\t\tthis.$emit(\"paste\", e)\n\t\tconst items = Array.from(e.clipboardData.items)\n\t\tif (items.length) {\n\t\t\tthis.addFilesFromItems(items)\n\t\t}\n\t}\n\thandleFiles(files: File[]): VTransmitFile[] {\n\t\treturn files.map(this.addFile)\n\t}\n\taddFilesFromItems(items: DataTransferItem[]): void {\n\t\tfor (const item of items) {\n\t\t\t// Newer API on standards track\n\t\t\tif (item.getAsFile && item.kind == \"file\") {\n\t\t\t\tthis.addFile(item.getAsFile())\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t// Vendor prefixed experimental API\n\t\t\tif (item.webkitGetAsEntry) {\n\t\t\t\tconst entry: FileSystemEntry = item.webkitGetAsEntry()\n\n\t\t\t\tif (entry == null) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif (webkitIsFile(entry)) {\n\t\t\t\t\tentry.file(this.addFile as any, console.error)\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif (webkitIsDir(entry)) {\n\t\t\t\t\tthis.addFilesFromDirectory(entry, entry.name)\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\taddFilesFromDirectory(directory: WebKitDirectoryEntry, path): void {\n\t\tdirectory.createReader().readEntries(\n\t\t\t((entries: FileSystemEntry[]) => {\n\t\t\t\tfor (const entry of entries) {\n\t\t\t\t\tif (entry == null) {\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t\tif (webkitIsDir(entry)) {\n\t\t\t\t\t\tthis.addFilesFromDirectory(entry, `${path}/${entry.name}`)\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t\tif (webkitIsFile(entry)) {\n\t\t\t\t\t\tentry.file(\n\t\t\t\t\t\t\t((file: File) => {\n\t\t\t\t\t\t\t\tif (this.ignoreHiddenFiles && /^\\./.test(file.name)) {\n\t\t\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t;(file as any).fullPath = `${path}/${file.name}`\n\t\t\t\t\t\t\t\tthis.addFile(file)\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tconsole.error\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}),\n\t\t\tconsole.error\n\t\t)\n\t}\n\n\tmounted() {\n\t\tthis.$on(\"upload-progress\", this.updateTotalUploadProgress)\n\t\tthis.$on(\"removed-file\", this.updateTotalUploadProgress)\n\t\tthis.$on(\"canceled\", file => this.$emit(\"complete\", file))\n\t\tthis.$on(\"complete\", file => {\n\t\t\tif (this.addedFiles.length === 0 && this.uploadingFiles.length === 0 && this.queuedFiles.length === 0) {\n\t\t\t\tsetTimeout(() => this.$emit(\"queue-complete\", file), 0)\n\t\t\t}\n\t\t})\n\n\t\tthis.$emit(\"initialize\", this)\n\t}\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/vue-loader/lib/selector.js?type=script&index=0!./src/components/VueTransmit.vue","import VTransmitFile from \"../classes/VTransmitFile\"\n\nexport const assign = Object.assign\nexport const defineProperty = Object.defineProperty\n\nlet idCounter = 0\nexport function uniqueId(prefix: string): string {\n\tvar id = ++idCounter\n\treturn prefix + id\n}\n\nexport function copyOwnAndInheritedProps(obj: object): object {\n\tlet newData = {}\n\tfor (let prop in obj) {\n\t\tif (typeof obj[prop] !== \"function\") {\n\t\t\tnewData[prop] = obj[prop]\n\t\t}\n\t}\n\treturn newData\n}\n\nexport type Rounding = \"round\" | \"ceil\" | \"floor\" | \"trunc\"\n\nexport function round(number: number, decimals: number = 2, roundStyle: Rounding = \"round\") {\n\tconst roundingFactor = Math.pow(10, decimals)\n\treturn Math[roundStyle](number * roundingFactor) / roundingFactor\n}\n\nexport function fromBytesToKbit(bytes: number): number {\n\treturn bytes / 125\n}\n\nexport function fromBytesToMbit(bytes: number): number {\n\treturn bytes / 125000\n}\n\nexport function toKbps(bytes: number, seconds: number): number {\n\treturn fromBytesToKbit(bytes) / seconds\n}\n\nexport function toMbps(bytes: number, seconds: number): number {\n\treturn fromBytesToMbit(bytes) / seconds\n}\n\nexport const hbsRegex = /{{\\s*?([a-zA-Z]+)\\s*?}}/g\nexport function hbsReplacer(context: object = {}) {\n\treturn function hbsReplacerFn(match: string, capture: string) {\n\t\treturn context[capture] !== undefined ? context[capture] : match\n\t}\n}\n\nexport function objFactory() {\n\treturn {}\n}\n\nexport function scaleH(ratio: number, width: number): number {\n\treturn width / ratio\n}\n\nexport function scaleW(ratio: number, height: number): number {\n\treturn height * ratio\n}\n\nexport function scaleDims(ratio: number, width?: number, height?: number): number[] {\n\treturn typeof width === \"number\" ? [width, scaleH(ratio, width)] : [scaleW(ratio, height), height]\n}\n\nexport interface IDrawImageArgs {\n\tsx: number\n\tsy: number\n\tsWidth: number\n\tsHeight: number\n\tdx: number\n\tdy: number\n\tdWidth: number\n\tdHeight: number\n}\n\nexport interface IDimensions {\n\twidth: number\n\theight: number\n}\n\nexport function resizeImg(file: VTransmitFile, dims: IDimensions): IDrawImageArgs {\n\t// Extract the object's primitive values so we don't mutate the input\n\tconst sRatio = file.width / file.height\n\tconst dRatio = dims.width / dims.height\n\tconst imgCoords = {\n\t\tsx: 0,\n\t\tsy: 0,\n\t\tsWidth: file.width,\n\t\tsHeight: file.height,\n\t\tdx: 0,\n\t\tdy: 0,\n\t\tdWidth: dims.width,\n\t\tdHeight: dims.height,\n\t}\n\n\tlet w, h\n\tif (dRatio > sRatio) {\n\t\t;[w, h] = scaleDims(dRatio, file.width)\n\t} else {\n\t\t;[w, h] = scaleDims(dRatio, undefined, file.height)\n\t}\n\n\tif (w < file.width) {\n\t\timgCoords.sx = (file.width - w) / 2\n\t\timgCoords.sWidth = w\n\t}\n\tif (h < file.height) {\n\t\timgCoords.sy = (file.height - h) / 2\n\t\timgCoords.sHeight = h\n\t}\n\n\treturn imgCoords\n}\n\nexport function webkitIsFile(entry: WebKitFileEntry | WebKitDirectoryEntry): entry is WebKitFileEntry {\n\treturn entry.isFile\n}\n\nexport function webkitIsDir(entry: WebKitFileEntry | WebKitDirectoryEntry): entry is WebKitDirectoryEntry {\n\treturn entry.isDirectory\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/core/utils.ts","import { VueTransmit } from \"./src\"\n\nexport default {\n\tinstall(Vue, _options) {\n\t\tVue.component(\"VueTransmit\", VueTransmit)\n\t},\n\tname: \"vue-transmit\",\n}\n\n\n\n// WEBPACK FOOTER //\n// ./index.ts","import VueTransmit from \"./components/VueTransmit.vue\"\n\nexport { VueTransmit }\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.ts","function injectStyle (ssrContext) {\n require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-61e675b9\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader!postcss-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./VueTransmit.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!vue-ts-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./VueTransmit.vue\"\nimport __vue_script__ from \"!!babel-loader!vue-ts-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./VueTransmit.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-61e675b9\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./VueTransmit.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/VueTransmit.vue\n// module id = 5\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/extract-text-webpack-plugin/dist/loader.js?{\"omit\":1,\"remove\":true}!./node_modules/vue-style-loader!./node_modules/css-loader!./node_modules/vue-loader/lib/style-compiler?{\"vue\":true,\"id\":\"data-v-61e675b9\",\"scoped\":false,\"hasInlineConfig\":false}!./node_modules/sass-loader/lib/loader.js!./node_modules/postcss-loader/lib?{\"sourceMap\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./src/components/VueTransmit.vue\n// module id = 6\n// module chunks = 0","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file.\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nmodule.exports = function normalizeComponent (\n rawScriptExports,\n compiledTemplate,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */\n) {\n var esModule\n var scriptExports = rawScriptExports = rawScriptExports || {}\n\n // ES6 modules interop\n var type = typeof rawScriptExports.default\n if (type === 'object' || type === 'function') {\n esModule = rawScriptExports\n scriptExports = rawScriptExports.default\n }\n\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (compiledTemplate) {\n options.render = compiledTemplate.render\n options.staticRenderFns = compiledTemplate.staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = injectStyles\n }\n\n if (hook) {\n var functional = options.functional\n var existing = functional\n ? options.render\n : options.beforeCreate\n\n if (!functional) {\n // inject component registration as beforeCreate hook\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n } else {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return existing(h, context)\n }\n }\n }\n\n return {\n esModule: esModule,\n exports: scriptExports,\n options: options\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/component-normalizer.js\n// module id = 7\n// module chunks = 0","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('vue'), require('vue-class-component'), require('reflect-metadata')) :\n\ttypeof define === 'function' && define.amd ? define(['exports', 'vue', 'vue-class-component', 'reflect-metadata'], factory) :\n\t(factory((global.VuePropertyDecorator = {}),global.Vue,global.VueClassComponent));\n}(this, (function (exports,vue,vueClassComponent) { 'use strict';\n\nvue = vue && vue.hasOwnProperty('default') ? vue['default'] : vue;\nvar vueClassComponent__default = 'default' in vueClassComponent ? vueClassComponent['default'] : vueClassComponent;\n\n/** vue-property-decorator verson 6.0.0 MIT LICENSE copyright 2017 kaorun343 */\n'use strict';\n/**\n * decorator of an inject\n * @param key key\n * @return PropertyDecorator\n */\nfunction Inject(key) {\n return vueClassComponent.createDecorator(function (componentOptions, k) {\n if (typeof componentOptions.inject === 'undefined') {\n componentOptions.inject = {};\n }\n if (!Array.isArray(componentOptions.inject)) {\n componentOptions.inject[k] = key || k;\n }\n });\n}\n/**\n * decorator of a provide\n * @param key key\n * @return PropertyDecorator | void\n */\nfunction Provide(key) {\n return vueClassComponent.createDecorator(function (componentOptions, k) {\n var provide = componentOptions.provide;\n if (typeof provide !== 'function' || !provide.managed) {\n var original_1 = componentOptions.provide;\n provide = componentOptions.provide = function () {\n var rv = Object.create((typeof original_1 === 'function' ? original_1.call(this) : original_1) || null);\n for (var i in provide.managed)\n rv[provide.managed[i]] = this[i];\n return rv;\n };\n provide.managed = {};\n }\n provide.managed[k] = key || k;\n });\n}\n/**\n * decorator of model\n * @param event event name\n * @return PropertyDecorator\n */\nfunction Model(event, options) {\n if (options === void 0) { options = {}; }\n return function (target, key) {\n if (!Array.isArray(options) && typeof options.type === 'undefined') {\n options.type = Reflect.getMetadata('design:type', target, key);\n }\n vueClassComponent.createDecorator(function (componentOptions, k) {\n (componentOptions.props || (componentOptions.props = {}))[k] = options;\n componentOptions.model = { prop: k, event: event || k };\n })(target, key);\n };\n}\n/**\n * decorator of a prop\n * @param options the options for the prop\n * @return PropertyDecorator | void\n */\nfunction Prop(options) {\n if (options === void 0) { options = {}; }\n return function (target, key) {\n if (!Array.isArray(options) && typeof options.type === 'undefined') {\n options.type = Reflect.getMetadata('design:type', target, key);\n }\n vueClassComponent.createDecorator(function (componentOptions, k) {\n (componentOptions.props || (componentOptions.props = {}))[k] = options;\n })(target, key);\n };\n}\n/**\n * decorator of a watch function\n * @param path the path or the expression to observe\n * @param WatchOption\n * @return MethodDecorator\n */\nfunction Watch(path, options) {\n if (options === void 0) { options = {}; }\n var _a = options.deep, deep = _a === void 0 ? false : _a, _b = options.immediate, immediate = _b === void 0 ? false : _b;\n return vueClassComponent.createDecorator(function (componentOptions, handler) {\n if (typeof componentOptions.watch !== 'object') {\n componentOptions.watch = Object.create(null);\n }\n componentOptions.watch[path] = { handler: handler, deep: deep, immediate: immediate };\n });\n}\n// Code copied from Vue/src/shared/util.js\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = function (str) { return str.replace(hyphenateRE, '-$1').toLowerCase(); };\n/**\n * decorator of an event-emitter function\n * @param event The name of the event\n * @return MethodDecorator\n */\nfunction Emit(event) {\n return function (target, key, descriptor) {\n key = hyphenate(key);\n var original = descriptor.value;\n descriptor.value = function emitter() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (original.apply(this, args) !== false)\n this.$emit.apply(this, [event || key].concat(args));\n };\n };\n}\n\nexports.Component = vueClassComponent__default;\nexports.Vue = vue;\nexports.Inject = Inject;\nexports.Provide = Provide;\nexports.Model = Model;\nexports.Prop = Prop;\nexports.Watch = Watch;\nexports.Emit = Emit;\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-property-decorator/lib/vue-property-decorator.umd.js\n// module id = 8\n// module chunks = 0","/**\n * vue-class-component v6.1.2\n * (c) 2015-2017 Evan You\n * @license MIT\n */\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar Vue = _interopDefault(require('vue'));\n\nvar hasProto = { __proto__: [] } instanceof Array;\nfunction createDecorator(factory) {\n return function (target, key, index) {\n var Ctor = typeof target === 'function'\n ? target\n : target.constructor;\n if (!Ctor.__decorators__) {\n Ctor.__decorators__ = [];\n }\n if (typeof index !== 'number') {\n index = undefined;\n }\n Ctor.__decorators__.push(function (options) { return factory(options, key, index); });\n };\n}\nfunction isPrimitive(value) {\n var type = typeof value;\n return value == null || (type !== \"object\" && type !== \"function\");\n}\nfunction warn(message) {\n if (typeof console !== 'undefined') {\n console.warn('[vue-class-component] ' + message);\n }\n}\n\nfunction collectDataFromConstructor(vm, Component) {\n var originalInit = Component.prototype._init;\n Component.prototype._init = function () {\n var _this = this;\n var keys = Object.getOwnPropertyNames(vm);\n if (vm.$options.props) {\n for (var key in vm.$options.props) {\n if (!vm.hasOwnProperty(key)) {\n keys.push(key);\n }\n }\n }\n keys.forEach(function (key) {\n if (key.charAt(0) !== '_') {\n Object.defineProperty(_this, key, {\n get: function () { return vm[key]; },\n set: function (value) { return vm[key] = value; },\n configurable: true\n });\n }\n });\n };\n var data = new Component();\n Component.prototype._init = originalInit;\n var plainData = {};\n Object.keys(data).forEach(function (key) {\n if (data[key] !== undefined) {\n plainData[key] = data[key];\n }\n });\n if (process.env.NODE_ENV !== 'production') {\n if (!(Component.prototype instanceof Vue) && Object.keys(plainData).length > 0) {\n warn('Component class must inherit Vue or its descendant class ' +\n 'when class property is used.');\n }\n }\n return plainData;\n}\n\nvar $internalHooks = [\n 'data',\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeDestroy',\n 'destroyed',\n 'beforeUpdate',\n 'updated',\n 'activated',\n 'deactivated',\n 'render',\n 'errorCaptured'\n];\nfunction componentFactory(Component, options) {\n if (options === void 0) { options = {}; }\n options.name = options.name || Component._componentTag || Component.name;\n var proto = Component.prototype;\n Object.getOwnPropertyNames(proto).forEach(function (key) {\n if (key === 'constructor') {\n return;\n }\n if ($internalHooks.indexOf(key) > -1) {\n options[key] = proto[key];\n return;\n }\n var descriptor = Object.getOwnPropertyDescriptor(proto, key);\n if (typeof descriptor.value === 'function') {\n (options.methods || (options.methods = {}))[key] = descriptor.value;\n }\n else if (descriptor.get || descriptor.set) {\n (options.computed || (options.computed = {}))[key] = {\n get: descriptor.get,\n set: descriptor.set\n };\n }\n });\n (options.mixins || (options.mixins = [])).push({\n data: function () {\n return collectDataFromConstructor(this, Component);\n }\n });\n var decorators = Component.__decorators__;\n if (decorators) {\n decorators.forEach(function (fn) { return fn(options); });\n delete Component.__decorators__;\n }\n var superProto = Object.getPrototypeOf(Component.prototype);\n var Super = superProto instanceof Vue\n ? superProto.constructor\n : Vue;\n var Extended = Super.extend(options);\n forwardStaticMembers(Extended, Component, Super);\n return Extended;\n}\nvar reservedPropertyNames = [\n 'cid',\n 'super',\n 'options',\n 'superOptions',\n 'extendOptions',\n 'sealedOptions',\n 'component',\n 'directive',\n 'filter'\n];\nfunction forwardStaticMembers(Extended, Original, Super) {\n Object.getOwnPropertyNames(Original).forEach(function (key) {\n if (key === 'prototype') {\n return;\n }\n var extendedDescriptor = Object.getOwnPropertyDescriptor(Extended, key);\n if (extendedDescriptor && !extendedDescriptor.configurable) {\n return;\n }\n var descriptor = Object.getOwnPropertyDescriptor(Original, key);\n if (!hasProto) {\n if (key === 'cid') {\n return;\n }\n var superDescriptor = Object.getOwnPropertyDescriptor(Super, key);\n if (!isPrimitive(descriptor.value)\n && superDescriptor\n && superDescriptor.value === descriptor.value) {\n return;\n }\n }\n if (process.env.NODE_ENV !== 'production'\n && reservedPropertyNames.indexOf(key) >= 0) {\n warn(\"Static property name '\" + key + \"' declared on class '\" + Original.name + \"' \" +\n 'conflicts with reserved property name of Vue internal. ' +\n 'It may cause unexpected behavior of the component. Consider renaming the property.');\n }\n Object.defineProperty(Extended, key, descriptor);\n });\n}\n\nfunction Component(options) {\n if (typeof options === 'function') {\n return componentFactory(options);\n }\n return function (Component) {\n return componentFactory(Component, options);\n };\n}\n(function (Component) {\n function registerHooks(keys) {\n $internalHooks.push.apply($internalHooks, keys);\n }\n Component.registerHooks = registerHooks;\n})(Component || (Component = {}));\nvar Component$1 = Component;\n\nexports['default'] = Component$1;\nexports.createDecorator = createDecorator;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-class-component/dist/vue-class-component.common.js\n// module id = 9\n// module chunks = 0","/*! *****************************************************************************\r\nCopyright (C) Microsoft. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\nvar Reflect;\r\n(function (Reflect) {\r\n \"use strict\";\r\n var hasOwn = Object.prototype.hasOwnProperty;\r\n // feature test for Symbol support\r\n var supportsSymbol = typeof Symbol === \"function\";\r\n var toPrimitiveSymbol = supportsSymbol && typeof Symbol.toPrimitive !== \"undefined\" ? Symbol.toPrimitive : \"@@toPrimitive\";\r\n var iteratorSymbol = supportsSymbol && typeof Symbol.iterator !== \"undefined\" ? Symbol.iterator : \"@@iterator\";\r\n var HashMap;\r\n (function (HashMap) {\r\n var supportsCreate = typeof Object.create === \"function\"; // feature test for Object.create support\r\n var supportsProto = { __proto__: [] } instanceof Array; // feature test for __proto__ support\r\n var downLevel = !supportsCreate && !supportsProto;\r\n // create an object in dictionary mode (a.k.a. \"slow\" mode in v8)\r\n HashMap.create = supportsCreate\r\n ? function () { return MakeDictionary(Object.create(null)); }\r\n : supportsProto\r\n ? function () { return MakeDictionary({ __proto__: null }); }\r\n : function () { return MakeDictionary({}); };\r\n HashMap.has = downLevel\r\n ? function (map, key) { return hasOwn.call(map, key); }\r\n : function (map, key) { return key in map; };\r\n HashMap.get = downLevel\r\n ? function (map, key) { return hasOwn.call(map, key) ? map[key] : undefined; }\r\n : function (map, key) { return map[key]; };\r\n })(HashMap || (HashMap = {}));\r\n // Load global or shim versions of Map, Set, and WeakMap\r\n var functionPrototype = Object.getPrototypeOf(Function);\r\n var usePolyfill = typeof process === \"object\" && process.env && process.env[\"REFLECT_METADATA_USE_MAP_POLYFILL\"] === \"true\";\r\n var _Map = !usePolyfill && typeof Map === \"function\" && typeof Map.prototype.entries === \"function\" ? Map : CreateMapPolyfill();\r\n var _Set = !usePolyfill && typeof Set === \"function\" && typeof Set.prototype.entries === \"function\" ? Set : CreateSetPolyfill();\r\n var _WeakMap = !usePolyfill && typeof WeakMap === \"function\" ? WeakMap : CreateWeakMapPolyfill();\r\n // [[Metadata]] internal slot\r\n // https://rbuckton.github.io/reflect-metadata/#ordinary-object-internal-methods-and-internal-slots\r\n var Metadata = new _WeakMap();\r\n /**\r\n * Applies a set of decorators to a property of a target object.\r\n * @param decorators An array of decorators.\r\n * @param target The target object.\r\n * @param propertyKey (Optional) The property key to decorate.\r\n * @param attributes (Optional) The property descriptor for the target key.\r\n * @remarks Decorators are applied in reverse order.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * Example = Reflect.decorate(decoratorsArray, Example);\r\n *\r\n * // property (on constructor)\r\n * Reflect.decorate(decoratorsArray, Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * Reflect.decorate(decoratorsArray, Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * Object.defineProperty(Example, \"staticMethod\",\r\n * Reflect.decorate(decoratorsArray, Example, \"staticMethod\",\r\n * Object.getOwnPropertyDescriptor(Example, \"staticMethod\")));\r\n *\r\n * // method (on prototype)\r\n * Object.defineProperty(Example.prototype, \"method\",\r\n * Reflect.decorate(decoratorsArray, Example.prototype, \"method\",\r\n * Object.getOwnPropertyDescriptor(Example.prototype, \"method\")));\r\n *\r\n */\r\n function decorate(decorators, target, propertyKey, attributes) {\r\n if (!IsUndefined(propertyKey)) {\r\n if (!IsArray(decorators))\r\n throw new TypeError();\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsObject(attributes) && !IsUndefined(attributes) && !IsNull(attributes))\r\n throw new TypeError();\r\n if (IsNull(attributes))\r\n attributes = undefined;\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return DecorateProperty(decorators, target, propertyKey, attributes);\r\n }\r\n else {\r\n if (!IsArray(decorators))\r\n throw new TypeError();\r\n if (!IsConstructor(target))\r\n throw new TypeError();\r\n return DecorateConstructor(decorators, target);\r\n }\r\n }\r\n Reflect.decorate = decorate;\r\n // 4.1.2 Reflect.metadata(metadataKey, metadataValue)\r\n // https://rbuckton.github.io/reflect-metadata/#reflect.metadata\r\n /**\r\n * A default metadata decorator factory that can be used on a class, class member, or parameter.\r\n * @param metadataKey The key for the metadata entry.\r\n * @param metadataValue The value for the metadata entry.\r\n * @returns A decorator function.\r\n * @remarks\r\n * If `metadataKey` is already defined for the target and target key, the\r\n * metadataValue for that key will be overwritten.\r\n * @example\r\n *\r\n * // constructor\r\n * @Reflect.metadata(key, value)\r\n * class Example {\r\n * }\r\n *\r\n * // property (on constructor, TypeScript only)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * static staticProperty;\r\n * }\r\n *\r\n * // property (on prototype, TypeScript only)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * property;\r\n * }\r\n *\r\n * // method (on constructor)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * static staticMethod() { }\r\n * }\r\n *\r\n * // method (on prototype)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * method() { }\r\n * }\r\n *\r\n */\r\n function metadata(metadataKey, metadataValue) {\r\n function decorator(target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey) && !IsPropertyKey(propertyKey))\r\n throw new TypeError();\r\n OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey);\r\n }\r\n return decorator;\r\n }\r\n Reflect.metadata = metadata;\r\n /**\r\n * Define a unique metadata entry on the target.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param metadataValue A value that contains attached metadata.\r\n * @param target The target object on which to define metadata.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example);\r\n *\r\n * // property (on constructor)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example.prototype, \"method\");\r\n *\r\n * // decorator factory as metadata-producing annotation.\r\n * function MyAnnotation(options): Decorator {\r\n * return (target, key?) => Reflect.defineMetadata(\"custom:annotation\", options, target, key);\r\n * }\r\n *\r\n */\r\n function defineMetadata(metadataKey, metadataValue, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey);\r\n }\r\n Reflect.defineMetadata = defineMetadata;\r\n /**\r\n * Gets a value indicating whether the target object or its prototype chain has the provided metadata key defined.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns `true` if the metadata key was defined on the target object or its prototype chain; otherwise, `false`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function hasMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryHasMetadata(metadataKey, target, propertyKey);\r\n }\r\n Reflect.hasMetadata = hasMetadata;\r\n /**\r\n * Gets a value indicating whether the target object has the provided metadata key defined.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns `true` if the metadata key was defined on the target object; otherwise, `false`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function hasOwnMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryHasOwnMetadata(metadataKey, target, propertyKey);\r\n }\r\n Reflect.hasOwnMetadata = hasOwnMetadata;\r\n /**\r\n * Gets the metadata value for the provided metadata key on the target object or its prototype chain.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns The metadata value for the metadata key if found; otherwise, `undefined`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function getMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryGetMetadata(metadataKey, target, propertyKey);\r\n }\r\n Reflect.getMetadata = getMetadata;\r\n /**\r\n * Gets the metadata value for the provided metadata key on the target object.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns The metadata value for the metadata key if found; otherwise, `undefined`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function getOwnMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryGetOwnMetadata(metadataKey, target, propertyKey);\r\n }\r\n Reflect.getOwnMetadata = getOwnMetadata;\r\n /**\r\n * Gets the metadata keys defined on the target object or its prototype chain.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns An array of unique metadata keys.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getMetadataKeys(Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getMetadataKeys(Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getMetadataKeys(Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getMetadataKeys(Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getMetadataKeys(Example.prototype, \"method\");\r\n *\r\n */\r\n function getMetadataKeys(target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryMetadataKeys(target, propertyKey);\r\n }\r\n Reflect.getMetadataKeys = getMetadataKeys;\r\n /**\r\n * Gets the unique metadata keys defined on the target object.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns An array of unique metadata keys.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getOwnMetadataKeys(Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getOwnMetadataKeys(Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getOwnMetadataKeys(Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getOwnMetadataKeys(Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getOwnMetadataKeys(Example.prototype, \"method\");\r\n *\r\n */\r\n function getOwnMetadataKeys(target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryOwnMetadataKeys(target, propertyKey);\r\n }\r\n Reflect.getOwnMetadataKeys = getOwnMetadataKeys;\r\n /**\r\n * Deletes the metadata entry from the target object with the provided key.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns `true` if the metadata entry was found and deleted; otherwise, false.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function deleteMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n var metadataMap = GetOrCreateMetadataMap(target, propertyKey, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return false;\r\n if (!metadataMap.delete(metadataKey))\r\n return false;\r\n if (metadataMap.size > 0)\r\n return true;\r\n var targetMetadata = Metadata.get(target);\r\n targetMetadata.delete(propertyKey);\r\n if (targetMetadata.size > 0)\r\n return true;\r\n Metadata.delete(target);\r\n return true;\r\n }\r\n Reflect.deleteMetadata = deleteMetadata;\r\n function DecorateConstructor(decorators, target) {\r\n for (var i = decorators.length - 1; i >= 0; --i) {\r\n var decorator = decorators[i];\r\n var decorated = decorator(target);\r\n if (!IsUndefined(decorated) && !IsNull(decorated)) {\r\n if (!IsConstructor(decorated))\r\n throw new TypeError();\r\n target = decorated;\r\n }\r\n }\r\n return target;\r\n }\r\n function DecorateProperty(decorators, target, propertyKey, descriptor) {\r\n for (var i = decorators.length - 1; i >= 0; --i) {\r\n var decorator = decorators[i];\r\n var decorated = decorator(target, propertyKey, descriptor);\r\n if (!IsUndefined(decorated) && !IsNull(decorated)) {\r\n if (!IsObject(decorated))\r\n throw new TypeError();\r\n descriptor = decorated;\r\n }\r\n }\r\n return descriptor;\r\n }\r\n function GetOrCreateMetadataMap(O, P, Create) {\r\n var targetMetadata = Metadata.get(O);\r\n if (IsUndefined(targetMetadata)) {\r\n if (!Create)\r\n return undefined;\r\n targetMetadata = new _Map();\r\n Metadata.set(O, targetMetadata);\r\n }\r\n var metadataMap = targetMetadata.get(P);\r\n if (IsUndefined(metadataMap)) {\r\n if (!Create)\r\n return undefined;\r\n metadataMap = new _Map();\r\n targetMetadata.set(P, metadataMap);\r\n }\r\n return metadataMap;\r\n }\r\n // 3.1.1.1 OrdinaryHasMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinaryhasmetadata\r\n function OrdinaryHasMetadata(MetadataKey, O, P) {\r\n var hasOwn = OrdinaryHasOwnMetadata(MetadataKey, O, P);\r\n if (hasOwn)\r\n return true;\r\n var parent = OrdinaryGetPrototypeOf(O);\r\n if (!IsNull(parent))\r\n return OrdinaryHasMetadata(MetadataKey, parent, P);\r\n return false;\r\n }\r\n // 3.1.2.1 OrdinaryHasOwnMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinaryhasownmetadata\r\n function OrdinaryHasOwnMetadata(MetadataKey, O, P) {\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return false;\r\n return ToBoolean(metadataMap.has(MetadataKey));\r\n }\r\n // 3.1.3.1 OrdinaryGetMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarygetmetadata\r\n function OrdinaryGetMetadata(MetadataKey, O, P) {\r\n var hasOwn = OrdinaryHasOwnMetadata(MetadataKey, O, P);\r\n if (hasOwn)\r\n return OrdinaryGetOwnMetadata(MetadataKey, O, P);\r\n var parent = OrdinaryGetPrototypeOf(O);\r\n if (!IsNull(parent))\r\n return OrdinaryGetMetadata(MetadataKey, parent, P);\r\n return undefined;\r\n }\r\n // 3.1.4.1 OrdinaryGetOwnMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarygetownmetadata\r\n function OrdinaryGetOwnMetadata(MetadataKey, O, P) {\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return undefined;\r\n return metadataMap.get(MetadataKey);\r\n }\r\n // 3.1.5.1 OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarydefineownmetadata\r\n function OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P) {\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ true);\r\n metadataMap.set(MetadataKey, MetadataValue);\r\n }\r\n // 3.1.6.1 OrdinaryMetadataKeys(O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarymetadatakeys\r\n function OrdinaryMetadataKeys(O, P) {\r\n var ownKeys = OrdinaryOwnMetadataKeys(O, P);\r\n var parent = OrdinaryGetPrototypeOf(O);\r\n if (parent === null)\r\n return ownKeys;\r\n var parentKeys = OrdinaryMetadataKeys(parent, P);\r\n if (parentKeys.length <= 0)\r\n return ownKeys;\r\n if (ownKeys.length <= 0)\r\n return parentKeys;\r\n var set = new _Set();\r\n var keys = [];\r\n for (var _i = 0, ownKeys_1 = ownKeys; _i < ownKeys_1.length; _i++) {\r\n var key = ownKeys_1[_i];\r\n var hasKey = set.has(key);\r\n if (!hasKey) {\r\n set.add(key);\r\n keys.push(key);\r\n }\r\n }\r\n for (var _a = 0, parentKeys_1 = parentKeys; _a < parentKeys_1.length; _a++) {\r\n var key = parentKeys_1[_a];\r\n var hasKey = set.has(key);\r\n if (!hasKey) {\r\n set.add(key);\r\n keys.push(key);\r\n }\r\n }\r\n return keys;\r\n }\r\n // 3.1.7.1 OrdinaryOwnMetadataKeys(O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinaryownmetadatakeys\r\n function OrdinaryOwnMetadataKeys(O, P) {\r\n var keys = [];\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return keys;\r\n var keysObj = metadataMap.keys();\r\n var iterator = GetIterator(keysObj);\r\n var k = 0;\r\n while (true) {\r\n var next = IteratorStep(iterator);\r\n if (!next) {\r\n keys.length = k;\r\n return keys;\r\n }\r\n var nextValue = IteratorValue(next);\r\n try {\r\n keys[k] = nextValue;\r\n }\r\n catch (e) {\r\n try {\r\n IteratorClose(iterator);\r\n }\r\n finally {\r\n throw e;\r\n }\r\n }\r\n k++;\r\n }\r\n }\r\n // 6 ECMAScript Data Typ0es and Values\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-data-types-and-values\r\n function Type(x) {\r\n if (x === null)\r\n return 1 /* Null */;\r\n switch (typeof x) {\r\n case \"undefined\": return 0 /* Undefined */;\r\n case \"boolean\": return 2 /* Boolean */;\r\n case \"string\": return 3 /* String */;\r\n case \"symbol\": return 4 /* Symbol */;\r\n case \"number\": return 5 /* Number */;\r\n case \"object\": return x === null ? 1 /* Null */ : 6 /* Object */;\r\n default: return 6 /* Object */;\r\n }\r\n }\r\n // 6.1.1 The Undefined Type\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-undefined-type\r\n function IsUndefined(x) {\r\n return x === undefined;\r\n }\r\n // 6.1.2 The Null Type\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-null-type\r\n function IsNull(x) {\r\n return x === null;\r\n }\r\n // 6.1.5 The Symbol Type\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-symbol-type\r\n function IsSymbol(x) {\r\n return typeof x === \"symbol\";\r\n }\r\n // 6.1.7 The Object Type\r\n // https://tc39.github.io/ecma262/#sec-object-type\r\n function IsObject(x) {\r\n return typeof x === \"object\" ? x !== null : typeof x === \"function\";\r\n }\r\n // 7.1 Type Conversion\r\n // https://tc39.github.io/ecma262/#sec-type-conversion\r\n // 7.1.1 ToPrimitive(input [, PreferredType])\r\n // https://tc39.github.io/ecma262/#sec-toprimitive\r\n function ToPrimitive(input, PreferredType) {\r\n switch (Type(input)) {\r\n case 0 /* Undefined */: return input;\r\n case 1 /* Null */: return input;\r\n case 2 /* Boolean */: return input;\r\n case 3 /* String */: return input;\r\n case 4 /* Symbol */: return input;\r\n case 5 /* Number */: return input;\r\n }\r\n var hint = PreferredType === 3 /* String */ ? \"string\" : PreferredType === 5 /* Number */ ? \"number\" : \"default\";\r\n var exoticToPrim = GetMethod(input, toPrimitiveSymbol);\r\n if (exoticToPrim !== undefined) {\r\n var result = exoticToPrim.call(input, hint);\r\n if (IsObject(result))\r\n throw new TypeError();\r\n return result;\r\n }\r\n return OrdinaryToPrimitive(input, hint === \"default\" ? \"number\" : hint);\r\n }\r\n // 7.1.1.1 OrdinaryToPrimitive(O, hint)\r\n // https://tc39.github.io/ecma262/#sec-ordinarytoprimitive\r\n function OrdinaryToPrimitive(O, hint) {\r\n if (hint === \"string\") {\r\n var toString_1 = O.toString;\r\n if (IsCallable(toString_1)) {\r\n var result = toString_1.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n var valueOf = O.valueOf;\r\n if (IsCallable(valueOf)) {\r\n var result = valueOf.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n }\r\n else {\r\n var valueOf = O.valueOf;\r\n if (IsCallable(valueOf)) {\r\n var result = valueOf.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n var toString_2 = O.toString;\r\n if (IsCallable(toString_2)) {\r\n var result = toString_2.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n }\r\n throw new TypeError();\r\n }\r\n // 7.1.2 ToBoolean(argument)\r\n // https://tc39.github.io/ecma262/2016/#sec-toboolean\r\n function ToBoolean(argument) {\r\n return !!argument;\r\n }\r\n // 7.1.12 ToString(argument)\r\n // https://tc39.github.io/ecma262/#sec-tostring\r\n function ToString(argument) {\r\n return \"\" + argument;\r\n }\r\n // 7.1.14 ToPropertyKey(argument)\r\n // https://tc39.github.io/ecma262/#sec-topropertykey\r\n function ToPropertyKey(argument) {\r\n var key = ToPrimitive(argument, 3 /* String */);\r\n if (IsSymbol(key))\r\n return key;\r\n return ToString(key);\r\n }\r\n // 7.2 Testing and Comparison Operations\r\n // https://tc39.github.io/ecma262/#sec-testing-and-comparison-operations\r\n // 7.2.2 IsArray(argument)\r\n // https://tc39.github.io/ecma262/#sec-isarray\r\n function IsArray(argument) {\r\n return Array.isArray\r\n ? Array.isArray(argument)\r\n : argument instanceof Object\r\n ? argument instanceof Array\r\n : Object.prototype.toString.call(argument) === \"[object Array]\";\r\n }\r\n // 7.2.3 IsCallable(argument)\r\n // https://tc39.github.io/ecma262/#sec-iscallable\r\n function IsCallable(argument) {\r\n // NOTE: This is an approximation as we cannot check for [[Call]] internal method.\r\n return typeof argument === \"function\";\r\n }\r\n // 7.2.4 IsConstructor(argument)\r\n // https://tc39.github.io/ecma262/#sec-isconstructor\r\n function IsConstructor(argument) {\r\n // NOTE: This is an approximation as we cannot check for [[Construct]] internal method.\r\n return typeof argument === \"function\";\r\n }\r\n // 7.2.7 IsPropertyKey(argument)\r\n // https://tc39.github.io/ecma262/#sec-ispropertykey\r\n function IsPropertyKey(argument) {\r\n switch (Type(argument)) {\r\n case 3 /* String */: return true;\r\n case 4 /* Symbol */: return true;\r\n default: return false;\r\n }\r\n }\r\n // 7.3 Operations on Objects\r\n // https://tc39.github.io/ecma262/#sec-operations-on-objects\r\n // 7.3.9 GetMethod(V, P)\r\n // https://tc39.github.io/ecma262/#sec-getmethod\r\n function GetMethod(V, P) {\r\n var func = V[P];\r\n if (func === undefined || func === null)\r\n return undefined;\r\n if (!IsCallable(func))\r\n throw new TypeError();\r\n return func;\r\n }\r\n // 7.4 Operations on Iterator Objects\r\n // https://tc39.github.io/ecma262/#sec-operations-on-iterator-objects\r\n function GetIterator(obj) {\r\n var method = GetMethod(obj, iteratorSymbol);\r\n if (!IsCallable(method))\r\n throw new TypeError(); // from Call\r\n var iterator = method.call(obj);\r\n if (!IsObject(iterator))\r\n throw new TypeError();\r\n return iterator;\r\n }\r\n // 7.4.4 IteratorValue(iterResult)\r\n // https://tc39.github.io/ecma262/2016/#sec-iteratorvalue\r\n function IteratorValue(iterResult) {\r\n return iterResult.value;\r\n }\r\n // 7.4.5 IteratorStep(iterator)\r\n // https://tc39.github.io/ecma262/#sec-iteratorstep\r\n function IteratorStep(iterator) {\r\n var result = iterator.next();\r\n return result.done ? false : result;\r\n }\r\n // 7.4.6 IteratorClose(iterator, completion)\r\n // https://tc39.github.io/ecma262/#sec-iteratorclose\r\n function IteratorClose(iterator) {\r\n var f = iterator[\"return\"];\r\n if (f)\r\n f.call(iterator);\r\n }\r\n // 9.1 Ordinary Object Internal Methods and Internal Slots\r\n // https://tc39.github.io/ecma262/#sec-ordinary-object-internal-methods-and-internal-slots\r\n // 9.1.1.1 OrdinaryGetPrototypeOf(O)\r\n // https://tc39.github.io/ecma262/#sec-ordinarygetprototypeof\r\n function OrdinaryGetPrototypeOf(O) {\r\n var proto = Object.getPrototypeOf(O);\r\n if (typeof O !== \"function\" || O === functionPrototype)\r\n return proto;\r\n // TypeScript doesn't set __proto__ in ES5, as it's non-standard.\r\n // Try to determine the superclass constructor. Compatible implementations\r\n // must either set __proto__ on a subclass constructor to the superclass constructor,\r\n // or ensure each class has a valid `constructor` property on its prototype that\r\n // points back to the constructor.\r\n // If this is not the same as Function.[[Prototype]], then this is definately inherited.\r\n // This is the case when in ES6 or when using __proto__ in a compatible browser.\r\n if (proto !== functionPrototype)\r\n return proto;\r\n // If the super prototype is Object.prototype, null, or undefined, then we cannot determine the heritage.\r\n var prototype = O.prototype;\r\n var prototypeProto = prototype && Object.getPrototypeOf(prototype);\r\n if (prototypeProto == null || prototypeProto === Object.prototype)\r\n return proto;\r\n // If the constructor was not a function, then we cannot determine the heritage.\r\n var constructor = prototypeProto.constructor;\r\n if (typeof constructor !== \"function\")\r\n return proto;\r\n // If we have some kind of self-reference, then we cannot determine the heritage.\r\n if (constructor === O)\r\n return proto;\r\n // we have a pretty good guess at the heritage.\r\n return constructor;\r\n }\r\n // naive Map shim\r\n function CreateMapPolyfill() {\r\n var cacheSentinel = {};\r\n var arraySentinel = [];\r\n var MapIterator = (function () {\r\n function MapIterator(keys, values, selector) {\r\n this._index = 0;\r\n this._keys = keys;\r\n this._values = values;\r\n this._selector = selector;\r\n }\r\n MapIterator.prototype[\"@@iterator\"] = function () { return this; };\r\n MapIterator.prototype[iteratorSymbol] = function () { return this; };\r\n MapIterator.prototype.next = function () {\r\n var index = this._index;\r\n if (index >= 0 && index < this._keys.length) {\r\n var result = this._selector(this._keys[index], this._values[index]);\r\n if (index + 1 >= this._keys.length) {\r\n this._index = -1;\r\n this._keys = arraySentinel;\r\n this._values = arraySentinel;\r\n }\r\n else {\r\n this._index++;\r\n }\r\n return { value: result, done: false };\r\n }\r\n return { value: undefined, done: true };\r\n };\r\n MapIterator.prototype.throw = function (error) {\r\n if (this._index >= 0) {\r\n this._index = -1;\r\n this._keys = arraySentinel;\r\n this._values = arraySentinel;\r\n }\r\n throw error;\r\n };\r\n MapIterator.prototype.return = function (value) {\r\n if (this._index >= 0) {\r\n this._index = -1;\r\n this._keys = arraySentinel;\r\n this._values = arraySentinel;\r\n }\r\n return { value: value, done: true };\r\n };\r\n return MapIterator;\r\n }());\r\n return (function () {\r\n function Map() {\r\n this._keys = [];\r\n this._values = [];\r\n this._cacheKey = cacheSentinel;\r\n this._cacheIndex = -2;\r\n }\r\n Object.defineProperty(Map.prototype, \"size\", {\r\n get: function () { return this._keys.length; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Map.prototype.has = function (key) { return this._find(key, /*insert*/ false) >= 0; };\r\n Map.prototype.get = function (key) {\r\n var index = this._find(key, /*insert*/ false);\r\n return index >= 0 ? this._values[index] : undefined;\r\n };\r\n Map.prototype.set = function (key, value) {\r\n var index = this._find(key, /*insert*/ true);\r\n this._values[index] = value;\r\n return this;\r\n };\r\n Map.prototype.delete = function (key) {\r\n var index = this._find(key, /*insert*/ false);\r\n if (index >= 0) {\r\n var size = this._keys.length;\r\n for (var i = index + 1; i < size; i++) {\r\n this._keys[i - 1] = this._keys[i];\r\n this._values[i - 1] = this._values[i];\r\n }\r\n this._keys.length--;\r\n this._values.length--;\r\n if (key === this._cacheKey) {\r\n this._cacheKey = cacheSentinel;\r\n this._cacheIndex = -2;\r\n }\r\n return true;\r\n }\r\n return false;\r\n };\r\n Map.prototype.clear = function () {\r\n this._keys.length = 0;\r\n this._values.length = 0;\r\n this._cacheKey = cacheSentinel;\r\n this._cacheIndex = -2;\r\n };\r\n Map.prototype.keys = function () { return new MapIterator(this._keys, this._values, getKey); };\r\n Map.prototype.values = function () { return new MapIterator(this._keys, this._values, getValue); };\r\n Map.prototype.entries = function () { return new MapIterator(this._keys, this._values, getEntry); };\r\n Map.prototype[\"@@iterator\"] = function () { return this.entries(); };\r\n Map.prototype[iteratorSymbol] = function () { return this.entries(); };\r\n Map.prototype._find = function (key, insert) {\r\n if (this._cacheKey !== key) {\r\n this._cacheIndex = this._keys.indexOf(this._cacheKey = key);\r\n }\r\n if (this._cacheIndex < 0 && insert) {\r\n this._cacheIndex = this._keys.length;\r\n this._keys.push(key);\r\n this._values.push(undefined);\r\n }\r\n return this._cacheIndex;\r\n };\r\n return Map;\r\n }());\r\n function getKey(key, _) {\r\n return key;\r\n }\r\n function getValue(_, value) {\r\n return value;\r\n }\r\n function getEntry(key, value) {\r\n return [key, value];\r\n }\r\n }\r\n // naive Set shim\r\n function CreateSetPolyfill() {\r\n return (function () {\r\n function Set() {\r\n this._map = new _Map();\r\n }\r\n Object.defineProperty(Set.prototype, \"size\", {\r\n get: function () { return this._map.size; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Set.prototype.has = function (value) { return this._map.has(value); };\r\n Set.prototype.add = function (value) { return this._map.set(value, value), this; };\r\n Set.prototype.delete = function (value) { return this._map.delete(value); };\r\n Set.prototype.clear = function () { this._map.clear(); };\r\n Set.prototype.keys = function () { return this._map.keys(); };\r\n Set.prototype.values = function () { return this._map.values(); };\r\n Set.prototype.entries = function () { return this._map.entries(); };\r\n Set.prototype[\"@@iterator\"] = function () { return this.keys(); };\r\n Set.prototype[iteratorSymbol] = function () { return this.keys(); };\r\n return Set;\r\n }());\r\n }\r\n // naive WeakMap shim\r\n function CreateWeakMapPolyfill() {\r\n var UUID_SIZE = 16;\r\n var keys = HashMap.create();\r\n var rootKey = CreateUniqueKey();\r\n return (function () {\r\n function WeakMap() {\r\n this._key = CreateUniqueKey();\r\n }\r\n WeakMap.prototype.has = function (target) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ false);\r\n return table !== undefined ? HashMap.has(table, this._key) : false;\r\n };\r\n WeakMap.prototype.get = function (target) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ false);\r\n return table !== undefined ? HashMap.get(table, this._key) : undefined;\r\n };\r\n WeakMap.prototype.set = function (target, value) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ true);\r\n table[this._key] = value;\r\n return this;\r\n };\r\n WeakMap.prototype.delete = function (target) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ false);\r\n return table !== undefined ? delete table[this._key] : false;\r\n };\r\n WeakMap.prototype.clear = function () {\r\n // NOTE: not a real clear, just makes the previous data unreachable\r\n this._key = CreateUniqueKey();\r\n };\r\n return WeakMap;\r\n }());\r\n function CreateUniqueKey() {\r\n var key;\r\n do\r\n key = \"@@WeakMap@@\" + CreateUUID();\r\n while (HashMap.has(keys, key));\r\n keys[key] = true;\r\n return key;\r\n }\r\n function GetOrCreateWeakMapTable(target, create) {\r\n if (!hasOwn.call(target, rootKey)) {\r\n if (!create)\r\n return undefined;\r\n Object.defineProperty(target, rootKey, { value: HashMap.create() });\r\n }\r\n return target[rootKey];\r\n }\r\n function FillRandomBytes(buffer, size) {\r\n for (var i = 0; i < size; ++i)\r\n buffer[i] = Math.random() * 0xff | 0;\r\n return buffer;\r\n }\r\n function GenRandomBytes(size) {\r\n if (typeof Uint8Array === \"function\") {\r\n if (typeof crypto !== \"undefined\")\r\n return crypto.getRandomValues(new Uint8Array(size));\r\n if (typeof msCrypto !== \"undefined\")\r\n return msCrypto.getRandomValues(new Uint8Array(size));\r\n return FillRandomBytes(new Uint8Array(size), size);\r\n }\r\n return FillRandomBytes(new Array(size), size);\r\n }\r\n function CreateUUID() {\r\n var data = GenRandomBytes(UUID_SIZE);\r\n // mark as random - RFC 4122 ยง 4.4\r\n data[6] = data[6] & 0x4f | 0x40;\r\n data[8] = data[8] & 0xbf | 0x80;\r\n var result = \"\";\r\n for (var offset = 0; offset < UUID_SIZE; ++offset) {\r\n var byte = data[offset];\r\n if (offset === 4 || offset === 6 || offset === 8)\r\n result += \"-\";\r\n if (byte < 16)\r\n result += \"0\";\r\n result += byte.toString(16).toLowerCase();\r\n }\r\n return result;\r\n }\r\n }\r\n // uses a heuristic used by v8 and chakra to force an object into dictionary mode.\r\n function MakeDictionary(obj) {\r\n obj.__ = undefined;\r\n delete obj.__;\r\n return obj;\r\n }\r\n // patch global Reflect\r\n (function (__global) {\r\n if (typeof __global.Reflect !== \"undefined\") {\r\n if (__global.Reflect !== Reflect) {\r\n for (var p in Reflect) {\r\n if (hasOwn.call(Reflect, p)) {\r\n __global.Reflect[p] = Reflect[p];\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n __global.Reflect = Reflect;\r\n }\r\n })(typeof global !== \"undefined\" ? global :\r\n typeof self !== \"undefined\" ? self :\r\n Function(\"return this;\")());\r\n})(Reflect || (Reflect = {}));\r\n//# sourceMappingURL=Reflect.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/reflect-metadata/Reflect.js\n// module id = 10\n// module chunks = 0","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/node-libs-browser/node_modules/process/browser.js\n// module id = 11\n// module chunks = 0","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 12\n// module chunks = 0","/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nexport default noop;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/lodash-es/noop.js","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nexport default identity;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/lodash-es/identity.js","import { assign, defineProperty, copyOwnAndInheritedProps, uniqueId, round, toKbps, toMbps } from \"../core/utils\"\n\nexport interface IUploadStats {\n\tbytesSent: number\n\tprogress: number\n\ttotal: number\n\tspeed: ISpeedStats\n\tstart: number\n\tend: number\n\ttime: number\n}\n\nexport interface ISpeedStats {\n\tkbps: number\n\tmbps: number\n}\n\nclass VTransmitFile {\n\tprivate _nativeFile: File = null\n\tid: string = VTransmitFile.idFactory()\n\taccepted: boolean = undefined // Passed all validation.\n\tlastModified: number = undefined\n\tlastModifiedDate: Date = undefined\n\tname: string = undefined\n\tprocessing: boolean = undefined\n\tsize: number = undefined\n\tstatus: string = undefined\n\ttype: string = undefined\n\tupload: IUploadStats = {\n\t\tbytesSent: 0,\n\t\tprogress: 0,\n\t\ttotal: 0,\n\t\tspeed: {\n\t\t\tkbps: undefined,\n\t\t\tmbps: undefined,\n\t\t},\n\t\tstart: undefined,\n\t\tend: undefined,\n\t\ttime: undefined,\n\t}\n\twebkitRelativePath: USVString = undefined\n\twidth: number = undefined\n\theight: number = undefined\n\txhr: XMLHttpRequest = undefined\n\tprivate _dataUrl: string\n\terrorMessage: string = undefined\n\n\tconstructor(...data: object[]) {\n\t\tassign(this, ...data)\n\t}\n\n\tset(...data: object[]): VTransmitFile {\n\t\tassign(this, ...data)\n\t\treturn this\n\t}\n\n\tcopyNativeFile(file: File): VTransmitFile {\n\t\t// save reference for upload\n\t\tthis.nativeFile = file\n\t\t// Copy props to normal object for Vue reactivity.\n\t\t// Vue cannot define reactive properties on native file's readonly props.\n\t\treturn this.set(copyOwnAndInheritedProps(file))\n\t}\n\n\tcopyOwnAndInheritedProps(...data: object[]): VTransmitFile {\n\t\treturn this.set(...data.map(copyOwnAndInheritedProps))\n\t}\n\n\thandleProgress(e: ProgressEvent): void {\n\t\tthis.startProgress()\n\t\tconst total = e.total || this.upload.total\n\t\tthis.upload.progress = Math.min(100, 100 * e.loaded / total)\n\t\tthis.upload.bytesSent = e.loaded\n\t\tthis.upload.total = total\n\t\tthis.upload.time = (Date.now() - this.upload.start) / 1000\n\t\t// Recalc the upload speed in bytes/sec\n\t\tthis.upload.speed.kbps = round(toKbps(this.upload.bytesSent, this.upload.time))\n\t\tthis.upload.speed.mbps = round(toMbps(this.upload.bytesSent, this.upload.time))\n\t\tif (this.upload.progress === 100) {\n\t\t\tthis.endProgress()\n\t\t}\n\t}\n\n\tstartProgress(): VTransmitFile {\n\t\t// Avoid starting twice\n\t\tif (typeof this.upload.start !== \"number\") {\n\t\t\tthis.upload.start = Date.now()\n\t\t}\n\t\treturn this\n\t}\n\n\tendProgress(): VTransmitFile {\n\t\t// Avoid ending twice\n\t\tif (typeof this.upload.end !== \"number\") {\n\t\t\tthis.upload.end = Date.now()\n\t\t\tthis.upload.time = (Date.now() - this.upload.start) / 1000\n\t\t}\n\t\treturn this\n\t}\n\n\tget nativeFile() {\n\t\treturn this._nativeFile\n\t}\n\n\tset nativeFile(file: File) {\n\t\tif (!(file instanceof File)) {\n\t\t\tthrow new TypeError(`[${VTransmitFile.name}] Expected an instance of File (native).`)\n\t\t}\n\t\tthis._nativeFile = file\n\t\tthis.upload.total = file.size\n\t}\n\n\tget dataUrl() {\n\t\treturn this._dataUrl || \"\"\n\t}\n\n\tset dataUrl(value) {\n\t\tdefineProperty(this, \"_dataUrl\", {\n\t\t\tvalue,\n\t\t\tenumerable: false,\n\t\t\tconfigurable: true,\n\t\t\twritable: true,\n\t\t})\n\t}\n\n\tstatic fromNativeFile(file: File, ...data) {\n\t\tconst instance = new VTransmitFile(...data)\n\t\tinstance.copyNativeFile(file)\n\t\treturn instance\n\t}\n\n\tstatic idFactory() {\n\t\treturn uniqueId(\"v-transmit-file-\")\n\t}\n}\n\nexport default VTransmitFile\n\n\n\n// WEBPACK FOOTER //\n// ./src/classes/VTransmitFile.ts","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(_vm.tag,{tag:\"component\"},[_c('div',_vm._g(_vm._b({staticClass:\"v-transmit__upload-area\",class:[_vm.isDraggingClass, _vm.uploadAreaClasses],attrs:{\"draggable\":\"true\"},on:{\"click\":_vm.handleClickUploaderAction,\"dragstart\":_vm.handleDragStart,\"dragend\":_vm.handleDragEnd,\"dragenter\":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDragEnter($event)},\"dragover\":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDragOver($event)},\"dragleave\":_vm.handleDragLeave,\"drop\":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDrop($event)}}},'div',_vm.uploadAreaAttrs,false),_vm.uploadAreaListeners),[_vm._t(\"default\")],2),_vm._v(\" \"),_vm._t(\"files\",null,null,_vm.fileSlotBindings),_vm._v(\" \"),_c('form',{ref:\"uploadForm\",style:(_vm.formStyles)},[_c('input',{ref:\"hiddenFileInput\",class:[_vm.maxFilesReachedClass],attrs:{\"type\":\"file\",\"multiple\":_vm.multiple,\"accept\":_vm.filesToAccept,\"capture\":_vm.capture},on:{\"change\":_vm.onFileInputChange}})])],2)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-61e675b9\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/VueTransmit.vue\n// module id = 16\n// module chunks = 0"],"sourceRoot":""}
\ No newline at end of file
diff --git a/dist/vue-transmit.common.min.js b/dist/vue-transmit.common.min.js
index ad2f77e..6cf5d10 100644
--- a/dist/vue-transmit.common.min.js
+++ b/dist/vue-transmit.common.min.js
@@ -1,8 +1,8 @@
-module.exports=function(e){function t(r){if(a[r])return a[r].exports;var o=a[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var a={};return t.m=e,t.c=a,t.d=function(e,a,r){t.o(e,a)||Object.defineProperty(e,a,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var a=e&&e.__esModule?function(){return e['default']}:function(){return e};return t.d(a,'a',a),a},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p='',t(t.s=3)}([function(e){e.exports=require('vue')},function(e,t,a){'use strict';function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e){if(Array.isArray(e)){for(var t=0,a=Array(e.length);tl?t:null===o?o=Object.getOwnPropertyDescriptor(t,a):o;if('object'===('undefined'==typeof Reflect?'undefined':p(Reflect))&&'function'==typeof Reflect.decorate)d=Reflect.decorate(e,t,a,o);else for(var r=e.length-1;0<=r;r--)(n=e[r])&&(d=(3>l?n(d):3=this.maxFiles&&this.$emit('max-files-reached',this.files)}},{key:'getFilesWithStatus',value:function(){for(var e=arguments.length,t=Array(e),a=0;a=this.maxConcurrentUploads||0===this.queuedFiles.length)){var t=[].concat(n(this.queuedFiles));if(this.uploadMultiple)return this.processFiles(t.slice(0,this.maxConcurrentUploads-e));for(var a=e;ar.status||300<=r.status?p():a.uploadFinished(t,e,o)}});var c=Object.assign(Object.create(null),this.defaultHeaders,this.headers);for(var y in c)c[y]&&r.setRequestHeader(y,c[y]);var g=new FormData;for(var f in this.params)g.append(f,this.params[f]);var m,h=!0,_=!1;try{for(var v,F,k=t[Symbol.iterator]();!(h=(v=k.next()).done);h=!0)F=v.value,this.$emit('sending',F,r,g)}catch(e){_=!0,m=e}finally{try{!h&&k.return&&k.return()}finally{if(_)throw m}}this.uploadMultiple&&this.$emit('sending-multiple',t,r,g);for(var P=0;P1024*(1024*this.maxFileSize)?t(this.dictFileTooBig.replace(_.hbsRegex,(0,_.hbsReplacer)({fileSize:Math.round(e.size/1024/10.24)/100,maxFileSize:this.maxFileSize}))):this.isValidFileType(e,this.acceptedFileTypes)?null!=this.maxFiles&&this.acceptedFiles.length>=this.maxFiles?(t(this.dictMaxFilesExceeded.replace(_.hbsRegex,(0,_.hbsReplacer)({maxFiles:this.maxFiles}))),this.$emit('max-files-exceeded',e)):this.accept(e,t):t(this.dictInvalidFileType)}},{key:'isValidFileType',value:function(e,t){if(!t.length)return!0;for(var a,r=e.type,o=r.replace(/\/.*$/,''),n=0;n=this.maxFiles}},{key:'maxFilesReachedClass',get:function(){return this.maxFilesReached?'v-transmit__max-files--reached':null}},{key:'isDraggingClass',get:function(){return o({"v-transmit__upload-area--is-dragging":this.dragging},this.dragClass,this.dragging)}},{key:'isUploading',get:function(){return 0o){var s=n(i,e.width),p=l(s,2);a=p[0],r=p[1]}else{var u=n(i,void 0,e.height),c=l(u,2);a=c[0],r=c[1]}return an?t:null===o?o=Object.getOwnPropertyDescriptor(t,a):o;if('object'===('undefined'==typeof Reflect?'undefined':p(Reflect))&&'function'==typeof Reflect.decorate)s=Reflect.decorate(e,t,a,o);else for(var r=e.length-1;0<=r;r--)(l=e[r])&&(s=(3>n?l(s):3=this.maxFiles&&this.$emit('max-files-reached',this.files)}},{key:'getFilesWithStatus',value:function(){for(var e=arguments.length,t=Array(e),a=0;a=this.maxConcurrentUploads||0===this.queuedFiles.length)){var t=[].concat(l(this.queuedFiles));if(this.uploadMultiple)return this.processFiles(t.slice(0,this.maxConcurrentUploads-e));for(var a=e;ar.status||300<=r.status?p():a.uploadFinished(t,e,o)}});var c=Object.assign(Object.create(null),this.defaultHeaders,this.headers);for(var y in c)c[y]&&r.setRequestHeader(y,c[y]);var g=new FormData;for(var f in this.params)g.append(f,this.params[f]);var m,h=!0,_=!1;try{for(var v,F,k=t[Symbol.iterator]();!(h=(v=k.next()).done);h=!0)F=v.value,this.$emit('sending',F,r,g)}catch(e){_=!0,m=e}finally{try{!h&&k.return&&k.return()}finally{if(_)throw m}}this.uploadMultiple&&this.$emit('sending-multiple',t,r,g);for(var P=0;P1024*(1024*this.maxFileSize)?t(this.dictFileTooBig.replace(_.hbsRegex,(0,_.hbsReplacer)({fileSize:Math.round(e.size/1024/10.24)/100,maxFileSize:this.maxFileSize}))):this.isValidFileType(e,this.acceptedFileTypes)?null!=this.maxFiles&&this.acceptedFiles.length>=this.maxFiles?(t(this.dictMaxFilesExceeded.replace(_.hbsRegex,(0,_.hbsReplacer)({maxFiles:this.maxFiles}))),this.$emit('max-files-exceeded',e)):this.accept(e,t):t(this.dictInvalidFileType)}},{key:'isValidFileType',value:function(e,t){if(!t.length)return!0;for(var a,r=e.type,o=r.replace(/\/.*$/,''),l=0;l=this.maxFiles}},{key:'maxFilesReachedClass',get:function(){return this.maxFilesReached?'v-transmit__max-files--reached':null}},{key:'isDraggingClass',get:function(){return o({"v-transmit__upload-area--is-dragging":this.dragging},this.dragClass,this.dragging)}},{key:'isUploading',get:function(){return 0o){var d=l(i,e.width),p=n(d,2);a=p[0],r=p[1]}else{var u=l(i,void 0,e.height),c=n(u,2);a=c[0],r=c[1]}return a=o.length)return a;if(0>=a.length)return o;for(var i=new z,n=[],l=0,d=a;l=this._keys.length?(this._index=-1,this._keys=o,this._values=o):this._index++,{value:t,done:!1}}return{value:void 0,done:!0}},e.prototype.throw=function(e){throw 0<=this._index&&(this._index=-1,this._keys=o,this._values=o),e},e.prototype.return=function(e){return 0<=this._index&&(this._index=-1,this._keys=o,this._values=o),{value:e,done:!0}},e}();return function(){function o(){this._keys=[],this._values=[],this._cacheKey=r,this._cacheIndex=-2}return Object.defineProperty(o.prototype,'size',{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),o.prototype.has=function(e){return 0<=this._find(e,!1)},o.prototype.get=function(e){var t=this._find(e,!1);return 0<=t?this._values[t]:void 0},o.prototype.set=function(e,t){var a=this._find(e,!0);return this._values[a]=t,this},o.prototype.delete=function(e){var t=this._find(e,!1);if(0<=t){for(var a=this._keys.length,o=t+1;othis._cacheIndex&&t&&(this._cacheIndex=this._keys.length,this._keys.push(e),this._values.push(void 0)),this._cacheIndex},o}()}():Map,z=j||'function'!=typeof Set||'function'!=typeof Set.prototype.entries?function(){return function(){function e(){this._map=new Q}return Object.defineProperty(e.prototype,'size',{get:function(){return this._map.size},enumerable:!0,configurable:!0}),e.prototype.has=function(e){return this._map.has(e)},e.prototype.add=function(e){return this._map.set(e,e),this},e.prototype.delete=function(e){return this._map.delete(e)},e.prototype.clear=function(){this._map.clear()},e.prototype.keys=function(){return this._map.keys()},e.prototype.values=function(){return this._map.values()},e.prototype.entries=function(){return this._map.entries()},e.prototype['@@iterator']=function(){return this.keys()},e.prototype[L]=function(){return this.keys()},e}()}():Set,q=j||'function'!=typeof WeakMap?function(){function e(){var e;do e='@@WeakMap@@'+o();while(O.has(n,e));return n[e]=!0,e}function t(e,t){if(!M.call(e,l)){if(!t)return;Object.defineProperty(e,l,{value:O.create()})}return e[l]}function a(e,t){for(var a=0;at&&(a+='0'),a+=t.toString(16).toLowerCase();return a}var i=16,n=O.create(),l=e();return function(){function a(){this._key=e()}return a.prototype.has=function(e){var a=t(e,!1);return void 0!==a&&O.has(a,this._key)},a.prototype.get=function(e){var a=t(e,!1);return void 0===a?void 0:O.get(a,this._key)},a.prototype.set=function(e,a){var r=t(e,!0);return r[this._key]=a,this},a.prototype.delete=function(e){var a=t(e,!1);return void 0!==a&&delete a[this._key]},a.prototype.clear=function(){this._key=e()},a}()}():WeakMap,W=new q;a.decorate=function(e,t,a,i){if(!g(a)){if(!P(e))throw new TypeError;if(!h(t))throw new TypeError;if(!h(i)&&!g(i)&&!f(i))throw new TypeError;return f(i)&&(i=void 0),a=b(a),o(e,t,a,i)}if(!P(e))throw new TypeError;if(!D(t))throw new TypeError;return r(e,t)},a.metadata=function(e,t){return function(a,r){if(!h(a))throw new TypeError;if(!g(r)&&!E(r))throw new TypeError;p(e,t,a,r)}},a.defineMetadata=function(e,t,a,r){if(!h(a))throw new TypeError;return g(r)||(r=b(r)),p(e,t,a,r)},a.hasMetadata=function(e,t,a){if(!h(t))throw new TypeError;return g(a)||(a=b(a)),n(e,t,a)},a.hasOwnMetadata=function(e,t,a){if(!h(t))throw new TypeError;return g(a)||(a=b(a)),l(e,t,a)},a.getMetadata=function(e,t,a){if(!h(t))throw new TypeError;return g(a)||(a=b(a)),d(e,t,a)},a.getOwnMetadata=function(e,t,a){if(!h(t))throw new TypeError;return g(a)||(a=b(a)),s(e,t,a)},a.getMetadataKeys=function(e,t){if(!h(e))throw new TypeError;return g(t)||(t=b(t)),u(e,t)},a.getOwnMetadataKeys=function(e,t){if(!h(e))throw new TypeError;return g(t)||(t=b(t)),c(e,t)},a.deleteMetadata=function(e,t,a){if(!h(t))throw new TypeError;g(a)||(a=b(a));var r=i(t,a,!1);if(g(r))return!1;if(!r.delete(e))return!1;if(0=o.length)return a;if(0>=a.length)return o;for(var i=new z,l=[],n=0,s=a;n=this._keys.length?(this._index=-1,this._keys=o,this._values=o):this._index++,{value:t,done:!1}}return{value:void 0,done:!0}},e.prototype.throw=function(e){throw 0<=this._index&&(this._index=-1,this._keys=o,this._values=o),e},e.prototype.return=function(e){return 0<=this._index&&(this._index=-1,this._keys=o,this._values=o),{value:e,done:!0}},e}();return function(){function o(){this._keys=[],this._values=[],this._cacheKey=r,this._cacheIndex=-2}return Object.defineProperty(o.prototype,'size',{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),o.prototype.has=function(e){return 0<=this._find(e,!1)},o.prototype.get=function(e){var t=this._find(e,!1);return 0<=t?this._values[t]:void 0},o.prototype.set=function(e,t){var a=this._find(e,!0);return this._values[a]=t,this},o.prototype.delete=function(e){var t=this._find(e,!1);if(0<=t){for(var a=this._keys.length,o=t+1;othis._cacheIndex&&t&&(this._cacheIndex=this._keys.length,this._keys.push(e),this._values.push(void 0)),this._cacheIndex},o}()}():Map,z=j||'function'!=typeof Set||'function'!=typeof Set.prototype.entries?function(){return function(){function e(){this._map=new Q}return Object.defineProperty(e.prototype,'size',{get:function(){return this._map.size},enumerable:!0,configurable:!0}),e.prototype.has=function(e){return this._map.has(e)},e.prototype.add=function(e){return this._map.set(e,e),this},e.prototype.delete=function(e){return this._map.delete(e)},e.prototype.clear=function(){this._map.clear()},e.prototype.keys=function(){return this._map.keys()},e.prototype.values=function(){return this._map.values()},e.prototype.entries=function(){return this._map.entries()},e.prototype['@@iterator']=function(){return this.keys()},e.prototype[L]=function(){return this.keys()},e}()}():Set,q=j||'function'!=typeof WeakMap?function(){function e(){var e;do e='@@WeakMap@@'+o();while(O.has(l,e));return l[e]=!0,e}function t(e,t){if(!M.call(e,n)){if(!t)return;Object.defineProperty(e,n,{value:O.create()})}return e[n]}function a(e,t){for(var a=0;at&&(a+='0'),a+=t.toString(16).toLowerCase();return a}var i=16,l=O.create(),n=e();return function(){function a(){this._key=e()}return a.prototype.has=function(e){var a=t(e,!1);return void 0!==a&&O.has(a,this._key)},a.prototype.get=function(e){var a=t(e,!1);return void 0===a?void 0:O.get(a,this._key)},a.prototype.set=function(e,a){var r=t(e,!0);return r[this._key]=a,this},a.prototype.delete=function(e){var a=t(e,!1);return void 0!==a&&delete a[this._key]},a.prototype.clear=function(){this._key=e()},a}()}():WeakMap,W=new q;a.decorate=function(e,t,a,i){if(!g(a)){if(!P(e))throw new TypeError;if(!h(t))throw new TypeError;if(!h(i)&&!g(i)&&!f(i))throw new TypeError;return f(i)&&(i=void 0),a=b(a),o(e,t,a,i)}if(!P(e))throw new TypeError;if(!E(t))throw new TypeError;return r(e,t)},a.metadata=function(e,t){return function(a,r){if(!h(a))throw new TypeError;if(!g(r)&&!D(r))throw new TypeError;p(e,t,a,r)}},a.defineMetadata=function(e,t,a,r){if(!h(a))throw new TypeError;return g(r)||(r=b(r)),p(e,t,a,r)},a.hasMetadata=function(e,t,a){if(!h(t))throw new TypeError;return g(a)||(a=b(a)),l(e,t,a)},a.hasOwnMetadata=function(e,t,a){if(!h(t))throw new TypeError;return g(a)||(a=b(a)),n(e,t,a)},a.getMetadata=function(e,t,a){if(!h(t))throw new TypeError;return g(a)||(a=b(a)),s(e,t,a)},a.getOwnMetadata=function(e,t,a){if(!h(t))throw new TypeError;return g(a)||(a=b(a)),d(e,t,a)},a.getMetadataKeys=function(e,t){if(!h(e))throw new TypeError;return g(t)||(t=b(t)),u(e,t)},a.getOwnMetadataKeys=function(e,t){if(!h(e))throw new TypeError;return g(t)||(t=b(t)),c(e,t)},a.deleteMetadata=function(e,t,a){if(!h(t))throw new TypeError;g(a)||(a=b(a));var r=i(t,a,!1);if(g(r))return!1;if(!r.delete(e))return!1;if(0 [] })\n\tacceptedFileTypes: string[]\n\n\t/**\n * If false, files will be added to the queue but the queue will not be\n * processed automatically.\n * This can be useful if you need some additional user input before sending\n * files (or if you want want all files sent at once).\n * If you're ready to send the file simply call myDropzone.processQueue()\n */\n\t@Prop({ type: Boolean, default: true })\n\tautoProcessQueue: boolean\n\n\t/**\n * If false, files added to the dropzone will not be queued by default.\n * You'll have to call `enqueueFile(file)` manually.\n */\n\t@Prop({ type: Boolean, default: true })\n\tautoQueue: boolean\n\n\t/**\n * If null, no capture type will be specified\n * If camera, mobile devices will skip the file selection and choose camera\n * If microphone, mobile devices will skip the file selection and choose the microphone\n * If camcorder, mobile devices will skip the file selection and choose the camera in video mode\n * On apple devices multiple must be set to false. AcceptedFiles may need to\n * be set to an appropriate mime type (e.g. \"image/*\", \"audio/*\", or \"video/*\").\n */\n\t@Prop({ type: String, default: null })\n\tcapture: string\n\n\t/**\n * Before the file is appended to the formData, the function renameFile is performed for file.name, file\n * which executes the function defined in renameFile\n */\n\t@Prop({ type: Function, default: identity })\n\trenameFile: (name: string) => string\n\n\t// If the file size is too big.\n\t@Prop({ type: String, default: \"File is too big ({{ fileSize }}MiB). Max file size: {{ maxFileSize }}MB.\" })\n\tdictFileTooBig: string\n\n\t// If the file doesn't match the file type.\n\t@Prop({ type: String, default: \"You can't upload files of this type.\" })\n\tdictInvalidFileType: string\n\n\t// If the server response was invalid.\n\t@Prop({ type: String, default: \"Server responded with {{ statusCode }} code.\" })\n\tdictResponseError: string\n\n\t/**\n * Displayed when the maxFiles have been exceeded\n * You can use {{maxFiles}} here, which will be replaced by the option.\n */\n\t@Prop({ type: String, default: \"You can not upload any more files.\" })\n\tdictMaxFilesExceeded: string\n\n\t/**\n * If `done()` is called without argument the file is accepted\n * If you call it with an error message, the file is rejected\n * (This allows for asynchronous validation).\n */\n\t@Prop({ type: Function, default: (_, done: Function) => done() })\n\taccept: (file: VTransmitFile, done: Function) => void\n\n\t@Prop({ type: Function, default: resizeImg })\n\tresize: (file: VTransmitFile, dims: IDimensions) => IDrawImageArgs\n\n\tpublic dragging: boolean = false\n\t// Used to keep the createThumbnail calls processing async one-at-a-time\n\tprivate processingThumbnail: boolean = false\n\tpublic thumbnailQueue: any[] = []\n\tpublic files: VTransmitFile[] = []\n\tpublic defaultHeaders: object = {\n\t\tAccept: \"application/json\",\n\t\t\"Cache-Control\": \"no-cache\",\n\t\t\"X-Requested-With\": \"XMLHttpRequest\",\n\t}\n\tpublic fileInputStyles: object = {\n\t\tvisibility: \"hidden !important\",\n\t\tposition: \"absolute !important\",\n\t\ttop: \"0 !important\",\n\t\tleft: \"0 !important\",\n\t\theight: \"0px !important\",\n\t\twidth: \"0px !important\",\n\t}\n\n\tget inputEl(): HTMLInputElement {\n\t\tlet el = null\n\t\tif (this.$refs.hiddenFileInput instanceof HTMLInputElement) {\n\t\t\tel = this.$refs.hiddenFileInput\n\t\t}\n\t\treturn el\n\t}\n\tget filesToAccept(): string {\n\t\treturn this.acceptedFileTypes.join(\",\")\n\t}\n\tget multiple(): boolean {\n\t\treturn this.maxFiles === null || this.maxFiles > 1\n\t}\n\tget acceptedFiles(): VTransmitFile[] {\n\t\treturn this.files.filter(f => f.accepted)\n\t}\n\tget rejectedFiles(): VTransmitFile[] {\n\t\treturn this.files.filter(f => !f.accepted)\n\t}\n\tget addedFiles(): VTransmitFile[] {\n\t\treturn this.getFilesWithStatus(STATUSES.ADDED)\n\t}\n\tget queuedFiles(): VTransmitFile[] {\n\t\treturn this.getFilesWithStatus(STATUSES.QUEUED)\n\t}\n\tget uploadingFiles(): VTransmitFile[] {\n\t\treturn this.getFilesWithStatus(STATUSES.UPLOADING)\n\t}\n\tget activeFiles(): VTransmitFile[] {\n\t\treturn this.getFilesWithStatus(STATUSES.UPLOADING, STATUSES.QUEUED)\n\t}\n\tget maxFilesReached(): boolean {\n\t\t// Loose equality checks null && undefined\n\t\treturn this.maxFiles != null && this.acceptedFiles.length >= this.maxFiles\n\t}\n\tget maxFilesReachedClass(): string {\n\t\treturn this.maxFilesReached ? \"v-transmit__max-files--reached\" : null\n\t}\n\tget isDraggingClass(): { [key: string]: boolean } {\n\t\treturn {\n\t\t\t\"v-transmit__upload-area--is-dragging\": this.dragging,\n\t\t\t[this.dragClass]: this.dragging,\n\t\t}\n\t}\n\tget isUploading(): boolean {\n\t\treturn this.uploadingFiles.length > 0\n\t}\n\tget fileSlotBindings() {\n\t\treturn {\n\t\t\tfiles: this.files,\n\t\t\tacceptedFiles: this.acceptedFiles,\n\t\t\trejectedFiles: this.rejectedFiles,\n\t\t\taddedFiles: this.addedFiles,\n\t\t\tqueuedFiles: this.queuedFiles,\n\t\t\tuploadingFiles: this.uploadingFiles,\n\t\t\tactiveFiles: this.activeFiles,\n\t\t\tisUploading: this.isUploading,\n\t\t}\n\t}\n\n\t@Watch(\"acceptedFiles\")\n\tonAcceptedFilesChange(acceptedFiles: VTransmitFile[]) {\n\t\tif (this.maxFiles == null) {\n\t\t\treturn\n\t\t}\n\t\tif (acceptedFiles.length >= this.maxFiles) {\n\t\t\tthis.$emit(\"max-files-reached\", this.files)\n\t\t}\n\t}\n\n\tgetFilesWithStatus(...statuses: string[]): VTransmitFile[] {\n\t\treturn this.files.filter(f => statuses.indexOf(f.status) > -1)\n\t}\n\tonFileInputChange(): void {\n\t\tthis.$emit(\"added-files\", Array.from(this.inputEl.files).map(this.addFile))\n\t}\n\taddFile(file: File): VTransmitFile {\n\t\tconst vTransmitFile = VTransmitFile.fromNativeFile(file)\n\t\tvTransmitFile.status = STATUSES.ADDED\n\t\tthis.files.push(vTransmitFile)\n\t\tthis.$emit(\"added-file\", vTransmitFile)\n\t\tthis.enqueueThumbnail(vTransmitFile)\n\t\tthis.acceptFile(vTransmitFile, error => {\n\t\t\tif (error) {\n\t\t\t\tvTransmitFile.accepted = false\n\t\t\t\tthis.errorProcessing([vTransmitFile], error)\n\t\t\t\tthis.$emit(\"rejected-file\", vTransmitFile)\n\t\t\t} else {\n\t\t\t\tvTransmitFile.accepted = true\n\t\t\t\tthis.$emit(\"accepted-file\", vTransmitFile)\n\t\t\t\tif (this.autoQueue) {\n\t\t\t\t\tthis.enqueueFile(vTransmitFile)\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.$emit(\"accept-complete\", vTransmitFile)\n\t\t})\n\n\t\treturn vTransmitFile\n\t}\n\tremoveFile(file: VTransmitFile): void {\n\t\tif (file.status === STATUSES.UPLOADING) {\n\t\t\tthis.cancelUpload(file)\n\t\t}\n\t\tconst idxToRm = this.files.findIndex(f => f.id === file.id)\n\t\tif (~idxToRm) {\n\t\t\tthis.$emit(\"removed-file\", this.files.splice(idxToRm, 1)[0])\n\t\t\tif (this.files.length === 0) {\n\t\t\t\tthis.$emit(\"reset\")\n\t\t\t}\n\t\t}\n\t}\n\tremoveAllFiles(cancelInProgressUploads = false): void {\n\t\tfor (const file of this.files) {\n\t\t\tif (file.status !== STATUSES.UPLOADING || cancelInProgressUploads) {\n\t\t\t\tthis.removeFile(file)\n\t\t\t}\n\t\t}\n\t}\n\ttriggerBrowseFiles(): void {\n\t\tthis.inputEl.click()\n\t}\n\thandleClickUploaderAction(): void {\n\t\tif (this.clickable) {\n\t\t\tthis.triggerBrowseFiles()\n\t\t}\n\t}\n\tenqueueFile(file: VTransmitFile): void {\n\t\tif (file.status === STATUSES.ADDED && file.accepted === true) {\n\t\t\tfile.status = STATUSES.QUEUED\n\t\t\tif (this.autoProcessQueue) {\n\t\t\t\tsetTimeout(this.processQueue, 0)\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new Error(\"This file can't be queued because it has already been processed or was rejected.\")\n\t\t}\n\t}\n\tenqueueThumbnail(file: VTransmitFile): void {\n\t\tif (\n\t\t\tthis.createImageThumbnails &&\n\t\t\tfile.type.match(/image.*/) &&\n\t\t\tfile.size <= this.maxThumbnailFileSize * 1024 * 1024\n\t\t) {\n\t\t\tthis.thumbnailQueue.push(file)\n\t\t\tsetTimeout(this.processThumbnailQueue, 0)\n\t\t}\n\t}\n\tprocessThumbnailQueue(): void {\n\t\t// Employ a chain of self-calling, self-queuing createThumbnail calls\n\t\t// so execution can stay as non-blocking as possible.\n\t\tif (this.processingThumbnail || this.thumbnailQueue.length === 0) {\n\t\t\treturn\n\t\t}\n\t\tthis.processingThumbnail = true\n\t\tthis.createThumbnail(this.thumbnailQueue.shift(), () => {\n\t\t\tthis.processingThumbnail = false\n\t\t\tthis.processThumbnailQueue()\n\t\t})\n\t}\n\tcreateThumbnail(file: VTransmitFile, callback = noop): void {\n\t\tconst reader = new FileReader()\n\t\treader.addEventListener(\n\t\t\t\"load\",\n\t\t\t() => {\n\t\t\t\tif (file.type === \"image/svg+xml\") {\n\t\t\t\t\tfile.dataUrl = reader.result\n\t\t\t\t\tthis.$emit(\"thumbnail\", file, reader.result)\n\t\t\t\t\tcallback()\n\t\t\t\t}\n\t\t\t\tthis.createThumbnailFromUrl(file, reader.result, callback)\n\t\t\t},\n\t\t\tfalse\n\t\t)\n\n\t\t// FileReader requires a native File|Blob object\n\t\treader.readAsDataURL(file.nativeFile)\n\t}\n\tcreateThumbnailFromUrl(file: VTransmitFile, imageUrl: string, callback?: Function): void {\n\t\tconst imgEl = document.createElement(\"img\")\n\n\t\timgEl.addEventListener(\n\t\t\t\"load\",\n\t\t\t() => {\n\t\t\t\tfile.width = imgEl.width\n\t\t\t\tfile.height = imgEl.height\n\t\t\t\tconst resizeInfo = this.resize(file, {\n\t\t\t\t\twidth: this.thumbnailWidth,\n\t\t\t\t\theight: this.thumbnailHeight,\n\t\t\t\t})\n\t\t\t\tconst canvas = document.createElement(\"canvas\")\n\t\t\t\tconst ctx = canvas.getContext(\"2d\")\n\t\t\t\tcanvas.width = resizeInfo.dWidth\n\t\t\t\tcanvas.height = resizeInfo.dHeight\n\t\t\t\tctx.drawImage(\n\t\t\t\t\timgEl,\n\t\t\t\t\tresizeInfo.sx,\n\t\t\t\t\tresizeInfo.sy,\n\t\t\t\t\tresizeInfo.sWidth,\n\t\t\t\t\tresizeInfo.sHeight,\n\t\t\t\t\tresizeInfo.dx,\n\t\t\t\t\tresizeInfo.dy,\n\t\t\t\t\tresizeInfo.dWidth,\n\t\t\t\t\tresizeInfo.dHeight\n\t\t\t\t)\n\t\t\t\tconst thumbnail = canvas.toDataURL(\"image/png\")\n\t\t\t\tfile.dataUrl = thumbnail\n\t\t\t\tthis.$emit(\"thumbnail\", file, thumbnail)\n\n\t\t\t\tif (callback) {\n\t\t\t\t\treturn callback()\n\t\t\t\t}\n\t\t\t},\n\t\t\tfalse\n\t\t)\n\t\tif (callback) {\n\t\t\timgEl.addEventListener(\"error\", callback as EventListenerOrEventListenerObject, false)\n\t\t}\n\n\t\timgEl.src = imageUrl\n\t}\n\tprocessQueue(): void {\n\t\tconst processingLength = this.uploadingFiles.length\n\t\tif (processingLength >= this.maxConcurrentUploads || this.queuedFiles.length === 0) {\n\t\t\treturn\n\t\t}\n\n\t\tconst queuedFiles = [...this.queuedFiles]\n\t\tif (this.uploadMultiple) {\n\t\t\treturn this.processFiles(queuedFiles.slice(0, this.maxConcurrentUploads - processingLength))\n\t\t} else {\n\t\t\tfor (let i = processingLength; i < this.maxConcurrentUploads; i++) {\n\t\t\t\tif (queuedFiles.length) {\n\t\t\t\t\tthis.processFile(queuedFiles.shift())\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tprocessFile(file: VTransmitFile): void {\n\t\tthis.processFiles([file])\n\t}\n\tprocessFiles(files: VTransmitFile[]): void {\n\t\tfor (const file of files) {\n\t\t\tfile.processing = true\n\t\t\tfile.status = STATUSES.UPLOADING\n\t\t\tthis.$emit(\"processing\", file)\n\t\t}\n\t\tif (this.uploadMultiple) {\n\t\t\tthis.$emit(\"processing-multiple\", files)\n\t\t}\n\n\t\treturn this.uploadFiles(files)\n\t}\n\tgetFilesWithXhr(xhr: XMLHttpRequest): VTransmitFile[] {\n\t\treturn this.files.filter(file => file.xhr === xhr)\n\t}\n\tcancelUpload(file: VTransmitFile): void {\n\t\tif (file.status === STATUSES.UPLOADING) {\n\t\t\tconst groupedFiles = this.getFilesWithXhr(file.xhr)\n\t\t\tfile.xhr.abort()\n\t\t\tfor (const f of groupedFiles) {\n\t\t\t\tf.status = STATUSES.CANCELED\n\t\t\t\tthis.$emit(\"canceled\", f)\n\t\t\t}\n\t\t\tif (this.uploadMultiple) {\n\t\t\t\tthis.$emit(\"canceled-multiple\", groupedFiles)\n\t\t\t}\n\t\t} else if (file.status === STATUSES.ADDED || file.status === STATUSES.QUEUED) {\n\t\t\tfile.status = STATUSES.CANCELED\n\t\t\tthis.$emit(\"canceled\", file)\n\t\t\tif (this.uploadMultiple) {\n\t\t\t\tthis.$emit(\"canceled-multiple\", [file])\n\t\t\t}\n\t\t}\n\n\t\tif (this.autoProcessQueue) {\n\t\t\tthis.processQueue()\n\t\t}\n\t}\n\tuploadFile(file: VTransmitFile): void {\n\t\tthis.uploadFiles([file])\n\t}\n\tuploadFiles(files: VTransmitFile[]): void {\n\t\tconst xhr = new XMLHttpRequest()\n\t\tfor (const file of files) {\n\t\t\tfile.xhr = xhr\n\t\t\tfile.startProgress()\n\t\t}\n\t\txhr.open(this.method, this.url, true)\n\t\t// Setting the timeout after open because of IE11 issue: https://gitlab.com/meno/dropzone/issues/8\n\t\txhr.timeout = this.timeout\n\t\txhr.withCredentials = Boolean(this.withCredentials)\n\t\txhr.responseType = this.responseType\n\n\t\tconst handleError = this.handleUploadError(files, xhr)\n\t\tconst updateProgress = this.handleUploadProgress(files)\n\t\txhr.addEventListener(\"error\", handleError)\n\t\txhr.upload.addEventListener(\"progress\", updateProgress)\n\t\txhr.addEventListener(\"timeout\", this.handleTimeout(files, xhr))\n\t\txhr.addEventListener(\"load\", e => {\n\t\t\tif (files[0].status === STATUSES.CANCELED || xhr.readyState !== XMLHttpRequest.DONE) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tlet response = xhr.response\n\n\t\t\tif (!xhr.responseType) {\n\t\t\t\tlet contentType = xhr.getResponseHeader(\"content-type\")\n\t\t\t\tresponse = xhr.responseText\n\n\t\t\t\tif (contentType && contentType.indexOf(\"application/json\") > -1) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tresponse = JSON.parse(response)\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tresponse = \"Invalid JSON response from server.\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Called at load (when complete) will enable all the progress done logic.\n\t\t\tupdateProgress()\n\t\t\tif (xhr.status < 200 || xhr.status >= 300) {\n\t\t\t\treturn handleError()\n\t\t\t} else {\n\t\t\t\treturn this.uploadFinished(files, response, e)\n\t\t\t}\n\t\t})\n\n\t\t// Use null proto obj for the following 'for in' loop\n\t\tconst headers = Object.assign(Object.create(null), this.defaultHeaders, this.headers)\n\t\tfor (const headerName in headers) {\n\t\t\tif (headers[headerName]) {\n\t\t\t\txhr.setRequestHeader(headerName, headers[headerName])\n\t\t\t}\n\t\t}\n\n\t\tconst formData = new FormData()\n\t\tfor (const key in this.params) {\n\t\t\tformData.append(key, this.params[key])\n\t\t}\n\n\t\tfor (const file of files) {\n\t\t\tthis.$emit(\"sending\", file, xhr, formData)\n\t\t}\n\t\tif (this.uploadMultiple) {\n\t\t\tthis.$emit(\"sending-multiple\", files, xhr, formData)\n\t\t}\n\n\t\tfor (let i = 0; i < files.length; i++) {\n\t\t\tformData.append(this.getParamName(i), files[i].nativeFile, this.renameFile(files[i].name))\n\t\t}\n\n\t\treturn xhr.send(formData)\n\t}\n\thandleUploadError(files: VTransmitFile[], xhr: XMLHttpRequest): () => void {\n\t\tconst vm = this\n\t\treturn function onUploadErrorFn(): void {\n\t\t\tif (files[0].status !== STATUSES.CANCELED) {\n\t\t\t\tconst message = vm.dictResponseError.replace(hbsRegex, hbsReplacer({ statusCode: xhr.status }))\n\t\t\t\tvm.errorProcessing(files, message, xhr)\n\t\t\t}\n\t\t}\n\t}\n\thandleTimeout(files: VTransmitFile[], xhr: XMLHttpRequest): (e: Event) => void {\n\t\tconst vm = this\n\t\treturn function onTimeoutFn(e: Event): void {\n\t\t\tfor (const file of files) {\n\t\t\t\tfile.status = STATUSES.TIMEOUT\n\t\t\t\tfile.endProgress()\n\t\t\t\tvm.$emit(\"timeout\", file, e, xhr)\n\t\t\t}\n\t\t\tvm.$emit(\"timeout-multiple\", files, e, xhr)\n\n\t\t\tif (this.autoProcessQueue) {\n\t\t\t\tthis.processQueue()\n\t\t\t}\n\t\t}\n\t}\n\thandleUploadProgress(files): (e?: ProgressEvent) => void {\n\t\tconst vm = this\n\t\treturn function onProgressFn(e?: ProgressEvent): void {\n\t\t\tif (e instanceof ProgressEvent) {\n\t\t\t\tfor (const file of files) {\n\t\t\t\t\tfile.handleProgress(e)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tlet allFilesFinished = true\n\t\t\t\tfor (const file of files) {\n\t\t\t\t\tif (file.upload.progress !== 100 || file.upload.bytesSent !== file.upload.total) {\n\t\t\t\t\t\tallFilesFinished = false\n\t\t\t\t\t}\n\t\t\t\t\tfile.upload.progress = 100\n\t\t\t\t\tfile.upload.bytesSent = file.upload.total\n\t\t\t\t\tfile.endProgress()\n\t\t\t\t}\n\t\t\t\tif (allFilesFinished) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (const file of files) {\n\t\t\t\tvm.$emit(\"upload-progress\", file, file.upload.progress, file.upload.bytesSent)\n\t\t\t}\n\t\t}\n\t}\n\tupdateTotalUploadProgress(): void {\n\t\tconst progress = this.activeFiles.reduce(\n\t\t\t(memo, file) => {\n\t\t\t\tmemo.totalBytesSent += file.upload.bytesSent\n\t\t\t\tmemo.totalBytes += file.upload.total\n\t\t\t\treturn memo\n\t\t\t},\n\t\t\t{ totalBytesSent: 0, totalBytes: 0, totalProgress: 100 }\n\t\t)\n\n\t\tif (this.activeFiles.length) {\n\t\t\tprogress.totalProgress = 100 * progress.totalBytesSent / progress.totalBytes\n\t\t}\n\n\t\tthis.$emit(\"total-upload-progress\", progress)\n\t}\n\tgetParamName(index): string {\n\t\treturn this.paramName + (this.uploadMultiple ? `[${index}]` : \"\")\n\t}\n\tuploadFinished(files: VTransmitFile[], response: string | object | any[], e: Event): void {\n\t\tfor (const file of files) {\n\t\t\tfile.status = STATUSES.SUCCESS\n\t\t\tfile.endProgress()\n\t\t\tthis.$emit(\"success\", file, response, e)\n\t\t\tthis.$emit(\"complete\", file)\n\t\t}\n\n\t\tif (this.uploadMultiple) {\n\t\t\tthis.$emit(\"success-multiple\", files, response, e)\n\t\t\tthis.$emit(\"complete-multiple\", files)\n\t\t}\n\n\t\tif (this.autoProcessQueue) {\n\t\t\tthis.processQueue()\n\t\t}\n\t}\n\terrorProcessing(files: VTransmitFile[], message: string, xhr?: XMLHttpRequest) {\n\t\tfor (const file of files) {\n\t\t\tfile.status = STATUSES.ERROR\n\t\t\tfile.endProgress()\n\t\t\tthis.$emit(\"error\", file, message, xhr)\n\t\t\tthis.$emit(\"complete\", file)\n\t\t}\n\n\t\tif (this.uploadMultiple) {\n\t\t\tthis.$emit(\"error-multiple\", files, message, xhr)\n\t\t\tthis.$emit(\"complete-multiple\", files)\n\t\t}\n\n\t\tif (this.autoProcessQueue) {\n\t\t\treturn this.processQueue()\n\t\t}\n\t}\n\tacceptFile(file: VTransmitFile, done: Function): void {\n\t\tif (file.size > this.maxFileSize * 1024 * 1024) {\n\t\t\tdone(\n\t\t\t\tthis.dictFileTooBig.replace(\n\t\t\t\t\thbsRegex,\n\t\t\t\t\thbsReplacer({\n\t\t\t\t\t\tfileSize: Math.round(file.size / 1024 / 10.24) / 100,\n\t\t\t\t\t\tmaxFileSize: this.maxFileSize,\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t\t)\n\t\t} else if (!this.isValidFileType(file, this.acceptedFileTypes)) {\n\t\t\tdone(this.dictInvalidFileType)\n\t\t} else if (this.maxFiles != null && this.acceptedFiles.length >= this.maxFiles) {\n\t\t\tdone(this.dictMaxFilesExceeded.replace(hbsRegex, hbsReplacer({ maxFiles: this.maxFiles })))\n\t\t\tthis.$emit(\"max-files-exceeded\", file)\n\t\t} else {\n\t\t\t// Call the prop callback for the client to validate.\n\t\t\tthis.accept(file, done)\n\t\t}\n\t}\n\tisValidFileType(file: VTransmitFile, acceptedFileTypes: string[]): boolean {\n\t\tif (!acceptedFileTypes.length) {\n\t\t\treturn true\n\t\t}\n\t\tconst mimeType = file.type\n\t\tconst baseMimeType = mimeType.replace(/\\/.*$/, \"\")\n\t\t// Return true on the first condition match,\n\t\t// otherwise exhaust all conditions and return false.\n\t\tfor (let i = 0; i < acceptedFileTypes.length; i++) {\n\t\t\tconst validType = acceptedFileTypes[i]\n\t\t\tif (validType.charAt(0) === \".\") {\n\t\t\t\t// Handle extension validation\n\t\t\t\t// Ensure extension exists at the end of the filename.\n\t\t\t\tif (file.name.toLowerCase().indexOf(validType.toLowerCase(), file.name.length - validType.length) !== -1) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t} else if (/\\/\\*$/.test(validType)) {\n\t\t\t\t// Handle globbed mimetype validation (\"image/*\")\n\t\t\t\tif (baseMimeType === validType.replace(/\\/.*$/, \"\")) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (mimeType === validType) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn false\n\t}\n\thandleDragStart(e: DragEvent): void {\n\t\tthis.$emit(\"drag-start\", e)\n\t}\n\thandleDragOver(e: DragEvent): void {\n\t\tthis.dragging = true\n\t\tlet effect\n\t\ttry {\n\t\t\t// Handle browser bug\n\t\t\teffect = e.dataTransfer.effectAllowed\n\t\t} catch (error) {}\n\t\te.dataTransfer.dropEffect = effect === \"move\" || effect === \"linkMove\" ? \"move\" : \"copy\"\n\t\tthis.$emit(\"drag-over\", e)\n\t}\n\thandleDragEnter(e: DragEvent): void {\n\t\tthis.dragging = true\n\t\tthis.$emit(\"drag-enter\", e)\n\t}\n\thandleDragLeave(e: DragEvent): void {\n\t\tthis.dragging = false\n\t\tthis.$emit(\"drag-leave\", e)\n\t}\n\thandleDragEnd(e: DragEvent): void {\n\t\tthis.dragging = false\n\t\tthis.$emit(\"drag-end\", e)\n\t}\n\thandleDrop(e: DragEvent): void {\n\t\tthis.dragging = false\n\t\tif (!e.dataTransfer) {\n\t\t\treturn\n\t\t}\n\t\tthis.$emit(\"drop\", e)\n\t\tconst files = Array.from(e.dataTransfer.files)\n\n\t\tthis.$emit(\"added-files\", files)\n\t\tif (files.length && e.dataTransfer.items) {\n\t\t\tconst items = Array.from(e.dataTransfer.items)\n\t\t\tif (items && items.length && items[0].webkitGetAsEntry) {\n\t\t\t\tthis.addFilesFromItems(items)\n\t\t\t} else {\n\t\t\t\tthis.handleFiles(files)\n\t\t\t}\n\t\t} else {\n\t\t\tthis.handleFiles(files)\n\t\t}\n\t}\n\tpaste(e: ClipboardEvent): void {\n\t\tif (!e || !e.clipboardData || !e.clipboardData.items) {\n\t\t\treturn\n\t\t}\n\t\tthis.$emit(\"paste\", e)\n\t\tconst items = Array.from(e.clipboardData.items)\n\t\tif (items.length) {\n\t\t\tthis.addFilesFromItems(items)\n\t\t}\n\t}\n\thandleFiles(files: File[]): VTransmitFile[] {\n\t\treturn files.map(this.addFile)\n\t}\n\taddFilesFromItems(items: DataTransferItem[]): void {\n\t\tfor (const item of items) {\n\t\t\t// Newer API on standards track\n\t\t\tif (item.getAsFile && item.kind == \"file\") {\n\t\t\t\tthis.addFile(item.getAsFile())\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t// Vendor prefixed experimental API\n\t\t\tif (item.webkitGetAsEntry) {\n\t\t\t\tconst entry: FileSystemEntry = item.webkitGetAsEntry()\n\n\t\t\t\tif (entry == null) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif (webkitIsFile(entry)) {\n\t\t\t\t\tentry.file(this.addFile as any, console.error)\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif (webkitIsDir(entry)) {\n\t\t\t\t\tthis.addFilesFromDirectory(entry, entry.name)\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\taddFilesFromDirectory(directory: WebKitDirectoryEntry, path): void {\n\t\tdirectory.createReader().readEntries(\n\t\t\t((entries: FileSystemEntry[]) => {\n\t\t\t\tfor (const entry of entries) {\n\t\t\t\t\tif (entry == null) {\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t\tif (webkitIsDir(entry)) {\n\t\t\t\t\t\tthis.addFilesFromDirectory(entry, `${path}/${entry.name}`)\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t\tif (webkitIsFile(entry)) {\n\t\t\t\t\t\tentry.file(\n\t\t\t\t\t\t\t((file: File) => {\n\t\t\t\t\t\t\t\tif (this.ignoreHiddenFiles && /^\\./.test(file.name)) {\n\t\t\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t;(file as any).fullPath = `${path}/${file.name}`\n\t\t\t\t\t\t\t\tthis.addFile(file)\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tconsole.error\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}),\n\t\t\tconsole.error\n\t\t)\n\t}\n\n\tmounted() {\n\t\tthis.$on(\"upload-progress\", this.updateTotalUploadProgress)\n\t\tthis.$on(\"removed-file\", this.updateTotalUploadProgress)\n\t\tthis.$on(\"canceled\", file => this.$emit(\"complete\", file))\n\t\tthis.$on(\"complete\", file => {\n\t\t\tif (this.addedFiles.length === 0 && this.uploadingFiles.length === 0 && this.queuedFiles.length === 0) {\n\t\t\t\tsetTimeout(() => this.$emit(\"queue-complete\", file), 0)\n\t\t\t}\n\t\t})\n\n\t\tthis.$emit(\"initialize\", this)\n\t}\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/vue-loader/lib/selector.js?type=script&index=0!./src/components/VueTransmit.vue","import VTransmitFile from \"../classes/VTransmitFile\"\n\nexport const assign = Object.assign\nexport const defineProperty = Object.defineProperty\n\nlet idCounter = 0\nexport function uniqueId(prefix: string): string {\n\tvar id = ++idCounter\n\treturn prefix + id\n}\n\nexport function copyOwnAndInheritedProps(obj: object): object {\n\tlet newData = {}\n\tfor (let prop in obj) {\n\t\tif (typeof obj[prop] !== \"function\") {\n\t\t\tnewData[prop] = obj[prop]\n\t\t}\n\t}\n\treturn newData\n}\n\nexport type Rounding = \"round\" | \"ceil\" | \"floor\" | \"trunc\"\n\nexport function round(number: number, decimals: number = 2, roundStyle: Rounding = \"round\") {\n\tconst roundingFactor = Math.pow(10, decimals)\n\treturn Math[roundStyle](number * roundingFactor) / roundingFactor\n}\n\nexport function fromBytesToKbit(bytes: number): number {\n\treturn bytes / 125\n}\n\nexport function fromBytesToMbit(bytes: number): number {\n\treturn bytes / 125000\n}\n\nexport function toKbps(bytes: number, seconds: number): number {\n\treturn fromBytesToKbit(bytes) / seconds\n}\n\nexport function toMbps(bytes: number, seconds: number): number {\n\treturn fromBytesToMbit(bytes) / seconds\n}\n\nexport const hbsRegex = /{{\\s*?([a-zA-Z]+)\\s*?}}/g\nexport function hbsReplacer(context: object = {}) {\n\treturn function hbsReplacerFn(match: string, capture: string) {\n\t\treturn context[capture] !== undefined ? context[capture] : match\n\t}\n}\n\nexport function objFactory() {\n\treturn {}\n}\n\nexport function scaleH(ratio: number, width: number): number {\n\treturn width / ratio\n}\n\nexport function scaleW(ratio: number, height: number): number {\n\treturn height * ratio\n}\n\nexport function scaleDims(ratio: number, width?: number, height?: number): number[] {\n\treturn typeof width === \"number\" ? [width, scaleH(ratio, width)] : [scaleW(ratio, height), height]\n}\n\nexport interface IDrawImageArgs {\n\tsx: number\n\tsy: number\n\tsWidth: number\n\tsHeight: number\n\tdx: number\n\tdy: number\n\tdWidth: number\n\tdHeight: number\n}\n\nexport interface IDimensions {\n\twidth: number\n\theight: number\n}\n\nexport function resizeImg(file: VTransmitFile, dims: IDimensions): IDrawImageArgs {\n\t// Extract the object's primitive values so we don't mutate the input\n\tconst sRatio = file.width / file.height\n\tconst dRatio = dims.width / dims.height\n\tconst imgCoords = {\n\t\tsx: 0,\n\t\tsy: 0,\n\t\tsWidth: file.width,\n\t\tsHeight: file.height,\n\t\tdx: 0,\n\t\tdy: 0,\n\t\tdWidth: dims.width,\n\t\tdHeight: dims.height,\n\t}\n\n\tlet w, h\n\tif (dRatio > sRatio) {\n\t\t;[w, h] = scaleDims(dRatio, file.width)\n\t} else {\n\t\t;[w, h] = scaleDims(dRatio, undefined, file.height)\n\t}\n\n\tif (w < file.width) {\n\t\timgCoords.sx = (file.width - w) / 2\n\t\timgCoords.sWidth = w\n\t}\n\tif (h < file.height) {\n\t\timgCoords.sy = (file.height - h) / 2\n\t\timgCoords.sHeight = h\n\t}\n\n\treturn imgCoords\n}\n\nexport function webkitIsFile(entry: WebKitFileEntry | WebKitDirectoryEntry): entry is WebKitFileEntry {\n\treturn entry.isFile\n}\n\nexport function webkitIsDir(entry: WebKitFileEntry | WebKitDirectoryEntry): entry is WebKitDirectoryEntry {\n\treturn entry.isDirectory\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/core/utils.ts","import { VueTransmit } from \"./src\"\n\nexport default {\n\tinstall(Vue, _options) {\n\t\tVue.component(\"VueTransmit\", VueTransmit)\n\t},\n\tname: \"vue-transmit\",\n}\n\n\n\n// WEBPACK FOOTER //\n// ./index.ts","import VueTransmit from \"./components/VueTransmit.vue\"\n\nexport { VueTransmit }\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.ts","function injectStyle (ssrContext) {\n require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-25b0f28c\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader!postcss-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./VueTransmit.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!vue-ts-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./VueTransmit.vue\"\nimport __vue_script__ from \"!!babel-loader!vue-ts-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./VueTransmit.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-25b0f28c\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./VueTransmit.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/VueTransmit.vue\n// module id = 5\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/extract-text-webpack-plugin/dist/loader.js?{\"omit\":1,\"remove\":true}!./node_modules/vue-style-loader!./node_modules/css-loader!./node_modules/vue-loader/lib/style-compiler?{\"vue\":true,\"id\":\"data-v-25b0f28c\",\"scoped\":false,\"hasInlineConfig\":false}!./node_modules/sass-loader/lib/loader.js!./node_modules/postcss-loader/lib?{\"sourceMap\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./src/components/VueTransmit.vue\n// module id = 6\n// module chunks = 0","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file.\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nmodule.exports = function normalizeComponent (\n rawScriptExports,\n compiledTemplate,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */\n) {\n var esModule\n var scriptExports = rawScriptExports = rawScriptExports || {}\n\n // ES6 modules interop\n var type = typeof rawScriptExports.default\n if (type === 'object' || type === 'function') {\n esModule = rawScriptExports\n scriptExports = rawScriptExports.default\n }\n\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (compiledTemplate) {\n options.render = compiledTemplate.render\n options.staticRenderFns = compiledTemplate.staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = injectStyles\n }\n\n if (hook) {\n var functional = options.functional\n var existing = functional\n ? options.render\n : options.beforeCreate\n\n if (!functional) {\n // inject component registration as beforeCreate hook\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n } else {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return existing(h, context)\n }\n }\n }\n\n return {\n esModule: esModule,\n exports: scriptExports,\n options: options\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/component-normalizer.js\n// module id = 7\n// module chunks = 0","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('vue'), require('vue-class-component'), require('reflect-metadata')) :\n\ttypeof define === 'function' && define.amd ? define(['exports', 'vue', 'vue-class-component', 'reflect-metadata'], factory) :\n\t(factory((global.VuePropertyDecorator = {}),global.Vue,global.VueClassComponent));\n}(this, (function (exports,vue,vueClassComponent) { 'use strict';\n\nvue = vue && vue.hasOwnProperty('default') ? vue['default'] : vue;\nvar vueClassComponent__default = 'default' in vueClassComponent ? vueClassComponent['default'] : vueClassComponent;\n\n/** vue-property-decorator verson 6.0.0 MIT LICENSE copyright 2017 kaorun343 */\n'use strict';\n/**\n * decorator of an inject\n * @param key key\n * @return PropertyDecorator\n */\nfunction Inject(key) {\n return vueClassComponent.createDecorator(function (componentOptions, k) {\n if (typeof componentOptions.inject === 'undefined') {\n componentOptions.inject = {};\n }\n if (!Array.isArray(componentOptions.inject)) {\n componentOptions.inject[k] = key || k;\n }\n });\n}\n/**\n * decorator of a provide\n * @param key key\n * @return PropertyDecorator | void\n */\nfunction Provide(key) {\n return vueClassComponent.createDecorator(function (componentOptions, k) {\n var provide = componentOptions.provide;\n if (typeof provide !== 'function' || !provide.managed) {\n var original_1 = componentOptions.provide;\n provide = componentOptions.provide = function () {\n var rv = Object.create((typeof original_1 === 'function' ? original_1.call(this) : original_1) || null);\n for (var i in provide.managed)\n rv[provide.managed[i]] = this[i];\n return rv;\n };\n provide.managed = {};\n }\n provide.managed[k] = key || k;\n });\n}\n/**\n * decorator of model\n * @param event event name\n * @return PropertyDecorator\n */\nfunction Model(event, options) {\n if (options === void 0) { options = {}; }\n return function (target, key) {\n if (!Array.isArray(options) && typeof options.type === 'undefined') {\n options.type = Reflect.getMetadata('design:type', target, key);\n }\n vueClassComponent.createDecorator(function (componentOptions, k) {\n (componentOptions.props || (componentOptions.props = {}))[k] = options;\n componentOptions.model = { prop: k, event: event || k };\n })(target, key);\n };\n}\n/**\n * decorator of a prop\n * @param options the options for the prop\n * @return PropertyDecorator | void\n */\nfunction Prop(options) {\n if (options === void 0) { options = {}; }\n return function (target, key) {\n if (!Array.isArray(options) && typeof options.type === 'undefined') {\n options.type = Reflect.getMetadata('design:type', target, key);\n }\n vueClassComponent.createDecorator(function (componentOptions, k) {\n (componentOptions.props || (componentOptions.props = {}))[k] = options;\n })(target, key);\n };\n}\n/**\n * decorator of a watch function\n * @param path the path or the expression to observe\n * @param WatchOption\n * @return MethodDecorator\n */\nfunction Watch(path, options) {\n if (options === void 0) { options = {}; }\n var _a = options.deep, deep = _a === void 0 ? false : _a, _b = options.immediate, immediate = _b === void 0 ? false : _b;\n return vueClassComponent.createDecorator(function (componentOptions, handler) {\n if (typeof componentOptions.watch !== 'object') {\n componentOptions.watch = Object.create(null);\n }\n componentOptions.watch[path] = { handler: handler, deep: deep, immediate: immediate };\n });\n}\n// Code copied from Vue/src/shared/util.js\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = function (str) { return str.replace(hyphenateRE, '-$1').toLowerCase(); };\n/**\n * decorator of an event-emitter function\n * @param event The name of the event\n * @return MethodDecorator\n */\nfunction Emit(event) {\n return function (target, key, descriptor) {\n key = hyphenate(key);\n var original = descriptor.value;\n descriptor.value = function emitter() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (original.apply(this, args) !== false)\n this.$emit.apply(this, [event || key].concat(args));\n };\n };\n}\n\nexports.Component = vueClassComponent__default;\nexports.Vue = vue;\nexports.Inject = Inject;\nexports.Provide = Provide;\nexports.Model = Model;\nexports.Prop = Prop;\nexports.Watch = Watch;\nexports.Emit = Emit;\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-property-decorator/lib/vue-property-decorator.umd.js\n// module id = 8\n// module chunks = 0","/**\n * vue-class-component v6.1.2\n * (c) 2015-2017 Evan You\n * @license MIT\n */\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar Vue = _interopDefault(require('vue'));\n\nvar hasProto = { __proto__: [] } instanceof Array;\nfunction createDecorator(factory) {\n return function (target, key, index) {\n var Ctor = typeof target === 'function'\n ? target\n : target.constructor;\n if (!Ctor.__decorators__) {\n Ctor.__decorators__ = [];\n }\n if (typeof index !== 'number') {\n index = undefined;\n }\n Ctor.__decorators__.push(function (options) { return factory(options, key, index); });\n };\n}\nfunction isPrimitive(value) {\n var type = typeof value;\n return value == null || (type !== \"object\" && type !== \"function\");\n}\nfunction warn(message) {\n if (typeof console !== 'undefined') {\n console.warn('[vue-class-component] ' + message);\n }\n}\n\nfunction collectDataFromConstructor(vm, Component) {\n var originalInit = Component.prototype._init;\n Component.prototype._init = function () {\n var _this = this;\n var keys = Object.getOwnPropertyNames(vm);\n if (vm.$options.props) {\n for (var key in vm.$options.props) {\n if (!vm.hasOwnProperty(key)) {\n keys.push(key);\n }\n }\n }\n keys.forEach(function (key) {\n if (key.charAt(0) !== '_') {\n Object.defineProperty(_this, key, {\n get: function () { return vm[key]; },\n set: function (value) { return vm[key] = value; },\n configurable: true\n });\n }\n });\n };\n var data = new Component();\n Component.prototype._init = originalInit;\n var plainData = {};\n Object.keys(data).forEach(function (key) {\n if (data[key] !== undefined) {\n plainData[key] = data[key];\n }\n });\n if (process.env.NODE_ENV !== 'production') {\n if (!(Component.prototype instanceof Vue) && Object.keys(plainData).length > 0) {\n warn('Component class must inherit Vue or its descendant class ' +\n 'when class property is used.');\n }\n }\n return plainData;\n}\n\nvar $internalHooks = [\n 'data',\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeDestroy',\n 'destroyed',\n 'beforeUpdate',\n 'updated',\n 'activated',\n 'deactivated',\n 'render',\n 'errorCaptured'\n];\nfunction componentFactory(Component, options) {\n if (options === void 0) { options = {}; }\n options.name = options.name || Component._componentTag || Component.name;\n var proto = Component.prototype;\n Object.getOwnPropertyNames(proto).forEach(function (key) {\n if (key === 'constructor') {\n return;\n }\n if ($internalHooks.indexOf(key) > -1) {\n options[key] = proto[key];\n return;\n }\n var descriptor = Object.getOwnPropertyDescriptor(proto, key);\n if (typeof descriptor.value === 'function') {\n (options.methods || (options.methods = {}))[key] = descriptor.value;\n }\n else if (descriptor.get || descriptor.set) {\n (options.computed || (options.computed = {}))[key] = {\n get: descriptor.get,\n set: descriptor.set\n };\n }\n });\n (options.mixins || (options.mixins = [])).push({\n data: function () {\n return collectDataFromConstructor(this, Component);\n }\n });\n var decorators = Component.__decorators__;\n if (decorators) {\n decorators.forEach(function (fn) { return fn(options); });\n delete Component.__decorators__;\n }\n var superProto = Object.getPrototypeOf(Component.prototype);\n var Super = superProto instanceof Vue\n ? superProto.constructor\n : Vue;\n var Extended = Super.extend(options);\n forwardStaticMembers(Extended, Component, Super);\n return Extended;\n}\nvar reservedPropertyNames = [\n 'cid',\n 'super',\n 'options',\n 'superOptions',\n 'extendOptions',\n 'sealedOptions',\n 'component',\n 'directive',\n 'filter'\n];\nfunction forwardStaticMembers(Extended, Original, Super) {\n Object.getOwnPropertyNames(Original).forEach(function (key) {\n if (key === 'prototype') {\n return;\n }\n var extendedDescriptor = Object.getOwnPropertyDescriptor(Extended, key);\n if (extendedDescriptor && !extendedDescriptor.configurable) {\n return;\n }\n var descriptor = Object.getOwnPropertyDescriptor(Original, key);\n if (!hasProto) {\n if (key === 'cid') {\n return;\n }\n var superDescriptor = Object.getOwnPropertyDescriptor(Super, key);\n if (!isPrimitive(descriptor.value)\n && superDescriptor\n && superDescriptor.value === descriptor.value) {\n return;\n }\n }\n if (process.env.NODE_ENV !== 'production'\n && reservedPropertyNames.indexOf(key) >= 0) {\n warn(\"Static property name '\" + key + \"' declared on class '\" + Original.name + \"' \" +\n 'conflicts with reserved property name of Vue internal. ' +\n 'It may cause unexpected behavior of the component. Consider renaming the property.');\n }\n Object.defineProperty(Extended, key, descriptor);\n });\n}\n\nfunction Component(options) {\n if (typeof options === 'function') {\n return componentFactory(options);\n }\n return function (Component) {\n return componentFactory(Component, options);\n };\n}\n(function (Component) {\n function registerHooks(keys) {\n $internalHooks.push.apply($internalHooks, keys);\n }\n Component.registerHooks = registerHooks;\n})(Component || (Component = {}));\nvar Component$1 = Component;\n\nexports['default'] = Component$1;\nexports.createDecorator = createDecorator;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-class-component/dist/vue-class-component.common.js\n// module id = 9\n// module chunks = 0","/*! *****************************************************************************\r\nCopyright (C) Microsoft. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\nvar Reflect;\r\n(function (Reflect) {\r\n \"use strict\";\r\n var hasOwn = Object.prototype.hasOwnProperty;\r\n // feature test for Symbol support\r\n var supportsSymbol = typeof Symbol === \"function\";\r\n var toPrimitiveSymbol = supportsSymbol && typeof Symbol.toPrimitive !== \"undefined\" ? Symbol.toPrimitive : \"@@toPrimitive\";\r\n var iteratorSymbol = supportsSymbol && typeof Symbol.iterator !== \"undefined\" ? Symbol.iterator : \"@@iterator\";\r\n var HashMap;\r\n (function (HashMap) {\r\n var supportsCreate = typeof Object.create === \"function\"; // feature test for Object.create support\r\n var supportsProto = { __proto__: [] } instanceof Array; // feature test for __proto__ support\r\n var downLevel = !supportsCreate && !supportsProto;\r\n // create an object in dictionary mode (a.k.a. \"slow\" mode in v8)\r\n HashMap.create = supportsCreate\r\n ? function () { return MakeDictionary(Object.create(null)); }\r\n : supportsProto\r\n ? function () { return MakeDictionary({ __proto__: null }); }\r\n : function () { return MakeDictionary({}); };\r\n HashMap.has = downLevel\r\n ? function (map, key) { return hasOwn.call(map, key); }\r\n : function (map, key) { return key in map; };\r\n HashMap.get = downLevel\r\n ? function (map, key) { return hasOwn.call(map, key) ? map[key] : undefined; }\r\n : function (map, key) { return map[key]; };\r\n })(HashMap || (HashMap = {}));\r\n // Load global or shim versions of Map, Set, and WeakMap\r\n var functionPrototype = Object.getPrototypeOf(Function);\r\n var usePolyfill = typeof process === \"object\" && process.env && process.env[\"REFLECT_METADATA_USE_MAP_POLYFILL\"] === \"true\";\r\n var _Map = !usePolyfill && typeof Map === \"function\" && typeof Map.prototype.entries === \"function\" ? Map : CreateMapPolyfill();\r\n var _Set = !usePolyfill && typeof Set === \"function\" && typeof Set.prototype.entries === \"function\" ? Set : CreateSetPolyfill();\r\n var _WeakMap = !usePolyfill && typeof WeakMap === \"function\" ? WeakMap : CreateWeakMapPolyfill();\r\n // [[Metadata]] internal slot\r\n // https://rbuckton.github.io/reflect-metadata/#ordinary-object-internal-methods-and-internal-slots\r\n var Metadata = new _WeakMap();\r\n /**\r\n * Applies a set of decorators to a property of a target object.\r\n * @param decorators An array of decorators.\r\n * @param target The target object.\r\n * @param propertyKey (Optional) The property key to decorate.\r\n * @param attributes (Optional) The property descriptor for the target key.\r\n * @remarks Decorators are applied in reverse order.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * Example = Reflect.decorate(decoratorsArray, Example);\r\n *\r\n * // property (on constructor)\r\n * Reflect.decorate(decoratorsArray, Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * Reflect.decorate(decoratorsArray, Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * Object.defineProperty(Example, \"staticMethod\",\r\n * Reflect.decorate(decoratorsArray, Example, \"staticMethod\",\r\n * Object.getOwnPropertyDescriptor(Example, \"staticMethod\")));\r\n *\r\n * // method (on prototype)\r\n * Object.defineProperty(Example.prototype, \"method\",\r\n * Reflect.decorate(decoratorsArray, Example.prototype, \"method\",\r\n * Object.getOwnPropertyDescriptor(Example.prototype, \"method\")));\r\n *\r\n */\r\n function decorate(decorators, target, propertyKey, attributes) {\r\n if (!IsUndefined(propertyKey)) {\r\n if (!IsArray(decorators))\r\n throw new TypeError();\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsObject(attributes) && !IsUndefined(attributes) && !IsNull(attributes))\r\n throw new TypeError();\r\n if (IsNull(attributes))\r\n attributes = undefined;\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return DecorateProperty(decorators, target, propertyKey, attributes);\r\n }\r\n else {\r\n if (!IsArray(decorators))\r\n throw new TypeError();\r\n if (!IsConstructor(target))\r\n throw new TypeError();\r\n return DecorateConstructor(decorators, target);\r\n }\r\n }\r\n Reflect.decorate = decorate;\r\n // 4.1.2 Reflect.metadata(metadataKey, metadataValue)\r\n // https://rbuckton.github.io/reflect-metadata/#reflect.metadata\r\n /**\r\n * A default metadata decorator factory that can be used on a class, class member, or parameter.\r\n * @param metadataKey The key for the metadata entry.\r\n * @param metadataValue The value for the metadata entry.\r\n * @returns A decorator function.\r\n * @remarks\r\n * If `metadataKey` is already defined for the target and target key, the\r\n * metadataValue for that key will be overwritten.\r\n * @example\r\n *\r\n * // constructor\r\n * @Reflect.metadata(key, value)\r\n * class Example {\r\n * }\r\n *\r\n * // property (on constructor, TypeScript only)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * static staticProperty;\r\n * }\r\n *\r\n * // property (on prototype, TypeScript only)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * property;\r\n * }\r\n *\r\n * // method (on constructor)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * static staticMethod() { }\r\n * }\r\n *\r\n * // method (on prototype)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * method() { }\r\n * }\r\n *\r\n */\r\n function metadata(metadataKey, metadataValue) {\r\n function decorator(target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey) && !IsPropertyKey(propertyKey))\r\n throw new TypeError();\r\n OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey);\r\n }\r\n return decorator;\r\n }\r\n Reflect.metadata = metadata;\r\n /**\r\n * Define a unique metadata entry on the target.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param metadataValue A value that contains attached metadata.\r\n * @param target The target object on which to define metadata.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example);\r\n *\r\n * // property (on constructor)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example.prototype, \"method\");\r\n *\r\n * // decorator factory as metadata-producing annotation.\r\n * function MyAnnotation(options): Decorator {\r\n * return (target, key?) => Reflect.defineMetadata(\"custom:annotation\", options, target, key);\r\n * }\r\n *\r\n */\r\n function defineMetadata(metadataKey, metadataValue, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey);\r\n }\r\n Reflect.defineMetadata = defineMetadata;\r\n /**\r\n * Gets a value indicating whether the target object or its prototype chain has the provided metadata key defined.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns `true` if the metadata key was defined on the target object or its prototype chain; otherwise, `false`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function hasMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryHasMetadata(metadataKey, target, propertyKey);\r\n }\r\n Reflect.hasMetadata = hasMetadata;\r\n /**\r\n * Gets a value indicating whether the target object has the provided metadata key defined.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns `true` if the metadata key was defined on the target object; otherwise, `false`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function hasOwnMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryHasOwnMetadata(metadataKey, target, propertyKey);\r\n }\r\n Reflect.hasOwnMetadata = hasOwnMetadata;\r\n /**\r\n * Gets the metadata value for the provided metadata key on the target object or its prototype chain.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns The metadata value for the metadata key if found; otherwise, `undefined`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function getMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryGetMetadata(metadataKey, target, propertyKey);\r\n }\r\n Reflect.getMetadata = getMetadata;\r\n /**\r\n * Gets the metadata value for the provided metadata key on the target object.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns The metadata value for the metadata key if found; otherwise, `undefined`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function getOwnMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryGetOwnMetadata(metadataKey, target, propertyKey);\r\n }\r\n Reflect.getOwnMetadata = getOwnMetadata;\r\n /**\r\n * Gets the metadata keys defined on the target object or its prototype chain.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns An array of unique metadata keys.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getMetadataKeys(Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getMetadataKeys(Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getMetadataKeys(Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getMetadataKeys(Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getMetadataKeys(Example.prototype, \"method\");\r\n *\r\n */\r\n function getMetadataKeys(target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryMetadataKeys(target, propertyKey);\r\n }\r\n Reflect.getMetadataKeys = getMetadataKeys;\r\n /**\r\n * Gets the unique metadata keys defined on the target object.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns An array of unique metadata keys.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getOwnMetadataKeys(Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getOwnMetadataKeys(Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getOwnMetadataKeys(Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getOwnMetadataKeys(Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getOwnMetadataKeys(Example.prototype, \"method\");\r\n *\r\n */\r\n function getOwnMetadataKeys(target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryOwnMetadataKeys(target, propertyKey);\r\n }\r\n Reflect.getOwnMetadataKeys = getOwnMetadataKeys;\r\n /**\r\n * Deletes the metadata entry from the target object with the provided key.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns `true` if the metadata entry was found and deleted; otherwise, false.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function deleteMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n var metadataMap = GetOrCreateMetadataMap(target, propertyKey, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return false;\r\n if (!metadataMap.delete(metadataKey))\r\n return false;\r\n if (metadataMap.size > 0)\r\n return true;\r\n var targetMetadata = Metadata.get(target);\r\n targetMetadata.delete(propertyKey);\r\n if (targetMetadata.size > 0)\r\n return true;\r\n Metadata.delete(target);\r\n return true;\r\n }\r\n Reflect.deleteMetadata = deleteMetadata;\r\n function DecorateConstructor(decorators, target) {\r\n for (var i = decorators.length - 1; i >= 0; --i) {\r\n var decorator = decorators[i];\r\n var decorated = decorator(target);\r\n if (!IsUndefined(decorated) && !IsNull(decorated)) {\r\n if (!IsConstructor(decorated))\r\n throw new TypeError();\r\n target = decorated;\r\n }\r\n }\r\n return target;\r\n }\r\n function DecorateProperty(decorators, target, propertyKey, descriptor) {\r\n for (var i = decorators.length - 1; i >= 0; --i) {\r\n var decorator = decorators[i];\r\n var decorated = decorator(target, propertyKey, descriptor);\r\n if (!IsUndefined(decorated) && !IsNull(decorated)) {\r\n if (!IsObject(decorated))\r\n throw new TypeError();\r\n descriptor = decorated;\r\n }\r\n }\r\n return descriptor;\r\n }\r\n function GetOrCreateMetadataMap(O, P, Create) {\r\n var targetMetadata = Metadata.get(O);\r\n if (IsUndefined(targetMetadata)) {\r\n if (!Create)\r\n return undefined;\r\n targetMetadata = new _Map();\r\n Metadata.set(O, targetMetadata);\r\n }\r\n var metadataMap = targetMetadata.get(P);\r\n if (IsUndefined(metadataMap)) {\r\n if (!Create)\r\n return undefined;\r\n metadataMap = new _Map();\r\n targetMetadata.set(P, metadataMap);\r\n }\r\n return metadataMap;\r\n }\r\n // 3.1.1.1 OrdinaryHasMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinaryhasmetadata\r\n function OrdinaryHasMetadata(MetadataKey, O, P) {\r\n var hasOwn = OrdinaryHasOwnMetadata(MetadataKey, O, P);\r\n if (hasOwn)\r\n return true;\r\n var parent = OrdinaryGetPrototypeOf(O);\r\n if (!IsNull(parent))\r\n return OrdinaryHasMetadata(MetadataKey, parent, P);\r\n return false;\r\n }\r\n // 3.1.2.1 OrdinaryHasOwnMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinaryhasownmetadata\r\n function OrdinaryHasOwnMetadata(MetadataKey, O, P) {\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return false;\r\n return ToBoolean(metadataMap.has(MetadataKey));\r\n }\r\n // 3.1.3.1 OrdinaryGetMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarygetmetadata\r\n function OrdinaryGetMetadata(MetadataKey, O, P) {\r\n var hasOwn = OrdinaryHasOwnMetadata(MetadataKey, O, P);\r\n if (hasOwn)\r\n return OrdinaryGetOwnMetadata(MetadataKey, O, P);\r\n var parent = OrdinaryGetPrototypeOf(O);\r\n if (!IsNull(parent))\r\n return OrdinaryGetMetadata(MetadataKey, parent, P);\r\n return undefined;\r\n }\r\n // 3.1.4.1 OrdinaryGetOwnMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarygetownmetadata\r\n function OrdinaryGetOwnMetadata(MetadataKey, O, P) {\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return undefined;\r\n return metadataMap.get(MetadataKey);\r\n }\r\n // 3.1.5.1 OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarydefineownmetadata\r\n function OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P) {\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ true);\r\n metadataMap.set(MetadataKey, MetadataValue);\r\n }\r\n // 3.1.6.1 OrdinaryMetadataKeys(O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarymetadatakeys\r\n function OrdinaryMetadataKeys(O, P) {\r\n var ownKeys = OrdinaryOwnMetadataKeys(O, P);\r\n var parent = OrdinaryGetPrototypeOf(O);\r\n if (parent === null)\r\n return ownKeys;\r\n var parentKeys = OrdinaryMetadataKeys(parent, P);\r\n if (parentKeys.length <= 0)\r\n return ownKeys;\r\n if (ownKeys.length <= 0)\r\n return parentKeys;\r\n var set = new _Set();\r\n var keys = [];\r\n for (var _i = 0, ownKeys_1 = ownKeys; _i < ownKeys_1.length; _i++) {\r\n var key = ownKeys_1[_i];\r\n var hasKey = set.has(key);\r\n if (!hasKey) {\r\n set.add(key);\r\n keys.push(key);\r\n }\r\n }\r\n for (var _a = 0, parentKeys_1 = parentKeys; _a < parentKeys_1.length; _a++) {\r\n var key = parentKeys_1[_a];\r\n var hasKey = set.has(key);\r\n if (!hasKey) {\r\n set.add(key);\r\n keys.push(key);\r\n }\r\n }\r\n return keys;\r\n }\r\n // 3.1.7.1 OrdinaryOwnMetadataKeys(O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinaryownmetadatakeys\r\n function OrdinaryOwnMetadataKeys(O, P) {\r\n var keys = [];\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return keys;\r\n var keysObj = metadataMap.keys();\r\n var iterator = GetIterator(keysObj);\r\n var k = 0;\r\n while (true) {\r\n var next = IteratorStep(iterator);\r\n if (!next) {\r\n keys.length = k;\r\n return keys;\r\n }\r\n var nextValue = IteratorValue(next);\r\n try {\r\n keys[k] = nextValue;\r\n }\r\n catch (e) {\r\n try {\r\n IteratorClose(iterator);\r\n }\r\n finally {\r\n throw e;\r\n }\r\n }\r\n k++;\r\n }\r\n }\r\n // 6 ECMAScript Data Typ0es and Values\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-data-types-and-values\r\n function Type(x) {\r\n if (x === null)\r\n return 1 /* Null */;\r\n switch (typeof x) {\r\n case \"undefined\": return 0 /* Undefined */;\r\n case \"boolean\": return 2 /* Boolean */;\r\n case \"string\": return 3 /* String */;\r\n case \"symbol\": return 4 /* Symbol */;\r\n case \"number\": return 5 /* Number */;\r\n case \"object\": return x === null ? 1 /* Null */ : 6 /* Object */;\r\n default: return 6 /* Object */;\r\n }\r\n }\r\n // 6.1.1 The Undefined Type\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-undefined-type\r\n function IsUndefined(x) {\r\n return x === undefined;\r\n }\r\n // 6.1.2 The Null Type\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-null-type\r\n function IsNull(x) {\r\n return x === null;\r\n }\r\n // 6.1.5 The Symbol Type\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-symbol-type\r\n function IsSymbol(x) {\r\n return typeof x === \"symbol\";\r\n }\r\n // 6.1.7 The Object Type\r\n // https://tc39.github.io/ecma262/#sec-object-type\r\n function IsObject(x) {\r\n return typeof x === \"object\" ? x !== null : typeof x === \"function\";\r\n }\r\n // 7.1 Type Conversion\r\n // https://tc39.github.io/ecma262/#sec-type-conversion\r\n // 7.1.1 ToPrimitive(input [, PreferredType])\r\n // https://tc39.github.io/ecma262/#sec-toprimitive\r\n function ToPrimitive(input, PreferredType) {\r\n switch (Type(input)) {\r\n case 0 /* Undefined */: return input;\r\n case 1 /* Null */: return input;\r\n case 2 /* Boolean */: return input;\r\n case 3 /* String */: return input;\r\n case 4 /* Symbol */: return input;\r\n case 5 /* Number */: return input;\r\n }\r\n var hint = PreferredType === 3 /* String */ ? \"string\" : PreferredType === 5 /* Number */ ? \"number\" : \"default\";\r\n var exoticToPrim = GetMethod(input, toPrimitiveSymbol);\r\n if (exoticToPrim !== undefined) {\r\n var result = exoticToPrim.call(input, hint);\r\n if (IsObject(result))\r\n throw new TypeError();\r\n return result;\r\n }\r\n return OrdinaryToPrimitive(input, hint === \"default\" ? \"number\" : hint);\r\n }\r\n // 7.1.1.1 OrdinaryToPrimitive(O, hint)\r\n // https://tc39.github.io/ecma262/#sec-ordinarytoprimitive\r\n function OrdinaryToPrimitive(O, hint) {\r\n if (hint === \"string\") {\r\n var toString_1 = O.toString;\r\n if (IsCallable(toString_1)) {\r\n var result = toString_1.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n var valueOf = O.valueOf;\r\n if (IsCallable(valueOf)) {\r\n var result = valueOf.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n }\r\n else {\r\n var valueOf = O.valueOf;\r\n if (IsCallable(valueOf)) {\r\n var result = valueOf.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n var toString_2 = O.toString;\r\n if (IsCallable(toString_2)) {\r\n var result = toString_2.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n }\r\n throw new TypeError();\r\n }\r\n // 7.1.2 ToBoolean(argument)\r\n // https://tc39.github.io/ecma262/2016/#sec-toboolean\r\n function ToBoolean(argument) {\r\n return !!argument;\r\n }\r\n // 7.1.12 ToString(argument)\r\n // https://tc39.github.io/ecma262/#sec-tostring\r\n function ToString(argument) {\r\n return \"\" + argument;\r\n }\r\n // 7.1.14 ToPropertyKey(argument)\r\n // https://tc39.github.io/ecma262/#sec-topropertykey\r\n function ToPropertyKey(argument) {\r\n var key = ToPrimitive(argument, 3 /* String */);\r\n if (IsSymbol(key))\r\n return key;\r\n return ToString(key);\r\n }\r\n // 7.2 Testing and Comparison Operations\r\n // https://tc39.github.io/ecma262/#sec-testing-and-comparison-operations\r\n // 7.2.2 IsArray(argument)\r\n // https://tc39.github.io/ecma262/#sec-isarray\r\n function IsArray(argument) {\r\n return Array.isArray\r\n ? Array.isArray(argument)\r\n : argument instanceof Object\r\n ? argument instanceof Array\r\n : Object.prototype.toString.call(argument) === \"[object Array]\";\r\n }\r\n // 7.2.3 IsCallable(argument)\r\n // https://tc39.github.io/ecma262/#sec-iscallable\r\n function IsCallable(argument) {\r\n // NOTE: This is an approximation as we cannot check for [[Call]] internal method.\r\n return typeof argument === \"function\";\r\n }\r\n // 7.2.4 IsConstructor(argument)\r\n // https://tc39.github.io/ecma262/#sec-isconstructor\r\n function IsConstructor(argument) {\r\n // NOTE: This is an approximation as we cannot check for [[Construct]] internal method.\r\n return typeof argument === \"function\";\r\n }\r\n // 7.2.7 IsPropertyKey(argument)\r\n // https://tc39.github.io/ecma262/#sec-ispropertykey\r\n function IsPropertyKey(argument) {\r\n switch (Type(argument)) {\r\n case 3 /* String */: return true;\r\n case 4 /* Symbol */: return true;\r\n default: return false;\r\n }\r\n }\r\n // 7.3 Operations on Objects\r\n // https://tc39.github.io/ecma262/#sec-operations-on-objects\r\n // 7.3.9 GetMethod(V, P)\r\n // https://tc39.github.io/ecma262/#sec-getmethod\r\n function GetMethod(V, P) {\r\n var func = V[P];\r\n if (func === undefined || func === null)\r\n return undefined;\r\n if (!IsCallable(func))\r\n throw new TypeError();\r\n return func;\r\n }\r\n // 7.4 Operations on Iterator Objects\r\n // https://tc39.github.io/ecma262/#sec-operations-on-iterator-objects\r\n function GetIterator(obj) {\r\n var method = GetMethod(obj, iteratorSymbol);\r\n if (!IsCallable(method))\r\n throw new TypeError(); // from Call\r\n var iterator = method.call(obj);\r\n if (!IsObject(iterator))\r\n throw new TypeError();\r\n return iterator;\r\n }\r\n // 7.4.4 IteratorValue(iterResult)\r\n // https://tc39.github.io/ecma262/2016/#sec-iteratorvalue\r\n function IteratorValue(iterResult) {\r\n return iterResult.value;\r\n }\r\n // 7.4.5 IteratorStep(iterator)\r\n // https://tc39.github.io/ecma262/#sec-iteratorstep\r\n function IteratorStep(iterator) {\r\n var result = iterator.next();\r\n return result.done ? false : result;\r\n }\r\n // 7.4.6 IteratorClose(iterator, completion)\r\n // https://tc39.github.io/ecma262/#sec-iteratorclose\r\n function IteratorClose(iterator) {\r\n var f = iterator[\"return\"];\r\n if (f)\r\n f.call(iterator);\r\n }\r\n // 9.1 Ordinary Object Internal Methods and Internal Slots\r\n // https://tc39.github.io/ecma262/#sec-ordinary-object-internal-methods-and-internal-slots\r\n // 9.1.1.1 OrdinaryGetPrototypeOf(O)\r\n // https://tc39.github.io/ecma262/#sec-ordinarygetprototypeof\r\n function OrdinaryGetPrototypeOf(O) {\r\n var proto = Object.getPrototypeOf(O);\r\n if (typeof O !== \"function\" || O === functionPrototype)\r\n return proto;\r\n // TypeScript doesn't set __proto__ in ES5, as it's non-standard.\r\n // Try to determine the superclass constructor. Compatible implementations\r\n // must either set __proto__ on a subclass constructor to the superclass constructor,\r\n // or ensure each class has a valid `constructor` property on its prototype that\r\n // points back to the constructor.\r\n // If this is not the same as Function.[[Prototype]], then this is definately inherited.\r\n // This is the case when in ES6 or when using __proto__ in a compatible browser.\r\n if (proto !== functionPrototype)\r\n return proto;\r\n // If the super prototype is Object.prototype, null, or undefined, then we cannot determine the heritage.\r\n var prototype = O.prototype;\r\n var prototypeProto = prototype && Object.getPrototypeOf(prototype);\r\n if (prototypeProto == null || prototypeProto === Object.prototype)\r\n return proto;\r\n // If the constructor was not a function, then we cannot determine the heritage.\r\n var constructor = prototypeProto.constructor;\r\n if (typeof constructor !== \"function\")\r\n return proto;\r\n // If we have some kind of self-reference, then we cannot determine the heritage.\r\n if (constructor === O)\r\n return proto;\r\n // we have a pretty good guess at the heritage.\r\n return constructor;\r\n }\r\n // naive Map shim\r\n function CreateMapPolyfill() {\r\n var cacheSentinel = {};\r\n var arraySentinel = [];\r\n var MapIterator = (function () {\r\n function MapIterator(keys, values, selector) {\r\n this._index = 0;\r\n this._keys = keys;\r\n this._values = values;\r\n this._selector = selector;\r\n }\r\n MapIterator.prototype[\"@@iterator\"] = function () { return this; };\r\n MapIterator.prototype[iteratorSymbol] = function () { return this; };\r\n MapIterator.prototype.next = function () {\r\n var index = this._index;\r\n if (index >= 0 && index < this._keys.length) {\r\n var result = this._selector(this._keys[index], this._values[index]);\r\n if (index + 1 >= this._keys.length) {\r\n this._index = -1;\r\n this._keys = arraySentinel;\r\n this._values = arraySentinel;\r\n }\r\n else {\r\n this._index++;\r\n }\r\n return { value: result, done: false };\r\n }\r\n return { value: undefined, done: true };\r\n };\r\n MapIterator.prototype.throw = function (error) {\r\n if (this._index >= 0) {\r\n this._index = -1;\r\n this._keys = arraySentinel;\r\n this._values = arraySentinel;\r\n }\r\n throw error;\r\n };\r\n MapIterator.prototype.return = function (value) {\r\n if (this._index >= 0) {\r\n this._index = -1;\r\n this._keys = arraySentinel;\r\n this._values = arraySentinel;\r\n }\r\n return { value: value, done: true };\r\n };\r\n return MapIterator;\r\n }());\r\n return (function () {\r\n function Map() {\r\n this._keys = [];\r\n this._values = [];\r\n this._cacheKey = cacheSentinel;\r\n this._cacheIndex = -2;\r\n }\r\n Object.defineProperty(Map.prototype, \"size\", {\r\n get: function () { return this._keys.length; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Map.prototype.has = function (key) { return this._find(key, /*insert*/ false) >= 0; };\r\n Map.prototype.get = function (key) {\r\n var index = this._find(key, /*insert*/ false);\r\n return index >= 0 ? this._values[index] : undefined;\r\n };\r\n Map.prototype.set = function (key, value) {\r\n var index = this._find(key, /*insert*/ true);\r\n this._values[index] = value;\r\n return this;\r\n };\r\n Map.prototype.delete = function (key) {\r\n var index = this._find(key, /*insert*/ false);\r\n if (index >= 0) {\r\n var size = this._keys.length;\r\n for (var i = index + 1; i < size; i++) {\r\n this._keys[i - 1] = this._keys[i];\r\n this._values[i - 1] = this._values[i];\r\n }\r\n this._keys.length--;\r\n this._values.length--;\r\n if (key === this._cacheKey) {\r\n this._cacheKey = cacheSentinel;\r\n this._cacheIndex = -2;\r\n }\r\n return true;\r\n }\r\n return false;\r\n };\r\n Map.prototype.clear = function () {\r\n this._keys.length = 0;\r\n this._values.length = 0;\r\n this._cacheKey = cacheSentinel;\r\n this._cacheIndex = -2;\r\n };\r\n Map.prototype.keys = function () { return new MapIterator(this._keys, this._values, getKey); };\r\n Map.prototype.values = function () { return new MapIterator(this._keys, this._values, getValue); };\r\n Map.prototype.entries = function () { return new MapIterator(this._keys, this._values, getEntry); };\r\n Map.prototype[\"@@iterator\"] = function () { return this.entries(); };\r\n Map.prototype[iteratorSymbol] = function () { return this.entries(); };\r\n Map.prototype._find = function (key, insert) {\r\n if (this._cacheKey !== key) {\r\n this._cacheIndex = this._keys.indexOf(this._cacheKey = key);\r\n }\r\n if (this._cacheIndex < 0 && insert) {\r\n this._cacheIndex = this._keys.length;\r\n this._keys.push(key);\r\n this._values.push(undefined);\r\n }\r\n return this._cacheIndex;\r\n };\r\n return Map;\r\n }());\r\n function getKey(key, _) {\r\n return key;\r\n }\r\n function getValue(_, value) {\r\n return value;\r\n }\r\n function getEntry(key, value) {\r\n return [key, value];\r\n }\r\n }\r\n // naive Set shim\r\n function CreateSetPolyfill() {\r\n return (function () {\r\n function Set() {\r\n this._map = new _Map();\r\n }\r\n Object.defineProperty(Set.prototype, \"size\", {\r\n get: function () { return this._map.size; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Set.prototype.has = function (value) { return this._map.has(value); };\r\n Set.prototype.add = function (value) { return this._map.set(value, value), this; };\r\n Set.prototype.delete = function (value) { return this._map.delete(value); };\r\n Set.prototype.clear = function () { this._map.clear(); };\r\n Set.prototype.keys = function () { return this._map.keys(); };\r\n Set.prototype.values = function () { return this._map.values(); };\r\n Set.prototype.entries = function () { return this._map.entries(); };\r\n Set.prototype[\"@@iterator\"] = function () { return this.keys(); };\r\n Set.prototype[iteratorSymbol] = function () { return this.keys(); };\r\n return Set;\r\n }());\r\n }\r\n // naive WeakMap shim\r\n function CreateWeakMapPolyfill() {\r\n var UUID_SIZE = 16;\r\n var keys = HashMap.create();\r\n var rootKey = CreateUniqueKey();\r\n return (function () {\r\n function WeakMap() {\r\n this._key = CreateUniqueKey();\r\n }\r\n WeakMap.prototype.has = function (target) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ false);\r\n return table !== undefined ? HashMap.has(table, this._key) : false;\r\n };\r\n WeakMap.prototype.get = function (target) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ false);\r\n return table !== undefined ? HashMap.get(table, this._key) : undefined;\r\n };\r\n WeakMap.prototype.set = function (target, value) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ true);\r\n table[this._key] = value;\r\n return this;\r\n };\r\n WeakMap.prototype.delete = function (target) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ false);\r\n return table !== undefined ? delete table[this._key] : false;\r\n };\r\n WeakMap.prototype.clear = function () {\r\n // NOTE: not a real clear, just makes the previous data unreachable\r\n this._key = CreateUniqueKey();\r\n };\r\n return WeakMap;\r\n }());\r\n function CreateUniqueKey() {\r\n var key;\r\n do\r\n key = \"@@WeakMap@@\" + CreateUUID();\r\n while (HashMap.has(keys, key));\r\n keys[key] = true;\r\n return key;\r\n }\r\n function GetOrCreateWeakMapTable(target, create) {\r\n if (!hasOwn.call(target, rootKey)) {\r\n if (!create)\r\n return undefined;\r\n Object.defineProperty(target, rootKey, { value: HashMap.create() });\r\n }\r\n return target[rootKey];\r\n }\r\n function FillRandomBytes(buffer, size) {\r\n for (var i = 0; i < size; ++i)\r\n buffer[i] = Math.random() * 0xff | 0;\r\n return buffer;\r\n }\r\n function GenRandomBytes(size) {\r\n if (typeof Uint8Array === \"function\") {\r\n if (typeof crypto !== \"undefined\")\r\n return crypto.getRandomValues(new Uint8Array(size));\r\n if (typeof msCrypto !== \"undefined\")\r\n return msCrypto.getRandomValues(new Uint8Array(size));\r\n return FillRandomBytes(new Uint8Array(size), size);\r\n }\r\n return FillRandomBytes(new Array(size), size);\r\n }\r\n function CreateUUID() {\r\n var data = GenRandomBytes(UUID_SIZE);\r\n // mark as random - RFC 4122 ยง 4.4\r\n data[6] = data[6] & 0x4f | 0x40;\r\n data[8] = data[8] & 0xbf | 0x80;\r\n var result = \"\";\r\n for (var offset = 0; offset < UUID_SIZE; ++offset) {\r\n var byte = data[offset];\r\n if (offset === 4 || offset === 6 || offset === 8)\r\n result += \"-\";\r\n if (byte < 16)\r\n result += \"0\";\r\n result += byte.toString(16).toLowerCase();\r\n }\r\n return result;\r\n }\r\n }\r\n // uses a heuristic used by v8 and chakra to force an object into dictionary mode.\r\n function MakeDictionary(obj) {\r\n obj.__ = undefined;\r\n delete obj.__;\r\n return obj;\r\n }\r\n // patch global Reflect\r\n (function (__global) {\r\n if (typeof __global.Reflect !== \"undefined\") {\r\n if (__global.Reflect !== Reflect) {\r\n for (var p in Reflect) {\r\n if (hasOwn.call(Reflect, p)) {\r\n __global.Reflect[p] = Reflect[p];\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n __global.Reflect = Reflect;\r\n }\r\n })(typeof global !== \"undefined\" ? global :\r\n typeof self !== \"undefined\" ? self :\r\n Function(\"return this;\")());\r\n})(Reflect || (Reflect = {}));\r\n//# sourceMappingURL=Reflect.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/reflect-metadata/Reflect.js\n// module id = 10\n// module chunks = 0","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/node-libs-browser/node_modules/process/browser.js\n// module id = 11\n// module chunks = 0","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 12\n// module chunks = 0","/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nexport default noop;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/lodash-es/noop.js","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nexport default identity;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/lodash-es/identity.js","import { assign, defineProperty, copyOwnAndInheritedProps, uniqueId, round, toKbps, toMbps } from \"../core/utils\"\n\nexport interface IUploadStats {\n\tbytesSent: number\n\tprogress: number\n\ttotal: number\n\tspeed: ISpeedStats\n\tstart: number\n\tend: number\n\ttime: number\n}\n\nexport interface ISpeedStats {\n\tkbps: number\n\tmbps: number\n}\n\nclass VTransmitFile {\n\tprivate _nativeFile: File = null\n\tid: string = VTransmitFile.idFactory()\n\taccepted: boolean = undefined // Passed all validation.\n\tlastModified: number = undefined\n\tlastModifiedDate: Date = undefined\n\tname: string = undefined\n\tprocessing: boolean = undefined\n\tsize: number = undefined\n\tstatus: string = undefined\n\ttype: string = undefined\n\tupload: IUploadStats = {\n\t\tbytesSent: 0,\n\t\tprogress: 0,\n\t\ttotal: 0,\n\t\tspeed: {\n\t\t\tkbps: undefined,\n\t\t\tmbps: undefined,\n\t\t},\n\t\tstart: undefined,\n\t\tend: undefined,\n\t\ttime: undefined,\n\t}\n\twebkitRelativePath: USVString = undefined\n\twidth: number = undefined\n\theight: number = undefined\n\txhr: XMLHttpRequest = undefined\n\tprivate _dataUrl: string\n\terrorMessage: string = undefined\n\n\tconstructor(...data: object[]) {\n\t\tassign(this, ...data)\n\t}\n\n\tset(...data: object[]): VTransmitFile {\n\t\tassign(this, ...data)\n\t\treturn this\n\t}\n\n\tcopyNativeFile(file: File): VTransmitFile {\n\t\t// save reference for upload\n\t\tthis.nativeFile = file\n\t\t// Copy props to normal object for Vue reactivity.\n\t\t// Vue cannot define reactive properties on native file's readonly props.\n\t\treturn this.set(copyOwnAndInheritedProps(file))\n\t}\n\n\tcopyOwnAndInheritedProps(...data: object[]): VTransmitFile {\n\t\treturn this.set(...data.map(copyOwnAndInheritedProps))\n\t}\n\n\thandleProgress(e: ProgressEvent): void {\n\t\tthis.startProgress()\n\t\tconst total = e.total || this.upload.total\n\t\tthis.upload.progress = Math.min(100, 100 * e.loaded / total)\n\t\tthis.upload.bytesSent = e.loaded\n\t\tthis.upload.total = total\n\t\tthis.upload.time = (Date.now() - this.upload.start) / 1000\n\t\t// Recalc the upload speed in bytes/sec\n\t\tthis.upload.speed.kbps = round(toKbps(this.upload.bytesSent, this.upload.time))\n\t\tthis.upload.speed.mbps = round(toMbps(this.upload.bytesSent, this.upload.time))\n\t\tif (this.upload.progress === 100) {\n\t\t\tthis.endProgress()\n\t\t}\n\t}\n\n\tstartProgress(): VTransmitFile {\n\t\t// Avoid starting twice\n\t\tif (typeof this.upload.start !== \"number\") {\n\t\t\tthis.upload.start = Date.now()\n\t\t}\n\t\treturn this\n\t}\n\n\tendProgress(): VTransmitFile {\n\t\t// Avoid ending twice\n\t\tif (typeof this.upload.end !== \"number\") {\n\t\t\tthis.upload.end = Date.now()\n\t\t\tthis.upload.time = (Date.now() - this.upload.start) / 1000\n\t\t}\n\t\treturn this\n\t}\n\n\tget nativeFile() {\n\t\treturn this._nativeFile\n\t}\n\n\tset nativeFile(file: File) {\n\t\tif (!(file instanceof File)) {\n\t\t\tthrow new TypeError(`[${VTransmitFile.name}] Expected an instance of File (native).`)\n\t\t}\n\t\tthis._nativeFile = file\n\t\tthis.upload.total = file.size\n\t}\n\n\tget dataUrl() {\n\t\treturn this._dataUrl || \"\"\n\t}\n\n\tset dataUrl(value) {\n\t\tdefineProperty(this, \"_dataUrl\", {\n\t\t\tvalue,\n\t\t\tenumerable: false,\n\t\t\tconfigurable: true,\n\t\t\twritable: true,\n\t\t})\n\t}\n\n\tstatic fromNativeFile(file: File, ...data) {\n\t\tconst instance = new VTransmitFile(...data)\n\t\tinstance.copyNativeFile(file)\n\t\treturn instance\n\t}\n\n\tstatic idFactory() {\n\t\treturn uniqueId(\"v-transmit-file-\")\n\t}\n}\n\nexport default VTransmitFile\n\n\n\n// WEBPACK FOOTER //\n// ./src/classes/VTransmitFile.ts","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(_vm.tag,{tag:\"component\"},[_c('div',_vm._g(_vm._b({staticClass:\"v-transmit__upload-area\",class:[_vm.isDraggingClass, _vm.uploadAreaClasses],attrs:{\"draggable\":\"true\"},on:{\"click\":_vm.handleClickUploaderAction,\"dragstart\":_vm.handleDragStart,\"dragend\":_vm.handleDragEnd,\"dragenter\":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDragEnter($event)},\"dragover\":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDragOver($event)},\"dragleave\":_vm.handleDragLeave,\"drop\":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDrop($event)}}},'div',_vm.uploadAreaAttrs,false),_vm.uploadAreaListeners),[_vm._t(\"default\")],2),_vm._v(\" \"),_vm._t(\"files\",null,null,_vm.fileSlotBindings),_vm._v(\" \"),_c('input',{ref:\"hiddenFileInput\",class:[_vm.maxFilesReachedClass],style:(_vm.fileInputStyles),attrs:{\"type\":\"file\",\"multiple\":_vm.multiple,\"accept\":_vm.filesToAccept,\"capture\":_vm.capture},on:{\"change\":_vm.onFileInputChange}})],2)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-25b0f28c\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/VueTransmit.vue\n// module id = 16\n// module chunks = 0"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["webpack:///webpack/bootstrap a02e6f708524376418fd","webpack:///external {\"root\":\"Vue\",\"commonjs2\":\"vue\"}","webpack:///./src/components/VueTransmit.vue?cd95","webpack:///./src/core/utils.ts","webpack:///./index.ts","webpack:///./src/index.ts","webpack:///./src/components/VueTransmit.vue","webpack:///./src/components/VueTransmit.vue?18b8","webpack:///./node_modules/vue-loader/lib/component-normalizer.js","webpack:///./node_modules/vue-property-decorator/lib/vue-property-decorator.umd.js","webpack:///./node_modules/vue-class-component/dist/vue-class-component.common.js","webpack:///./node_modules/reflect-metadata/Reflect.js","webpack:///./node_modules/node-libs-browser/node_modules/process/browser.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/lodash-es/noop.js","webpack:///./node_modules/lodash-es/identity.js","webpack:///./src/classes/VTransmitFile.ts","webpack:///./src/components/VueTransmit.vue?d47d"],"names":[],"mappings":"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AIA,GASA,OACA,CACA,WACA,UAEA,4BCtGA,eACA,iBAGA,IAAC,uBAAkD,cAEnD,gDACA,sBAQA,aAkFA,MACA,0BAAgC,2BAAsD,aAKtF,EAgBA,cACA,QACA,SAzGA,WACA,uCACA,CACA,iCAEA,2BACA,sBAEA,KACA,EAKA,EA4FA,UA3FA,WACA,uCACA,SACA,4CACA,SACA,8BACA,4DACA,qBACA,wBACA,QACA,QACA,IACA,UACA,cACA,IACA,EAKA,EAwEA,QAvEA,aACA,YAA6B,SAC7B,mBACA,mBACA,wDAEA,mDACA,cACA,wBAAsC,cACtC,KACA,OACA,CAKA,EAwDA,OAvDA,WACA,YAA6B,SAC7B,mBACA,mBACA,wDAEA,mDACA,cACA,eACA,OACA,CAMA,EAwCA,QAvCA,aACA,KAA6B,SAC7B,uEAEA,CACA,iDAEA,kBAAwC,8BACxC,cALA,UAMA,EACA,EA8BA,OAtBA,WACA,uBACA,GACA,aACA,wBACA,QACA,QAA4B,cAAuB,OACnD,SAEA,0BACA,sCACA,UACA,CACA,GAWA,qCAA8C,CAE9C,UAAC,iCC7HD;;;;IAuBA,aACA,OACA,sCACA,aAKA,CAEA,eACA,mBACA,kCACA,OACA,cACA,qCACA,8BACA,QACA,qBAIA,6BACA,CACA,6CACA,eAAsC,OAAgB,KACtD,iBAA2C,OAAwB,OACnE,EAGA,iBACA,EACA,QACA,kBACA,WACA,MAYA,yCAXA,CACA,qBAEA,KAOA,OAGA,CAeA,eACA,KAA6B,SAC7B,wCACA,aACA,2DACA,IAGA,uBACA,eAGA,iBAFA,mBAGA,8BACA,0CAAqD,kBAErD,gBACA,uBAAuD,iBACvD,OACA,UAGA,MACA,kCACA,gBACA,UACA,OAEA,YAEA,wCAA0C,OAAoB,KAC9D,YAEA,8CACA,aACA,iBAEA,kBACA,UAEA,MADA,WAYA,CACA,iBACA,kDACA,IAGA,8BACA,uCAGA,2BACA,oCACA,IACA,UAEA,oBACA,sCAEA,uBACA,MAEA,MAOA,WACA,uBACA,GAEA,aACA,OACA,qBAEA,gBACA,OACA,OACA,EA/KA,qCAA8C,CAAc,WAI5D,MAFA,WAA+B,+CAAiF,gBAIhH,MAAgB,CAAgB,8BA8EhC,oKA4FA,YACA,GAIA,yBAHA,QACA,UACA,CACC,OAA8B,OAC/B,QAEA,eACA,kBAlLA,WACA,uBACA,OAEA,yBACA,cACA,mBAEA,mBACA,qBAEA,2CAAqD,OAAqC,SAC1F,EACA,mBC3BA,gBAaA;;;;;;;;;;;;;gFACA,MACA,YACA,CACA,4BAkfA,oBAA2C,EAAQ,SACnD,OACA,OACA,qBACA,KACA,cACA,WACA,GACA,CACA,CACA,QACA,oBACA,oBAA2C,EAAQ,SACnD,OACA,OACA,yBACA,KACA,cACA,WACA,GACA,CACA,CACA,QACA,kBACA,SACA,eACA,IACA,GACA,SACA,QACA,QACA,SACA,eACA,IACA,GACA,SACA,QACA,QACA,CACA,QAGA,kBACA,OACA,SACA,KACA,eACA,YACA,MAEA,QAGA,kBACA,OACA,iBAEA,UACA,OAGA,kBACA,OACA,SACA,WACA,gBACA,WACA,aAEA,QAGA,kBACA,OACA,gBAEA,eACA,MAGA,oBACA,OACA,YACA,QAGA,gBACA,OACA,SACA,QACA,SACA,eACA,UACA,YACA,YACA,YACA,mBACA,MACA,SAA6C,QAAuB,WACpE,OACA,SAEA,aACA,SAEA,QACA,aAAmD,QAA0B,WAC7E,OACA,SAEA,aACA,SAEA,QACA,CACA,QAGA,gBACA,IACA,QACA,aACA,KACA,qBACA,SACA,OACA,IACA,OACA,QACA,GAGA,SAFA,iBAGA,QACA,CACA,MACA,SACA,IACA,CACA,IACA,QACA,CACA,OACA,CACA,CACA,GACA,CAGA,cACA,IACA,eACA,UACA,gCACA,uBACA,sBACA,sBACA,sBACA,kCACA,gBAEA,IAGA,cACA,OACA,WAGA,cACA,OACA,SAGA,cACA,OACA,kBAGA,cACA,mCACA,oBAKA,gBACA,QACA,aACA,gBACA,gBACA,gBACA,gBACA,gBAEA,8CACA,YACA,qBACA,SACA,aACA,cACA,WACA,QACA,yBACA,WAGA,gBACA,iBACA,SACA,iBACA,SACA,YACA,KACA,QACA,SACA,gBACA,SACA,YACA,KACA,QACA,CACA,KACA,SACA,gBACA,SACA,YACA,KACA,QACA,SACA,iBACA,SACA,YACA,KACA,QACA,CACA,UACA,UAGA,cACA,QACA,EAGA,cACA,OACA,IAGA,cACA,WACA,SAEA,QACA,IAKA,cACA,cACA,cACA,uBACA,oBACA,OACA,oDAGA,cAEA,OACA,oBAGA,cAEA,OACA,oBAGA,cACA,QACA,aACA,gBACA,iBAEA,UAKA,gBACA,OACA,oBAEA,cACA,cACA,WACA,SAGA,cACA,OACA,WACA,cACA,mBACA,YACA,cACA,WACA,QAGA,cACA,UACA,KAGA,cACA,SACA,gBACA,OAGA,cACA,SAEA,eACA,OAKA,cACA,cACA,2CACA,MAQA,YACA,MAEA,iBACA,sBACA,yCACA,UAEA,iBACA,kBAGA,qBAIA,WAEA,cAiOA,CAGA,SAFA,mBACA,IAGA,IA5jCA,sBAJA,iBACA,yFACA,yEACA,yBAEA,OACA,mCAA6B,CAAgB,uBAC7C,aAEA,YACA,YAA2B,wBAA4C,MACvE,EACA,YAA+B,UAAwB,WAAoB,MAC3E,YAA+B,OAA2B,MAC1D,QACA,eAAmC,UAA8B,SACjE,eAAmC,OAAmB,OACtD,QACA,eAAmC,oBAAqD,WACxF,eAAmC,OAAiB,KACpD,CAAK,OAEL,mCACA,yDACA,mJAm0BA,cA8GA,CACA,QACA,gBACA,CACA,QACA,gBACA,OACA,KACA,IArHA,MACA,iBACA,kBACA,aACA,OACA,aACA,eACA,WACA,CAmCA,2CAnC+D,OAAa,KAC5E,2BAAiE,OAAa,KAC9E,6BACA,YACA,oCACA,yCACA,mCACA,qBACA,OACA,aAGA,gBAEA,SAA4B,SAC5B,QACA,OAAwB,cACxB,QACA,+BACA,CAMA,KALA,+BACA,OACA,aAEA,YAEA,gCACA,OACA,+BACA,OACA,aAEA,WAAwB,SACxB,QACA,GAEA,qBACA,aACA,MACA,cACA,gBACA,8BACA,CACA,CAwDA,gDAvDA,eAAkC,mBAA0B,MAC5D,EACA,cAEA,6CAAgD,OAA+C,oBAC/F,6BACA,YACA,6BACA,iBACA,+BACA,YACA,wBACA,aACA,IACA,gCACA,YACA,oBACA,sBACA,WAA2C,EAAU,IACrD,yBACA,gCAEA,WAOA,kBANA,sBACA,kBACA,iBACA,8BAEA,KAEA,CACA,QACA,8BACA,mBACA,sBACA,OACA,8BACA,CACA,6BAA8C,8BAA0D,UACxG,+BAAgD,8BAA4D,UAC5G,gCAAiD,8BAA4D,UAC7G,sCAAuD,aAAuB,SAC9E,2BAAyD,aAAuB,SAChF,iCACA,aACA,yDAEA,cACA,oDACA,kBACA,qBAEA,mBACA,WACA,GAEA,GAWA,CA17BA,uFA27BA,kBACA,aACA,WACA,KACA,CAeA,gDAdA,eAAkC,kBAAuB,IACzD,EACA,cAEA,6CAAkD,kBAA6B,MAC/E,6BAAkD,2BAA0C,IAC5F,gCAAqD,kBAAgC,SACrF,8BAA+C,WAAmB,OAClE,6BAA8C,kBAAyB,MACvE,+BAAgD,kBAA2B,QAC3E,gCAAiD,kBAA4B,SAC7E,sCAAuD,aAAoB,MAC3E,2BAAyD,aAAoB,MAC7E,GAEA,GAEA,CAh9BA,iDAi9BA,aA+BA,IACA,GACA,mBACA,YACA,UAEA,MADA,UAEA,gBACA,iBACA,IACA,GACA,iCAAwD,SACxD,UACA,OACA,KACA,gBACA,WAA2B,EAAU,IACrC,SACA,oBACA,QACA,cACA,OACA,8BACA,2BAEA,kCAGA,8CAFA,0CAFA,kBAKA,WACA,aACA,OAEA,UACA,gBACA,yBACA,KAAgC,EAAoB,IACpD,MACA,oBACA,YACA,KACA,UACA,uBAEA,cACA,QACA,OA5EA,OACA,WACA,qBACA,aACA,WACA,GACA,CAsBA,kCArBA,OACA,wCACA,KACA,6BACA,OACA,8CACA,KACA,+BACA,OACA,sBACA,QACA,IACA,gCACA,OACA,yCACA,KACA,8BAEA,WACA,GACA,GAEA,GAiDA,CA7hCA,aAwCA,QAgEA,0BA/DA,UACA,KACA,cACA,eACA,cACA,6BACA,cACA,iBACA,QACA,YACA,KACA,UAEA,KACA,cACA,eACA,cACA,iBAEA,OACA,IA6FA,sBAjDA,CAQA,oBAPA,KACA,cACA,sBACA,cACA,WACA,UACA,CAEA,IAkFA,gCAzCA,KACA,cACA,iBACA,UACA,MACA,UACA,IA6EA,2BAzCA,KACA,cACA,iBACA,UACA,MACA,QACA,IA6EA,8BAzCA,KACA,cACA,iBACA,UACA,MACA,QACA,IA6EA,2BAzCA,KACA,cACA,iBACA,UACA,MACA,QACA,IA4EA,8BAxCA,KACA,cACA,iBACA,UACA,MACA,QACA,IA2EA,6BAxCA,KACA,cACA,iBACA,UACA,MACA,MACA,IA4EA,gCAzCA,KACA,cACA,iBACA,UACA,MACA,MACA,IAuDA,8BAnBA,KACA,cACA,WACA,SACA,YACA,aACA,KACA,eACA,UACA,YACA,SACA,iBACA,iBACA,YAEA,eAEA,aACA,aAmlBA,MACA,iCAWA,oBAVA,mBACA,UACA,yBAMA,KAEK,EACL,wDAEA,kBADA,OACC,OACD,yCCpmCA,CAWA,YACA,iBACA,mCACA,YACA,iBACA,oCACA,CAoBA,aACA,QAEA,+BAGA,mBACA,oBACA,wBAEA,MAEA,YACA,EAAK,SACL,IAEA,sBACA,EAAS,SAET,sBACA,EACA,CAGA,EACA,aACA,QAEA,mBAGA,iCACA,sBACA,aAEA,mBAEA,OACA,KAAK,SACL,IAEA,eACA,OAAS,SAGT,eACA,OACA,CAIA,EAMA,YACA,CAGA,OACA,OACA,WAEA,aAEA,IACA,QAEA,KAEA,YACA,CAGA,aACA,KAEA,iBACA,UACA,KACA,IACA,KAEA,eAGA,SACA,MACA,MACA,GACA,KACA,KACA,MAgBA,eACA,MACA,WACA,QAWA,cAhKA,GAQA,SADA,sBAUA,IACA,GACA,8BAIA,YAAK,SACL,CACA,GACA,IACA,GACA,gCAIA,cAAK,SACL,CACA,GACA,CAAC,KAqDD,GAGA,GAFA,KACA,UA0CA,sBACA,8BACA,MACA,6BAAuB,cAAsB,OAC7C,WAGA,oBACA,YACA,iBAEA,IAEA,EAKA,0BACA,0BACA,QACA,kBACA,aACA,SACA,UACA,UAAqB,GACrB,cAIA,OACA,gBACA,SACA,QACA,mBACA,uBACA,SACA,oBACA,wBAEA,sBAAqC,WAErC,oBACA,iBACA,qCAEA,gBAA2B,YAC3B,kBACA,iBACA,mCACA,kBAA4B,OAAU,iBCvLtC,GAGA,aACA,OACA,KAAC,IAED,GAEA,0CACA,OAAC,SAED,CACA,4BACA,OAI4C,CAE5C,8ECpBA,aAgBe,QAJN,UAER,qECdD,aAoBe,QAJG,WAChB,CACD,giBCDD,uBA8Ba,gBA7BJ,aAAW,YACnB,UAAE,GAAwB,EAC1B,iBACA,qBACA,yBACA,6BACA,iBACA,uBACA,iBACA,mBACA,iBAAM,OACI,WACD,WACH,QACA,QACA,CACA,YAEA,aACF,aACC,WAEL,kBACA,+BACA,kBACA,mBAEA,gBAAgC,kEAEH,SACtB,oCAAO,MAGV,iGAAiB,SACd,2CAAO,MACP,WAGO,mCAAW,WAEpB,aAGE,aAAK,KAAI,IAAyB,KAGhB,+HAAiB,SACnC,mBAAK,MAAK,iBAAO,EACxB,MAEc,0DAAiB,WAC1B,MACJ,mBAAW,GAAI,EAAM,OAAQ,KAAO,OAChC,WAAO,OAAS,SAAO,KAAI,IAAI,IAAK,IAAI,EACxC,eAAO,OAAU,UAAI,EACrB,YAAO,OACP,aAAO,OAAK,KAAG,CAAK,KAAM,MAAO,KAAO,OAExC,gBAAO,OAAM,MAAK,KAAQ,YAAO,aAAK,KAAO,OAAU,UAAM,KAAO,OACpE,YAAO,OAAM,MAAK,KAAQ,YAAO,aAAK,KAAO,OAAU,UAAM,KAAO,OACrE,OACE,GADG,QAAO,OAAS,eAKZ,qDAET,OACE,QADD,QAAW,MAAO,OAAM,aAChB,OAAM,MAAO,KAEnB,OAGI,0CAEP,OACE,QADD,QAAW,MAAO,OAAI,WACd,OAAI,IAAO,KAClB,WAAO,OAAK,KAAG,CAAK,KAAM,MAAO,KAAO,OAEvC,YAGO,uCACP,OAAK,MAGE,iBAAW,WACrB,IAAE,EAAK,YACT,YAAM,IAAc,eAAiB,EACtC,KACI,iDACA,mBAAO,OAAM,MAAO,EAGd,oCACJ,OAAK,MAAS,UAGV,QAAM,WACF,sBAAK,KAAY,WACzB,CACK,QACE,cACJ,gBAIW,8CAAa,kEAAO,WACxC,gBAAiB,+BAAkB,eAC3B,YAIO,SAHT,uDAIA,OAAS,eAIjB,+BAA4B,yBCxI5B,a,IAEiB,mBAFS,MAAa,SAA0B,+BAAwB,gBAAmB,IAAgB,iCAA0B,oFAAmH,6BAAK,4GAA+H,mBAAwB,oBAAyB,oBAA4B,uBAA6B,mBAAwB,oBAAyB,mBAA2B,+CAAyD,mBAAwB,oBAAyB,eAAyB,qJAAoK,yBAAwC,wBAAc,4DAA8D,iEAAuF,aAAK,SAAgC,0BAE1lC,EACA","file":"vue-transmit.common.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 3);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap a02e6f708524376418fd","module.exports = require(\"vue\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"root\":\"Vue\",\"commonjs2\":\"vue\"}\n// module id = 0\n// module chunks = 0","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\"\nimport { Component, Prop, Watch } from \"vue-property-decorator\"\nimport noop from \"lodash-es/noop\"\nimport identity from \"lodash-es/identity\"\nimport {\n\thbsRegex,\n\thbsReplacer,\n\tobjFactory,\n\tresizeImg,\n\tIDrawImageArgs,\n\tIDimensions,\n\twebkitIsFile,\n\twebkitIsDir,\n} from \"../core/utils\"\nimport VTransmitFile from \"../classes/VTransmitFile\"\n\ntype FileSystemEntry = WebKitFileEntry | WebKitDirectoryEntry\n\nconst STATUSES = {\n\tADDED: \"added\",\n\tQUEUED: \"queued\",\n\tACCEPTED: \"queued\",\n\tUPLOADING: \"uploading\",\n\tPROCESSING: \"uploading\",\n\tCANCELED: \"canceled\",\n\tERROR: \"error\",\n\tTIMEOUT: \"timeout\",\n\tSUCCESS: \"success\",\n}\n\n@Component({ name: \"VueTransmit\" })\nexport default class VueTransmit extends Vue {\n\t@Prop({ type: String, default: \"div\" })\n\ttag: string\n\n\t@Prop({ type: [Array, Object, String], default: null })\n\tuploadAreaClasses: any[] | object | string\n\n\t@Prop({ type: Object, default: objFactory })\n\tuploadAreaAttrs: object\n\n\t@Prop({ type: Object, default: objFactory })\n\tuploadAreaListeners: object\n\n\t@Prop({ type: String, default: null })\n\tdragClass: string\n\n\t@Prop({ type: String, required: true })\n\turl: string\n\n\t@Prop({ type: String, default: \"post\" })\n\tmethod: string\n\n\t@Prop({ type: Boolean, default: false })\n\twithCredentials: boolean\n\n\t// timeout in milliseconds\n\t@Prop({ type: Number, default: 0 })\n\ttimeout: number\n\n\t@Prop({ type: Number, default: 2 })\n\tmaxConcurrentUploads: number\n\t// Whether to send multiple files in one request.\n\t@Prop({ type: Boolean, default: false })\n\tuploadMultiple: boolean\n\n\t// in MB\n\t@Prop({ type: Number, default: 256 })\n\tmaxFileSize: number\n\n\t// The name of the file param that gets transferred.\n\t@Prop({ type: String, default: \"file\" })\n\tparamName: string\n\n\t@Prop({ type: Boolean, default: true })\n\tcreateImageThumbnails: boolean\n\n\t// in MB. When the filename exceeds this limit, the thumbnail will not be generated.\n\t@Prop({ type: Number, default: 10 })\n\tmaxThumbnailFileSize: number\n\n\t@Prop({ type: Number, default: 120 })\n\tthumbnailWidth: number\n\n\t@Prop({ type: Number, default: 120 })\n\tthumbnailHeight: number\n\n\t/**\n * The base that is used to calculate the file size. You can change this to\n * 1024 if you would rather display kibibytes, mebibytes, etc...\n * 1024 is technically incorrect,\n * because `1024 bytes` are `1 kibibyte` not `1 kilobyte`.\n * You can change this to `1024` if you don't care about validity.\n */\n\t@Prop({ type: Number, default: 1000 })\n\tfileSizeBase: number\n\n\t/**\n * Can be used to limit the maximum number of files that will be handled\n * by this Dropzone\n */\n\t@Prop({ type: Number, default: null })\n\tmaxFiles: number\n\n\t/**\n * Can be an object of additional parameters to transfer to the server.\n * This is the same as adding hidden input fields in the form element.\n */\n\t@Prop({ type: Object, default: objFactory })\n\tparams: object\n\n\t@Prop({ type: Object, default: objFactory })\n\theaders: object\n\n\t@Prop({ type: String, default: \"\" })\n\tresponseType: XMLHttpRequestResponseType\n\n\t// If true, the dropzone will present a file selector when clicked.\n\t@Prop({ type: Boolean, default: true })\n\tclickable: boolean\n\n\t// Whether hidden files in directories should be ignored.\n\t@Prop({ type: Boolean, default: true })\n\tignoreHiddenFiles: boolean\n\n\t/**\n * You can set accepted mime types here.\n *\n * The default implementation of the `accept()` function will check this\n * property, and if the Dropzone is clickable this will be used as\n * `accept` attribute.\n *\n * This is a comma separated list of mime types or extensions. E.g.:\n * - audio/*,video/*,image/png,.pdf\n *\n * See https://developer.mozilla.org/en-US/docs/HTML/Element/input#attr-accept\n * for a reference.\n */\n\t@Prop({ type: Array, default: () => [] })\n\tacceptedFileTypes: string[]\n\n\t/**\n * If false, files will be added to the queue but the queue will not be\n * processed automatically.\n * This can be useful if you need some additional user input before sending\n * files (or if you want want all files sent at once).\n * If you're ready to send the file simply call myDropzone.processQueue()\n */\n\t@Prop({ type: Boolean, default: true })\n\tautoProcessQueue: boolean\n\n\t/**\n * If false, files added to the dropzone will not be queued by default.\n * You'll have to call `enqueueFile(file)` manually.\n */\n\t@Prop({ type: Boolean, default: true })\n\tautoQueue: boolean\n\n\t/**\n * If null, no capture type will be specified\n * If camera, mobile devices will skip the file selection and choose camera\n * If microphone, mobile devices will skip the file selection and choose the microphone\n * If camcorder, mobile devices will skip the file selection and choose the camera in video mode\n * On apple devices multiple must be set to false. AcceptedFiles may need to\n * be set to an appropriate mime type (e.g. \"image/*\", \"audio/*\", or \"video/*\").\n */\n\t@Prop({ type: String, default: null })\n\tcapture: string\n\n\t/**\n * Before the file is appended to the formData, the function renameFile is performed for file.name, file\n * which executes the function defined in renameFile\n */\n\t@Prop({ type: Function, default: identity })\n\trenameFile: (name: string) => string\n\n\t// If the file size is too big.\n\t@Prop({ type: String, default: \"File is too big ({{ fileSize }}MiB). Max file size: {{ maxFileSize }}MB.\" })\n\tdictFileTooBig: string\n\n\t// If the file doesn't match the file type.\n\t@Prop({ type: String, default: \"You can't upload files of this type.\" })\n\tdictInvalidFileType: string\n\n\t// If the server response was invalid.\n\t@Prop({ type: String, default: \"Error during upload: {{ statusText }} [{{ statusCode }}]\" })\n\tdictResponseError: string\n\n\t/**\n * Displayed when the maxFiles have been exceeded\n * You can use {{maxFiles}} here, which will be replaced by the option.\n */\n\t@Prop({ type: String, default: \"You can not upload any more files.\" })\n\tdictMaxFilesExceeded: string\n\n\t/**\n * If `done()` is called without argument the file is accepted\n * If you call it with an error message, the file is rejected\n * (This allows for asynchronous validation).\n */\n\t@Prop({ type: Function, default: (_, done: Function) => done() })\n\taccept: (file: VTransmitFile, done: Function) => void\n\n\t@Prop({ type: Function, default: resizeImg })\n\tresize: (file: VTransmitFile, dims: IDimensions) => IDrawImageArgs\n\n\tpublic dragging: boolean = false\n\t// Used to keep the createThumbnail calls processing async one-at-a-time\n\tprivate processingThumbnail: boolean = false\n\tpublic thumbnailQueue: any[] = []\n\tpublic files: VTransmitFile[] = []\n\tpublic defaultHeaders: object = {\n\t\tAccept: \"application/json\",\n\t\t\"Cache-Control\": \"no-cache\",\n\t\t\"X-Requested-With\": \"XMLHttpRequest\",\n\t}\n\tpublic formStyles: object = {\n\t\tvisibility: \"hidden !important\",\n\t\tposition: \"absolute !important\",\n\t\ttop: \"0 !important\",\n\t\tleft: \"0 !important\",\n\t\theight: \"0px !important\",\n\t\twidth: \"0px !important\",\n\t}\n\n\tget inputEl(): HTMLInputElement {\n\t\tlet el = null\n\t\tif (this.$refs.hiddenFileInput instanceof HTMLInputElement) {\n\t\t\tel = this.$refs.hiddenFileInput\n\t\t}\n\t\treturn el\n\t}\n\tget formEl(): HTMLFormElement {\n\t\tlet el = null\n\t\tif (this.$refs.uploadForm instanceof HTMLFormElement) {\n\t\t\tel = this.$refs.uploadForm\n\t\t}\n\t\treturn el\n\t}\n\tget filesToAccept(): string {\n\t\treturn this.acceptedFileTypes.join(\",\")\n\t}\n\tget multiple(): boolean {\n\t\treturn this.maxFiles === null || this.maxFiles > 1\n\t}\n\tget acceptedFiles(): VTransmitFile[] {\n\t\treturn this.files.filter(f => f.accepted)\n\t}\n\tget rejectedFiles(): VTransmitFile[] {\n\t\treturn this.files.filter(f => !f.accepted)\n\t}\n\tget addedFiles(): VTransmitFile[] {\n\t\treturn this.getFilesWithStatus(STATUSES.ADDED)\n\t}\n\tget queuedFiles(): VTransmitFile[] {\n\t\treturn this.getFilesWithStatus(STATUSES.QUEUED)\n\t}\n\tget uploadingFiles(): VTransmitFile[] {\n\t\treturn this.getFilesWithStatus(STATUSES.UPLOADING)\n\t}\n\tget activeFiles(): VTransmitFile[] {\n\t\treturn this.getFilesWithStatus(STATUSES.UPLOADING, STATUSES.QUEUED)\n\t}\n\tget maxFilesReached(): boolean {\n\t\t// Loose equality checks null && undefined\n\t\treturn this.maxFiles != null && this.acceptedFiles.length >= this.maxFiles\n\t}\n\tget maxFilesReachedClass(): string {\n\t\treturn this.maxFilesReached ? \"v-transmit__max-files--reached\" : null\n\t}\n\tget isDraggingClass(): { [key: string]: boolean } {\n\t\treturn {\n\t\t\t\"v-transmit__upload-area--is-dragging\": this.dragging,\n\t\t\t[this.dragClass]: this.dragging,\n\t\t}\n\t}\n\tget isUploading(): boolean {\n\t\treturn this.uploadingFiles.length > 0\n\t}\n\tget fileSlotBindings() {\n\t\treturn {\n\t\t\tfiles: this.files,\n\t\t\tacceptedFiles: this.acceptedFiles,\n\t\t\trejectedFiles: this.rejectedFiles,\n\t\t\taddedFiles: this.addedFiles,\n\t\t\tqueuedFiles: this.queuedFiles,\n\t\t\tuploadingFiles: this.uploadingFiles,\n\t\t\tactiveFiles: this.activeFiles,\n\t\t\tisUploading: this.isUploading,\n\t\t}\n\t}\n\n\t@Watch(\"acceptedFiles\")\n\tonAcceptedFilesChange(acceptedFiles: VTransmitFile[]) {\n\t\tif (this.maxFiles == null) {\n\t\t\treturn\n\t\t}\n\t\tif (acceptedFiles.length >= this.maxFiles) {\n\t\t\tthis.$emit(\"max-files-reached\", this.files)\n\t\t}\n\t}\n\n\tgetFilesWithStatus(...statuses: string[]): VTransmitFile[] {\n\t\treturn this.files.filter(f => statuses.indexOf(f.status) > -1)\n\t}\n\tonFileInputChange(): void {\n\t\tthis.$emit(\"added-files\", Array.from(this.inputEl.files).map(this.addFile))\n\t\tthis.formEl.reset()\n\t}\n\taddFile(file: File): VTransmitFile {\n\t\tconst vTransmitFile = VTransmitFile.fromNativeFile(file)\n\t\tvTransmitFile.status = STATUSES.ADDED\n\t\tthis.files.push(vTransmitFile)\n\t\tthis.$emit(\"added-file\", vTransmitFile)\n\t\tthis.enqueueThumbnail(vTransmitFile)\n\t\tthis.acceptFile(vTransmitFile, error => {\n\t\t\tif (error) {\n\t\t\t\tvTransmitFile.accepted = false\n\t\t\t\tthis.errorProcessing([vTransmitFile], error)\n\t\t\t\tthis.$emit(\"rejected-file\", vTransmitFile)\n\t\t\t} else {\n\t\t\t\tvTransmitFile.accepted = true\n\t\t\t\tthis.$emit(\"accepted-file\", vTransmitFile)\n\t\t\t\tif (this.autoQueue) {\n\t\t\t\t\tthis.enqueueFile(vTransmitFile)\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.$emit(\"accept-complete\", vTransmitFile)\n\t\t})\n\n\t\treturn vTransmitFile\n\t}\n\tremoveFile(file: VTransmitFile): void {\n\t\tif (file.status === STATUSES.UPLOADING) {\n\t\t\tthis.cancelUpload(file)\n\t\t}\n\t\tconst idxToRm = this.files.findIndex(f => f.id === file.id)\n\t\tif (~idxToRm) {\n\t\t\tthis.$emit(\"removed-file\", this.files.splice(idxToRm, 1)[0])\n\t\t\tif (this.files.length === 0) {\n\t\t\t\tthis.$emit(\"reset\")\n\t\t\t}\n\t\t}\n\t}\n\tremoveAllFiles(cancelInProgressUploads = false): void {\n\t\tfor (const file of this.files) {\n\t\t\tif (file.status !== STATUSES.UPLOADING || cancelInProgressUploads) {\n\t\t\t\tthis.removeFile(file)\n\t\t\t}\n\t\t}\n\t}\n\ttriggerBrowseFiles(): void {\n\t\tthis.inputEl.click()\n\t}\n\thandleClickUploaderAction(): void {\n\t\tif (this.clickable) {\n\t\t\tthis.triggerBrowseFiles()\n\t\t}\n\t}\n\tenqueueFile(file: VTransmitFile): void {\n\t\tif (file.status === STATUSES.ADDED && file.accepted === true) {\n\t\t\tfile.status = STATUSES.QUEUED\n\t\t\tif (this.autoProcessQueue) {\n\t\t\t\tsetTimeout(this.processQueue, 0)\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new Error(\"This file can't be queued because it has already been processed or was rejected.\")\n\t\t}\n\t}\n\tenqueueThumbnail(file: VTransmitFile): void {\n\t\tif (\n\t\t\tthis.createImageThumbnails &&\n\t\t\tfile.type.match(/image.*/) &&\n\t\t\tfile.size <= this.maxThumbnailFileSize * 1024 * 1024\n\t\t) {\n\t\t\tthis.thumbnailQueue.push(file)\n\t\t\tsetTimeout(this.processThumbnailQueue, 0)\n\t\t}\n\t}\n\tprocessThumbnailQueue(): void {\n\t\t// Employ a chain of self-calling, self-queuing createThumbnail calls\n\t\t// so execution can stay as non-blocking as possible.\n\t\tif (this.processingThumbnail || this.thumbnailQueue.length === 0) {\n\t\t\treturn\n\t\t}\n\t\tthis.processingThumbnail = true\n\t\tthis.createThumbnail(this.thumbnailQueue.shift(), () => {\n\t\t\tthis.processingThumbnail = false\n\t\t\tthis.processThumbnailQueue()\n\t\t})\n\t}\n\tcreateThumbnail(file: VTransmitFile, callback = noop): void {\n\t\tconst reader = new FileReader()\n\t\treader.addEventListener(\n\t\t\t\"load\",\n\t\t\t() => {\n\t\t\t\tif (file.type === \"image/svg+xml\") {\n\t\t\t\t\tfile.dataUrl = reader.result\n\t\t\t\t\tthis.$emit(\"thumbnail\", file, reader.result)\n\t\t\t\t\tcallback()\n\t\t\t\t}\n\t\t\t\tthis.createThumbnailFromUrl(file, reader.result, callback)\n\t\t\t},\n\t\t\tfalse\n\t\t)\n\n\t\t// FileReader requires a native File|Blob object\n\t\treader.readAsDataURL(file.nativeFile)\n\t}\n\tcreateThumbnailFromUrl(file: VTransmitFile, imageUrl: string, callback?: Function): void {\n\t\tconst imgEl = document.createElement(\"img\")\n\n\t\timgEl.addEventListener(\n\t\t\t\"load\",\n\t\t\t() => {\n\t\t\t\tfile.width = imgEl.width\n\t\t\t\tfile.height = imgEl.height\n\t\t\t\tconst resizeInfo = this.resize(file, {\n\t\t\t\t\twidth: this.thumbnailWidth,\n\t\t\t\t\theight: this.thumbnailHeight,\n\t\t\t\t})\n\t\t\t\tconst canvas = document.createElement(\"canvas\")\n\t\t\t\tconst ctx = canvas.getContext(\"2d\")\n\t\t\t\tcanvas.width = resizeInfo.dWidth\n\t\t\t\tcanvas.height = resizeInfo.dHeight\n\t\t\t\tctx.drawImage(\n\t\t\t\t\timgEl,\n\t\t\t\t\tresizeInfo.sx,\n\t\t\t\t\tresizeInfo.sy,\n\t\t\t\t\tresizeInfo.sWidth,\n\t\t\t\t\tresizeInfo.sHeight,\n\t\t\t\t\tresizeInfo.dx,\n\t\t\t\t\tresizeInfo.dy,\n\t\t\t\t\tresizeInfo.dWidth,\n\t\t\t\t\tresizeInfo.dHeight\n\t\t\t\t)\n\t\t\t\tconst thumbnail = canvas.toDataURL(\"image/png\")\n\t\t\t\tfile.dataUrl = thumbnail\n\t\t\t\tthis.$emit(\"thumbnail\", file, thumbnail)\n\n\t\t\t\tif (callback) {\n\t\t\t\t\treturn callback()\n\t\t\t\t}\n\t\t\t},\n\t\t\tfalse\n\t\t)\n\t\tif (callback) {\n\t\t\timgEl.addEventListener(\"error\", callback as EventListenerOrEventListenerObject, false)\n\t\t}\n\n\t\timgEl.src = imageUrl\n\t}\n\tprocessQueue(): void {\n\t\tconst processingLength = this.uploadingFiles.length\n\t\tif (processingLength >= this.maxConcurrentUploads || this.queuedFiles.length === 0) {\n\t\t\treturn\n\t\t}\n\n\t\tconst queuedFiles = [...this.queuedFiles]\n\t\tif (this.uploadMultiple) {\n\t\t\treturn this.processFiles(queuedFiles.slice(0, this.maxConcurrentUploads - processingLength))\n\t\t} else {\n\t\t\tfor (let i = processingLength; i < this.maxConcurrentUploads; i++) {\n\t\t\t\tif (queuedFiles.length) {\n\t\t\t\t\tthis.processFile(queuedFiles.shift())\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tprocessFile(file: VTransmitFile): void {\n\t\tthis.processFiles([file])\n\t}\n\tprocessFiles(files: VTransmitFile[]): void {\n\t\tfor (const file of files) {\n\t\t\tfile.processing = true\n\t\t\tfile.status = STATUSES.UPLOADING\n\t\t\tthis.$emit(\"processing\", file)\n\t\t}\n\t\tif (this.uploadMultiple) {\n\t\t\tthis.$emit(\"processing-multiple\", files)\n\t\t}\n\n\t\treturn this.uploadFiles(files)\n\t}\n\tgetFilesWithXhr(xhr: XMLHttpRequest): VTransmitFile[] {\n\t\treturn this.files.filter(file => file.xhr === xhr)\n\t}\n\tcancelUpload(file: VTransmitFile): void {\n\t\tif (file.status === STATUSES.UPLOADING) {\n\t\t\tconst groupedFiles = this.getFilesWithXhr(file.xhr)\n\t\t\tfile.xhr.abort()\n\t\t\tfor (const f of groupedFiles) {\n\t\t\t\tf.status = STATUSES.CANCELED\n\t\t\t\tthis.$emit(\"canceled\", f)\n\t\t\t}\n\t\t\tif (this.uploadMultiple) {\n\t\t\t\tthis.$emit(\"canceled-multiple\", groupedFiles)\n\t\t\t}\n\t\t} else if (file.status === STATUSES.ADDED || file.status === STATUSES.QUEUED) {\n\t\t\tfile.status = STATUSES.CANCELED\n\t\t\tthis.$emit(\"canceled\", file)\n\t\t\tif (this.uploadMultiple) {\n\t\t\t\tthis.$emit(\"canceled-multiple\", [file])\n\t\t\t}\n\t\t}\n\n\t\tif (this.autoProcessQueue) {\n\t\t\tthis.processQueue()\n\t\t}\n\t}\n\tuploadFile(file: VTransmitFile): void {\n\t\tthis.uploadFiles([file])\n\t}\n\tuploadFiles(files: VTransmitFile[]): void {\n\t\tconst xhr = new XMLHttpRequest()\n\t\tfor (const file of files) {\n\t\t\tfile.xhr = xhr\n\t\t\tfile.startProgress()\n\t\t}\n\t\txhr.open(this.method, this.url, true)\n\t\t// Setting the timeout after open because of IE11 issue: https://gitlab.com/meno/dropzone/issues/8\n\t\txhr.timeout = this.timeout\n\t\txhr.withCredentials = Boolean(this.withCredentials)\n\t\txhr.responseType = this.responseType\n\n\t\tconst handleError = this.handleUploadError(files, xhr)\n\t\tconst updateProgress = this.handleUploadProgress(files)\n\t\txhr.addEventListener(\"error\", handleError)\n\t\txhr.upload.addEventListener(\"progress\", updateProgress)\n\t\txhr.addEventListener(\"timeout\", this.handleTimeout(files, xhr))\n\t\txhr.addEventListener(\"load\", e => {\n\t\t\tif (files[0].status === STATUSES.CANCELED || xhr.readyState !== XMLHttpRequest.DONE) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tlet response = xhr.response\n\n\t\t\tif (!xhr.responseType) {\n\t\t\t\tlet contentType = xhr.getResponseHeader(\"content-type\")\n\t\t\t\tresponse = xhr.responseText\n\n\t\t\t\tif (contentType && contentType.indexOf(\"application/json\") > -1) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tresponse = JSON.parse(response)\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tresponse = \"Invalid JSON response from server.\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Called at load (when complete) will enable all the progress done logic.\n\t\t\tupdateProgress()\n\t\t\tif (xhr.status < 200 || xhr.status >= 300) {\n\t\t\t\treturn handleError()\n\t\t\t} else {\n\t\t\t\treturn this.uploadFinished(files, response, e)\n\t\t\t}\n\t\t})\n\n\t\t// Use null proto obj for the following 'for in' loop\n\t\tconst headers = Object.assign(Object.create(null), this.defaultHeaders, this.headers)\n\t\tfor (const headerName in headers) {\n\t\t\tif (headers[headerName]) {\n\t\t\t\txhr.setRequestHeader(headerName, headers[headerName])\n\t\t\t}\n\t\t}\n\n\t\tconst formData = new FormData()\n\t\tfor (const key in this.params) {\n\t\t\tformData.append(key, this.params[key])\n\t\t}\n\n\t\tfor (const file of files) {\n\t\t\tthis.$emit(\"sending\", file, xhr, formData)\n\t\t}\n\t\tif (this.uploadMultiple) {\n\t\t\tthis.$emit(\"sending-multiple\", files, xhr, formData)\n\t\t}\n\n\t\tfor (let i = 0; i < files.length; i++) {\n\t\t\tformData.append(this.getParamName(i), files[i].nativeFile, this.renameFile(files[i].name))\n\t\t}\n\n\t\treturn xhr.send(formData)\n\t}\n\thandleUploadError(files: VTransmitFile[], xhr: XMLHttpRequest): () => void {\n\t\tconst vm = this\n\t\treturn function onUploadErrorFn(): void {\n\t\t\tif (files[0].status !== STATUSES.CANCELED) {\n\t\t\t\tconst message = vm.dictResponseError.replace(\n\t\t\t\t\thbsRegex,\n\t\t\t\t\thbsReplacer({ statusText: xhr.statusText, statusCode: xhr.status })\n\t\t\t\t)\n\t\t\t\tvm.errorProcessing(files, message, xhr)\n\t\t\t}\n\t\t}\n\t}\n\thandleTimeout(files: VTransmitFile[], xhr: XMLHttpRequest): (e: Event) => void {\n\t\tconst vm = this\n\t\treturn function onTimeoutFn(e: Event): void {\n\t\t\tfor (const file of files) {\n\t\t\t\tfile.status = STATUSES.TIMEOUT\n\t\t\t\tfile.endProgress()\n\t\t\t\tvm.$emit(\"timeout\", file, e, xhr)\n\t\t\t}\n\t\t\tvm.$emit(\"timeout-multiple\", files, e, xhr)\n\n\t\t\tif (this.autoProcessQueue) {\n\t\t\t\tthis.processQueue()\n\t\t\t}\n\t\t}\n\t}\n\thandleUploadProgress(files): (e?: ProgressEvent) => void {\n\t\tconst vm = this\n\t\treturn function onProgressFn(e?: ProgressEvent): void {\n\t\t\tif (e instanceof ProgressEvent) {\n\t\t\t\tfor (const file of files) {\n\t\t\t\t\tfile.handleProgress(e)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tlet allFilesFinished = true\n\t\t\t\tfor (const file of files) {\n\t\t\t\t\tif (file.upload.progress !== 100 || file.upload.bytesSent !== file.upload.total) {\n\t\t\t\t\t\tallFilesFinished = false\n\t\t\t\t\t}\n\t\t\t\t\tfile.upload.progress = 100\n\t\t\t\t\tfile.upload.bytesSent = file.upload.total\n\t\t\t\t\tfile.endProgress()\n\t\t\t\t}\n\t\t\t\tif (allFilesFinished) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (const file of files) {\n\t\t\t\tvm.$emit(\"upload-progress\", file, file.upload.progress, file.upload.bytesSent)\n\t\t\t}\n\t\t}\n\t}\n\tupdateTotalUploadProgress(): void {\n\t\tconst progress = this.activeFiles.reduce(\n\t\t\t(memo, file) => {\n\t\t\t\tmemo.totalBytesSent += file.upload.bytesSent\n\t\t\t\tmemo.totalBytes += file.upload.total\n\t\t\t\treturn memo\n\t\t\t},\n\t\t\t{ totalBytesSent: 0, totalBytes: 0, totalProgress: 100 }\n\t\t)\n\n\t\tif (this.activeFiles.length) {\n\t\t\tprogress.totalProgress = 100 * progress.totalBytesSent / progress.totalBytes\n\t\t}\n\n\t\tthis.$emit(\"total-upload-progress\", progress)\n\t}\n\tgetParamName(index): string {\n\t\treturn this.paramName + (this.uploadMultiple ? `[${index}]` : \"\")\n\t}\n\tuploadFinished(files: VTransmitFile[], response: string | object | any[], e: Event): void {\n\t\tfor (const file of files) {\n\t\t\tfile.status = STATUSES.SUCCESS\n\t\t\tfile.endProgress()\n\t\t\tthis.$emit(\"success\", file, response, e)\n\t\t\tthis.$emit(\"complete\", file)\n\t\t}\n\n\t\tif (this.uploadMultiple) {\n\t\t\tthis.$emit(\"success-multiple\", files, response, e)\n\t\t\tthis.$emit(\"complete-multiple\", files)\n\t\t}\n\n\t\tif (this.autoProcessQueue) {\n\t\t\tthis.processQueue()\n\t\t}\n\t}\n\terrorProcessing(files: VTransmitFile[], message: string, xhr?: XMLHttpRequest) {\n\t\tfor (const file of files) {\n\t\t\tfile.status = STATUSES.ERROR\n\t\t\tfile.endProgress()\n\t\t\tthis.$emit(\"error\", file, message, xhr)\n\t\t\tthis.$emit(\"complete\", file)\n\t\t}\n\n\t\tif (this.uploadMultiple) {\n\t\t\tthis.$emit(\"error-multiple\", files, message, xhr)\n\t\t\tthis.$emit(\"complete-multiple\", files)\n\t\t}\n\n\t\tif (this.autoProcessQueue) {\n\t\t\treturn this.processQueue()\n\t\t}\n\t}\n\tacceptFile(file: VTransmitFile, done: Function): void {\n\t\tif (file.size > this.maxFileSize * 1024 * 1024) {\n\t\t\tdone(\n\t\t\t\tthis.dictFileTooBig.replace(\n\t\t\t\t\thbsRegex,\n\t\t\t\t\thbsReplacer({\n\t\t\t\t\t\tfileSize: Math.round(file.size / 1024 / 10.24) / 100,\n\t\t\t\t\t\tmaxFileSize: this.maxFileSize,\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t\t)\n\t\t} else if (!this.isValidFileType(file, this.acceptedFileTypes)) {\n\t\t\tdone(this.dictInvalidFileType)\n\t\t} else if (this.maxFiles != null && this.acceptedFiles.length >= this.maxFiles) {\n\t\t\tdone(this.dictMaxFilesExceeded.replace(hbsRegex, hbsReplacer({ maxFiles: this.maxFiles })))\n\t\t\tthis.$emit(\"max-files-exceeded\", file)\n\t\t} else {\n\t\t\t// Call the prop callback for the client to validate.\n\t\t\tthis.accept(file, done)\n\t\t}\n\t}\n\tisValidFileType(file: VTransmitFile, acceptedFileTypes: string[]): boolean {\n\t\tif (!acceptedFileTypes.length) {\n\t\t\treturn true\n\t\t}\n\t\tconst mimeType = file.type\n\t\tconst baseMimeType = mimeType.replace(/\\/.*$/, \"\")\n\t\t// Return true on the first condition match,\n\t\t// otherwise exhaust all conditions and return false.\n\t\tfor (let i = 0; i < acceptedFileTypes.length; i++) {\n\t\t\tconst validType = acceptedFileTypes[i]\n\t\t\tif (validType.charAt(0) === \".\") {\n\t\t\t\t// Handle extension validation\n\t\t\t\t// Ensure extension exists at the end of the filename.\n\t\t\t\tif (file.name.toLowerCase().indexOf(validType.toLowerCase(), file.name.length - validType.length) !== -1) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t} else if (/\\/\\*$/.test(validType)) {\n\t\t\t\t// Handle globbed mimetype validation (\"image/*\")\n\t\t\t\tif (baseMimeType === validType.replace(/\\/.*$/, \"\")) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (mimeType === validType) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn false\n\t}\n\thandleDragStart(e: DragEvent): void {\n\t\tthis.$emit(\"drag-start\", e)\n\t}\n\thandleDragOver(e: DragEvent): void {\n\t\tthis.dragging = true\n\t\tlet effect\n\t\ttry {\n\t\t\t// Handle browser bug\n\t\t\teffect = e.dataTransfer.effectAllowed\n\t\t} catch (error) {}\n\t\te.dataTransfer.dropEffect = effect === \"move\" || effect === \"linkMove\" ? \"move\" : \"copy\"\n\t\tthis.$emit(\"drag-over\", e)\n\t}\n\thandleDragEnter(e: DragEvent): void {\n\t\tthis.dragging = true\n\t\tthis.$emit(\"drag-enter\", e)\n\t}\n\thandleDragLeave(e: DragEvent): void {\n\t\tthis.dragging = false\n\t\tthis.$emit(\"drag-leave\", e)\n\t}\n\thandleDragEnd(e: DragEvent): void {\n\t\tthis.dragging = false\n\t\tthis.$emit(\"drag-end\", e)\n\t}\n\thandleDrop(e: DragEvent): void {\n\t\tthis.dragging = false\n\t\tif (!e.dataTransfer) {\n\t\t\treturn\n\t\t}\n\t\tthis.$emit(\"drop\", e)\n\t\tconst files = Array.from(e.dataTransfer.files)\n\n\t\tthis.$emit(\"added-files\", files)\n\t\tif (files.length && e.dataTransfer.items) {\n\t\t\tconst items = Array.from(e.dataTransfer.items)\n\t\t\tif (items && items.length && items[0].webkitGetAsEntry) {\n\t\t\t\tthis.addFilesFromItems(items)\n\t\t\t} else {\n\t\t\t\tthis.handleFiles(files)\n\t\t\t}\n\t\t} else {\n\t\t\tthis.handleFiles(files)\n\t\t}\n\t}\n\tpaste(e: ClipboardEvent): void {\n\t\tif (!e || !e.clipboardData || !e.clipboardData.items) {\n\t\t\treturn\n\t\t}\n\t\tthis.$emit(\"paste\", e)\n\t\tconst items = Array.from(e.clipboardData.items)\n\t\tif (items.length) {\n\t\t\tthis.addFilesFromItems(items)\n\t\t}\n\t}\n\thandleFiles(files: File[]): VTransmitFile[] {\n\t\treturn files.map(this.addFile)\n\t}\n\taddFilesFromItems(items: DataTransferItem[]): void {\n\t\tfor (const item of items) {\n\t\t\t// Newer API on standards track\n\t\t\tif (item.getAsFile && item.kind == \"file\") {\n\t\t\t\tthis.addFile(item.getAsFile())\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t// Vendor prefixed experimental API\n\t\t\tif (item.webkitGetAsEntry) {\n\t\t\t\tconst entry: FileSystemEntry = item.webkitGetAsEntry()\n\n\t\t\t\tif (entry == null) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif (webkitIsFile(entry)) {\n\t\t\t\t\tentry.file(this.addFile as any, console.error)\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif (webkitIsDir(entry)) {\n\t\t\t\t\tthis.addFilesFromDirectory(entry, entry.name)\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\taddFilesFromDirectory(directory: WebKitDirectoryEntry, path): void {\n\t\tdirectory.createReader().readEntries(\n\t\t\t((entries: FileSystemEntry[]) => {\n\t\t\t\tfor (const entry of entries) {\n\t\t\t\t\tif (entry == null) {\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t\tif (webkitIsDir(entry)) {\n\t\t\t\t\t\tthis.addFilesFromDirectory(entry, `${path}/${entry.name}`)\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t\tif (webkitIsFile(entry)) {\n\t\t\t\t\t\tentry.file(\n\t\t\t\t\t\t\t((file: File) => {\n\t\t\t\t\t\t\t\tif (this.ignoreHiddenFiles && /^\\./.test(file.name)) {\n\t\t\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t;(file as any).fullPath = `${path}/${file.name}`\n\t\t\t\t\t\t\t\tthis.addFile(file)\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tconsole.error\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}),\n\t\t\tconsole.error\n\t\t)\n\t}\n\n\tmounted() {\n\t\tthis.$on(\"upload-progress\", this.updateTotalUploadProgress)\n\t\tthis.$on(\"removed-file\", this.updateTotalUploadProgress)\n\t\tthis.$on(\"canceled\", file => this.$emit(\"complete\", file))\n\t\tthis.$on(\"complete\", file => {\n\t\t\tif (this.addedFiles.length === 0 && this.uploadingFiles.length === 0 && this.queuedFiles.length === 0) {\n\t\t\t\tsetTimeout(() => this.$emit(\"queue-complete\", file), 0)\n\t\t\t}\n\t\t})\n\n\t\tthis.$emit(\"initialize\", this)\n\t}\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/vue-loader/lib/selector.js?type=script&index=0!./src/components/VueTransmit.vue","import VTransmitFile from \"../classes/VTransmitFile\"\n\nexport const assign = Object.assign\nexport const defineProperty = Object.defineProperty\n\nlet idCounter = 0\nexport function uniqueId(prefix: string): string {\n\tvar id = ++idCounter\n\treturn prefix + id\n}\n\nexport function copyOwnAndInheritedProps(obj: object): object {\n\tlet newData = {}\n\tfor (let prop in obj) {\n\t\tif (typeof obj[prop] !== \"function\") {\n\t\t\tnewData[prop] = obj[prop]\n\t\t}\n\t}\n\treturn newData\n}\n\nexport type Rounding = \"round\" | \"ceil\" | \"floor\" | \"trunc\"\n\nexport function round(number: number, decimals: number = 2, roundStyle: Rounding = \"round\") {\n\tconst roundingFactor = Math.pow(10, decimals)\n\treturn Math[roundStyle](number * roundingFactor) / roundingFactor\n}\n\nexport function fromBytesToKbit(bytes: number): number {\n\treturn bytes / 125\n}\n\nexport function fromBytesToMbit(bytes: number): number {\n\treturn bytes / 125000\n}\n\nexport function toKbps(bytes: number, seconds: number): number {\n\treturn fromBytesToKbit(bytes) / seconds\n}\n\nexport function toMbps(bytes: number, seconds: number): number {\n\treturn fromBytesToMbit(bytes) / seconds\n}\n\nexport const hbsRegex = /{{\\s*?([a-zA-Z]+)\\s*?}}/g\nexport function hbsReplacer(context: object = {}) {\n\treturn function hbsReplacerFn(match: string, capture: string) {\n\t\treturn context[capture] !== undefined ? context[capture] : match\n\t}\n}\n\nexport function objFactory() {\n\treturn {}\n}\n\nexport function scaleH(ratio: number, width: number): number {\n\treturn width / ratio\n}\n\nexport function scaleW(ratio: number, height: number): number {\n\treturn height * ratio\n}\n\nexport function scaleDims(ratio: number, width?: number, height?: number): number[] {\n\treturn typeof width === \"number\" ? [width, scaleH(ratio, width)] : [scaleW(ratio, height), height]\n}\n\nexport interface IDrawImageArgs {\n\tsx: number\n\tsy: number\n\tsWidth: number\n\tsHeight: number\n\tdx: number\n\tdy: number\n\tdWidth: number\n\tdHeight: number\n}\n\nexport interface IDimensions {\n\twidth: number\n\theight: number\n}\n\nexport function resizeImg(file: VTransmitFile, dims: IDimensions): IDrawImageArgs {\n\t// Extract the object's primitive values so we don't mutate the input\n\tconst sRatio = file.width / file.height\n\tconst dRatio = dims.width / dims.height\n\tconst imgCoords = {\n\t\tsx: 0,\n\t\tsy: 0,\n\t\tsWidth: file.width,\n\t\tsHeight: file.height,\n\t\tdx: 0,\n\t\tdy: 0,\n\t\tdWidth: dims.width,\n\t\tdHeight: dims.height,\n\t}\n\n\tlet w, h\n\tif (dRatio > sRatio) {\n\t\t;[w, h] = scaleDims(dRatio, file.width)\n\t} else {\n\t\t;[w, h] = scaleDims(dRatio, undefined, file.height)\n\t}\n\n\tif (w < file.width) {\n\t\timgCoords.sx = (file.width - w) / 2\n\t\timgCoords.sWidth = w\n\t}\n\tif (h < file.height) {\n\t\timgCoords.sy = (file.height - h) / 2\n\t\timgCoords.sHeight = h\n\t}\n\n\treturn imgCoords\n}\n\nexport function webkitIsFile(entry: WebKitFileEntry | WebKitDirectoryEntry): entry is WebKitFileEntry {\n\treturn entry.isFile\n}\n\nexport function webkitIsDir(entry: WebKitFileEntry | WebKitDirectoryEntry): entry is WebKitDirectoryEntry {\n\treturn entry.isDirectory\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/core/utils.ts","import { VueTransmit } from \"./src\"\n\nexport default {\n\tinstall(Vue, _options) {\n\t\tVue.component(\"VueTransmit\", VueTransmit)\n\t},\n\tname: \"vue-transmit\",\n}\n\n\n\n// WEBPACK FOOTER //\n// ./index.ts","import VueTransmit from \"./components/VueTransmit.vue\"\n\nexport { VueTransmit }\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.ts","function injectStyle (ssrContext) {\n require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-61e675b9\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader!postcss-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./VueTransmit.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!vue-ts-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./VueTransmit.vue\"\nimport __vue_script__ from \"!!babel-loader!vue-ts-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./VueTransmit.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-61e675b9\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./VueTransmit.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/VueTransmit.vue\n// module id = 5\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/extract-text-webpack-plugin/dist/loader.js?{\"omit\":1,\"remove\":true}!./node_modules/vue-style-loader!./node_modules/css-loader!./node_modules/vue-loader/lib/style-compiler?{\"vue\":true,\"id\":\"data-v-61e675b9\",\"scoped\":false,\"hasInlineConfig\":false}!./node_modules/sass-loader/lib/loader.js!./node_modules/postcss-loader/lib?{\"sourceMap\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./src/components/VueTransmit.vue\n// module id = 6\n// module chunks = 0","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file.\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nmodule.exports = function normalizeComponent (\n rawScriptExports,\n compiledTemplate,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */\n) {\n var esModule\n var scriptExports = rawScriptExports = rawScriptExports || {}\n\n // ES6 modules interop\n var type = typeof rawScriptExports.default\n if (type === 'object' || type === 'function') {\n esModule = rawScriptExports\n scriptExports = rawScriptExports.default\n }\n\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (compiledTemplate) {\n options.render = compiledTemplate.render\n options.staticRenderFns = compiledTemplate.staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = injectStyles\n }\n\n if (hook) {\n var functional = options.functional\n var existing = functional\n ? options.render\n : options.beforeCreate\n\n if (!functional) {\n // inject component registration as beforeCreate hook\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n } else {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return existing(h, context)\n }\n }\n }\n\n return {\n esModule: esModule,\n exports: scriptExports,\n options: options\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/component-normalizer.js\n// module id = 7\n// module chunks = 0","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('vue'), require('vue-class-component'), require('reflect-metadata')) :\n\ttypeof define === 'function' && define.amd ? define(['exports', 'vue', 'vue-class-component', 'reflect-metadata'], factory) :\n\t(factory((global.VuePropertyDecorator = {}),global.Vue,global.VueClassComponent));\n}(this, (function (exports,vue,vueClassComponent) { 'use strict';\n\nvue = vue && vue.hasOwnProperty('default') ? vue['default'] : vue;\nvar vueClassComponent__default = 'default' in vueClassComponent ? vueClassComponent['default'] : vueClassComponent;\n\n/** vue-property-decorator verson 6.0.0 MIT LICENSE copyright 2017 kaorun343 */\n'use strict';\n/**\n * decorator of an inject\n * @param key key\n * @return PropertyDecorator\n */\nfunction Inject(key) {\n return vueClassComponent.createDecorator(function (componentOptions, k) {\n if (typeof componentOptions.inject === 'undefined') {\n componentOptions.inject = {};\n }\n if (!Array.isArray(componentOptions.inject)) {\n componentOptions.inject[k] = key || k;\n }\n });\n}\n/**\n * decorator of a provide\n * @param key key\n * @return PropertyDecorator | void\n */\nfunction Provide(key) {\n return vueClassComponent.createDecorator(function (componentOptions, k) {\n var provide = componentOptions.provide;\n if (typeof provide !== 'function' || !provide.managed) {\n var original_1 = componentOptions.provide;\n provide = componentOptions.provide = function () {\n var rv = Object.create((typeof original_1 === 'function' ? original_1.call(this) : original_1) || null);\n for (var i in provide.managed)\n rv[provide.managed[i]] = this[i];\n return rv;\n };\n provide.managed = {};\n }\n provide.managed[k] = key || k;\n });\n}\n/**\n * decorator of model\n * @param event event name\n * @return PropertyDecorator\n */\nfunction Model(event, options) {\n if (options === void 0) { options = {}; }\n return function (target, key) {\n if (!Array.isArray(options) && typeof options.type === 'undefined') {\n options.type = Reflect.getMetadata('design:type', target, key);\n }\n vueClassComponent.createDecorator(function (componentOptions, k) {\n (componentOptions.props || (componentOptions.props = {}))[k] = options;\n componentOptions.model = { prop: k, event: event || k };\n })(target, key);\n };\n}\n/**\n * decorator of a prop\n * @param options the options for the prop\n * @return PropertyDecorator | void\n */\nfunction Prop(options) {\n if (options === void 0) { options = {}; }\n return function (target, key) {\n if (!Array.isArray(options) && typeof options.type === 'undefined') {\n options.type = Reflect.getMetadata('design:type', target, key);\n }\n vueClassComponent.createDecorator(function (componentOptions, k) {\n (componentOptions.props || (componentOptions.props = {}))[k] = options;\n })(target, key);\n };\n}\n/**\n * decorator of a watch function\n * @param path the path or the expression to observe\n * @param WatchOption\n * @return MethodDecorator\n */\nfunction Watch(path, options) {\n if (options === void 0) { options = {}; }\n var _a = options.deep, deep = _a === void 0 ? false : _a, _b = options.immediate, immediate = _b === void 0 ? false : _b;\n return vueClassComponent.createDecorator(function (componentOptions, handler) {\n if (typeof componentOptions.watch !== 'object') {\n componentOptions.watch = Object.create(null);\n }\n componentOptions.watch[path] = { handler: handler, deep: deep, immediate: immediate };\n });\n}\n// Code copied from Vue/src/shared/util.js\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = function (str) { return str.replace(hyphenateRE, '-$1').toLowerCase(); };\n/**\n * decorator of an event-emitter function\n * @param event The name of the event\n * @return MethodDecorator\n */\nfunction Emit(event) {\n return function (target, key, descriptor) {\n key = hyphenate(key);\n var original = descriptor.value;\n descriptor.value = function emitter() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (original.apply(this, args) !== false)\n this.$emit.apply(this, [event || key].concat(args));\n };\n };\n}\n\nexports.Component = vueClassComponent__default;\nexports.Vue = vue;\nexports.Inject = Inject;\nexports.Provide = Provide;\nexports.Model = Model;\nexports.Prop = Prop;\nexports.Watch = Watch;\nexports.Emit = Emit;\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-property-decorator/lib/vue-property-decorator.umd.js\n// module id = 8\n// module chunks = 0","/**\n * vue-class-component v6.1.2\n * (c) 2015-2017 Evan You\n * @license MIT\n */\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar Vue = _interopDefault(require('vue'));\n\nvar hasProto = { __proto__: [] } instanceof Array;\nfunction createDecorator(factory) {\n return function (target, key, index) {\n var Ctor = typeof target === 'function'\n ? target\n : target.constructor;\n if (!Ctor.__decorators__) {\n Ctor.__decorators__ = [];\n }\n if (typeof index !== 'number') {\n index = undefined;\n }\n Ctor.__decorators__.push(function (options) { return factory(options, key, index); });\n };\n}\nfunction isPrimitive(value) {\n var type = typeof value;\n return value == null || (type !== \"object\" && type !== \"function\");\n}\nfunction warn(message) {\n if (typeof console !== 'undefined') {\n console.warn('[vue-class-component] ' + message);\n }\n}\n\nfunction collectDataFromConstructor(vm, Component) {\n var originalInit = Component.prototype._init;\n Component.prototype._init = function () {\n var _this = this;\n var keys = Object.getOwnPropertyNames(vm);\n if (vm.$options.props) {\n for (var key in vm.$options.props) {\n if (!vm.hasOwnProperty(key)) {\n keys.push(key);\n }\n }\n }\n keys.forEach(function (key) {\n if (key.charAt(0) !== '_') {\n Object.defineProperty(_this, key, {\n get: function () { return vm[key]; },\n set: function (value) { return vm[key] = value; },\n configurable: true\n });\n }\n });\n };\n var data = new Component();\n Component.prototype._init = originalInit;\n var plainData = {};\n Object.keys(data).forEach(function (key) {\n if (data[key] !== undefined) {\n plainData[key] = data[key];\n }\n });\n if (process.env.NODE_ENV !== 'production') {\n if (!(Component.prototype instanceof Vue) && Object.keys(plainData).length > 0) {\n warn('Component class must inherit Vue or its descendant class ' +\n 'when class property is used.');\n }\n }\n return plainData;\n}\n\nvar $internalHooks = [\n 'data',\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeDestroy',\n 'destroyed',\n 'beforeUpdate',\n 'updated',\n 'activated',\n 'deactivated',\n 'render',\n 'errorCaptured'\n];\nfunction componentFactory(Component, options) {\n if (options === void 0) { options = {}; }\n options.name = options.name || Component._componentTag || Component.name;\n var proto = Component.prototype;\n Object.getOwnPropertyNames(proto).forEach(function (key) {\n if (key === 'constructor') {\n return;\n }\n if ($internalHooks.indexOf(key) > -1) {\n options[key] = proto[key];\n return;\n }\n var descriptor = Object.getOwnPropertyDescriptor(proto, key);\n if (typeof descriptor.value === 'function') {\n (options.methods || (options.methods = {}))[key] = descriptor.value;\n }\n else if (descriptor.get || descriptor.set) {\n (options.computed || (options.computed = {}))[key] = {\n get: descriptor.get,\n set: descriptor.set\n };\n }\n });\n (options.mixins || (options.mixins = [])).push({\n data: function () {\n return collectDataFromConstructor(this, Component);\n }\n });\n var decorators = Component.__decorators__;\n if (decorators) {\n decorators.forEach(function (fn) { return fn(options); });\n delete Component.__decorators__;\n }\n var superProto = Object.getPrototypeOf(Component.prototype);\n var Super = superProto instanceof Vue\n ? superProto.constructor\n : Vue;\n var Extended = Super.extend(options);\n forwardStaticMembers(Extended, Component, Super);\n return Extended;\n}\nvar reservedPropertyNames = [\n 'cid',\n 'super',\n 'options',\n 'superOptions',\n 'extendOptions',\n 'sealedOptions',\n 'component',\n 'directive',\n 'filter'\n];\nfunction forwardStaticMembers(Extended, Original, Super) {\n Object.getOwnPropertyNames(Original).forEach(function (key) {\n if (key === 'prototype') {\n return;\n }\n var extendedDescriptor = Object.getOwnPropertyDescriptor(Extended, key);\n if (extendedDescriptor && !extendedDescriptor.configurable) {\n return;\n }\n var descriptor = Object.getOwnPropertyDescriptor(Original, key);\n if (!hasProto) {\n if (key === 'cid') {\n return;\n }\n var superDescriptor = Object.getOwnPropertyDescriptor(Super, key);\n if (!isPrimitive(descriptor.value)\n && superDescriptor\n && superDescriptor.value === descriptor.value) {\n return;\n }\n }\n if (process.env.NODE_ENV !== 'production'\n && reservedPropertyNames.indexOf(key) >= 0) {\n warn(\"Static property name '\" + key + \"' declared on class '\" + Original.name + \"' \" +\n 'conflicts with reserved property name of Vue internal. ' +\n 'It may cause unexpected behavior of the component. Consider renaming the property.');\n }\n Object.defineProperty(Extended, key, descriptor);\n });\n}\n\nfunction Component(options) {\n if (typeof options === 'function') {\n return componentFactory(options);\n }\n return function (Component) {\n return componentFactory(Component, options);\n };\n}\n(function (Component) {\n function registerHooks(keys) {\n $internalHooks.push.apply($internalHooks, keys);\n }\n Component.registerHooks = registerHooks;\n})(Component || (Component = {}));\nvar Component$1 = Component;\n\nexports['default'] = Component$1;\nexports.createDecorator = createDecorator;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-class-component/dist/vue-class-component.common.js\n// module id = 9\n// module chunks = 0","/*! *****************************************************************************\r\nCopyright (C) Microsoft. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\nvar Reflect;\r\n(function (Reflect) {\r\n \"use strict\";\r\n var hasOwn = Object.prototype.hasOwnProperty;\r\n // feature test for Symbol support\r\n var supportsSymbol = typeof Symbol === \"function\";\r\n var toPrimitiveSymbol = supportsSymbol && typeof Symbol.toPrimitive !== \"undefined\" ? Symbol.toPrimitive : \"@@toPrimitive\";\r\n var iteratorSymbol = supportsSymbol && typeof Symbol.iterator !== \"undefined\" ? Symbol.iterator : \"@@iterator\";\r\n var HashMap;\r\n (function (HashMap) {\r\n var supportsCreate = typeof Object.create === \"function\"; // feature test for Object.create support\r\n var supportsProto = { __proto__: [] } instanceof Array; // feature test for __proto__ support\r\n var downLevel = !supportsCreate && !supportsProto;\r\n // create an object in dictionary mode (a.k.a. \"slow\" mode in v8)\r\n HashMap.create = supportsCreate\r\n ? function () { return MakeDictionary(Object.create(null)); }\r\n : supportsProto\r\n ? function () { return MakeDictionary({ __proto__: null }); }\r\n : function () { return MakeDictionary({}); };\r\n HashMap.has = downLevel\r\n ? function (map, key) { return hasOwn.call(map, key); }\r\n : function (map, key) { return key in map; };\r\n HashMap.get = downLevel\r\n ? function (map, key) { return hasOwn.call(map, key) ? map[key] : undefined; }\r\n : function (map, key) { return map[key]; };\r\n })(HashMap || (HashMap = {}));\r\n // Load global or shim versions of Map, Set, and WeakMap\r\n var functionPrototype = Object.getPrototypeOf(Function);\r\n var usePolyfill = typeof process === \"object\" && process.env && process.env[\"REFLECT_METADATA_USE_MAP_POLYFILL\"] === \"true\";\r\n var _Map = !usePolyfill && typeof Map === \"function\" && typeof Map.prototype.entries === \"function\" ? Map : CreateMapPolyfill();\r\n var _Set = !usePolyfill && typeof Set === \"function\" && typeof Set.prototype.entries === \"function\" ? Set : CreateSetPolyfill();\r\n var _WeakMap = !usePolyfill && typeof WeakMap === \"function\" ? WeakMap : CreateWeakMapPolyfill();\r\n // [[Metadata]] internal slot\r\n // https://rbuckton.github.io/reflect-metadata/#ordinary-object-internal-methods-and-internal-slots\r\n var Metadata = new _WeakMap();\r\n /**\r\n * Applies a set of decorators to a property of a target object.\r\n * @param decorators An array of decorators.\r\n * @param target The target object.\r\n * @param propertyKey (Optional) The property key to decorate.\r\n * @param attributes (Optional) The property descriptor for the target key.\r\n * @remarks Decorators are applied in reverse order.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * Example = Reflect.decorate(decoratorsArray, Example);\r\n *\r\n * // property (on constructor)\r\n * Reflect.decorate(decoratorsArray, Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * Reflect.decorate(decoratorsArray, Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * Object.defineProperty(Example, \"staticMethod\",\r\n * Reflect.decorate(decoratorsArray, Example, \"staticMethod\",\r\n * Object.getOwnPropertyDescriptor(Example, \"staticMethod\")));\r\n *\r\n * // method (on prototype)\r\n * Object.defineProperty(Example.prototype, \"method\",\r\n * Reflect.decorate(decoratorsArray, Example.prototype, \"method\",\r\n * Object.getOwnPropertyDescriptor(Example.prototype, \"method\")));\r\n *\r\n */\r\n function decorate(decorators, target, propertyKey, attributes) {\r\n if (!IsUndefined(propertyKey)) {\r\n if (!IsArray(decorators))\r\n throw new TypeError();\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsObject(attributes) && !IsUndefined(attributes) && !IsNull(attributes))\r\n throw new TypeError();\r\n if (IsNull(attributes))\r\n attributes = undefined;\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return DecorateProperty(decorators, target, propertyKey, attributes);\r\n }\r\n else {\r\n if (!IsArray(decorators))\r\n throw new TypeError();\r\n if (!IsConstructor(target))\r\n throw new TypeError();\r\n return DecorateConstructor(decorators, target);\r\n }\r\n }\r\n Reflect.decorate = decorate;\r\n // 4.1.2 Reflect.metadata(metadataKey, metadataValue)\r\n // https://rbuckton.github.io/reflect-metadata/#reflect.metadata\r\n /**\r\n * A default metadata decorator factory that can be used on a class, class member, or parameter.\r\n * @param metadataKey The key for the metadata entry.\r\n * @param metadataValue The value for the metadata entry.\r\n * @returns A decorator function.\r\n * @remarks\r\n * If `metadataKey` is already defined for the target and target key, the\r\n * metadataValue for that key will be overwritten.\r\n * @example\r\n *\r\n * // constructor\r\n * @Reflect.metadata(key, value)\r\n * class Example {\r\n * }\r\n *\r\n * // property (on constructor, TypeScript only)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * static staticProperty;\r\n * }\r\n *\r\n * // property (on prototype, TypeScript only)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * property;\r\n * }\r\n *\r\n * // method (on constructor)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * static staticMethod() { }\r\n * }\r\n *\r\n * // method (on prototype)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * method() { }\r\n * }\r\n *\r\n */\r\n function metadata(metadataKey, metadataValue) {\r\n function decorator(target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey) && !IsPropertyKey(propertyKey))\r\n throw new TypeError();\r\n OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey);\r\n }\r\n return decorator;\r\n }\r\n Reflect.metadata = metadata;\r\n /**\r\n * Define a unique metadata entry on the target.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param metadataValue A value that contains attached metadata.\r\n * @param target The target object on which to define metadata.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example);\r\n *\r\n * // property (on constructor)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example.prototype, \"method\");\r\n *\r\n * // decorator factory as metadata-producing annotation.\r\n * function MyAnnotation(options): Decorator {\r\n * return (target, key?) => Reflect.defineMetadata(\"custom:annotation\", options, target, key);\r\n * }\r\n *\r\n */\r\n function defineMetadata(metadataKey, metadataValue, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey);\r\n }\r\n Reflect.defineMetadata = defineMetadata;\r\n /**\r\n * Gets a value indicating whether the target object or its prototype chain has the provided metadata key defined.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns `true` if the metadata key was defined on the target object or its prototype chain; otherwise, `false`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function hasMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryHasMetadata(metadataKey, target, propertyKey);\r\n }\r\n Reflect.hasMetadata = hasMetadata;\r\n /**\r\n * Gets a value indicating whether the target object has the provided metadata key defined.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns `true` if the metadata key was defined on the target object; otherwise, `false`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function hasOwnMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryHasOwnMetadata(metadataKey, target, propertyKey);\r\n }\r\n Reflect.hasOwnMetadata = hasOwnMetadata;\r\n /**\r\n * Gets the metadata value for the provided metadata key on the target object or its prototype chain.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns The metadata value for the metadata key if found; otherwise, `undefined`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function getMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryGetMetadata(metadataKey, target, propertyKey);\r\n }\r\n Reflect.getMetadata = getMetadata;\r\n /**\r\n * Gets the metadata value for the provided metadata key on the target object.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns The metadata value for the metadata key if found; otherwise, `undefined`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function getOwnMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryGetOwnMetadata(metadataKey, target, propertyKey);\r\n }\r\n Reflect.getOwnMetadata = getOwnMetadata;\r\n /**\r\n * Gets the metadata keys defined on the target object or its prototype chain.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns An array of unique metadata keys.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getMetadataKeys(Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getMetadataKeys(Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getMetadataKeys(Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getMetadataKeys(Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getMetadataKeys(Example.prototype, \"method\");\r\n *\r\n */\r\n function getMetadataKeys(target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryMetadataKeys(target, propertyKey);\r\n }\r\n Reflect.getMetadataKeys = getMetadataKeys;\r\n /**\r\n * Gets the unique metadata keys defined on the target object.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns An array of unique metadata keys.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getOwnMetadataKeys(Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getOwnMetadataKeys(Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getOwnMetadataKeys(Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getOwnMetadataKeys(Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getOwnMetadataKeys(Example.prototype, \"method\");\r\n *\r\n */\r\n function getOwnMetadataKeys(target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryOwnMetadataKeys(target, propertyKey);\r\n }\r\n Reflect.getOwnMetadataKeys = getOwnMetadataKeys;\r\n /**\r\n * Deletes the metadata entry from the target object with the provided key.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns `true` if the metadata entry was found and deleted; otherwise, false.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function deleteMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n var metadataMap = GetOrCreateMetadataMap(target, propertyKey, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return false;\r\n if (!metadataMap.delete(metadataKey))\r\n return false;\r\n if (metadataMap.size > 0)\r\n return true;\r\n var targetMetadata = Metadata.get(target);\r\n targetMetadata.delete(propertyKey);\r\n if (targetMetadata.size > 0)\r\n return true;\r\n Metadata.delete(target);\r\n return true;\r\n }\r\n Reflect.deleteMetadata = deleteMetadata;\r\n function DecorateConstructor(decorators, target) {\r\n for (var i = decorators.length - 1; i >= 0; --i) {\r\n var decorator = decorators[i];\r\n var decorated = decorator(target);\r\n if (!IsUndefined(decorated) && !IsNull(decorated)) {\r\n if (!IsConstructor(decorated))\r\n throw new TypeError();\r\n target = decorated;\r\n }\r\n }\r\n return target;\r\n }\r\n function DecorateProperty(decorators, target, propertyKey, descriptor) {\r\n for (var i = decorators.length - 1; i >= 0; --i) {\r\n var decorator = decorators[i];\r\n var decorated = decorator(target, propertyKey, descriptor);\r\n if (!IsUndefined(decorated) && !IsNull(decorated)) {\r\n if (!IsObject(decorated))\r\n throw new TypeError();\r\n descriptor = decorated;\r\n }\r\n }\r\n return descriptor;\r\n }\r\n function GetOrCreateMetadataMap(O, P, Create) {\r\n var targetMetadata = Metadata.get(O);\r\n if (IsUndefined(targetMetadata)) {\r\n if (!Create)\r\n return undefined;\r\n targetMetadata = new _Map();\r\n Metadata.set(O, targetMetadata);\r\n }\r\n var metadataMap = targetMetadata.get(P);\r\n if (IsUndefined(metadataMap)) {\r\n if (!Create)\r\n return undefined;\r\n metadataMap = new _Map();\r\n targetMetadata.set(P, metadataMap);\r\n }\r\n return metadataMap;\r\n }\r\n // 3.1.1.1 OrdinaryHasMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinaryhasmetadata\r\n function OrdinaryHasMetadata(MetadataKey, O, P) {\r\n var hasOwn = OrdinaryHasOwnMetadata(MetadataKey, O, P);\r\n if (hasOwn)\r\n return true;\r\n var parent = OrdinaryGetPrototypeOf(O);\r\n if (!IsNull(parent))\r\n return OrdinaryHasMetadata(MetadataKey, parent, P);\r\n return false;\r\n }\r\n // 3.1.2.1 OrdinaryHasOwnMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinaryhasownmetadata\r\n function OrdinaryHasOwnMetadata(MetadataKey, O, P) {\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return false;\r\n return ToBoolean(metadataMap.has(MetadataKey));\r\n }\r\n // 3.1.3.1 OrdinaryGetMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarygetmetadata\r\n function OrdinaryGetMetadata(MetadataKey, O, P) {\r\n var hasOwn = OrdinaryHasOwnMetadata(MetadataKey, O, P);\r\n if (hasOwn)\r\n return OrdinaryGetOwnMetadata(MetadataKey, O, P);\r\n var parent = OrdinaryGetPrototypeOf(O);\r\n if (!IsNull(parent))\r\n return OrdinaryGetMetadata(MetadataKey, parent, P);\r\n return undefined;\r\n }\r\n // 3.1.4.1 OrdinaryGetOwnMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarygetownmetadata\r\n function OrdinaryGetOwnMetadata(MetadataKey, O, P) {\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return undefined;\r\n return metadataMap.get(MetadataKey);\r\n }\r\n // 3.1.5.1 OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarydefineownmetadata\r\n function OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P) {\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ true);\r\n metadataMap.set(MetadataKey, MetadataValue);\r\n }\r\n // 3.1.6.1 OrdinaryMetadataKeys(O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarymetadatakeys\r\n function OrdinaryMetadataKeys(O, P) {\r\n var ownKeys = OrdinaryOwnMetadataKeys(O, P);\r\n var parent = OrdinaryGetPrototypeOf(O);\r\n if (parent === null)\r\n return ownKeys;\r\n var parentKeys = OrdinaryMetadataKeys(parent, P);\r\n if (parentKeys.length <= 0)\r\n return ownKeys;\r\n if (ownKeys.length <= 0)\r\n return parentKeys;\r\n var set = new _Set();\r\n var keys = [];\r\n for (var _i = 0, ownKeys_1 = ownKeys; _i < ownKeys_1.length; _i++) {\r\n var key = ownKeys_1[_i];\r\n var hasKey = set.has(key);\r\n if (!hasKey) {\r\n set.add(key);\r\n keys.push(key);\r\n }\r\n }\r\n for (var _a = 0, parentKeys_1 = parentKeys; _a < parentKeys_1.length; _a++) {\r\n var key = parentKeys_1[_a];\r\n var hasKey = set.has(key);\r\n if (!hasKey) {\r\n set.add(key);\r\n keys.push(key);\r\n }\r\n }\r\n return keys;\r\n }\r\n // 3.1.7.1 OrdinaryOwnMetadataKeys(O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinaryownmetadatakeys\r\n function OrdinaryOwnMetadataKeys(O, P) {\r\n var keys = [];\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return keys;\r\n var keysObj = metadataMap.keys();\r\n var iterator = GetIterator(keysObj);\r\n var k = 0;\r\n while (true) {\r\n var next = IteratorStep(iterator);\r\n if (!next) {\r\n keys.length = k;\r\n return keys;\r\n }\r\n var nextValue = IteratorValue(next);\r\n try {\r\n keys[k] = nextValue;\r\n }\r\n catch (e) {\r\n try {\r\n IteratorClose(iterator);\r\n }\r\n finally {\r\n throw e;\r\n }\r\n }\r\n k++;\r\n }\r\n }\r\n // 6 ECMAScript Data Typ0es and Values\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-data-types-and-values\r\n function Type(x) {\r\n if (x === null)\r\n return 1 /* Null */;\r\n switch (typeof x) {\r\n case \"undefined\": return 0 /* Undefined */;\r\n case \"boolean\": return 2 /* Boolean */;\r\n case \"string\": return 3 /* String */;\r\n case \"symbol\": return 4 /* Symbol */;\r\n case \"number\": return 5 /* Number */;\r\n case \"object\": return x === null ? 1 /* Null */ : 6 /* Object */;\r\n default: return 6 /* Object */;\r\n }\r\n }\r\n // 6.1.1 The Undefined Type\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-undefined-type\r\n function IsUndefined(x) {\r\n return x === undefined;\r\n }\r\n // 6.1.2 The Null Type\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-null-type\r\n function IsNull(x) {\r\n return x === null;\r\n }\r\n // 6.1.5 The Symbol Type\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-symbol-type\r\n function IsSymbol(x) {\r\n return typeof x === \"symbol\";\r\n }\r\n // 6.1.7 The Object Type\r\n // https://tc39.github.io/ecma262/#sec-object-type\r\n function IsObject(x) {\r\n return typeof x === \"object\" ? x !== null : typeof x === \"function\";\r\n }\r\n // 7.1 Type Conversion\r\n // https://tc39.github.io/ecma262/#sec-type-conversion\r\n // 7.1.1 ToPrimitive(input [, PreferredType])\r\n // https://tc39.github.io/ecma262/#sec-toprimitive\r\n function ToPrimitive(input, PreferredType) {\r\n switch (Type(input)) {\r\n case 0 /* Undefined */: return input;\r\n case 1 /* Null */: return input;\r\n case 2 /* Boolean */: return input;\r\n case 3 /* String */: return input;\r\n case 4 /* Symbol */: return input;\r\n case 5 /* Number */: return input;\r\n }\r\n var hint = PreferredType === 3 /* String */ ? \"string\" : PreferredType === 5 /* Number */ ? \"number\" : \"default\";\r\n var exoticToPrim = GetMethod(input, toPrimitiveSymbol);\r\n if (exoticToPrim !== undefined) {\r\n var result = exoticToPrim.call(input, hint);\r\n if (IsObject(result))\r\n throw new TypeError();\r\n return result;\r\n }\r\n return OrdinaryToPrimitive(input, hint === \"default\" ? \"number\" : hint);\r\n }\r\n // 7.1.1.1 OrdinaryToPrimitive(O, hint)\r\n // https://tc39.github.io/ecma262/#sec-ordinarytoprimitive\r\n function OrdinaryToPrimitive(O, hint) {\r\n if (hint === \"string\") {\r\n var toString_1 = O.toString;\r\n if (IsCallable(toString_1)) {\r\n var result = toString_1.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n var valueOf = O.valueOf;\r\n if (IsCallable(valueOf)) {\r\n var result = valueOf.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n }\r\n else {\r\n var valueOf = O.valueOf;\r\n if (IsCallable(valueOf)) {\r\n var result = valueOf.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n var toString_2 = O.toString;\r\n if (IsCallable(toString_2)) {\r\n var result = toString_2.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n }\r\n throw new TypeError();\r\n }\r\n // 7.1.2 ToBoolean(argument)\r\n // https://tc39.github.io/ecma262/2016/#sec-toboolean\r\n function ToBoolean(argument) {\r\n return !!argument;\r\n }\r\n // 7.1.12 ToString(argument)\r\n // https://tc39.github.io/ecma262/#sec-tostring\r\n function ToString(argument) {\r\n return \"\" + argument;\r\n }\r\n // 7.1.14 ToPropertyKey(argument)\r\n // https://tc39.github.io/ecma262/#sec-topropertykey\r\n function ToPropertyKey(argument) {\r\n var key = ToPrimitive(argument, 3 /* String */);\r\n if (IsSymbol(key))\r\n return key;\r\n return ToString(key);\r\n }\r\n // 7.2 Testing and Comparison Operations\r\n // https://tc39.github.io/ecma262/#sec-testing-and-comparison-operations\r\n // 7.2.2 IsArray(argument)\r\n // https://tc39.github.io/ecma262/#sec-isarray\r\n function IsArray(argument) {\r\n return Array.isArray\r\n ? Array.isArray(argument)\r\n : argument instanceof Object\r\n ? argument instanceof Array\r\n : Object.prototype.toString.call(argument) === \"[object Array]\";\r\n }\r\n // 7.2.3 IsCallable(argument)\r\n // https://tc39.github.io/ecma262/#sec-iscallable\r\n function IsCallable(argument) {\r\n // NOTE: This is an approximation as we cannot check for [[Call]] internal method.\r\n return typeof argument === \"function\";\r\n }\r\n // 7.2.4 IsConstructor(argument)\r\n // https://tc39.github.io/ecma262/#sec-isconstructor\r\n function IsConstructor(argument) {\r\n // NOTE: This is an approximation as we cannot check for [[Construct]] internal method.\r\n return typeof argument === \"function\";\r\n }\r\n // 7.2.7 IsPropertyKey(argument)\r\n // https://tc39.github.io/ecma262/#sec-ispropertykey\r\n function IsPropertyKey(argument) {\r\n switch (Type(argument)) {\r\n case 3 /* String */: return true;\r\n case 4 /* Symbol */: return true;\r\n default: return false;\r\n }\r\n }\r\n // 7.3 Operations on Objects\r\n // https://tc39.github.io/ecma262/#sec-operations-on-objects\r\n // 7.3.9 GetMethod(V, P)\r\n // https://tc39.github.io/ecma262/#sec-getmethod\r\n function GetMethod(V, P) {\r\n var func = V[P];\r\n if (func === undefined || func === null)\r\n return undefined;\r\n if (!IsCallable(func))\r\n throw new TypeError();\r\n return func;\r\n }\r\n // 7.4 Operations on Iterator Objects\r\n // https://tc39.github.io/ecma262/#sec-operations-on-iterator-objects\r\n function GetIterator(obj) {\r\n var method = GetMethod(obj, iteratorSymbol);\r\n if (!IsCallable(method))\r\n throw new TypeError(); // from Call\r\n var iterator = method.call(obj);\r\n if (!IsObject(iterator))\r\n throw new TypeError();\r\n return iterator;\r\n }\r\n // 7.4.4 IteratorValue(iterResult)\r\n // https://tc39.github.io/ecma262/2016/#sec-iteratorvalue\r\n function IteratorValue(iterResult) {\r\n return iterResult.value;\r\n }\r\n // 7.4.5 IteratorStep(iterator)\r\n // https://tc39.github.io/ecma262/#sec-iteratorstep\r\n function IteratorStep(iterator) {\r\n var result = iterator.next();\r\n return result.done ? false : result;\r\n }\r\n // 7.4.6 IteratorClose(iterator, completion)\r\n // https://tc39.github.io/ecma262/#sec-iteratorclose\r\n function IteratorClose(iterator) {\r\n var f = iterator[\"return\"];\r\n if (f)\r\n f.call(iterator);\r\n }\r\n // 9.1 Ordinary Object Internal Methods and Internal Slots\r\n // https://tc39.github.io/ecma262/#sec-ordinary-object-internal-methods-and-internal-slots\r\n // 9.1.1.1 OrdinaryGetPrototypeOf(O)\r\n // https://tc39.github.io/ecma262/#sec-ordinarygetprototypeof\r\n function OrdinaryGetPrototypeOf(O) {\r\n var proto = Object.getPrototypeOf(O);\r\n if (typeof O !== \"function\" || O === functionPrototype)\r\n return proto;\r\n // TypeScript doesn't set __proto__ in ES5, as it's non-standard.\r\n // Try to determine the superclass constructor. Compatible implementations\r\n // must either set __proto__ on a subclass constructor to the superclass constructor,\r\n // or ensure each class has a valid `constructor` property on its prototype that\r\n // points back to the constructor.\r\n // If this is not the same as Function.[[Prototype]], then this is definately inherited.\r\n // This is the case when in ES6 or when using __proto__ in a compatible browser.\r\n if (proto !== functionPrototype)\r\n return proto;\r\n // If the super prototype is Object.prototype, null, or undefined, then we cannot determine the heritage.\r\n var prototype = O.prototype;\r\n var prototypeProto = prototype && Object.getPrototypeOf(prototype);\r\n if (prototypeProto == null || prototypeProto === Object.prototype)\r\n return proto;\r\n // If the constructor was not a function, then we cannot determine the heritage.\r\n var constructor = prototypeProto.constructor;\r\n if (typeof constructor !== \"function\")\r\n return proto;\r\n // If we have some kind of self-reference, then we cannot determine the heritage.\r\n if (constructor === O)\r\n return proto;\r\n // we have a pretty good guess at the heritage.\r\n return constructor;\r\n }\r\n // naive Map shim\r\n function CreateMapPolyfill() {\r\n var cacheSentinel = {};\r\n var arraySentinel = [];\r\n var MapIterator = (function () {\r\n function MapIterator(keys, values, selector) {\r\n this._index = 0;\r\n this._keys = keys;\r\n this._values = values;\r\n this._selector = selector;\r\n }\r\n MapIterator.prototype[\"@@iterator\"] = function () { return this; };\r\n MapIterator.prototype[iteratorSymbol] = function () { return this; };\r\n MapIterator.prototype.next = function () {\r\n var index = this._index;\r\n if (index >= 0 && index < this._keys.length) {\r\n var result = this._selector(this._keys[index], this._values[index]);\r\n if (index + 1 >= this._keys.length) {\r\n this._index = -1;\r\n this._keys = arraySentinel;\r\n this._values = arraySentinel;\r\n }\r\n else {\r\n this._index++;\r\n }\r\n return { value: result, done: false };\r\n }\r\n return { value: undefined, done: true };\r\n };\r\n MapIterator.prototype.throw = function (error) {\r\n if (this._index >= 0) {\r\n this._index = -1;\r\n this._keys = arraySentinel;\r\n this._values = arraySentinel;\r\n }\r\n throw error;\r\n };\r\n MapIterator.prototype.return = function (value) {\r\n if (this._index >= 0) {\r\n this._index = -1;\r\n this._keys = arraySentinel;\r\n this._values = arraySentinel;\r\n }\r\n return { value: value, done: true };\r\n };\r\n return MapIterator;\r\n }());\r\n return (function () {\r\n function Map() {\r\n this._keys = [];\r\n this._values = [];\r\n this._cacheKey = cacheSentinel;\r\n this._cacheIndex = -2;\r\n }\r\n Object.defineProperty(Map.prototype, \"size\", {\r\n get: function () { return this._keys.length; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Map.prototype.has = function (key) { return this._find(key, /*insert*/ false) >= 0; };\r\n Map.prototype.get = function (key) {\r\n var index = this._find(key, /*insert*/ false);\r\n return index >= 0 ? this._values[index] : undefined;\r\n };\r\n Map.prototype.set = function (key, value) {\r\n var index = this._find(key, /*insert*/ true);\r\n this._values[index] = value;\r\n return this;\r\n };\r\n Map.prototype.delete = function (key) {\r\n var index = this._find(key, /*insert*/ false);\r\n if (index >= 0) {\r\n var size = this._keys.length;\r\n for (var i = index + 1; i < size; i++) {\r\n this._keys[i - 1] = this._keys[i];\r\n this._values[i - 1] = this._values[i];\r\n }\r\n this._keys.length--;\r\n this._values.length--;\r\n if (key === this._cacheKey) {\r\n this._cacheKey = cacheSentinel;\r\n this._cacheIndex = -2;\r\n }\r\n return true;\r\n }\r\n return false;\r\n };\r\n Map.prototype.clear = function () {\r\n this._keys.length = 0;\r\n this._values.length = 0;\r\n this._cacheKey = cacheSentinel;\r\n this._cacheIndex = -2;\r\n };\r\n Map.prototype.keys = function () { return new MapIterator(this._keys, this._values, getKey); };\r\n Map.prototype.values = function () { return new MapIterator(this._keys, this._values, getValue); };\r\n Map.prototype.entries = function () { return new MapIterator(this._keys, this._values, getEntry); };\r\n Map.prototype[\"@@iterator\"] = function () { return this.entries(); };\r\n Map.prototype[iteratorSymbol] = function () { return this.entries(); };\r\n Map.prototype._find = function (key, insert) {\r\n if (this._cacheKey !== key) {\r\n this._cacheIndex = this._keys.indexOf(this._cacheKey = key);\r\n }\r\n if (this._cacheIndex < 0 && insert) {\r\n this._cacheIndex = this._keys.length;\r\n this._keys.push(key);\r\n this._values.push(undefined);\r\n }\r\n return this._cacheIndex;\r\n };\r\n return Map;\r\n }());\r\n function getKey(key, _) {\r\n return key;\r\n }\r\n function getValue(_, value) {\r\n return value;\r\n }\r\n function getEntry(key, value) {\r\n return [key, value];\r\n }\r\n }\r\n // naive Set shim\r\n function CreateSetPolyfill() {\r\n return (function () {\r\n function Set() {\r\n this._map = new _Map();\r\n }\r\n Object.defineProperty(Set.prototype, \"size\", {\r\n get: function () { return this._map.size; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Set.prototype.has = function (value) { return this._map.has(value); };\r\n Set.prototype.add = function (value) { return this._map.set(value, value), this; };\r\n Set.prototype.delete = function (value) { return this._map.delete(value); };\r\n Set.prototype.clear = function () { this._map.clear(); };\r\n Set.prototype.keys = function () { return this._map.keys(); };\r\n Set.prototype.values = function () { return this._map.values(); };\r\n Set.prototype.entries = function () { return this._map.entries(); };\r\n Set.prototype[\"@@iterator\"] = function () { return this.keys(); };\r\n Set.prototype[iteratorSymbol] = function () { return this.keys(); };\r\n return Set;\r\n }());\r\n }\r\n // naive WeakMap shim\r\n function CreateWeakMapPolyfill() {\r\n var UUID_SIZE = 16;\r\n var keys = HashMap.create();\r\n var rootKey = CreateUniqueKey();\r\n return (function () {\r\n function WeakMap() {\r\n this._key = CreateUniqueKey();\r\n }\r\n WeakMap.prototype.has = function (target) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ false);\r\n return table !== undefined ? HashMap.has(table, this._key) : false;\r\n };\r\n WeakMap.prototype.get = function (target) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ false);\r\n return table !== undefined ? HashMap.get(table, this._key) : undefined;\r\n };\r\n WeakMap.prototype.set = function (target, value) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ true);\r\n table[this._key] = value;\r\n return this;\r\n };\r\n WeakMap.prototype.delete = function (target) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ false);\r\n return table !== undefined ? delete table[this._key] : false;\r\n };\r\n WeakMap.prototype.clear = function () {\r\n // NOTE: not a real clear, just makes the previous data unreachable\r\n this._key = CreateUniqueKey();\r\n };\r\n return WeakMap;\r\n }());\r\n function CreateUniqueKey() {\r\n var key;\r\n do\r\n key = \"@@WeakMap@@\" + CreateUUID();\r\n while (HashMap.has(keys, key));\r\n keys[key] = true;\r\n return key;\r\n }\r\n function GetOrCreateWeakMapTable(target, create) {\r\n if (!hasOwn.call(target, rootKey)) {\r\n if (!create)\r\n return undefined;\r\n Object.defineProperty(target, rootKey, { value: HashMap.create() });\r\n }\r\n return target[rootKey];\r\n }\r\n function FillRandomBytes(buffer, size) {\r\n for (var i = 0; i < size; ++i)\r\n buffer[i] = Math.random() * 0xff | 0;\r\n return buffer;\r\n }\r\n function GenRandomBytes(size) {\r\n if (typeof Uint8Array === \"function\") {\r\n if (typeof crypto !== \"undefined\")\r\n return crypto.getRandomValues(new Uint8Array(size));\r\n if (typeof msCrypto !== \"undefined\")\r\n return msCrypto.getRandomValues(new Uint8Array(size));\r\n return FillRandomBytes(new Uint8Array(size), size);\r\n }\r\n return FillRandomBytes(new Array(size), size);\r\n }\r\n function CreateUUID() {\r\n var data = GenRandomBytes(UUID_SIZE);\r\n // mark as random - RFC 4122 ยง 4.4\r\n data[6] = data[6] & 0x4f | 0x40;\r\n data[8] = data[8] & 0xbf | 0x80;\r\n var result = \"\";\r\n for (var offset = 0; offset < UUID_SIZE; ++offset) {\r\n var byte = data[offset];\r\n if (offset === 4 || offset === 6 || offset === 8)\r\n result += \"-\";\r\n if (byte < 16)\r\n result += \"0\";\r\n result += byte.toString(16).toLowerCase();\r\n }\r\n return result;\r\n }\r\n }\r\n // uses a heuristic used by v8 and chakra to force an object into dictionary mode.\r\n function MakeDictionary(obj) {\r\n obj.__ = undefined;\r\n delete obj.__;\r\n return obj;\r\n }\r\n // patch global Reflect\r\n (function (__global) {\r\n if (typeof __global.Reflect !== \"undefined\") {\r\n if (__global.Reflect !== Reflect) {\r\n for (var p in Reflect) {\r\n if (hasOwn.call(Reflect, p)) {\r\n __global.Reflect[p] = Reflect[p];\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n __global.Reflect = Reflect;\r\n }\r\n })(typeof global !== \"undefined\" ? global :\r\n typeof self !== \"undefined\" ? self :\r\n Function(\"return this;\")());\r\n})(Reflect || (Reflect = {}));\r\n//# sourceMappingURL=Reflect.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/reflect-metadata/Reflect.js\n// module id = 10\n// module chunks = 0","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/node-libs-browser/node_modules/process/browser.js\n// module id = 11\n// module chunks = 0","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 12\n// module chunks = 0","/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nexport default noop;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/lodash-es/noop.js","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nexport default identity;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/lodash-es/identity.js","import { assign, defineProperty, copyOwnAndInheritedProps, uniqueId, round, toKbps, toMbps } from \"../core/utils\"\n\nexport interface IUploadStats {\n\tbytesSent: number\n\tprogress: number\n\ttotal: number\n\tspeed: ISpeedStats\n\tstart: number\n\tend: number\n\ttime: number\n}\n\nexport interface ISpeedStats {\n\tkbps: number\n\tmbps: number\n}\n\nclass VTransmitFile {\n\tprivate _nativeFile: File = null\n\tid: string = VTransmitFile.idFactory()\n\taccepted: boolean = undefined // Passed all validation.\n\tlastModified: number = undefined\n\tlastModifiedDate: Date = undefined\n\tname: string = undefined\n\tprocessing: boolean = undefined\n\tsize: number = undefined\n\tstatus: string = undefined\n\ttype: string = undefined\n\tupload: IUploadStats = {\n\t\tbytesSent: 0,\n\t\tprogress: 0,\n\t\ttotal: 0,\n\t\tspeed: {\n\t\t\tkbps: undefined,\n\t\t\tmbps: undefined,\n\t\t},\n\t\tstart: undefined,\n\t\tend: undefined,\n\t\ttime: undefined,\n\t}\n\twebkitRelativePath: USVString = undefined\n\twidth: number = undefined\n\theight: number = undefined\n\txhr: XMLHttpRequest = undefined\n\tprivate _dataUrl: string\n\terrorMessage: string = undefined\n\n\tconstructor(...data: object[]) {\n\t\tassign(this, ...data)\n\t}\n\n\tset(...data: object[]): VTransmitFile {\n\t\tassign(this, ...data)\n\t\treturn this\n\t}\n\n\tcopyNativeFile(file: File): VTransmitFile {\n\t\t// save reference for upload\n\t\tthis.nativeFile = file\n\t\t// Copy props to normal object for Vue reactivity.\n\t\t// Vue cannot define reactive properties on native file's readonly props.\n\t\treturn this.set(copyOwnAndInheritedProps(file))\n\t}\n\n\tcopyOwnAndInheritedProps(...data: object[]): VTransmitFile {\n\t\treturn this.set(...data.map(copyOwnAndInheritedProps))\n\t}\n\n\thandleProgress(e: ProgressEvent): void {\n\t\tthis.startProgress()\n\t\tconst total = e.total || this.upload.total\n\t\tthis.upload.progress = Math.min(100, 100 * e.loaded / total)\n\t\tthis.upload.bytesSent = e.loaded\n\t\tthis.upload.total = total\n\t\tthis.upload.time = (Date.now() - this.upload.start) / 1000\n\t\t// Recalc the upload speed in bytes/sec\n\t\tthis.upload.speed.kbps = round(toKbps(this.upload.bytesSent, this.upload.time))\n\t\tthis.upload.speed.mbps = round(toMbps(this.upload.bytesSent, this.upload.time))\n\t\tif (this.upload.progress === 100) {\n\t\t\tthis.endProgress()\n\t\t}\n\t}\n\n\tstartProgress(): VTransmitFile {\n\t\t// Avoid starting twice\n\t\tif (typeof this.upload.start !== \"number\") {\n\t\t\tthis.upload.start = Date.now()\n\t\t}\n\t\treturn this\n\t}\n\n\tendProgress(): VTransmitFile {\n\t\t// Avoid ending twice\n\t\tif (typeof this.upload.end !== \"number\") {\n\t\t\tthis.upload.end = Date.now()\n\t\t\tthis.upload.time = (Date.now() - this.upload.start) / 1000\n\t\t}\n\t\treturn this\n\t}\n\n\tget nativeFile() {\n\t\treturn this._nativeFile\n\t}\n\n\tset nativeFile(file: File) {\n\t\tif (!(file instanceof File)) {\n\t\t\tthrow new TypeError(`[${VTransmitFile.name}] Expected an instance of File (native).`)\n\t\t}\n\t\tthis._nativeFile = file\n\t\tthis.upload.total = file.size\n\t}\n\n\tget dataUrl() {\n\t\treturn this._dataUrl || \"\"\n\t}\n\n\tset dataUrl(value) {\n\t\tdefineProperty(this, \"_dataUrl\", {\n\t\t\tvalue,\n\t\t\tenumerable: false,\n\t\t\tconfigurable: true,\n\t\t\twritable: true,\n\t\t})\n\t}\n\n\tstatic fromNativeFile(file: File, ...data) {\n\t\tconst instance = new VTransmitFile(...data)\n\t\tinstance.copyNativeFile(file)\n\t\treturn instance\n\t}\n\n\tstatic idFactory() {\n\t\treturn uniqueId(\"v-transmit-file-\")\n\t}\n}\n\nexport default VTransmitFile\n\n\n\n// WEBPACK FOOTER //\n// ./src/classes/VTransmitFile.ts","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(_vm.tag,{tag:\"component\"},[_c('div',_vm._g(_vm._b({staticClass:\"v-transmit__upload-area\",class:[_vm.isDraggingClass, _vm.uploadAreaClasses],attrs:{\"draggable\":\"true\"},on:{\"click\":_vm.handleClickUploaderAction,\"dragstart\":_vm.handleDragStart,\"dragend\":_vm.handleDragEnd,\"dragenter\":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDragEnter($event)},\"dragover\":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDragOver($event)},\"dragleave\":_vm.handleDragLeave,\"drop\":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDrop($event)}}},'div',_vm.uploadAreaAttrs,false),_vm.uploadAreaListeners),[_vm._t(\"default\")],2),_vm._v(\" \"),_vm._t(\"files\",null,null,_vm.fileSlotBindings),_vm._v(\" \"),_c('form',{ref:\"uploadForm\",style:(_vm.formStyles)},[_c('input',{ref:\"hiddenFileInput\",class:[_vm.maxFilesReachedClass],attrs:{\"type\":\"file\",\"multiple\":_vm.multiple,\"accept\":_vm.filesToAccept,\"capture\":_vm.capture},on:{\"change\":_vm.onFileInputChange}})])],2)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-61e675b9\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/VueTransmit.vue\n// module id = 16\n// module chunks = 0"],"sourceRoot":""}
\ No newline at end of file
diff --git a/dist/vue-transmit.esm.js b/dist/vue-transmit.esm.js
index 5d549e2..052dfab 100644
--- a/dist/vue-transmit.esm.js
+++ b/dist/vue-transmit.esm.js
@@ -155,7 +155,7 @@ var VueTransmit = function (_Vue) {
"Cache-Control": "no-cache",
"X-Requested-With": "XMLHttpRequest"
};
- _this.fileInputStyles = {
+ _this.formStyles = {
visibility: "hidden !important",
position: "absolute !important",
top: "0 !important",
@@ -191,6 +191,7 @@ var VueTransmit = function (_Vue) {
key: "onFileInputChange",
value: function onFileInputChange() {
this.$emit("added-files", Array.from(this.inputEl.files).map(this.addFile));
+ this.formEl.reset();
}
}, {
key: "addFile",
@@ -594,7 +595,7 @@ var VueTransmit = function (_Vue) {
var vm = this;
return function onUploadErrorFn() {
if (files[0].status !== STATUSES.CANCELED) {
- var message = vm.dictResponseError.replace(_utils.hbsRegex, (0, _utils.hbsReplacer)({ statusCode: xhr.status }));
+ var message = vm.dictResponseError.replace(_utils.hbsRegex, (0, _utils.hbsReplacer)({ statusText: xhr.statusText, statusCode: xhr.status }));
vm.errorProcessing(files, message, xhr);
}
};
@@ -1070,6 +1071,15 @@ var VueTransmit = function (_Vue) {
}
return el;
}
+ }, {
+ key: "formEl",
+ get: function get() {
+ var el = null;
+ if (this.$refs.uploadForm instanceof HTMLFormElement) {
+ el = this.$refs.uploadForm;
+ }
+ return el;
+ }
}, {
key: "filesToAccept",
get: function get() {
@@ -1188,7 +1198,7 @@ __decorate([(0, _vuePropertyDecorator.Prop)({ type: String, default: null })], V
__decorate([(0, _vuePropertyDecorator.Prop)({ type: Function, default: _identity2.default })], VueTransmit.prototype, "renameFile", void 0);
__decorate([(0, _vuePropertyDecorator.Prop)({ type: String, default: "File is too big ({{ fileSize }}MiB). Max file size: {{ maxFileSize }}MB." })], VueTransmit.prototype, "dictFileTooBig", void 0);
__decorate([(0, _vuePropertyDecorator.Prop)({ type: String, default: "You can't upload files of this type." })], VueTransmit.prototype, "dictInvalidFileType", void 0);
-__decorate([(0, _vuePropertyDecorator.Prop)({ type: String, default: "Server responded with {{ statusCode }} code." })], VueTransmit.prototype, "dictResponseError", void 0);
+__decorate([(0, _vuePropertyDecorator.Prop)({ type: String, default: "Error during upload: {{ statusText }} [{{ statusCode }}]" })], VueTransmit.prototype, "dictResponseError", void 0);
__decorate([(0, _vuePropertyDecorator.Prop)({ type: String, default: "You can not upload any more files." })], VueTransmit.prototype, "dictMaxFilesExceeded", void 0);
__decorate([(0, _vuePropertyDecorator.Prop)({ type: Function, default: function _default(_, done) {
return done();
@@ -1383,7 +1393,7 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_vue_ts_loader_node_modules_vue_loader_lib_selector_type_script_index_0_VueTransmit_vue__ = __webpack_require__(1);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_vue_ts_loader_node_modules_vue_loader_lib_selector_type_script_index_0_VueTransmit_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_vue_ts_loader_node_modules_vue_loader_lib_selector_type_script_index_0_VueTransmit_vue__);
/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in __WEBPACK_IMPORTED_MODULE_0__babel_loader_vue_ts_loader_node_modules_vue_loader_lib_selector_type_script_index_0_VueTransmit_vue__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return __WEBPACK_IMPORTED_MODULE_0__babel_loader_vue_ts_loader_node_modules_vue_loader_lib_selector_type_script_index_0_VueTransmit_vue__[key]; }) }(__WEBPACK_IMPORT_KEY__));
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_25b0f28c_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_VueTransmit_vue__ = __webpack_require__(16);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_61e675b9_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_VueTransmit_vue__ = __webpack_require__(16);
function injectStyle (ssrContext) {
__webpack_require__(6)
}
@@ -1403,7 +1413,7 @@ var __vue_scopeId__ = null
var __vue_module_identifier__ = null
var Component = normalizeComponent(
__WEBPACK_IMPORTED_MODULE_0__babel_loader_vue_ts_loader_node_modules_vue_loader_lib_selector_type_script_index_0_VueTransmit_vue___default.a,
- __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_25b0f28c_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_VueTransmit_vue__["a" /* default */],
+ __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_61e675b9_hasScoped_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_VueTransmit_vue__["a" /* default */],
__vue_template_functional__,
__vue_styles__,
__vue_scopeId__,
@@ -3438,7 +3448,7 @@ exports.default = VTransmitFile;
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(_vm.tag,{tag:"component"},[_c('div',_vm._g(_vm._b({staticClass:"v-transmit__upload-area",class:[_vm.isDraggingClass, _vm.uploadAreaClasses],attrs:{"draggable":"true"},on:{"click":_vm.handleClickUploaderAction,"dragstart":_vm.handleDragStart,"dragend":_vm.handleDragEnd,"dragenter":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDragEnter($event)},"dragover":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDragOver($event)},"dragleave":_vm.handleDragLeave,"drop":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDrop($event)}}},'div',_vm.uploadAreaAttrs,false),_vm.uploadAreaListeners),[_vm._t("default")],2),_vm._v(" "),_vm._t("files",null,null,_vm.fileSlotBindings),_vm._v(" "),_c('input',{ref:"hiddenFileInput",class:[_vm.maxFilesReachedClass],style:(_vm.fileInputStyles),attrs:{"type":"file","multiple":_vm.multiple,"accept":_vm.filesToAccept,"capture":_vm.capture},on:{"change":_vm.onFileInputChange}})],2)}
+var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(_vm.tag,{tag:"component"},[_c('div',_vm._g(_vm._b({staticClass:"v-transmit__upload-area",class:[_vm.isDraggingClass, _vm.uploadAreaClasses],attrs:{"draggable":"true"},on:{"click":_vm.handleClickUploaderAction,"dragstart":_vm.handleDragStart,"dragend":_vm.handleDragEnd,"dragenter":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDragEnter($event)},"dragover":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDragOver($event)},"dragleave":_vm.handleDragLeave,"drop":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDrop($event)}}},'div',_vm.uploadAreaAttrs,false),_vm.uploadAreaListeners),[_vm._t("default")],2),_vm._v(" "),_vm._t("files",null,null,_vm.fileSlotBindings),_vm._v(" "),_c('form',{ref:"uploadForm",style:(_vm.formStyles)},[_c('input',{ref:"hiddenFileInput",class:[_vm.maxFilesReachedClass],attrs:{"type":"file","multiple":_vm.multiple,"accept":_vm.filesToAccept,"capture":_vm.capture},on:{"change":_vm.onFileInputChange}})])],2)}
var staticRenderFns = []
var esExports = { render: render, staticRenderFns: staticRenderFns }
/* harmony default export */ __webpack_exports__["a"] = (esExports);
diff --git a/dist/vue-transmit.esm.js.map b/dist/vue-transmit.esm.js.map
index 18ac6b3..009ec92 100644
--- a/dist/vue-transmit.esm.js.map
+++ b/dist/vue-transmit.esm.js.map
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///webpack/bootstrap 2cb6e1274be2d12e5f21","webpack:///external {\"root\":\"Vue\",\"commonjs2\":\"vue\"}","webpack:///./src/components/VueTransmit.vue?cd95","webpack:///./src/core/utils.ts","webpack:///./index.ts","webpack:///./src/index.ts","webpack:///./src/components/VueTransmit.vue","webpack:///./src/components/VueTransmit.vue?c45d","webpack:///./node_modules/vue-loader/lib/component-normalizer.js","webpack:///./node_modules/vue-property-decorator/lib/vue-property-decorator.umd.js","webpack:///./node_modules/vue-class-component/dist/vue-class-component.common.js","webpack:///./node_modules/reflect-metadata/Reflect.js","webpack:///./node_modules/node-libs-browser/node_modules/process/browser.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/lodash-es/noop.js","webpack:///./node_modules/lodash-es/identity.js","webpack:///./src/classes/VTransmitFile.ts","webpack:///./src/components/VueTransmit.vue?7518"],"names":["noop","identity","value"],"mappings":"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AEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACtGA;AACA;AACA;AACA,2CAA2C;AAC3C,CAAC,kDAAkD;;AAEnD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,cAAc;AAC3C;AACA;AACA;AACA;AACA;AACA,mEAAmE;AACnE,sCAAsC;AACtC,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,cAAc;AAC3C;AACA;AACA;AACA;AACA;AACA,mEAAmE;AACnE,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,cAAc;AAC3C;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,KAAK;AACL;AACA;AACA;AACA,gCAAgC,sDAAsD;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,8CAA8C,cAAc;;AAE5D,CAAC;;;;;;;;AClID;AACA;AACA;AACA;AACA;AACA;;AAEA,8CAA8C,cAAc;;AAE5D,+BAA+B,iFAAiF;;AAEhH;;AAEA,gBAAgB,gBAAgB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,qCAAqC,EAAE;AAC5F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,gBAAgB,EAAE;AACxD,2CAA2C,wBAAwB,EAAE;AACrE;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,cAAc;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA;AACA,uDAAuD;AACvD;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,0CAA0C,oBAAoB,EAAE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,8BAA8B;AAC/B;;AAEA;AACA;;;;;;;AChMA;AACA;AACA,+DAA+D;AAC/D;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE;AACjE,6BAA6B,gBAAgB,kBAAkB;AAC/D;AACA;AACA;AACA,2BAA2B,4CAA4C;AACvE;AACA,+BAA+B,wBAAwB,kBAAkB,EAAE;AAC3E,+BAA+B,yBAAyB,EAAE;AAC1D;AACA,mCAAmC,8BAA8B;AACjE,mCAAmC,mBAAmB;AACtD;AACA,mCAAmC,qDAAqD;AACxF,mCAAmC,iBAAiB;AACpD,KAAK,0BAA0B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oGAAoG;AACpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6EAA6E;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,QAAQ;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,QAAQ;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,uBAAuB;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,0BAA0B;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D,aAAa;AAC5E,iEAAiE,aAAa;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,0BAA0B,EAAE;AAC9D;AACA;AACA,aAAa;AACb,gDAAgD,+CAA+C;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,UAAU;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,0DAA0D;AACxG,gDAAgD,4DAA4D;AAC5G,iDAAiD,4DAA4D;AAC7G,uDAAuD,uBAAuB;AAC9E,yDAAyD,uBAAuB;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,uBAAuB,EAAE;AAC3D;AACA;AACA,aAAa;AACb,kDAAkD,6BAA6B;AAC/E,kDAAkD,0CAA0C;AAC5F,qDAAqD,gCAAgC;AACrF,+CAA+C,mBAAmB;AAClE,8CAA8C,yBAAyB;AACvE,gDAAgD,2BAA2B;AAC3E,iDAAiD,4BAA4B;AAC7E,uDAAuD,oBAAoB;AAC3E,yDAAyD,oBAAoB;AAC7E;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,0BAA0B;AAClF;AACA;AACA;AACA;AACA,2BAA2B,UAAU;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,oBAAoB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC;AAClC,CAAC,0BAA0B;AAC3B,mC;;;;;;;ACpmCA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA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","file":"vue-transmit.esm.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 3);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 2cb6e1274be2d12e5f21","module.exports = require(\"vue\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"root\":\"Vue\",\"commonjs2\":\"vue\"}\n// module id = 0\n// module chunks = 0","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\"\nimport { Component, Prop, Watch } from \"vue-property-decorator\"\nimport noop from \"lodash-es/noop\"\nimport identity from \"lodash-es/identity\"\nimport {\n\thbsRegex,\n\thbsReplacer,\n\tobjFactory,\n\tresizeImg,\n\tIDrawImageArgs,\n\tIDimensions,\n\twebkitIsFile,\n\twebkitIsDir,\n} from \"../core/utils\"\nimport VTransmitFile from \"../classes/VTransmitFile\"\n\ntype FileSystemEntry = WebKitFileEntry | WebKitDirectoryEntry\n\nconst STATUSES = {\n\tADDED: \"added\",\n\tQUEUED: \"queued\",\n\tACCEPTED: \"queued\",\n\tUPLOADING: \"uploading\",\n\tPROCESSING: \"uploading\",\n\tCANCELED: \"canceled\",\n\tERROR: \"error\",\n\tTIMEOUT: \"timeout\",\n\tSUCCESS: \"success\",\n}\n\n@Component({ name: \"VueTransmit\" })\nexport default class VueTransmit extends Vue {\n\t@Prop({ type: String, default: \"div\" })\n\ttag: string\n\n\t@Prop({ type: [Array, Object, String], default: null })\n\tuploadAreaClasses: any[] | object | string\n\n\t@Prop({ type: Object, default: objFactory })\n\tuploadAreaAttrs: object\n\n\t@Prop({ type: Object, default: objFactory })\n\tuploadAreaListeners: object\n\n\t@Prop({ type: String, default: null })\n\tdragClass: string\n\n\t@Prop({ type: String, required: true })\n\turl: string\n\n\t@Prop({ type: String, default: \"post\" })\n\tmethod: string\n\n\t@Prop({ type: Boolean, default: false })\n\twithCredentials: boolean\n\n\t// timeout in milliseconds\n\t@Prop({ type: Number, default: 0 })\n\ttimeout: number\n\n\t@Prop({ type: Number, default: 2 })\n\tmaxConcurrentUploads: number\n\t// Whether to send multiple files in one request.\n\t@Prop({ type: Boolean, default: false })\n\tuploadMultiple: boolean\n\n\t// in MB\n\t@Prop({ type: Number, default: 256 })\n\tmaxFileSize: number\n\n\t// The name of the file param that gets transferred.\n\t@Prop({ type: String, default: \"file\" })\n\tparamName: string\n\n\t@Prop({ type: Boolean, default: true })\n\tcreateImageThumbnails: boolean\n\n\t// in MB. When the filename exceeds this limit, the thumbnail will not be generated.\n\t@Prop({ type: Number, default: 10 })\n\tmaxThumbnailFileSize: number\n\n\t@Prop({ type: Number, default: 120 })\n\tthumbnailWidth: number\n\n\t@Prop({ type: Number, default: 120 })\n\tthumbnailHeight: number\n\n\t/**\n * The base that is used to calculate the file size. You can change this to\n * 1024 if you would rather display kibibytes, mebibytes, etc...\n * 1024 is technically incorrect,\n * because `1024 bytes` are `1 kibibyte` not `1 kilobyte`.\n * You can change this to `1024` if you don't care about validity.\n */\n\t@Prop({ type: Number, default: 1000 })\n\tfileSizeBase: number\n\n\t/**\n * Can be used to limit the maximum number of files that will be handled\n * by this Dropzone\n */\n\t@Prop({ type: Number, default: null })\n\tmaxFiles: number\n\n\t/**\n * Can be an object of additional parameters to transfer to the server.\n * This is the same as adding hidden input fields in the form element.\n */\n\t@Prop({ type: Object, default: objFactory })\n\tparams: object\n\n\t@Prop({ type: Object, default: objFactory })\n\theaders: object\n\n\t@Prop({ type: String, default: \"\" })\n\tresponseType: XMLHttpRequestResponseType\n\n\t// If true, the dropzone will present a file selector when clicked.\n\t@Prop({ type: Boolean, default: true })\n\tclickable: boolean\n\n\t// Whether hidden files in directories should be ignored.\n\t@Prop({ type: Boolean, default: true })\n\tignoreHiddenFiles: boolean\n\n\t/**\n * You can set accepted mime types here.\n *\n * The default implementation of the `accept()` function will check this\n * property, and if the Dropzone is clickable this will be used as\n * `accept` attribute.\n *\n * This is a comma separated list of mime types or extensions. E.g.:\n * - audio/*,video/*,image/png,.pdf\n *\n * See https://developer.mozilla.org/en-US/docs/HTML/Element/input#attr-accept\n * for a reference.\n */\n\t@Prop({ type: Array, default: () => [] })\n\tacceptedFileTypes: string[]\n\n\t/**\n * If false, files will be added to the queue but the queue will not be\n * processed automatically.\n * This can be useful if you need some additional user input before sending\n * files (or if you want want all files sent at once).\n * If you're ready to send the file simply call myDropzone.processQueue()\n */\n\t@Prop({ type: Boolean, default: true })\n\tautoProcessQueue: boolean\n\n\t/**\n * If false, files added to the dropzone will not be queued by default.\n * You'll have to call `enqueueFile(file)` manually.\n */\n\t@Prop({ type: Boolean, default: true })\n\tautoQueue: boolean\n\n\t/**\n * If null, no capture type will be specified\n * If camera, mobile devices will skip the file selection and choose camera\n * If microphone, mobile devices will skip the file selection and choose the microphone\n * If camcorder, mobile devices will skip the file selection and choose the camera in video mode\n * On apple devices multiple must be set to false. AcceptedFiles may need to\n * be set to an appropriate mime type (e.g. \"image/*\", \"audio/*\", or \"video/*\").\n */\n\t@Prop({ type: String, default: null })\n\tcapture: string\n\n\t/**\n * Before the file is appended to the formData, the function renameFile is performed for file.name, file\n * which executes the function defined in renameFile\n */\n\t@Prop({ type: Function, default: identity })\n\trenameFile: (name: string) => string\n\n\t// If the file size is too big.\n\t@Prop({ type: String, default: \"File is too big ({{ fileSize }}MiB). Max file size: {{ maxFileSize }}MB.\" })\n\tdictFileTooBig: string\n\n\t// If the file doesn't match the file type.\n\t@Prop({ type: String, default: \"You can't upload files of this type.\" })\n\tdictInvalidFileType: string\n\n\t// If the server response was invalid.\n\t@Prop({ type: String, default: \"Server responded with {{ statusCode }} code.\" })\n\tdictResponseError: string\n\n\t/**\n * Displayed when the maxFiles have been exceeded\n * You can use {{maxFiles}} here, which will be replaced by the option.\n */\n\t@Prop({ type: String, default: \"You can not upload any more files.\" })\n\tdictMaxFilesExceeded: string\n\n\t/**\n * If `done()` is called without argument the file is accepted\n * If you call it with an error message, the file is rejected\n * (This allows for asynchronous validation).\n */\n\t@Prop({ type: Function, default: (_, done: Function) => done() })\n\taccept: (file: VTransmitFile, done: Function) => void\n\n\t@Prop({ type: Function, default: resizeImg })\n\tresize: (file: VTransmitFile, dims: IDimensions) => IDrawImageArgs\n\n\tpublic dragging: boolean = false\n\t// Used to keep the createThumbnail calls processing async one-at-a-time\n\tprivate processingThumbnail: boolean = false\n\tpublic thumbnailQueue: any[] = []\n\tpublic files: VTransmitFile[] = []\n\tpublic defaultHeaders: object = {\n\t\tAccept: \"application/json\",\n\t\t\"Cache-Control\": \"no-cache\",\n\t\t\"X-Requested-With\": \"XMLHttpRequest\",\n\t}\n\tpublic fileInputStyles: object = {\n\t\tvisibility: \"hidden !important\",\n\t\tposition: \"absolute !important\",\n\t\ttop: \"0 !important\",\n\t\tleft: \"0 !important\",\n\t\theight: \"0px !important\",\n\t\twidth: \"0px !important\",\n\t}\n\n\tget inputEl(): HTMLInputElement {\n\t\tlet el = null\n\t\tif (this.$refs.hiddenFileInput instanceof HTMLInputElement) {\n\t\t\tel = this.$refs.hiddenFileInput\n\t\t}\n\t\treturn el\n\t}\n\tget filesToAccept(): string {\n\t\treturn this.acceptedFileTypes.join(\",\")\n\t}\n\tget multiple(): boolean {\n\t\treturn this.maxFiles === null || this.maxFiles > 1\n\t}\n\tget acceptedFiles(): VTransmitFile[] {\n\t\treturn this.files.filter(f => f.accepted)\n\t}\n\tget rejectedFiles(): VTransmitFile[] {\n\t\treturn this.files.filter(f => !f.accepted)\n\t}\n\tget addedFiles(): VTransmitFile[] {\n\t\treturn this.getFilesWithStatus(STATUSES.ADDED)\n\t}\n\tget queuedFiles(): VTransmitFile[] {\n\t\treturn this.getFilesWithStatus(STATUSES.QUEUED)\n\t}\n\tget uploadingFiles(): VTransmitFile[] {\n\t\treturn this.getFilesWithStatus(STATUSES.UPLOADING)\n\t}\n\tget activeFiles(): VTransmitFile[] {\n\t\treturn this.getFilesWithStatus(STATUSES.UPLOADING, STATUSES.QUEUED)\n\t}\n\tget maxFilesReached(): boolean {\n\t\t// Loose equality checks null && undefined\n\t\treturn this.maxFiles != null && this.acceptedFiles.length >= this.maxFiles\n\t}\n\tget maxFilesReachedClass(): string {\n\t\treturn this.maxFilesReached ? \"v-transmit__max-files--reached\" : null\n\t}\n\tget isDraggingClass(): { [key: string]: boolean } {\n\t\treturn {\n\t\t\t\"v-transmit__upload-area--is-dragging\": this.dragging,\n\t\t\t[this.dragClass]: this.dragging,\n\t\t}\n\t}\n\tget isUploading(): boolean {\n\t\treturn this.uploadingFiles.length > 0\n\t}\n\tget fileSlotBindings() {\n\t\treturn {\n\t\t\tfiles: this.files,\n\t\t\tacceptedFiles: this.acceptedFiles,\n\t\t\trejectedFiles: this.rejectedFiles,\n\t\t\taddedFiles: this.addedFiles,\n\t\t\tqueuedFiles: this.queuedFiles,\n\t\t\tuploadingFiles: this.uploadingFiles,\n\t\t\tactiveFiles: this.activeFiles,\n\t\t\tisUploading: this.isUploading,\n\t\t}\n\t}\n\n\t@Watch(\"acceptedFiles\")\n\tonAcceptedFilesChange(acceptedFiles: VTransmitFile[]) {\n\t\tif (this.maxFiles == null) {\n\t\t\treturn\n\t\t}\n\t\tif (acceptedFiles.length >= this.maxFiles) {\n\t\t\tthis.$emit(\"max-files-reached\", this.files)\n\t\t}\n\t}\n\n\tgetFilesWithStatus(...statuses: string[]): VTransmitFile[] {\n\t\treturn this.files.filter(f => statuses.indexOf(f.status) > -1)\n\t}\n\tonFileInputChange(): void {\n\t\tthis.$emit(\"added-files\", Array.from(this.inputEl.files).map(this.addFile))\n\t}\n\taddFile(file: File): VTransmitFile {\n\t\tconst vTransmitFile = VTransmitFile.fromNativeFile(file)\n\t\tvTransmitFile.status = STATUSES.ADDED\n\t\tthis.files.push(vTransmitFile)\n\t\tthis.$emit(\"added-file\", vTransmitFile)\n\t\tthis.enqueueThumbnail(vTransmitFile)\n\t\tthis.acceptFile(vTransmitFile, error => {\n\t\t\tif (error) {\n\t\t\t\tvTransmitFile.accepted = false\n\t\t\t\tthis.errorProcessing([vTransmitFile], error)\n\t\t\t\tthis.$emit(\"rejected-file\", vTransmitFile)\n\t\t\t} else {\n\t\t\t\tvTransmitFile.accepted = true\n\t\t\t\tthis.$emit(\"accepted-file\", vTransmitFile)\n\t\t\t\tif (this.autoQueue) {\n\t\t\t\t\tthis.enqueueFile(vTransmitFile)\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.$emit(\"accept-complete\", vTransmitFile)\n\t\t})\n\n\t\treturn vTransmitFile\n\t}\n\tremoveFile(file: VTransmitFile): void {\n\t\tif (file.status === STATUSES.UPLOADING) {\n\t\t\tthis.cancelUpload(file)\n\t\t}\n\t\tconst idxToRm = this.files.findIndex(f => f.id === file.id)\n\t\tif (~idxToRm) {\n\t\t\tthis.$emit(\"removed-file\", this.files.splice(idxToRm, 1)[0])\n\t\t\tif (this.files.length === 0) {\n\t\t\t\tthis.$emit(\"reset\")\n\t\t\t}\n\t\t}\n\t}\n\tremoveAllFiles(cancelInProgressUploads = false): void {\n\t\tfor (const file of this.files) {\n\t\t\tif (file.status !== STATUSES.UPLOADING || cancelInProgressUploads) {\n\t\t\t\tthis.removeFile(file)\n\t\t\t}\n\t\t}\n\t}\n\ttriggerBrowseFiles(): void {\n\t\tthis.inputEl.click()\n\t}\n\thandleClickUploaderAction(): void {\n\t\tif (this.clickable) {\n\t\t\tthis.triggerBrowseFiles()\n\t\t}\n\t}\n\tenqueueFile(file: VTransmitFile): void {\n\t\tif (file.status === STATUSES.ADDED && file.accepted === true) {\n\t\t\tfile.status = STATUSES.QUEUED\n\t\t\tif (this.autoProcessQueue) {\n\t\t\t\tsetTimeout(this.processQueue, 0)\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new Error(\"This file can't be queued because it has already been processed or was rejected.\")\n\t\t}\n\t}\n\tenqueueThumbnail(file: VTransmitFile): void {\n\t\tif (\n\t\t\tthis.createImageThumbnails &&\n\t\t\tfile.type.match(/image.*/) &&\n\t\t\tfile.size <= this.maxThumbnailFileSize * 1024 * 1024\n\t\t) {\n\t\t\tthis.thumbnailQueue.push(file)\n\t\t\tsetTimeout(this.processThumbnailQueue, 0)\n\t\t}\n\t}\n\tprocessThumbnailQueue(): void {\n\t\t// Employ a chain of self-calling, self-queuing createThumbnail calls\n\t\t// so execution can stay as non-blocking as possible.\n\t\tif (this.processingThumbnail || this.thumbnailQueue.length === 0) {\n\t\t\treturn\n\t\t}\n\t\tthis.processingThumbnail = true\n\t\tthis.createThumbnail(this.thumbnailQueue.shift(), () => {\n\t\t\tthis.processingThumbnail = false\n\t\t\tthis.processThumbnailQueue()\n\t\t})\n\t}\n\tcreateThumbnail(file: VTransmitFile, callback = noop): void {\n\t\tconst reader = new FileReader()\n\t\treader.addEventListener(\n\t\t\t\"load\",\n\t\t\t() => {\n\t\t\t\tif (file.type === \"image/svg+xml\") {\n\t\t\t\t\tfile.dataUrl = reader.result\n\t\t\t\t\tthis.$emit(\"thumbnail\", file, reader.result)\n\t\t\t\t\tcallback()\n\t\t\t\t}\n\t\t\t\tthis.createThumbnailFromUrl(file, reader.result, callback)\n\t\t\t},\n\t\t\tfalse\n\t\t)\n\n\t\t// FileReader requires a native File|Blob object\n\t\treader.readAsDataURL(file.nativeFile)\n\t}\n\tcreateThumbnailFromUrl(file: VTransmitFile, imageUrl: string, callback?: Function): void {\n\t\tconst imgEl = document.createElement(\"img\")\n\n\t\timgEl.addEventListener(\n\t\t\t\"load\",\n\t\t\t() => {\n\t\t\t\tfile.width = imgEl.width\n\t\t\t\tfile.height = imgEl.height\n\t\t\t\tconst resizeInfo = this.resize(file, {\n\t\t\t\t\twidth: this.thumbnailWidth,\n\t\t\t\t\theight: this.thumbnailHeight,\n\t\t\t\t})\n\t\t\t\tconst canvas = document.createElement(\"canvas\")\n\t\t\t\tconst ctx = canvas.getContext(\"2d\")\n\t\t\t\tcanvas.width = resizeInfo.dWidth\n\t\t\t\tcanvas.height = resizeInfo.dHeight\n\t\t\t\tctx.drawImage(\n\t\t\t\t\timgEl,\n\t\t\t\t\tresizeInfo.sx,\n\t\t\t\t\tresizeInfo.sy,\n\t\t\t\t\tresizeInfo.sWidth,\n\t\t\t\t\tresizeInfo.sHeight,\n\t\t\t\t\tresizeInfo.dx,\n\t\t\t\t\tresizeInfo.dy,\n\t\t\t\t\tresizeInfo.dWidth,\n\t\t\t\t\tresizeInfo.dHeight\n\t\t\t\t)\n\t\t\t\tconst thumbnail = canvas.toDataURL(\"image/png\")\n\t\t\t\tfile.dataUrl = thumbnail\n\t\t\t\tthis.$emit(\"thumbnail\", file, thumbnail)\n\n\t\t\t\tif (callback) {\n\t\t\t\t\treturn callback()\n\t\t\t\t}\n\t\t\t},\n\t\t\tfalse\n\t\t)\n\t\tif (callback) {\n\t\t\timgEl.addEventListener(\"error\", callback as EventListenerOrEventListenerObject, false)\n\t\t}\n\n\t\timgEl.src = imageUrl\n\t}\n\tprocessQueue(): void {\n\t\tconst processingLength = this.uploadingFiles.length\n\t\tif (processingLength >= this.maxConcurrentUploads || this.queuedFiles.length === 0) {\n\t\t\treturn\n\t\t}\n\n\t\tconst queuedFiles = [...this.queuedFiles]\n\t\tif (this.uploadMultiple) {\n\t\t\treturn this.processFiles(queuedFiles.slice(0, this.maxConcurrentUploads - processingLength))\n\t\t} else {\n\t\t\tfor (let i = processingLength; i < this.maxConcurrentUploads; i++) {\n\t\t\t\tif (queuedFiles.length) {\n\t\t\t\t\tthis.processFile(queuedFiles.shift())\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tprocessFile(file: VTransmitFile): void {\n\t\tthis.processFiles([file])\n\t}\n\tprocessFiles(files: VTransmitFile[]): void {\n\t\tfor (const file of files) {\n\t\t\tfile.processing = true\n\t\t\tfile.status = STATUSES.UPLOADING\n\t\t\tthis.$emit(\"processing\", file)\n\t\t}\n\t\tif (this.uploadMultiple) {\n\t\t\tthis.$emit(\"processing-multiple\", files)\n\t\t}\n\n\t\treturn this.uploadFiles(files)\n\t}\n\tgetFilesWithXhr(xhr: XMLHttpRequest): VTransmitFile[] {\n\t\treturn this.files.filter(file => file.xhr === xhr)\n\t}\n\tcancelUpload(file: VTransmitFile): void {\n\t\tif (file.status === STATUSES.UPLOADING) {\n\t\t\tconst groupedFiles = this.getFilesWithXhr(file.xhr)\n\t\t\tfile.xhr.abort()\n\t\t\tfor (const f of groupedFiles) {\n\t\t\t\tf.status = STATUSES.CANCELED\n\t\t\t\tthis.$emit(\"canceled\", f)\n\t\t\t}\n\t\t\tif (this.uploadMultiple) {\n\t\t\t\tthis.$emit(\"canceled-multiple\", groupedFiles)\n\t\t\t}\n\t\t} else if (file.status === STATUSES.ADDED || file.status === STATUSES.QUEUED) {\n\t\t\tfile.status = STATUSES.CANCELED\n\t\t\tthis.$emit(\"canceled\", file)\n\t\t\tif (this.uploadMultiple) {\n\t\t\t\tthis.$emit(\"canceled-multiple\", [file])\n\t\t\t}\n\t\t}\n\n\t\tif (this.autoProcessQueue) {\n\t\t\tthis.processQueue()\n\t\t}\n\t}\n\tuploadFile(file: VTransmitFile): void {\n\t\tthis.uploadFiles([file])\n\t}\n\tuploadFiles(files: VTransmitFile[]): void {\n\t\tconst xhr = new XMLHttpRequest()\n\t\tfor (const file of files) {\n\t\t\tfile.xhr = xhr\n\t\t\tfile.startProgress()\n\t\t}\n\t\txhr.open(this.method, this.url, true)\n\t\t// Setting the timeout after open because of IE11 issue: https://gitlab.com/meno/dropzone/issues/8\n\t\txhr.timeout = this.timeout\n\t\txhr.withCredentials = Boolean(this.withCredentials)\n\t\txhr.responseType = this.responseType\n\n\t\tconst handleError = this.handleUploadError(files, xhr)\n\t\tconst updateProgress = this.handleUploadProgress(files)\n\t\txhr.addEventListener(\"error\", handleError)\n\t\txhr.upload.addEventListener(\"progress\", updateProgress)\n\t\txhr.addEventListener(\"timeout\", this.handleTimeout(files, xhr))\n\t\txhr.addEventListener(\"load\", e => {\n\t\t\tif (files[0].status === STATUSES.CANCELED || xhr.readyState !== XMLHttpRequest.DONE) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tlet response = xhr.response\n\n\t\t\tif (!xhr.responseType) {\n\t\t\t\tlet contentType = xhr.getResponseHeader(\"content-type\")\n\t\t\t\tresponse = xhr.responseText\n\n\t\t\t\tif (contentType && contentType.indexOf(\"application/json\") > -1) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tresponse = JSON.parse(response)\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tresponse = \"Invalid JSON response from server.\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Called at load (when complete) will enable all the progress done logic.\n\t\t\tupdateProgress()\n\t\t\tif (xhr.status < 200 || xhr.status >= 300) {\n\t\t\t\treturn handleError()\n\t\t\t} else {\n\t\t\t\treturn this.uploadFinished(files, response, e)\n\t\t\t}\n\t\t})\n\n\t\t// Use null proto obj for the following 'for in' loop\n\t\tconst headers = Object.assign(Object.create(null), this.defaultHeaders, this.headers)\n\t\tfor (const headerName in headers) {\n\t\t\tif (headers[headerName]) {\n\t\t\t\txhr.setRequestHeader(headerName, headers[headerName])\n\t\t\t}\n\t\t}\n\n\t\tconst formData = new FormData()\n\t\tfor (const key in this.params) {\n\t\t\tformData.append(key, this.params[key])\n\t\t}\n\n\t\tfor (const file of files) {\n\t\t\tthis.$emit(\"sending\", file, xhr, formData)\n\t\t}\n\t\tif (this.uploadMultiple) {\n\t\t\tthis.$emit(\"sending-multiple\", files, xhr, formData)\n\t\t}\n\n\t\tfor (let i = 0; i < files.length; i++) {\n\t\t\tformData.append(this.getParamName(i), files[i].nativeFile, this.renameFile(files[i].name))\n\t\t}\n\n\t\treturn xhr.send(formData)\n\t}\n\thandleUploadError(files: VTransmitFile[], xhr: XMLHttpRequest): () => void {\n\t\tconst vm = this\n\t\treturn function onUploadErrorFn(): void {\n\t\t\tif (files[0].status !== STATUSES.CANCELED) {\n\t\t\t\tconst message = vm.dictResponseError.replace(hbsRegex, hbsReplacer({ statusCode: xhr.status }))\n\t\t\t\tvm.errorProcessing(files, message, xhr)\n\t\t\t}\n\t\t}\n\t}\n\thandleTimeout(files: VTransmitFile[], xhr: XMLHttpRequest): (e: Event) => void {\n\t\tconst vm = this\n\t\treturn function onTimeoutFn(e: Event): void {\n\t\t\tfor (const file of files) {\n\t\t\t\tfile.status = STATUSES.TIMEOUT\n\t\t\t\tfile.endProgress()\n\t\t\t\tvm.$emit(\"timeout\", file, e, xhr)\n\t\t\t}\n\t\t\tvm.$emit(\"timeout-multiple\", files, e, xhr)\n\n\t\t\tif (this.autoProcessQueue) {\n\t\t\t\tthis.processQueue()\n\t\t\t}\n\t\t}\n\t}\n\thandleUploadProgress(files): (e?: ProgressEvent) => void {\n\t\tconst vm = this\n\t\treturn function onProgressFn(e?: ProgressEvent): void {\n\t\t\tif (e instanceof ProgressEvent) {\n\t\t\t\tfor (const file of files) {\n\t\t\t\t\tfile.handleProgress(e)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tlet allFilesFinished = true\n\t\t\t\tfor (const file of files) {\n\t\t\t\t\tif (file.upload.progress !== 100 || file.upload.bytesSent !== file.upload.total) {\n\t\t\t\t\t\tallFilesFinished = false\n\t\t\t\t\t}\n\t\t\t\t\tfile.upload.progress = 100\n\t\t\t\t\tfile.upload.bytesSent = file.upload.total\n\t\t\t\t\tfile.endProgress()\n\t\t\t\t}\n\t\t\t\tif (allFilesFinished) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (const file of files) {\n\t\t\t\tvm.$emit(\"upload-progress\", file, file.upload.progress, file.upload.bytesSent)\n\t\t\t}\n\t\t}\n\t}\n\tupdateTotalUploadProgress(): void {\n\t\tconst progress = this.activeFiles.reduce(\n\t\t\t(memo, file) => {\n\t\t\t\tmemo.totalBytesSent += file.upload.bytesSent\n\t\t\t\tmemo.totalBytes += file.upload.total\n\t\t\t\treturn memo\n\t\t\t},\n\t\t\t{ totalBytesSent: 0, totalBytes: 0, totalProgress: 100 }\n\t\t)\n\n\t\tif (this.activeFiles.length) {\n\t\t\tprogress.totalProgress = 100 * progress.totalBytesSent / progress.totalBytes\n\t\t}\n\n\t\tthis.$emit(\"total-upload-progress\", progress)\n\t}\n\tgetParamName(index): string {\n\t\treturn this.paramName + (this.uploadMultiple ? `[${index}]` : \"\")\n\t}\n\tuploadFinished(files: VTransmitFile[], response: string | object | any[], e: Event): void {\n\t\tfor (const file of files) {\n\t\t\tfile.status = STATUSES.SUCCESS\n\t\t\tfile.endProgress()\n\t\t\tthis.$emit(\"success\", file, response, e)\n\t\t\tthis.$emit(\"complete\", file)\n\t\t}\n\n\t\tif (this.uploadMultiple) {\n\t\t\tthis.$emit(\"success-multiple\", files, response, e)\n\t\t\tthis.$emit(\"complete-multiple\", files)\n\t\t}\n\n\t\tif (this.autoProcessQueue) {\n\t\t\tthis.processQueue()\n\t\t}\n\t}\n\terrorProcessing(files: VTransmitFile[], message: string, xhr?: XMLHttpRequest) {\n\t\tfor (const file of files) {\n\t\t\tfile.status = STATUSES.ERROR\n\t\t\tfile.endProgress()\n\t\t\tthis.$emit(\"error\", file, message, xhr)\n\t\t\tthis.$emit(\"complete\", file)\n\t\t}\n\n\t\tif (this.uploadMultiple) {\n\t\t\tthis.$emit(\"error-multiple\", files, message, xhr)\n\t\t\tthis.$emit(\"complete-multiple\", files)\n\t\t}\n\n\t\tif (this.autoProcessQueue) {\n\t\t\treturn this.processQueue()\n\t\t}\n\t}\n\tacceptFile(file: VTransmitFile, done: Function): void {\n\t\tif (file.size > this.maxFileSize * 1024 * 1024) {\n\t\t\tdone(\n\t\t\t\tthis.dictFileTooBig.replace(\n\t\t\t\t\thbsRegex,\n\t\t\t\t\thbsReplacer({\n\t\t\t\t\t\tfileSize: Math.round(file.size / 1024 / 10.24) / 100,\n\t\t\t\t\t\tmaxFileSize: this.maxFileSize,\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t\t)\n\t\t} else if (!this.isValidFileType(file, this.acceptedFileTypes)) {\n\t\t\tdone(this.dictInvalidFileType)\n\t\t} else if (this.maxFiles != null && this.acceptedFiles.length >= this.maxFiles) {\n\t\t\tdone(this.dictMaxFilesExceeded.replace(hbsRegex, hbsReplacer({ maxFiles: this.maxFiles })))\n\t\t\tthis.$emit(\"max-files-exceeded\", file)\n\t\t} else {\n\t\t\t// Call the prop callback for the client to validate.\n\t\t\tthis.accept(file, done)\n\t\t}\n\t}\n\tisValidFileType(file: VTransmitFile, acceptedFileTypes: string[]): boolean {\n\t\tif (!acceptedFileTypes.length) {\n\t\t\treturn true\n\t\t}\n\t\tconst mimeType = file.type\n\t\tconst baseMimeType = mimeType.replace(/\\/.*$/, \"\")\n\t\t// Return true on the first condition match,\n\t\t// otherwise exhaust all conditions and return false.\n\t\tfor (let i = 0; i < acceptedFileTypes.length; i++) {\n\t\t\tconst validType = acceptedFileTypes[i]\n\t\t\tif (validType.charAt(0) === \".\") {\n\t\t\t\t// Handle extension validation\n\t\t\t\t// Ensure extension exists at the end of the filename.\n\t\t\t\tif (file.name.toLowerCase().indexOf(validType.toLowerCase(), file.name.length - validType.length) !== -1) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t} else if (/\\/\\*$/.test(validType)) {\n\t\t\t\t// Handle globbed mimetype validation (\"image/*\")\n\t\t\t\tif (baseMimeType === validType.replace(/\\/.*$/, \"\")) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (mimeType === validType) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn false\n\t}\n\thandleDragStart(e: DragEvent): void {\n\t\tthis.$emit(\"drag-start\", e)\n\t}\n\thandleDragOver(e: DragEvent): void {\n\t\tthis.dragging = true\n\t\tlet effect\n\t\ttry {\n\t\t\t// Handle browser bug\n\t\t\teffect = e.dataTransfer.effectAllowed\n\t\t} catch (error) {}\n\t\te.dataTransfer.dropEffect = effect === \"move\" || effect === \"linkMove\" ? \"move\" : \"copy\"\n\t\tthis.$emit(\"drag-over\", e)\n\t}\n\thandleDragEnter(e: DragEvent): void {\n\t\tthis.dragging = true\n\t\tthis.$emit(\"drag-enter\", e)\n\t}\n\thandleDragLeave(e: DragEvent): void {\n\t\tthis.dragging = false\n\t\tthis.$emit(\"drag-leave\", e)\n\t}\n\thandleDragEnd(e: DragEvent): void {\n\t\tthis.dragging = false\n\t\tthis.$emit(\"drag-end\", e)\n\t}\n\thandleDrop(e: DragEvent): void {\n\t\tthis.dragging = false\n\t\tif (!e.dataTransfer) {\n\t\t\treturn\n\t\t}\n\t\tthis.$emit(\"drop\", e)\n\t\tconst files = Array.from(e.dataTransfer.files)\n\n\t\tthis.$emit(\"added-files\", files)\n\t\tif (files.length && e.dataTransfer.items) {\n\t\t\tconst items = Array.from(e.dataTransfer.items)\n\t\t\tif (items && items.length && items[0].webkitGetAsEntry) {\n\t\t\t\tthis.addFilesFromItems(items)\n\t\t\t} else {\n\t\t\t\tthis.handleFiles(files)\n\t\t\t}\n\t\t} else {\n\t\t\tthis.handleFiles(files)\n\t\t}\n\t}\n\tpaste(e: ClipboardEvent): void {\n\t\tif (!e || !e.clipboardData || !e.clipboardData.items) {\n\t\t\treturn\n\t\t}\n\t\tthis.$emit(\"paste\", e)\n\t\tconst items = Array.from(e.clipboardData.items)\n\t\tif (items.length) {\n\t\t\tthis.addFilesFromItems(items)\n\t\t}\n\t}\n\thandleFiles(files: File[]): VTransmitFile[] {\n\t\treturn files.map(this.addFile)\n\t}\n\taddFilesFromItems(items: DataTransferItem[]): void {\n\t\tfor (const item of items) {\n\t\t\t// Newer API on standards track\n\t\t\tif (item.getAsFile && item.kind == \"file\") {\n\t\t\t\tthis.addFile(item.getAsFile())\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t// Vendor prefixed experimental API\n\t\t\tif (item.webkitGetAsEntry) {\n\t\t\t\tconst entry: FileSystemEntry = item.webkitGetAsEntry()\n\n\t\t\t\tif (entry == null) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif (webkitIsFile(entry)) {\n\t\t\t\t\tentry.file(this.addFile as any, console.error)\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif (webkitIsDir(entry)) {\n\t\t\t\t\tthis.addFilesFromDirectory(entry, entry.name)\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\taddFilesFromDirectory(directory: WebKitDirectoryEntry, path): void {\n\t\tdirectory.createReader().readEntries(\n\t\t\t((entries: FileSystemEntry[]) => {\n\t\t\t\tfor (const entry of entries) {\n\t\t\t\t\tif (entry == null) {\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t\tif (webkitIsDir(entry)) {\n\t\t\t\t\t\tthis.addFilesFromDirectory(entry, `${path}/${entry.name}`)\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t\tif (webkitIsFile(entry)) {\n\t\t\t\t\t\tentry.file(\n\t\t\t\t\t\t\t((file: File) => {\n\t\t\t\t\t\t\t\tif (this.ignoreHiddenFiles && /^\\./.test(file.name)) {\n\t\t\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t;(file as any).fullPath = `${path}/${file.name}`\n\t\t\t\t\t\t\t\tthis.addFile(file)\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tconsole.error\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}),\n\t\t\tconsole.error\n\t\t)\n\t}\n\n\tmounted() {\n\t\tthis.$on(\"upload-progress\", this.updateTotalUploadProgress)\n\t\tthis.$on(\"removed-file\", this.updateTotalUploadProgress)\n\t\tthis.$on(\"canceled\", file => this.$emit(\"complete\", file))\n\t\tthis.$on(\"complete\", file => {\n\t\t\tif (this.addedFiles.length === 0 && this.uploadingFiles.length === 0 && this.queuedFiles.length === 0) {\n\t\t\t\tsetTimeout(() => this.$emit(\"queue-complete\", file), 0)\n\t\t\t}\n\t\t})\n\n\t\tthis.$emit(\"initialize\", this)\n\t}\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/vue-loader/lib/selector.js?type=script&index=0!./src/components/VueTransmit.vue","import VTransmitFile from \"../classes/VTransmitFile\"\n\nexport const assign = Object.assign\nexport const defineProperty = Object.defineProperty\n\nlet idCounter = 0\nexport function uniqueId(prefix: string): string {\n\tvar id = ++idCounter\n\treturn prefix + id\n}\n\nexport function copyOwnAndInheritedProps(obj: object): object {\n\tlet newData = {}\n\tfor (let prop in obj) {\n\t\tif (typeof obj[prop] !== \"function\") {\n\t\t\tnewData[prop] = obj[prop]\n\t\t}\n\t}\n\treturn newData\n}\n\nexport type Rounding = \"round\" | \"ceil\" | \"floor\" | \"trunc\"\n\nexport function round(number: number, decimals: number = 2, roundStyle: Rounding = \"round\") {\n\tconst roundingFactor = Math.pow(10, decimals)\n\treturn Math[roundStyle](number * roundingFactor) / roundingFactor\n}\n\nexport function fromBytesToKbit(bytes: number): number {\n\treturn bytes / 125\n}\n\nexport function fromBytesToMbit(bytes: number): number {\n\treturn bytes / 125000\n}\n\nexport function toKbps(bytes: number, seconds: number): number {\n\treturn fromBytesToKbit(bytes) / seconds\n}\n\nexport function toMbps(bytes: number, seconds: number): number {\n\treturn fromBytesToMbit(bytes) / seconds\n}\n\nexport const hbsRegex = /{{\\s*?([a-zA-Z]+)\\s*?}}/g\nexport function hbsReplacer(context: object = {}) {\n\treturn function hbsReplacerFn(match: string, capture: string) {\n\t\treturn context[capture] !== undefined ? context[capture] : match\n\t}\n}\n\nexport function objFactory() {\n\treturn {}\n}\n\nexport function scaleH(ratio: number, width: number): number {\n\treturn width / ratio\n}\n\nexport function scaleW(ratio: number, height: number): number {\n\treturn height * ratio\n}\n\nexport function scaleDims(ratio: number, width?: number, height?: number): number[] {\n\treturn typeof width === \"number\" ? [width, scaleH(ratio, width)] : [scaleW(ratio, height), height]\n}\n\nexport interface IDrawImageArgs {\n\tsx: number\n\tsy: number\n\tsWidth: number\n\tsHeight: number\n\tdx: number\n\tdy: number\n\tdWidth: number\n\tdHeight: number\n}\n\nexport interface IDimensions {\n\twidth: number\n\theight: number\n}\n\nexport function resizeImg(file: VTransmitFile, dims: IDimensions): IDrawImageArgs {\n\t// Extract the object's primitive values so we don't mutate the input\n\tconst sRatio = file.width / file.height\n\tconst dRatio = dims.width / dims.height\n\tconst imgCoords = {\n\t\tsx: 0,\n\t\tsy: 0,\n\t\tsWidth: file.width,\n\t\tsHeight: file.height,\n\t\tdx: 0,\n\t\tdy: 0,\n\t\tdWidth: dims.width,\n\t\tdHeight: dims.height,\n\t}\n\n\tlet w, h\n\tif (dRatio > sRatio) {\n\t\t;[w, h] = scaleDims(dRatio, file.width)\n\t} else {\n\t\t;[w, h] = scaleDims(dRatio, undefined, file.height)\n\t}\n\n\tif (w < file.width) {\n\t\timgCoords.sx = (file.width - w) / 2\n\t\timgCoords.sWidth = w\n\t}\n\tif (h < file.height) {\n\t\timgCoords.sy = (file.height - h) / 2\n\t\timgCoords.sHeight = h\n\t}\n\n\treturn imgCoords\n}\n\nexport function webkitIsFile(entry: WebKitFileEntry | WebKitDirectoryEntry): entry is WebKitFileEntry {\n\treturn entry.isFile\n}\n\nexport function webkitIsDir(entry: WebKitFileEntry | WebKitDirectoryEntry): entry is WebKitDirectoryEntry {\n\treturn entry.isDirectory\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/core/utils.ts","import { VueTransmit } from \"./src\"\n\nexport default {\n\tinstall(Vue, _options) {\n\t\tVue.component(\"VueTransmit\", VueTransmit)\n\t},\n\tname: \"vue-transmit\",\n}\n\n\n\n// WEBPACK FOOTER //\n// ./index.ts","import VueTransmit from \"./components/VueTransmit.vue\"\n\nexport { VueTransmit }\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.ts","function injectStyle (ssrContext) {\n require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-25b0f28c\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader!postcss-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./VueTransmit.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!vue-ts-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./VueTransmit.vue\"\nimport __vue_script__ from \"!!babel-loader!vue-ts-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./VueTransmit.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-25b0f28c\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./VueTransmit.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/VueTransmit.vue\n// module id = 5\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/extract-text-webpack-plugin/dist/loader.js?{\"omit\":1,\"remove\":true}!./node_modules/vue-style-loader!./node_modules/css-loader!./node_modules/vue-loader/lib/style-compiler?{\"vue\":true,\"id\":\"data-v-25b0f28c\",\"scoped\":false,\"hasInlineConfig\":false}!./node_modules/sass-loader/lib/loader.js!./node_modules/postcss-loader/lib?{\"sourceMap\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./src/components/VueTransmit.vue\n// module id = 6\n// module chunks = 0","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file.\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nmodule.exports = function normalizeComponent (\n rawScriptExports,\n compiledTemplate,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */\n) {\n var esModule\n var scriptExports = rawScriptExports = rawScriptExports || {}\n\n // ES6 modules interop\n var type = typeof rawScriptExports.default\n if (type === 'object' || type === 'function') {\n esModule = rawScriptExports\n scriptExports = rawScriptExports.default\n }\n\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (compiledTemplate) {\n options.render = compiledTemplate.render\n options.staticRenderFns = compiledTemplate.staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = injectStyles\n }\n\n if (hook) {\n var functional = options.functional\n var existing = functional\n ? options.render\n : options.beforeCreate\n\n if (!functional) {\n // inject component registration as beforeCreate hook\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n } else {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return existing(h, context)\n }\n }\n }\n\n return {\n esModule: esModule,\n exports: scriptExports,\n options: options\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/component-normalizer.js\n// module id = 7\n// module chunks = 0","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('vue'), require('vue-class-component'), require('reflect-metadata')) :\n\ttypeof define === 'function' && define.amd ? define(['exports', 'vue', 'vue-class-component', 'reflect-metadata'], factory) :\n\t(factory((global.VuePropertyDecorator = {}),global.Vue,global.VueClassComponent));\n}(this, (function (exports,vue,vueClassComponent) { 'use strict';\n\nvue = vue && vue.hasOwnProperty('default') ? vue['default'] : vue;\nvar vueClassComponent__default = 'default' in vueClassComponent ? vueClassComponent['default'] : vueClassComponent;\n\n/** vue-property-decorator verson 6.0.0 MIT LICENSE copyright 2017 kaorun343 */\n'use strict';\n/**\n * decorator of an inject\n * @param key key\n * @return PropertyDecorator\n */\nfunction Inject(key) {\n return vueClassComponent.createDecorator(function (componentOptions, k) {\n if (typeof componentOptions.inject === 'undefined') {\n componentOptions.inject = {};\n }\n if (!Array.isArray(componentOptions.inject)) {\n componentOptions.inject[k] = key || k;\n }\n });\n}\n/**\n * decorator of a provide\n * @param key key\n * @return PropertyDecorator | void\n */\nfunction Provide(key) {\n return vueClassComponent.createDecorator(function (componentOptions, k) {\n var provide = componentOptions.provide;\n if (typeof provide !== 'function' || !provide.managed) {\n var original_1 = componentOptions.provide;\n provide = componentOptions.provide = function () {\n var rv = Object.create((typeof original_1 === 'function' ? original_1.call(this) : original_1) || null);\n for (var i in provide.managed)\n rv[provide.managed[i]] = this[i];\n return rv;\n };\n provide.managed = {};\n }\n provide.managed[k] = key || k;\n });\n}\n/**\n * decorator of model\n * @param event event name\n * @return PropertyDecorator\n */\nfunction Model(event, options) {\n if (options === void 0) { options = {}; }\n return function (target, key) {\n if (!Array.isArray(options) && typeof options.type === 'undefined') {\n options.type = Reflect.getMetadata('design:type', target, key);\n }\n vueClassComponent.createDecorator(function (componentOptions, k) {\n (componentOptions.props || (componentOptions.props = {}))[k] = options;\n componentOptions.model = { prop: k, event: event || k };\n })(target, key);\n };\n}\n/**\n * decorator of a prop\n * @param options the options for the prop\n * @return PropertyDecorator | void\n */\nfunction Prop(options) {\n if (options === void 0) { options = {}; }\n return function (target, key) {\n if (!Array.isArray(options) && typeof options.type === 'undefined') {\n options.type = Reflect.getMetadata('design:type', target, key);\n }\n vueClassComponent.createDecorator(function (componentOptions, k) {\n (componentOptions.props || (componentOptions.props = {}))[k] = options;\n })(target, key);\n };\n}\n/**\n * decorator of a watch function\n * @param path the path or the expression to observe\n * @param WatchOption\n * @return MethodDecorator\n */\nfunction Watch(path, options) {\n if (options === void 0) { options = {}; }\n var _a = options.deep, deep = _a === void 0 ? false : _a, _b = options.immediate, immediate = _b === void 0 ? false : _b;\n return vueClassComponent.createDecorator(function (componentOptions, handler) {\n if (typeof componentOptions.watch !== 'object') {\n componentOptions.watch = Object.create(null);\n }\n componentOptions.watch[path] = { handler: handler, deep: deep, immediate: immediate };\n });\n}\n// Code copied from Vue/src/shared/util.js\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = function (str) { return str.replace(hyphenateRE, '-$1').toLowerCase(); };\n/**\n * decorator of an event-emitter function\n * @param event The name of the event\n * @return MethodDecorator\n */\nfunction Emit(event) {\n return function (target, key, descriptor) {\n key = hyphenate(key);\n var original = descriptor.value;\n descriptor.value = function emitter() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (original.apply(this, args) !== false)\n this.$emit.apply(this, [event || key].concat(args));\n };\n };\n}\n\nexports.Component = vueClassComponent__default;\nexports.Vue = vue;\nexports.Inject = Inject;\nexports.Provide = Provide;\nexports.Model = Model;\nexports.Prop = Prop;\nexports.Watch = Watch;\nexports.Emit = Emit;\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-property-decorator/lib/vue-property-decorator.umd.js\n// module id = 8\n// module chunks = 0","/**\n * vue-class-component v6.1.2\n * (c) 2015-2017 Evan You\n * @license MIT\n */\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar Vue = _interopDefault(require('vue'));\n\nvar hasProto = { __proto__: [] } instanceof Array;\nfunction createDecorator(factory) {\n return function (target, key, index) {\n var Ctor = typeof target === 'function'\n ? target\n : target.constructor;\n if (!Ctor.__decorators__) {\n Ctor.__decorators__ = [];\n }\n if (typeof index !== 'number') {\n index = undefined;\n }\n Ctor.__decorators__.push(function (options) { return factory(options, key, index); });\n };\n}\nfunction isPrimitive(value) {\n var type = typeof value;\n return value == null || (type !== \"object\" && type !== \"function\");\n}\nfunction warn(message) {\n if (typeof console !== 'undefined') {\n console.warn('[vue-class-component] ' + message);\n }\n}\n\nfunction collectDataFromConstructor(vm, Component) {\n var originalInit = Component.prototype._init;\n Component.prototype._init = function () {\n var _this = this;\n var keys = Object.getOwnPropertyNames(vm);\n if (vm.$options.props) {\n for (var key in vm.$options.props) {\n if (!vm.hasOwnProperty(key)) {\n keys.push(key);\n }\n }\n }\n keys.forEach(function (key) {\n if (key.charAt(0) !== '_') {\n Object.defineProperty(_this, key, {\n get: function () { return vm[key]; },\n set: function (value) { return vm[key] = value; },\n configurable: true\n });\n }\n });\n };\n var data = new Component();\n Component.prototype._init = originalInit;\n var plainData = {};\n Object.keys(data).forEach(function (key) {\n if (data[key] !== undefined) {\n plainData[key] = data[key];\n }\n });\n if (process.env.NODE_ENV !== 'production') {\n if (!(Component.prototype instanceof Vue) && Object.keys(plainData).length > 0) {\n warn('Component class must inherit Vue or its descendant class ' +\n 'when class property is used.');\n }\n }\n return plainData;\n}\n\nvar $internalHooks = [\n 'data',\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeDestroy',\n 'destroyed',\n 'beforeUpdate',\n 'updated',\n 'activated',\n 'deactivated',\n 'render',\n 'errorCaptured'\n];\nfunction componentFactory(Component, options) {\n if (options === void 0) { options = {}; }\n options.name = options.name || Component._componentTag || Component.name;\n var proto = Component.prototype;\n Object.getOwnPropertyNames(proto).forEach(function (key) {\n if (key === 'constructor') {\n return;\n }\n if ($internalHooks.indexOf(key) > -1) {\n options[key] = proto[key];\n return;\n }\n var descriptor = Object.getOwnPropertyDescriptor(proto, key);\n if (typeof descriptor.value === 'function') {\n (options.methods || (options.methods = {}))[key] = descriptor.value;\n }\n else if (descriptor.get || descriptor.set) {\n (options.computed || (options.computed = {}))[key] = {\n get: descriptor.get,\n set: descriptor.set\n };\n }\n });\n (options.mixins || (options.mixins = [])).push({\n data: function () {\n return collectDataFromConstructor(this, Component);\n }\n });\n var decorators = Component.__decorators__;\n if (decorators) {\n decorators.forEach(function (fn) { return fn(options); });\n delete Component.__decorators__;\n }\n var superProto = Object.getPrototypeOf(Component.prototype);\n var Super = superProto instanceof Vue\n ? superProto.constructor\n : Vue;\n var Extended = Super.extend(options);\n forwardStaticMembers(Extended, Component, Super);\n return Extended;\n}\nvar reservedPropertyNames = [\n 'cid',\n 'super',\n 'options',\n 'superOptions',\n 'extendOptions',\n 'sealedOptions',\n 'component',\n 'directive',\n 'filter'\n];\nfunction forwardStaticMembers(Extended, Original, Super) {\n Object.getOwnPropertyNames(Original).forEach(function (key) {\n if (key === 'prototype') {\n return;\n }\n var extendedDescriptor = Object.getOwnPropertyDescriptor(Extended, key);\n if (extendedDescriptor && !extendedDescriptor.configurable) {\n return;\n }\n var descriptor = Object.getOwnPropertyDescriptor(Original, key);\n if (!hasProto) {\n if (key === 'cid') {\n return;\n }\n var superDescriptor = Object.getOwnPropertyDescriptor(Super, key);\n if (!isPrimitive(descriptor.value)\n && superDescriptor\n && superDescriptor.value === descriptor.value) {\n return;\n }\n }\n if (process.env.NODE_ENV !== 'production'\n && reservedPropertyNames.indexOf(key) >= 0) {\n warn(\"Static property name '\" + key + \"' declared on class '\" + Original.name + \"' \" +\n 'conflicts with reserved property name of Vue internal. ' +\n 'It may cause unexpected behavior of the component. Consider renaming the property.');\n }\n Object.defineProperty(Extended, key, descriptor);\n });\n}\n\nfunction Component(options) {\n if (typeof options === 'function') {\n return componentFactory(options);\n }\n return function (Component) {\n return componentFactory(Component, options);\n };\n}\n(function (Component) {\n function registerHooks(keys) {\n $internalHooks.push.apply($internalHooks, keys);\n }\n Component.registerHooks = registerHooks;\n})(Component || (Component = {}));\nvar Component$1 = Component;\n\nexports['default'] = Component$1;\nexports.createDecorator = createDecorator;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-class-component/dist/vue-class-component.common.js\n// module id = 9\n// module chunks = 0","/*! *****************************************************************************\r\nCopyright (C) Microsoft. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\nvar Reflect;\r\n(function (Reflect) {\r\n \"use strict\";\r\n var hasOwn = Object.prototype.hasOwnProperty;\r\n // feature test for Symbol support\r\n var supportsSymbol = typeof Symbol === \"function\";\r\n var toPrimitiveSymbol = supportsSymbol && typeof Symbol.toPrimitive !== \"undefined\" ? Symbol.toPrimitive : \"@@toPrimitive\";\r\n var iteratorSymbol = supportsSymbol && typeof Symbol.iterator !== \"undefined\" ? Symbol.iterator : \"@@iterator\";\r\n var HashMap;\r\n (function (HashMap) {\r\n var supportsCreate = typeof Object.create === \"function\"; // feature test for Object.create support\r\n var supportsProto = { __proto__: [] } instanceof Array; // feature test for __proto__ support\r\n var downLevel = !supportsCreate && !supportsProto;\r\n // create an object in dictionary mode (a.k.a. \"slow\" mode in v8)\r\n HashMap.create = supportsCreate\r\n ? function () { return MakeDictionary(Object.create(null)); }\r\n : supportsProto\r\n ? function () { return MakeDictionary({ __proto__: null }); }\r\n : function () { return MakeDictionary({}); };\r\n HashMap.has = downLevel\r\n ? function (map, key) { return hasOwn.call(map, key); }\r\n : function (map, key) { return key in map; };\r\n HashMap.get = downLevel\r\n ? function (map, key) { return hasOwn.call(map, key) ? map[key] : undefined; }\r\n : function (map, key) { return map[key]; };\r\n })(HashMap || (HashMap = {}));\r\n // Load global or shim versions of Map, Set, and WeakMap\r\n var functionPrototype = Object.getPrototypeOf(Function);\r\n var usePolyfill = typeof process === \"object\" && process.env && process.env[\"REFLECT_METADATA_USE_MAP_POLYFILL\"] === \"true\";\r\n var _Map = !usePolyfill && typeof Map === \"function\" && typeof Map.prototype.entries === \"function\" ? Map : CreateMapPolyfill();\r\n var _Set = !usePolyfill && typeof Set === \"function\" && typeof Set.prototype.entries === \"function\" ? Set : CreateSetPolyfill();\r\n var _WeakMap = !usePolyfill && typeof WeakMap === \"function\" ? WeakMap : CreateWeakMapPolyfill();\r\n // [[Metadata]] internal slot\r\n // https://rbuckton.github.io/reflect-metadata/#ordinary-object-internal-methods-and-internal-slots\r\n var Metadata = new _WeakMap();\r\n /**\r\n * Applies a set of decorators to a property of a target object.\r\n * @param decorators An array of decorators.\r\n * @param target The target object.\r\n * @param propertyKey (Optional) The property key to decorate.\r\n * @param attributes (Optional) The property descriptor for the target key.\r\n * @remarks Decorators are applied in reverse order.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * Example = Reflect.decorate(decoratorsArray, Example);\r\n *\r\n * // property (on constructor)\r\n * Reflect.decorate(decoratorsArray, Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * Reflect.decorate(decoratorsArray, Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * Object.defineProperty(Example, \"staticMethod\",\r\n * Reflect.decorate(decoratorsArray, Example, \"staticMethod\",\r\n * Object.getOwnPropertyDescriptor(Example, \"staticMethod\")));\r\n *\r\n * // method (on prototype)\r\n * Object.defineProperty(Example.prototype, \"method\",\r\n * Reflect.decorate(decoratorsArray, Example.prototype, \"method\",\r\n * Object.getOwnPropertyDescriptor(Example.prototype, \"method\")));\r\n *\r\n */\r\n function decorate(decorators, target, propertyKey, attributes) {\r\n if (!IsUndefined(propertyKey)) {\r\n if (!IsArray(decorators))\r\n throw new TypeError();\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsObject(attributes) && !IsUndefined(attributes) && !IsNull(attributes))\r\n throw new TypeError();\r\n if (IsNull(attributes))\r\n attributes = undefined;\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return DecorateProperty(decorators, target, propertyKey, attributes);\r\n }\r\n else {\r\n if (!IsArray(decorators))\r\n throw new TypeError();\r\n if (!IsConstructor(target))\r\n throw new TypeError();\r\n return DecorateConstructor(decorators, target);\r\n }\r\n }\r\n Reflect.decorate = decorate;\r\n // 4.1.2 Reflect.metadata(metadataKey, metadataValue)\r\n // https://rbuckton.github.io/reflect-metadata/#reflect.metadata\r\n /**\r\n * A default metadata decorator factory that can be used on a class, class member, or parameter.\r\n * @param metadataKey The key for the metadata entry.\r\n * @param metadataValue The value for the metadata entry.\r\n * @returns A decorator function.\r\n * @remarks\r\n * If `metadataKey` is already defined for the target and target key, the\r\n * metadataValue for that key will be overwritten.\r\n * @example\r\n *\r\n * // constructor\r\n * @Reflect.metadata(key, value)\r\n * class Example {\r\n * }\r\n *\r\n * // property (on constructor, TypeScript only)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * static staticProperty;\r\n * }\r\n *\r\n * // property (on prototype, TypeScript only)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * property;\r\n * }\r\n *\r\n * // method (on constructor)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * static staticMethod() { }\r\n * }\r\n *\r\n * // method (on prototype)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * method() { }\r\n * }\r\n *\r\n */\r\n function metadata(metadataKey, metadataValue) {\r\n function decorator(target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey) && !IsPropertyKey(propertyKey))\r\n throw new TypeError();\r\n OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey);\r\n }\r\n return decorator;\r\n }\r\n Reflect.metadata = metadata;\r\n /**\r\n * Define a unique metadata entry on the target.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param metadataValue A value that contains attached metadata.\r\n * @param target The target object on which to define metadata.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example);\r\n *\r\n * // property (on constructor)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example.prototype, \"method\");\r\n *\r\n * // decorator factory as metadata-producing annotation.\r\n * function MyAnnotation(options): Decorator {\r\n * return (target, key?) => Reflect.defineMetadata(\"custom:annotation\", options, target, key);\r\n * }\r\n *\r\n */\r\n function defineMetadata(metadataKey, metadataValue, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey);\r\n }\r\n Reflect.defineMetadata = defineMetadata;\r\n /**\r\n * Gets a value indicating whether the target object or its prototype chain has the provided metadata key defined.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns `true` if the metadata key was defined on the target object or its prototype chain; otherwise, `false`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function hasMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryHasMetadata(metadataKey, target, propertyKey);\r\n }\r\n Reflect.hasMetadata = hasMetadata;\r\n /**\r\n * Gets a value indicating whether the target object has the provided metadata key defined.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns `true` if the metadata key was defined on the target object; otherwise, `false`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function hasOwnMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryHasOwnMetadata(metadataKey, target, propertyKey);\r\n }\r\n Reflect.hasOwnMetadata = hasOwnMetadata;\r\n /**\r\n * Gets the metadata value for the provided metadata key on the target object or its prototype chain.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns The metadata value for the metadata key if found; otherwise, `undefined`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function getMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryGetMetadata(metadataKey, target, propertyKey);\r\n }\r\n Reflect.getMetadata = getMetadata;\r\n /**\r\n * Gets the metadata value for the provided metadata key on the target object.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns The metadata value for the metadata key if found; otherwise, `undefined`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function getOwnMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryGetOwnMetadata(metadataKey, target, propertyKey);\r\n }\r\n Reflect.getOwnMetadata = getOwnMetadata;\r\n /**\r\n * Gets the metadata keys defined on the target object or its prototype chain.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns An array of unique metadata keys.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getMetadataKeys(Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getMetadataKeys(Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getMetadataKeys(Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getMetadataKeys(Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getMetadataKeys(Example.prototype, \"method\");\r\n *\r\n */\r\n function getMetadataKeys(target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryMetadataKeys(target, propertyKey);\r\n }\r\n Reflect.getMetadataKeys = getMetadataKeys;\r\n /**\r\n * Gets the unique metadata keys defined on the target object.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns An array of unique metadata keys.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getOwnMetadataKeys(Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getOwnMetadataKeys(Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getOwnMetadataKeys(Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getOwnMetadataKeys(Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getOwnMetadataKeys(Example.prototype, \"method\");\r\n *\r\n */\r\n function getOwnMetadataKeys(target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryOwnMetadataKeys(target, propertyKey);\r\n }\r\n Reflect.getOwnMetadataKeys = getOwnMetadataKeys;\r\n /**\r\n * Deletes the metadata entry from the target object with the provided key.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns `true` if the metadata entry was found and deleted; otherwise, false.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function deleteMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n var metadataMap = GetOrCreateMetadataMap(target, propertyKey, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return false;\r\n if (!metadataMap.delete(metadataKey))\r\n return false;\r\n if (metadataMap.size > 0)\r\n return true;\r\n var targetMetadata = Metadata.get(target);\r\n targetMetadata.delete(propertyKey);\r\n if (targetMetadata.size > 0)\r\n return true;\r\n Metadata.delete(target);\r\n return true;\r\n }\r\n Reflect.deleteMetadata = deleteMetadata;\r\n function DecorateConstructor(decorators, target) {\r\n for (var i = decorators.length - 1; i >= 0; --i) {\r\n var decorator = decorators[i];\r\n var decorated = decorator(target);\r\n if (!IsUndefined(decorated) && !IsNull(decorated)) {\r\n if (!IsConstructor(decorated))\r\n throw new TypeError();\r\n target = decorated;\r\n }\r\n }\r\n return target;\r\n }\r\n function DecorateProperty(decorators, target, propertyKey, descriptor) {\r\n for (var i = decorators.length - 1; i >= 0; --i) {\r\n var decorator = decorators[i];\r\n var decorated = decorator(target, propertyKey, descriptor);\r\n if (!IsUndefined(decorated) && !IsNull(decorated)) {\r\n if (!IsObject(decorated))\r\n throw new TypeError();\r\n descriptor = decorated;\r\n }\r\n }\r\n return descriptor;\r\n }\r\n function GetOrCreateMetadataMap(O, P, Create) {\r\n var targetMetadata = Metadata.get(O);\r\n if (IsUndefined(targetMetadata)) {\r\n if (!Create)\r\n return undefined;\r\n targetMetadata = new _Map();\r\n Metadata.set(O, targetMetadata);\r\n }\r\n var metadataMap = targetMetadata.get(P);\r\n if (IsUndefined(metadataMap)) {\r\n if (!Create)\r\n return undefined;\r\n metadataMap = new _Map();\r\n targetMetadata.set(P, metadataMap);\r\n }\r\n return metadataMap;\r\n }\r\n // 3.1.1.1 OrdinaryHasMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinaryhasmetadata\r\n function OrdinaryHasMetadata(MetadataKey, O, P) {\r\n var hasOwn = OrdinaryHasOwnMetadata(MetadataKey, O, P);\r\n if (hasOwn)\r\n return true;\r\n var parent = OrdinaryGetPrototypeOf(O);\r\n if (!IsNull(parent))\r\n return OrdinaryHasMetadata(MetadataKey, parent, P);\r\n return false;\r\n }\r\n // 3.1.2.1 OrdinaryHasOwnMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinaryhasownmetadata\r\n function OrdinaryHasOwnMetadata(MetadataKey, O, P) {\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return false;\r\n return ToBoolean(metadataMap.has(MetadataKey));\r\n }\r\n // 3.1.3.1 OrdinaryGetMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarygetmetadata\r\n function OrdinaryGetMetadata(MetadataKey, O, P) {\r\n var hasOwn = OrdinaryHasOwnMetadata(MetadataKey, O, P);\r\n if (hasOwn)\r\n return OrdinaryGetOwnMetadata(MetadataKey, O, P);\r\n var parent = OrdinaryGetPrototypeOf(O);\r\n if (!IsNull(parent))\r\n return OrdinaryGetMetadata(MetadataKey, parent, P);\r\n return undefined;\r\n }\r\n // 3.1.4.1 OrdinaryGetOwnMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarygetownmetadata\r\n function OrdinaryGetOwnMetadata(MetadataKey, O, P) {\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return undefined;\r\n return metadataMap.get(MetadataKey);\r\n }\r\n // 3.1.5.1 OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarydefineownmetadata\r\n function OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P) {\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ true);\r\n metadataMap.set(MetadataKey, MetadataValue);\r\n }\r\n // 3.1.6.1 OrdinaryMetadataKeys(O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarymetadatakeys\r\n function OrdinaryMetadataKeys(O, P) {\r\n var ownKeys = OrdinaryOwnMetadataKeys(O, P);\r\n var parent = OrdinaryGetPrototypeOf(O);\r\n if (parent === null)\r\n return ownKeys;\r\n var parentKeys = OrdinaryMetadataKeys(parent, P);\r\n if (parentKeys.length <= 0)\r\n return ownKeys;\r\n if (ownKeys.length <= 0)\r\n return parentKeys;\r\n var set = new _Set();\r\n var keys = [];\r\n for (var _i = 0, ownKeys_1 = ownKeys; _i < ownKeys_1.length; _i++) {\r\n var key = ownKeys_1[_i];\r\n var hasKey = set.has(key);\r\n if (!hasKey) {\r\n set.add(key);\r\n keys.push(key);\r\n }\r\n }\r\n for (var _a = 0, parentKeys_1 = parentKeys; _a < parentKeys_1.length; _a++) {\r\n var key = parentKeys_1[_a];\r\n var hasKey = set.has(key);\r\n if (!hasKey) {\r\n set.add(key);\r\n keys.push(key);\r\n }\r\n }\r\n return keys;\r\n }\r\n // 3.1.7.1 OrdinaryOwnMetadataKeys(O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinaryownmetadatakeys\r\n function OrdinaryOwnMetadataKeys(O, P) {\r\n var keys = [];\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return keys;\r\n var keysObj = metadataMap.keys();\r\n var iterator = GetIterator(keysObj);\r\n var k = 0;\r\n while (true) {\r\n var next = IteratorStep(iterator);\r\n if (!next) {\r\n keys.length = k;\r\n return keys;\r\n }\r\n var nextValue = IteratorValue(next);\r\n try {\r\n keys[k] = nextValue;\r\n }\r\n catch (e) {\r\n try {\r\n IteratorClose(iterator);\r\n }\r\n finally {\r\n throw e;\r\n }\r\n }\r\n k++;\r\n }\r\n }\r\n // 6 ECMAScript Data Typ0es and Values\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-data-types-and-values\r\n function Type(x) {\r\n if (x === null)\r\n return 1 /* Null */;\r\n switch (typeof x) {\r\n case \"undefined\": return 0 /* Undefined */;\r\n case \"boolean\": return 2 /* Boolean */;\r\n case \"string\": return 3 /* String */;\r\n case \"symbol\": return 4 /* Symbol */;\r\n case \"number\": return 5 /* Number */;\r\n case \"object\": return x === null ? 1 /* Null */ : 6 /* Object */;\r\n default: return 6 /* Object */;\r\n }\r\n }\r\n // 6.1.1 The Undefined Type\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-undefined-type\r\n function IsUndefined(x) {\r\n return x === undefined;\r\n }\r\n // 6.1.2 The Null Type\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-null-type\r\n function IsNull(x) {\r\n return x === null;\r\n }\r\n // 6.1.5 The Symbol Type\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-symbol-type\r\n function IsSymbol(x) {\r\n return typeof x === \"symbol\";\r\n }\r\n // 6.1.7 The Object Type\r\n // https://tc39.github.io/ecma262/#sec-object-type\r\n function IsObject(x) {\r\n return typeof x === \"object\" ? x !== null : typeof x === \"function\";\r\n }\r\n // 7.1 Type Conversion\r\n // https://tc39.github.io/ecma262/#sec-type-conversion\r\n // 7.1.1 ToPrimitive(input [, PreferredType])\r\n // https://tc39.github.io/ecma262/#sec-toprimitive\r\n function ToPrimitive(input, PreferredType) {\r\n switch (Type(input)) {\r\n case 0 /* Undefined */: return input;\r\n case 1 /* Null */: return input;\r\n case 2 /* Boolean */: return input;\r\n case 3 /* String */: return input;\r\n case 4 /* Symbol */: return input;\r\n case 5 /* Number */: return input;\r\n }\r\n var hint = PreferredType === 3 /* String */ ? \"string\" : PreferredType === 5 /* Number */ ? \"number\" : \"default\";\r\n var exoticToPrim = GetMethod(input, toPrimitiveSymbol);\r\n if (exoticToPrim !== undefined) {\r\n var result = exoticToPrim.call(input, hint);\r\n if (IsObject(result))\r\n throw new TypeError();\r\n return result;\r\n }\r\n return OrdinaryToPrimitive(input, hint === \"default\" ? \"number\" : hint);\r\n }\r\n // 7.1.1.1 OrdinaryToPrimitive(O, hint)\r\n // https://tc39.github.io/ecma262/#sec-ordinarytoprimitive\r\n function OrdinaryToPrimitive(O, hint) {\r\n if (hint === \"string\") {\r\n var toString_1 = O.toString;\r\n if (IsCallable(toString_1)) {\r\n var result = toString_1.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n var valueOf = O.valueOf;\r\n if (IsCallable(valueOf)) {\r\n var result = valueOf.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n }\r\n else {\r\n var valueOf = O.valueOf;\r\n if (IsCallable(valueOf)) {\r\n var result = valueOf.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n var toString_2 = O.toString;\r\n if (IsCallable(toString_2)) {\r\n var result = toString_2.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n }\r\n throw new TypeError();\r\n }\r\n // 7.1.2 ToBoolean(argument)\r\n // https://tc39.github.io/ecma262/2016/#sec-toboolean\r\n function ToBoolean(argument) {\r\n return !!argument;\r\n }\r\n // 7.1.12 ToString(argument)\r\n // https://tc39.github.io/ecma262/#sec-tostring\r\n function ToString(argument) {\r\n return \"\" + argument;\r\n }\r\n // 7.1.14 ToPropertyKey(argument)\r\n // https://tc39.github.io/ecma262/#sec-topropertykey\r\n function ToPropertyKey(argument) {\r\n var key = ToPrimitive(argument, 3 /* String */);\r\n if (IsSymbol(key))\r\n return key;\r\n return ToString(key);\r\n }\r\n // 7.2 Testing and Comparison Operations\r\n // https://tc39.github.io/ecma262/#sec-testing-and-comparison-operations\r\n // 7.2.2 IsArray(argument)\r\n // https://tc39.github.io/ecma262/#sec-isarray\r\n function IsArray(argument) {\r\n return Array.isArray\r\n ? Array.isArray(argument)\r\n : argument instanceof Object\r\n ? argument instanceof Array\r\n : Object.prototype.toString.call(argument) === \"[object Array]\";\r\n }\r\n // 7.2.3 IsCallable(argument)\r\n // https://tc39.github.io/ecma262/#sec-iscallable\r\n function IsCallable(argument) {\r\n // NOTE: This is an approximation as we cannot check for [[Call]] internal method.\r\n return typeof argument === \"function\";\r\n }\r\n // 7.2.4 IsConstructor(argument)\r\n // https://tc39.github.io/ecma262/#sec-isconstructor\r\n function IsConstructor(argument) {\r\n // NOTE: This is an approximation as we cannot check for [[Construct]] internal method.\r\n return typeof argument === \"function\";\r\n }\r\n // 7.2.7 IsPropertyKey(argument)\r\n // https://tc39.github.io/ecma262/#sec-ispropertykey\r\n function IsPropertyKey(argument) {\r\n switch (Type(argument)) {\r\n case 3 /* String */: return true;\r\n case 4 /* Symbol */: return true;\r\n default: return false;\r\n }\r\n }\r\n // 7.3 Operations on Objects\r\n // https://tc39.github.io/ecma262/#sec-operations-on-objects\r\n // 7.3.9 GetMethod(V, P)\r\n // https://tc39.github.io/ecma262/#sec-getmethod\r\n function GetMethod(V, P) {\r\n var func = V[P];\r\n if (func === undefined || func === null)\r\n return undefined;\r\n if (!IsCallable(func))\r\n throw new TypeError();\r\n return func;\r\n }\r\n // 7.4 Operations on Iterator Objects\r\n // https://tc39.github.io/ecma262/#sec-operations-on-iterator-objects\r\n function GetIterator(obj) {\r\n var method = GetMethod(obj, iteratorSymbol);\r\n if (!IsCallable(method))\r\n throw new TypeError(); // from Call\r\n var iterator = method.call(obj);\r\n if (!IsObject(iterator))\r\n throw new TypeError();\r\n return iterator;\r\n }\r\n // 7.4.4 IteratorValue(iterResult)\r\n // https://tc39.github.io/ecma262/2016/#sec-iteratorvalue\r\n function IteratorValue(iterResult) {\r\n return iterResult.value;\r\n }\r\n // 7.4.5 IteratorStep(iterator)\r\n // https://tc39.github.io/ecma262/#sec-iteratorstep\r\n function IteratorStep(iterator) {\r\n var result = iterator.next();\r\n return result.done ? false : result;\r\n }\r\n // 7.4.6 IteratorClose(iterator, completion)\r\n // https://tc39.github.io/ecma262/#sec-iteratorclose\r\n function IteratorClose(iterator) {\r\n var f = iterator[\"return\"];\r\n if (f)\r\n f.call(iterator);\r\n }\r\n // 9.1 Ordinary Object Internal Methods and Internal Slots\r\n // https://tc39.github.io/ecma262/#sec-ordinary-object-internal-methods-and-internal-slots\r\n // 9.1.1.1 OrdinaryGetPrototypeOf(O)\r\n // https://tc39.github.io/ecma262/#sec-ordinarygetprototypeof\r\n function OrdinaryGetPrototypeOf(O) {\r\n var proto = Object.getPrototypeOf(O);\r\n if (typeof O !== \"function\" || O === functionPrototype)\r\n return proto;\r\n // TypeScript doesn't set __proto__ in ES5, as it's non-standard.\r\n // Try to determine the superclass constructor. Compatible implementations\r\n // must either set __proto__ on a subclass constructor to the superclass constructor,\r\n // or ensure each class has a valid `constructor` property on its prototype that\r\n // points back to the constructor.\r\n // If this is not the same as Function.[[Prototype]], then this is definately inherited.\r\n // This is the case when in ES6 or when using __proto__ in a compatible browser.\r\n if (proto !== functionPrototype)\r\n return proto;\r\n // If the super prototype is Object.prototype, null, or undefined, then we cannot determine the heritage.\r\n var prototype = O.prototype;\r\n var prototypeProto = prototype && Object.getPrototypeOf(prototype);\r\n if (prototypeProto == null || prototypeProto === Object.prototype)\r\n return proto;\r\n // If the constructor was not a function, then we cannot determine the heritage.\r\n var constructor = prototypeProto.constructor;\r\n if (typeof constructor !== \"function\")\r\n return proto;\r\n // If we have some kind of self-reference, then we cannot determine the heritage.\r\n if (constructor === O)\r\n return proto;\r\n // we have a pretty good guess at the heritage.\r\n return constructor;\r\n }\r\n // naive Map shim\r\n function CreateMapPolyfill() {\r\n var cacheSentinel = {};\r\n var arraySentinel = [];\r\n var MapIterator = (function () {\r\n function MapIterator(keys, values, selector) {\r\n this._index = 0;\r\n this._keys = keys;\r\n this._values = values;\r\n this._selector = selector;\r\n }\r\n MapIterator.prototype[\"@@iterator\"] = function () { return this; };\r\n MapIterator.prototype[iteratorSymbol] = function () { return this; };\r\n MapIterator.prototype.next = function () {\r\n var index = this._index;\r\n if (index >= 0 && index < this._keys.length) {\r\n var result = this._selector(this._keys[index], this._values[index]);\r\n if (index + 1 >= this._keys.length) {\r\n this._index = -1;\r\n this._keys = arraySentinel;\r\n this._values = arraySentinel;\r\n }\r\n else {\r\n this._index++;\r\n }\r\n return { value: result, done: false };\r\n }\r\n return { value: undefined, done: true };\r\n };\r\n MapIterator.prototype.throw = function (error) {\r\n if (this._index >= 0) {\r\n this._index = -1;\r\n this._keys = arraySentinel;\r\n this._values = arraySentinel;\r\n }\r\n throw error;\r\n };\r\n MapIterator.prototype.return = function (value) {\r\n if (this._index >= 0) {\r\n this._index = -1;\r\n this._keys = arraySentinel;\r\n this._values = arraySentinel;\r\n }\r\n return { value: value, done: true };\r\n };\r\n return MapIterator;\r\n }());\r\n return (function () {\r\n function Map() {\r\n this._keys = [];\r\n this._values = [];\r\n this._cacheKey = cacheSentinel;\r\n this._cacheIndex = -2;\r\n }\r\n Object.defineProperty(Map.prototype, \"size\", {\r\n get: function () { return this._keys.length; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Map.prototype.has = function (key) { return this._find(key, /*insert*/ false) >= 0; };\r\n Map.prototype.get = function (key) {\r\n var index = this._find(key, /*insert*/ false);\r\n return index >= 0 ? this._values[index] : undefined;\r\n };\r\n Map.prototype.set = function (key, value) {\r\n var index = this._find(key, /*insert*/ true);\r\n this._values[index] = value;\r\n return this;\r\n };\r\n Map.prototype.delete = function (key) {\r\n var index = this._find(key, /*insert*/ false);\r\n if (index >= 0) {\r\n var size = this._keys.length;\r\n for (var i = index + 1; i < size; i++) {\r\n this._keys[i - 1] = this._keys[i];\r\n this._values[i - 1] = this._values[i];\r\n }\r\n this._keys.length--;\r\n this._values.length--;\r\n if (key === this._cacheKey) {\r\n this._cacheKey = cacheSentinel;\r\n this._cacheIndex = -2;\r\n }\r\n return true;\r\n }\r\n return false;\r\n };\r\n Map.prototype.clear = function () {\r\n this._keys.length = 0;\r\n this._values.length = 0;\r\n this._cacheKey = cacheSentinel;\r\n this._cacheIndex = -2;\r\n };\r\n Map.prototype.keys = function () { return new MapIterator(this._keys, this._values, getKey); };\r\n Map.prototype.values = function () { return new MapIterator(this._keys, this._values, getValue); };\r\n Map.prototype.entries = function () { return new MapIterator(this._keys, this._values, getEntry); };\r\n Map.prototype[\"@@iterator\"] = function () { return this.entries(); };\r\n Map.prototype[iteratorSymbol] = function () { return this.entries(); };\r\n Map.prototype._find = function (key, insert) {\r\n if (this._cacheKey !== key) {\r\n this._cacheIndex = this._keys.indexOf(this._cacheKey = key);\r\n }\r\n if (this._cacheIndex < 0 && insert) {\r\n this._cacheIndex = this._keys.length;\r\n this._keys.push(key);\r\n this._values.push(undefined);\r\n }\r\n return this._cacheIndex;\r\n };\r\n return Map;\r\n }());\r\n function getKey(key, _) {\r\n return key;\r\n }\r\n function getValue(_, value) {\r\n return value;\r\n }\r\n function getEntry(key, value) {\r\n return [key, value];\r\n }\r\n }\r\n // naive Set shim\r\n function CreateSetPolyfill() {\r\n return (function () {\r\n function Set() {\r\n this._map = new _Map();\r\n }\r\n Object.defineProperty(Set.prototype, \"size\", {\r\n get: function () { return this._map.size; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Set.prototype.has = function (value) { return this._map.has(value); };\r\n Set.prototype.add = function (value) { return this._map.set(value, value), this; };\r\n Set.prototype.delete = function (value) { return this._map.delete(value); };\r\n Set.prototype.clear = function () { this._map.clear(); };\r\n Set.prototype.keys = function () { return this._map.keys(); };\r\n Set.prototype.values = function () { return this._map.values(); };\r\n Set.prototype.entries = function () { return this._map.entries(); };\r\n Set.prototype[\"@@iterator\"] = function () { return this.keys(); };\r\n Set.prototype[iteratorSymbol] = function () { return this.keys(); };\r\n return Set;\r\n }());\r\n }\r\n // naive WeakMap shim\r\n function CreateWeakMapPolyfill() {\r\n var UUID_SIZE = 16;\r\n var keys = HashMap.create();\r\n var rootKey = CreateUniqueKey();\r\n return (function () {\r\n function WeakMap() {\r\n this._key = CreateUniqueKey();\r\n }\r\n WeakMap.prototype.has = function (target) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ false);\r\n return table !== undefined ? HashMap.has(table, this._key) : false;\r\n };\r\n WeakMap.prototype.get = function (target) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ false);\r\n return table !== undefined ? HashMap.get(table, this._key) : undefined;\r\n };\r\n WeakMap.prototype.set = function (target, value) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ true);\r\n table[this._key] = value;\r\n return this;\r\n };\r\n WeakMap.prototype.delete = function (target) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ false);\r\n return table !== undefined ? delete table[this._key] : false;\r\n };\r\n WeakMap.prototype.clear = function () {\r\n // NOTE: not a real clear, just makes the previous data unreachable\r\n this._key = CreateUniqueKey();\r\n };\r\n return WeakMap;\r\n }());\r\n function CreateUniqueKey() {\r\n var key;\r\n do\r\n key = \"@@WeakMap@@\" + CreateUUID();\r\n while (HashMap.has(keys, key));\r\n keys[key] = true;\r\n return key;\r\n }\r\n function GetOrCreateWeakMapTable(target, create) {\r\n if (!hasOwn.call(target, rootKey)) {\r\n if (!create)\r\n return undefined;\r\n Object.defineProperty(target, rootKey, { value: HashMap.create() });\r\n }\r\n return target[rootKey];\r\n }\r\n function FillRandomBytes(buffer, size) {\r\n for (var i = 0; i < size; ++i)\r\n buffer[i] = Math.random() * 0xff | 0;\r\n return buffer;\r\n }\r\n function GenRandomBytes(size) {\r\n if (typeof Uint8Array === \"function\") {\r\n if (typeof crypto !== \"undefined\")\r\n return crypto.getRandomValues(new Uint8Array(size));\r\n if (typeof msCrypto !== \"undefined\")\r\n return msCrypto.getRandomValues(new Uint8Array(size));\r\n return FillRandomBytes(new Uint8Array(size), size);\r\n }\r\n return FillRandomBytes(new Array(size), size);\r\n }\r\n function CreateUUID() {\r\n var data = GenRandomBytes(UUID_SIZE);\r\n // mark as random - RFC 4122 ยง 4.4\r\n data[6] = data[6] & 0x4f | 0x40;\r\n data[8] = data[8] & 0xbf | 0x80;\r\n var result = \"\";\r\n for (var offset = 0; offset < UUID_SIZE; ++offset) {\r\n var byte = data[offset];\r\n if (offset === 4 || offset === 6 || offset === 8)\r\n result += \"-\";\r\n if (byte < 16)\r\n result += \"0\";\r\n result += byte.toString(16).toLowerCase();\r\n }\r\n return result;\r\n }\r\n }\r\n // uses a heuristic used by v8 and chakra to force an object into dictionary mode.\r\n function MakeDictionary(obj) {\r\n obj.__ = undefined;\r\n delete obj.__;\r\n return obj;\r\n }\r\n // patch global Reflect\r\n (function (__global) {\r\n if (typeof __global.Reflect !== \"undefined\") {\r\n if (__global.Reflect !== Reflect) {\r\n for (var p in Reflect) {\r\n if (hasOwn.call(Reflect, p)) {\r\n __global.Reflect[p] = Reflect[p];\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n __global.Reflect = Reflect;\r\n }\r\n })(typeof global !== \"undefined\" ? global :\r\n typeof self !== \"undefined\" ? self :\r\n Function(\"return this;\")());\r\n})(Reflect || (Reflect = {}));\r\n//# sourceMappingURL=Reflect.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/reflect-metadata/Reflect.js\n// module id = 10\n// module chunks = 0","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/node-libs-browser/node_modules/process/browser.js\n// module id = 11\n// module chunks = 0","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 12\n// module chunks = 0","/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nexport default noop;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/lodash-es/noop.js","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nexport default identity;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/lodash-es/identity.js","import { assign, defineProperty, copyOwnAndInheritedProps, uniqueId, round, toKbps, toMbps } from \"../core/utils\"\n\nexport interface IUploadStats {\n\tbytesSent: number\n\tprogress: number\n\ttotal: number\n\tspeed: ISpeedStats\n\tstart: number\n\tend: number\n\ttime: number\n}\n\nexport interface ISpeedStats {\n\tkbps: number\n\tmbps: number\n}\n\nclass VTransmitFile {\n\tprivate _nativeFile: File = null\n\tid: string = VTransmitFile.idFactory()\n\taccepted: boolean = undefined // Passed all validation.\n\tlastModified: number = undefined\n\tlastModifiedDate: Date = undefined\n\tname: string = undefined\n\tprocessing: boolean = undefined\n\tsize: number = undefined\n\tstatus: string = undefined\n\ttype: string = undefined\n\tupload: IUploadStats = {\n\t\tbytesSent: 0,\n\t\tprogress: 0,\n\t\ttotal: 0,\n\t\tspeed: {\n\t\t\tkbps: undefined,\n\t\t\tmbps: undefined,\n\t\t},\n\t\tstart: undefined,\n\t\tend: undefined,\n\t\ttime: undefined,\n\t}\n\twebkitRelativePath: USVString = undefined\n\twidth: number = undefined\n\theight: number = undefined\n\txhr: XMLHttpRequest = undefined\n\tprivate _dataUrl: string\n\terrorMessage: string = undefined\n\n\tconstructor(...data: object[]) {\n\t\tassign(this, ...data)\n\t}\n\n\tset(...data: object[]): VTransmitFile {\n\t\tassign(this, ...data)\n\t\treturn this\n\t}\n\n\tcopyNativeFile(file: File): VTransmitFile {\n\t\t// save reference for upload\n\t\tthis.nativeFile = file\n\t\t// Copy props to normal object for Vue reactivity.\n\t\t// Vue cannot define reactive properties on native file's readonly props.\n\t\treturn this.set(copyOwnAndInheritedProps(file))\n\t}\n\n\tcopyOwnAndInheritedProps(...data: object[]): VTransmitFile {\n\t\treturn this.set(...data.map(copyOwnAndInheritedProps))\n\t}\n\n\thandleProgress(e: ProgressEvent): void {\n\t\tthis.startProgress()\n\t\tconst total = e.total || this.upload.total\n\t\tthis.upload.progress = Math.min(100, 100 * e.loaded / total)\n\t\tthis.upload.bytesSent = e.loaded\n\t\tthis.upload.total = total\n\t\tthis.upload.time = (Date.now() - this.upload.start) / 1000\n\t\t// Recalc the upload speed in bytes/sec\n\t\tthis.upload.speed.kbps = round(toKbps(this.upload.bytesSent, this.upload.time))\n\t\tthis.upload.speed.mbps = round(toMbps(this.upload.bytesSent, this.upload.time))\n\t\tif (this.upload.progress === 100) {\n\t\t\tthis.endProgress()\n\t\t}\n\t}\n\n\tstartProgress(): VTransmitFile {\n\t\t// Avoid starting twice\n\t\tif (typeof this.upload.start !== \"number\") {\n\t\t\tthis.upload.start = Date.now()\n\t\t}\n\t\treturn this\n\t}\n\n\tendProgress(): VTransmitFile {\n\t\t// Avoid ending twice\n\t\tif (typeof this.upload.end !== \"number\") {\n\t\t\tthis.upload.end = Date.now()\n\t\t\tthis.upload.time = (Date.now() - this.upload.start) / 1000\n\t\t}\n\t\treturn this\n\t}\n\n\tget nativeFile() {\n\t\treturn this._nativeFile\n\t}\n\n\tset nativeFile(file: File) {\n\t\tif (!(file instanceof File)) {\n\t\t\tthrow new TypeError(`[${VTransmitFile.name}] Expected an instance of File (native).`)\n\t\t}\n\t\tthis._nativeFile = file\n\t\tthis.upload.total = file.size\n\t}\n\n\tget dataUrl() {\n\t\treturn this._dataUrl || \"\"\n\t}\n\n\tset dataUrl(value) {\n\t\tdefineProperty(this, \"_dataUrl\", {\n\t\t\tvalue,\n\t\t\tenumerable: false,\n\t\t\tconfigurable: true,\n\t\t\twritable: true,\n\t\t})\n\t}\n\n\tstatic fromNativeFile(file: File, ...data) {\n\t\tconst instance = new VTransmitFile(...data)\n\t\tinstance.copyNativeFile(file)\n\t\treturn instance\n\t}\n\n\tstatic idFactory() {\n\t\treturn uniqueId(\"v-transmit-file-\")\n\t}\n}\n\nexport default VTransmitFile\n\n\n\n// WEBPACK FOOTER //\n// ./src/classes/VTransmitFile.ts","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(_vm.tag,{tag:\"component\"},[_c('div',_vm._g(_vm._b({staticClass:\"v-transmit__upload-area\",class:[_vm.isDraggingClass, _vm.uploadAreaClasses],attrs:{\"draggable\":\"true\"},on:{\"click\":_vm.handleClickUploaderAction,\"dragstart\":_vm.handleDragStart,\"dragend\":_vm.handleDragEnd,\"dragenter\":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDragEnter($event)},\"dragover\":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDragOver($event)},\"dragleave\":_vm.handleDragLeave,\"drop\":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDrop($event)}}},'div',_vm.uploadAreaAttrs,false),_vm.uploadAreaListeners),[_vm._t(\"default\")],2),_vm._v(\" \"),_vm._t(\"files\",null,null,_vm.fileSlotBindings),_vm._v(\" \"),_c('input',{ref:\"hiddenFileInput\",class:[_vm.maxFilesReachedClass],style:(_vm.fileInputStyles),attrs:{\"type\":\"file\",\"multiple\":_vm.multiple,\"accept\":_vm.filesToAccept,\"capture\":_vm.capture},on:{\"change\":_vm.onFileInputChange}})],2)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-25b0f28c\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/VueTransmit.vue\n// module id = 16\n// module chunks = 0"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["webpack:///webpack/bootstrap 7009c8681741c85435bc","webpack:///external {\"root\":\"Vue\",\"commonjs2\":\"vue\"}","webpack:///./src/components/VueTransmit.vue?cd95","webpack:///./src/core/utils.ts","webpack:///./index.ts","webpack:///./src/index.ts","webpack:///./src/components/VueTransmit.vue","webpack:///./src/components/VueTransmit.vue?18b8","webpack:///./node_modules/vue-loader/lib/component-normalizer.js","webpack:///./node_modules/vue-property-decorator/lib/vue-property-decorator.umd.js","webpack:///./node_modules/vue-class-component/dist/vue-class-component.common.js","webpack:///./node_modules/reflect-metadata/Reflect.js","webpack:///./node_modules/node-libs-browser/node_modules/process/browser.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/lodash-es/noop.js","webpack:///./node_modules/lodash-es/identity.js","webpack:///./src/classes/VTransmitFile.ts","webpack:///./src/components/VueTransmit.vue?d47d"],"names":["noop","identity","value"],"mappings":"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CA;AACA;AACwK;AACxK;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC1BA,yC;;;;;;ACAA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACtGA;AACA;AACA;AACA,2CAA2C;AAC3C,CAAC,kDAAkD;;AAEnD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,cAAc;AAC3C;AACA;AACA;AACA;AACA;AACA,mEAAmE;AACnE,sCAAsC;AACtC,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,cAAc;AAC3C;AACA;AACA;AACA;AACA;AACA,mEAAmE;AACnE,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,cAAc;AAC3C;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,KAAK;AACL;AACA;AACA;AACA,gCAAgC,sDAAsD;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,8CAA8C,cAAc;;AAE5D,CAAC;;;;;;;;AClID;AACA;AACA;AACA;AACA;AACA;;AAEA,8CAA8C,cAAc;;AAE5D,+BAA+B,iFAAiF;;AAEhH;;AAEA,gBAAgB,gBAAgB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,qCAAqC,EAAE;AAC5F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,gBAAgB,EAAE;AACxD,2CAA2C,wBAAwB,EAAE;AACrE;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,cAAc;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA;AACA,uDAAuD;AACvD;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,0CAA0C,oBAAoB,EAAE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,8BAA8B;AAC/B;;AAEA;AACA;;;;;;;AChMA;AACA;AACA,+DAA+D;AAC/D;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE;AACjE,6BAA6B,gBAAgB,kBAAkB;AAC/D;AACA;AACA;AACA,2BAA2B,4CAA4C;AACvE;AACA,+BAA+B,wBAAwB,kBAAkB,EAAE;AAC3E,+BAA+B,yBAAyB,EAAE;AAC1D;AACA,mCAAmC,8BAA8B;AACjE,mCAAmC,mBAAmB;AACtD;AACA,mCAAmC,qDAAqD;AACxF,mCAAmC,iBAAiB;AACpD,KAAK,0BAA0B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oGAAoG;AACpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6EAA6E;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,wCAAwC;AACxC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,QAAQ;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,QAAQ;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,uBAAuB;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,0BAA0B;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D,aAAa;AAC5E,iEAAiE,aAAa;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,0BAA0B,EAAE;AAC9D;AACA;AACA,aAAa;AACb,gDAAgD,+CAA+C;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,UAAU;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,0DAA0D;AACxG,gDAAgD,4DAA4D;AAC5G,iDAAiD,4DAA4D;AAC7G,uDAAuD,uBAAuB;AAC9E,yDAAyD,uBAAuB;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,uBAAuB,EAAE;AAC3D;AACA;AACA,aAAa;AACb,kDAAkD,6BAA6B;AAC/E,kDAAkD,0CAA0C;AAC5F,qDAAqD,gCAAgC;AACrF,+CAA+C,mBAAmB;AAClE,8CAA8C,yBAAyB;AACvE,gDAAgD,2BAA2B;AAC3E,iDAAiD,4BAA4B;AAC7E,uDAAuD,oBAAoB;AAC3E,yDAAyD,oBAAoB;AAC7E;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,0BAA0B;AAClF;AACA;AACA;AACA;AACA,2BAA2B,UAAU;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,oBAAoB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,kCAAkC;AAClC,CAAC,0BAA0B;AAC3B,mC;;;;;;;ACpmCA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA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","file":"vue-transmit.esm.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 3);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 7009c8681741c85435bc","module.exports = require(\"vue\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"root\":\"Vue\",\"commonjs2\":\"vue\"}\n// module id = 0\n// module chunks = 0","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\"\nimport { Component, Prop, Watch } from \"vue-property-decorator\"\nimport noop from \"lodash-es/noop\"\nimport identity from \"lodash-es/identity\"\nimport {\n\thbsRegex,\n\thbsReplacer,\n\tobjFactory,\n\tresizeImg,\n\tIDrawImageArgs,\n\tIDimensions,\n\twebkitIsFile,\n\twebkitIsDir,\n} from \"../core/utils\"\nimport VTransmitFile from \"../classes/VTransmitFile\"\n\ntype FileSystemEntry = WebKitFileEntry | WebKitDirectoryEntry\n\nconst STATUSES = {\n\tADDED: \"added\",\n\tQUEUED: \"queued\",\n\tACCEPTED: \"queued\",\n\tUPLOADING: \"uploading\",\n\tPROCESSING: \"uploading\",\n\tCANCELED: \"canceled\",\n\tERROR: \"error\",\n\tTIMEOUT: \"timeout\",\n\tSUCCESS: \"success\",\n}\n\n@Component({ name: \"VueTransmit\" })\nexport default class VueTransmit extends Vue {\n\t@Prop({ type: String, default: \"div\" })\n\ttag: string\n\n\t@Prop({ type: [Array, Object, String], default: null })\n\tuploadAreaClasses: any[] | object | string\n\n\t@Prop({ type: Object, default: objFactory })\n\tuploadAreaAttrs: object\n\n\t@Prop({ type: Object, default: objFactory })\n\tuploadAreaListeners: object\n\n\t@Prop({ type: String, default: null })\n\tdragClass: string\n\n\t@Prop({ type: String, required: true })\n\turl: string\n\n\t@Prop({ type: String, default: \"post\" })\n\tmethod: string\n\n\t@Prop({ type: Boolean, default: false })\n\twithCredentials: boolean\n\n\t// timeout in milliseconds\n\t@Prop({ type: Number, default: 0 })\n\ttimeout: number\n\n\t@Prop({ type: Number, default: 2 })\n\tmaxConcurrentUploads: number\n\t// Whether to send multiple files in one request.\n\t@Prop({ type: Boolean, default: false })\n\tuploadMultiple: boolean\n\n\t// in MB\n\t@Prop({ type: Number, default: 256 })\n\tmaxFileSize: number\n\n\t// The name of the file param that gets transferred.\n\t@Prop({ type: String, default: \"file\" })\n\tparamName: string\n\n\t@Prop({ type: Boolean, default: true })\n\tcreateImageThumbnails: boolean\n\n\t// in MB. When the filename exceeds this limit, the thumbnail will not be generated.\n\t@Prop({ type: Number, default: 10 })\n\tmaxThumbnailFileSize: number\n\n\t@Prop({ type: Number, default: 120 })\n\tthumbnailWidth: number\n\n\t@Prop({ type: Number, default: 120 })\n\tthumbnailHeight: number\n\n\t/**\n * The base that is used to calculate the file size. You can change this to\n * 1024 if you would rather display kibibytes, mebibytes, etc...\n * 1024 is technically incorrect,\n * because `1024 bytes` are `1 kibibyte` not `1 kilobyte`.\n * You can change this to `1024` if you don't care about validity.\n */\n\t@Prop({ type: Number, default: 1000 })\n\tfileSizeBase: number\n\n\t/**\n * Can be used to limit the maximum number of files that will be handled\n * by this Dropzone\n */\n\t@Prop({ type: Number, default: null })\n\tmaxFiles: number\n\n\t/**\n * Can be an object of additional parameters to transfer to the server.\n * This is the same as adding hidden input fields in the form element.\n */\n\t@Prop({ type: Object, default: objFactory })\n\tparams: object\n\n\t@Prop({ type: Object, default: objFactory })\n\theaders: object\n\n\t@Prop({ type: String, default: \"\" })\n\tresponseType: XMLHttpRequestResponseType\n\n\t// If true, the dropzone will present a file selector when clicked.\n\t@Prop({ type: Boolean, default: true })\n\tclickable: boolean\n\n\t// Whether hidden files in directories should be ignored.\n\t@Prop({ type: Boolean, default: true })\n\tignoreHiddenFiles: boolean\n\n\t/**\n * You can set accepted mime types here.\n *\n * The default implementation of the `accept()` function will check this\n * property, and if the Dropzone is clickable this will be used as\n * `accept` attribute.\n *\n * This is a comma separated list of mime types or extensions. E.g.:\n * - audio/*,video/*,image/png,.pdf\n *\n * See https://developer.mozilla.org/en-US/docs/HTML/Element/input#attr-accept\n * for a reference.\n */\n\t@Prop({ type: Array, default: () => [] })\n\tacceptedFileTypes: string[]\n\n\t/**\n * If false, files will be added to the queue but the queue will not be\n * processed automatically.\n * This can be useful if you need some additional user input before sending\n * files (or if you want want all files sent at once).\n * If you're ready to send the file simply call myDropzone.processQueue()\n */\n\t@Prop({ type: Boolean, default: true })\n\tautoProcessQueue: boolean\n\n\t/**\n * If false, files added to the dropzone will not be queued by default.\n * You'll have to call `enqueueFile(file)` manually.\n */\n\t@Prop({ type: Boolean, default: true })\n\tautoQueue: boolean\n\n\t/**\n * If null, no capture type will be specified\n * If camera, mobile devices will skip the file selection and choose camera\n * If microphone, mobile devices will skip the file selection and choose the microphone\n * If camcorder, mobile devices will skip the file selection and choose the camera in video mode\n * On apple devices multiple must be set to false. AcceptedFiles may need to\n * be set to an appropriate mime type (e.g. \"image/*\", \"audio/*\", or \"video/*\").\n */\n\t@Prop({ type: String, default: null })\n\tcapture: string\n\n\t/**\n * Before the file is appended to the formData, the function renameFile is performed for file.name, file\n * which executes the function defined in renameFile\n */\n\t@Prop({ type: Function, default: identity })\n\trenameFile: (name: string) => string\n\n\t// If the file size is too big.\n\t@Prop({ type: String, default: \"File is too big ({{ fileSize }}MiB). Max file size: {{ maxFileSize }}MB.\" })\n\tdictFileTooBig: string\n\n\t// If the file doesn't match the file type.\n\t@Prop({ type: String, default: \"You can't upload files of this type.\" })\n\tdictInvalidFileType: string\n\n\t// If the server response was invalid.\n\t@Prop({ type: String, default: \"Error during upload: {{ statusText }} [{{ statusCode }}]\" })\n\tdictResponseError: string\n\n\t/**\n * Displayed when the maxFiles have been exceeded\n * You can use {{maxFiles}} here, which will be replaced by the option.\n */\n\t@Prop({ type: String, default: \"You can not upload any more files.\" })\n\tdictMaxFilesExceeded: string\n\n\t/**\n * If `done()` is called without argument the file is accepted\n * If you call it with an error message, the file is rejected\n * (This allows for asynchronous validation).\n */\n\t@Prop({ type: Function, default: (_, done: Function) => done() })\n\taccept: (file: VTransmitFile, done: Function) => void\n\n\t@Prop({ type: Function, default: resizeImg })\n\tresize: (file: VTransmitFile, dims: IDimensions) => IDrawImageArgs\n\n\tpublic dragging: boolean = false\n\t// Used to keep the createThumbnail calls processing async one-at-a-time\n\tprivate processingThumbnail: boolean = false\n\tpublic thumbnailQueue: any[] = []\n\tpublic files: VTransmitFile[] = []\n\tpublic defaultHeaders: object = {\n\t\tAccept: \"application/json\",\n\t\t\"Cache-Control\": \"no-cache\",\n\t\t\"X-Requested-With\": \"XMLHttpRequest\",\n\t}\n\tpublic formStyles: object = {\n\t\tvisibility: \"hidden !important\",\n\t\tposition: \"absolute !important\",\n\t\ttop: \"0 !important\",\n\t\tleft: \"0 !important\",\n\t\theight: \"0px !important\",\n\t\twidth: \"0px !important\",\n\t}\n\n\tget inputEl(): HTMLInputElement {\n\t\tlet el = null\n\t\tif (this.$refs.hiddenFileInput instanceof HTMLInputElement) {\n\t\t\tel = this.$refs.hiddenFileInput\n\t\t}\n\t\treturn el\n\t}\n\tget formEl(): HTMLFormElement {\n\t\tlet el = null\n\t\tif (this.$refs.uploadForm instanceof HTMLFormElement) {\n\t\t\tel = this.$refs.uploadForm\n\t\t}\n\t\treturn el\n\t}\n\tget filesToAccept(): string {\n\t\treturn this.acceptedFileTypes.join(\",\")\n\t}\n\tget multiple(): boolean {\n\t\treturn this.maxFiles === null || this.maxFiles > 1\n\t}\n\tget acceptedFiles(): VTransmitFile[] {\n\t\treturn this.files.filter(f => f.accepted)\n\t}\n\tget rejectedFiles(): VTransmitFile[] {\n\t\treturn this.files.filter(f => !f.accepted)\n\t}\n\tget addedFiles(): VTransmitFile[] {\n\t\treturn this.getFilesWithStatus(STATUSES.ADDED)\n\t}\n\tget queuedFiles(): VTransmitFile[] {\n\t\treturn this.getFilesWithStatus(STATUSES.QUEUED)\n\t}\n\tget uploadingFiles(): VTransmitFile[] {\n\t\treturn this.getFilesWithStatus(STATUSES.UPLOADING)\n\t}\n\tget activeFiles(): VTransmitFile[] {\n\t\treturn this.getFilesWithStatus(STATUSES.UPLOADING, STATUSES.QUEUED)\n\t}\n\tget maxFilesReached(): boolean {\n\t\t// Loose equality checks null && undefined\n\t\treturn this.maxFiles != null && this.acceptedFiles.length >= this.maxFiles\n\t}\n\tget maxFilesReachedClass(): string {\n\t\treturn this.maxFilesReached ? \"v-transmit__max-files--reached\" : null\n\t}\n\tget isDraggingClass(): { [key: string]: boolean } {\n\t\treturn {\n\t\t\t\"v-transmit__upload-area--is-dragging\": this.dragging,\n\t\t\t[this.dragClass]: this.dragging,\n\t\t}\n\t}\n\tget isUploading(): boolean {\n\t\treturn this.uploadingFiles.length > 0\n\t}\n\tget fileSlotBindings() {\n\t\treturn {\n\t\t\tfiles: this.files,\n\t\t\tacceptedFiles: this.acceptedFiles,\n\t\t\trejectedFiles: this.rejectedFiles,\n\t\t\taddedFiles: this.addedFiles,\n\t\t\tqueuedFiles: this.queuedFiles,\n\t\t\tuploadingFiles: this.uploadingFiles,\n\t\t\tactiveFiles: this.activeFiles,\n\t\t\tisUploading: this.isUploading,\n\t\t}\n\t}\n\n\t@Watch(\"acceptedFiles\")\n\tonAcceptedFilesChange(acceptedFiles: VTransmitFile[]) {\n\t\tif (this.maxFiles == null) {\n\t\t\treturn\n\t\t}\n\t\tif (acceptedFiles.length >= this.maxFiles) {\n\t\t\tthis.$emit(\"max-files-reached\", this.files)\n\t\t}\n\t}\n\n\tgetFilesWithStatus(...statuses: string[]): VTransmitFile[] {\n\t\treturn this.files.filter(f => statuses.indexOf(f.status) > -1)\n\t}\n\tonFileInputChange(): void {\n\t\tthis.$emit(\"added-files\", Array.from(this.inputEl.files).map(this.addFile))\n\t\tthis.formEl.reset()\n\t}\n\taddFile(file: File): VTransmitFile {\n\t\tconst vTransmitFile = VTransmitFile.fromNativeFile(file)\n\t\tvTransmitFile.status = STATUSES.ADDED\n\t\tthis.files.push(vTransmitFile)\n\t\tthis.$emit(\"added-file\", vTransmitFile)\n\t\tthis.enqueueThumbnail(vTransmitFile)\n\t\tthis.acceptFile(vTransmitFile, error => {\n\t\t\tif (error) {\n\t\t\t\tvTransmitFile.accepted = false\n\t\t\t\tthis.errorProcessing([vTransmitFile], error)\n\t\t\t\tthis.$emit(\"rejected-file\", vTransmitFile)\n\t\t\t} else {\n\t\t\t\tvTransmitFile.accepted = true\n\t\t\t\tthis.$emit(\"accepted-file\", vTransmitFile)\n\t\t\t\tif (this.autoQueue) {\n\t\t\t\t\tthis.enqueueFile(vTransmitFile)\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.$emit(\"accept-complete\", vTransmitFile)\n\t\t})\n\n\t\treturn vTransmitFile\n\t}\n\tremoveFile(file: VTransmitFile): void {\n\t\tif (file.status === STATUSES.UPLOADING) {\n\t\t\tthis.cancelUpload(file)\n\t\t}\n\t\tconst idxToRm = this.files.findIndex(f => f.id === file.id)\n\t\tif (~idxToRm) {\n\t\t\tthis.$emit(\"removed-file\", this.files.splice(idxToRm, 1)[0])\n\t\t\tif (this.files.length === 0) {\n\t\t\t\tthis.$emit(\"reset\")\n\t\t\t}\n\t\t}\n\t}\n\tremoveAllFiles(cancelInProgressUploads = false): void {\n\t\tfor (const file of this.files) {\n\t\t\tif (file.status !== STATUSES.UPLOADING || cancelInProgressUploads) {\n\t\t\t\tthis.removeFile(file)\n\t\t\t}\n\t\t}\n\t}\n\ttriggerBrowseFiles(): void {\n\t\tthis.inputEl.click()\n\t}\n\thandleClickUploaderAction(): void {\n\t\tif (this.clickable) {\n\t\t\tthis.triggerBrowseFiles()\n\t\t}\n\t}\n\tenqueueFile(file: VTransmitFile): void {\n\t\tif (file.status === STATUSES.ADDED && file.accepted === true) {\n\t\t\tfile.status = STATUSES.QUEUED\n\t\t\tif (this.autoProcessQueue) {\n\t\t\t\tsetTimeout(this.processQueue, 0)\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new Error(\"This file can't be queued because it has already been processed or was rejected.\")\n\t\t}\n\t}\n\tenqueueThumbnail(file: VTransmitFile): void {\n\t\tif (\n\t\t\tthis.createImageThumbnails &&\n\t\t\tfile.type.match(/image.*/) &&\n\t\t\tfile.size <= this.maxThumbnailFileSize * 1024 * 1024\n\t\t) {\n\t\t\tthis.thumbnailQueue.push(file)\n\t\t\tsetTimeout(this.processThumbnailQueue, 0)\n\t\t}\n\t}\n\tprocessThumbnailQueue(): void {\n\t\t// Employ a chain of self-calling, self-queuing createThumbnail calls\n\t\t// so execution can stay as non-blocking as possible.\n\t\tif (this.processingThumbnail || this.thumbnailQueue.length === 0) {\n\t\t\treturn\n\t\t}\n\t\tthis.processingThumbnail = true\n\t\tthis.createThumbnail(this.thumbnailQueue.shift(), () => {\n\t\t\tthis.processingThumbnail = false\n\t\t\tthis.processThumbnailQueue()\n\t\t})\n\t}\n\tcreateThumbnail(file: VTransmitFile, callback = noop): void {\n\t\tconst reader = new FileReader()\n\t\treader.addEventListener(\n\t\t\t\"load\",\n\t\t\t() => {\n\t\t\t\tif (file.type === \"image/svg+xml\") {\n\t\t\t\t\tfile.dataUrl = reader.result\n\t\t\t\t\tthis.$emit(\"thumbnail\", file, reader.result)\n\t\t\t\t\tcallback()\n\t\t\t\t}\n\t\t\t\tthis.createThumbnailFromUrl(file, reader.result, callback)\n\t\t\t},\n\t\t\tfalse\n\t\t)\n\n\t\t// FileReader requires a native File|Blob object\n\t\treader.readAsDataURL(file.nativeFile)\n\t}\n\tcreateThumbnailFromUrl(file: VTransmitFile, imageUrl: string, callback?: Function): void {\n\t\tconst imgEl = document.createElement(\"img\")\n\n\t\timgEl.addEventListener(\n\t\t\t\"load\",\n\t\t\t() => {\n\t\t\t\tfile.width = imgEl.width\n\t\t\t\tfile.height = imgEl.height\n\t\t\t\tconst resizeInfo = this.resize(file, {\n\t\t\t\t\twidth: this.thumbnailWidth,\n\t\t\t\t\theight: this.thumbnailHeight,\n\t\t\t\t})\n\t\t\t\tconst canvas = document.createElement(\"canvas\")\n\t\t\t\tconst ctx = canvas.getContext(\"2d\")\n\t\t\t\tcanvas.width = resizeInfo.dWidth\n\t\t\t\tcanvas.height = resizeInfo.dHeight\n\t\t\t\tctx.drawImage(\n\t\t\t\t\timgEl,\n\t\t\t\t\tresizeInfo.sx,\n\t\t\t\t\tresizeInfo.sy,\n\t\t\t\t\tresizeInfo.sWidth,\n\t\t\t\t\tresizeInfo.sHeight,\n\t\t\t\t\tresizeInfo.dx,\n\t\t\t\t\tresizeInfo.dy,\n\t\t\t\t\tresizeInfo.dWidth,\n\t\t\t\t\tresizeInfo.dHeight\n\t\t\t\t)\n\t\t\t\tconst thumbnail = canvas.toDataURL(\"image/png\")\n\t\t\t\tfile.dataUrl = thumbnail\n\t\t\t\tthis.$emit(\"thumbnail\", file, thumbnail)\n\n\t\t\t\tif (callback) {\n\t\t\t\t\treturn callback()\n\t\t\t\t}\n\t\t\t},\n\t\t\tfalse\n\t\t)\n\t\tif (callback) {\n\t\t\timgEl.addEventListener(\"error\", callback as EventListenerOrEventListenerObject, false)\n\t\t}\n\n\t\timgEl.src = imageUrl\n\t}\n\tprocessQueue(): void {\n\t\tconst processingLength = this.uploadingFiles.length\n\t\tif (processingLength >= this.maxConcurrentUploads || this.queuedFiles.length === 0) {\n\t\t\treturn\n\t\t}\n\n\t\tconst queuedFiles = [...this.queuedFiles]\n\t\tif (this.uploadMultiple) {\n\t\t\treturn this.processFiles(queuedFiles.slice(0, this.maxConcurrentUploads - processingLength))\n\t\t} else {\n\t\t\tfor (let i = processingLength; i < this.maxConcurrentUploads; i++) {\n\t\t\t\tif (queuedFiles.length) {\n\t\t\t\t\tthis.processFile(queuedFiles.shift())\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tprocessFile(file: VTransmitFile): void {\n\t\tthis.processFiles([file])\n\t}\n\tprocessFiles(files: VTransmitFile[]): void {\n\t\tfor (const file of files) {\n\t\t\tfile.processing = true\n\t\t\tfile.status = STATUSES.UPLOADING\n\t\t\tthis.$emit(\"processing\", file)\n\t\t}\n\t\tif (this.uploadMultiple) {\n\t\t\tthis.$emit(\"processing-multiple\", files)\n\t\t}\n\n\t\treturn this.uploadFiles(files)\n\t}\n\tgetFilesWithXhr(xhr: XMLHttpRequest): VTransmitFile[] {\n\t\treturn this.files.filter(file => file.xhr === xhr)\n\t}\n\tcancelUpload(file: VTransmitFile): void {\n\t\tif (file.status === STATUSES.UPLOADING) {\n\t\t\tconst groupedFiles = this.getFilesWithXhr(file.xhr)\n\t\t\tfile.xhr.abort()\n\t\t\tfor (const f of groupedFiles) {\n\t\t\t\tf.status = STATUSES.CANCELED\n\t\t\t\tthis.$emit(\"canceled\", f)\n\t\t\t}\n\t\t\tif (this.uploadMultiple) {\n\t\t\t\tthis.$emit(\"canceled-multiple\", groupedFiles)\n\t\t\t}\n\t\t} else if (file.status === STATUSES.ADDED || file.status === STATUSES.QUEUED) {\n\t\t\tfile.status = STATUSES.CANCELED\n\t\t\tthis.$emit(\"canceled\", file)\n\t\t\tif (this.uploadMultiple) {\n\t\t\t\tthis.$emit(\"canceled-multiple\", [file])\n\t\t\t}\n\t\t}\n\n\t\tif (this.autoProcessQueue) {\n\t\t\tthis.processQueue()\n\t\t}\n\t}\n\tuploadFile(file: VTransmitFile): void {\n\t\tthis.uploadFiles([file])\n\t}\n\tuploadFiles(files: VTransmitFile[]): void {\n\t\tconst xhr = new XMLHttpRequest()\n\t\tfor (const file of files) {\n\t\t\tfile.xhr = xhr\n\t\t\tfile.startProgress()\n\t\t}\n\t\txhr.open(this.method, this.url, true)\n\t\t// Setting the timeout after open because of IE11 issue: https://gitlab.com/meno/dropzone/issues/8\n\t\txhr.timeout = this.timeout\n\t\txhr.withCredentials = Boolean(this.withCredentials)\n\t\txhr.responseType = this.responseType\n\n\t\tconst handleError = this.handleUploadError(files, xhr)\n\t\tconst updateProgress = this.handleUploadProgress(files)\n\t\txhr.addEventListener(\"error\", handleError)\n\t\txhr.upload.addEventListener(\"progress\", updateProgress)\n\t\txhr.addEventListener(\"timeout\", this.handleTimeout(files, xhr))\n\t\txhr.addEventListener(\"load\", e => {\n\t\t\tif (files[0].status === STATUSES.CANCELED || xhr.readyState !== XMLHttpRequest.DONE) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tlet response = xhr.response\n\n\t\t\tif (!xhr.responseType) {\n\t\t\t\tlet contentType = xhr.getResponseHeader(\"content-type\")\n\t\t\t\tresponse = xhr.responseText\n\n\t\t\t\tif (contentType && contentType.indexOf(\"application/json\") > -1) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tresponse = JSON.parse(response)\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tresponse = \"Invalid JSON response from server.\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Called at load (when complete) will enable all the progress done logic.\n\t\t\tupdateProgress()\n\t\t\tif (xhr.status < 200 || xhr.status >= 300) {\n\t\t\t\treturn handleError()\n\t\t\t} else {\n\t\t\t\treturn this.uploadFinished(files, response, e)\n\t\t\t}\n\t\t})\n\n\t\t// Use null proto obj for the following 'for in' loop\n\t\tconst headers = Object.assign(Object.create(null), this.defaultHeaders, this.headers)\n\t\tfor (const headerName in headers) {\n\t\t\tif (headers[headerName]) {\n\t\t\t\txhr.setRequestHeader(headerName, headers[headerName])\n\t\t\t}\n\t\t}\n\n\t\tconst formData = new FormData()\n\t\tfor (const key in this.params) {\n\t\t\tformData.append(key, this.params[key])\n\t\t}\n\n\t\tfor (const file of files) {\n\t\t\tthis.$emit(\"sending\", file, xhr, formData)\n\t\t}\n\t\tif (this.uploadMultiple) {\n\t\t\tthis.$emit(\"sending-multiple\", files, xhr, formData)\n\t\t}\n\n\t\tfor (let i = 0; i < files.length; i++) {\n\t\t\tformData.append(this.getParamName(i), files[i].nativeFile, this.renameFile(files[i].name))\n\t\t}\n\n\t\treturn xhr.send(formData)\n\t}\n\thandleUploadError(files: VTransmitFile[], xhr: XMLHttpRequest): () => void {\n\t\tconst vm = this\n\t\treturn function onUploadErrorFn(): void {\n\t\t\tif (files[0].status !== STATUSES.CANCELED) {\n\t\t\t\tconst message = vm.dictResponseError.replace(\n\t\t\t\t\thbsRegex,\n\t\t\t\t\thbsReplacer({ statusText: xhr.statusText, statusCode: xhr.status })\n\t\t\t\t)\n\t\t\t\tvm.errorProcessing(files, message, xhr)\n\t\t\t}\n\t\t}\n\t}\n\thandleTimeout(files: VTransmitFile[], xhr: XMLHttpRequest): (e: Event) => void {\n\t\tconst vm = this\n\t\treturn function onTimeoutFn(e: Event): void {\n\t\t\tfor (const file of files) {\n\t\t\t\tfile.status = STATUSES.TIMEOUT\n\t\t\t\tfile.endProgress()\n\t\t\t\tvm.$emit(\"timeout\", file, e, xhr)\n\t\t\t}\n\t\t\tvm.$emit(\"timeout-multiple\", files, e, xhr)\n\n\t\t\tif (this.autoProcessQueue) {\n\t\t\t\tthis.processQueue()\n\t\t\t}\n\t\t}\n\t}\n\thandleUploadProgress(files): (e?: ProgressEvent) => void {\n\t\tconst vm = this\n\t\treturn function onProgressFn(e?: ProgressEvent): void {\n\t\t\tif (e instanceof ProgressEvent) {\n\t\t\t\tfor (const file of files) {\n\t\t\t\t\tfile.handleProgress(e)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tlet allFilesFinished = true\n\t\t\t\tfor (const file of files) {\n\t\t\t\t\tif (file.upload.progress !== 100 || file.upload.bytesSent !== file.upload.total) {\n\t\t\t\t\t\tallFilesFinished = false\n\t\t\t\t\t}\n\t\t\t\t\tfile.upload.progress = 100\n\t\t\t\t\tfile.upload.bytesSent = file.upload.total\n\t\t\t\t\tfile.endProgress()\n\t\t\t\t}\n\t\t\t\tif (allFilesFinished) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (const file of files) {\n\t\t\t\tvm.$emit(\"upload-progress\", file, file.upload.progress, file.upload.bytesSent)\n\t\t\t}\n\t\t}\n\t}\n\tupdateTotalUploadProgress(): void {\n\t\tconst progress = this.activeFiles.reduce(\n\t\t\t(memo, file) => {\n\t\t\t\tmemo.totalBytesSent += file.upload.bytesSent\n\t\t\t\tmemo.totalBytes += file.upload.total\n\t\t\t\treturn memo\n\t\t\t},\n\t\t\t{ totalBytesSent: 0, totalBytes: 0, totalProgress: 100 }\n\t\t)\n\n\t\tif (this.activeFiles.length) {\n\t\t\tprogress.totalProgress = 100 * progress.totalBytesSent / progress.totalBytes\n\t\t}\n\n\t\tthis.$emit(\"total-upload-progress\", progress)\n\t}\n\tgetParamName(index): string {\n\t\treturn this.paramName + (this.uploadMultiple ? `[${index}]` : \"\")\n\t}\n\tuploadFinished(files: VTransmitFile[], response: string | object | any[], e: Event): void {\n\t\tfor (const file of files) {\n\t\t\tfile.status = STATUSES.SUCCESS\n\t\t\tfile.endProgress()\n\t\t\tthis.$emit(\"success\", file, response, e)\n\t\t\tthis.$emit(\"complete\", file)\n\t\t}\n\n\t\tif (this.uploadMultiple) {\n\t\t\tthis.$emit(\"success-multiple\", files, response, e)\n\t\t\tthis.$emit(\"complete-multiple\", files)\n\t\t}\n\n\t\tif (this.autoProcessQueue) {\n\t\t\tthis.processQueue()\n\t\t}\n\t}\n\terrorProcessing(files: VTransmitFile[], message: string, xhr?: XMLHttpRequest) {\n\t\tfor (const file of files) {\n\t\t\tfile.status = STATUSES.ERROR\n\t\t\tfile.endProgress()\n\t\t\tthis.$emit(\"error\", file, message, xhr)\n\t\t\tthis.$emit(\"complete\", file)\n\t\t}\n\n\t\tif (this.uploadMultiple) {\n\t\t\tthis.$emit(\"error-multiple\", files, message, xhr)\n\t\t\tthis.$emit(\"complete-multiple\", files)\n\t\t}\n\n\t\tif (this.autoProcessQueue) {\n\t\t\treturn this.processQueue()\n\t\t}\n\t}\n\tacceptFile(file: VTransmitFile, done: Function): void {\n\t\tif (file.size > this.maxFileSize * 1024 * 1024) {\n\t\t\tdone(\n\t\t\t\tthis.dictFileTooBig.replace(\n\t\t\t\t\thbsRegex,\n\t\t\t\t\thbsReplacer({\n\t\t\t\t\t\tfileSize: Math.round(file.size / 1024 / 10.24) / 100,\n\t\t\t\t\t\tmaxFileSize: this.maxFileSize,\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t\t)\n\t\t} else if (!this.isValidFileType(file, this.acceptedFileTypes)) {\n\t\t\tdone(this.dictInvalidFileType)\n\t\t} else if (this.maxFiles != null && this.acceptedFiles.length >= this.maxFiles) {\n\t\t\tdone(this.dictMaxFilesExceeded.replace(hbsRegex, hbsReplacer({ maxFiles: this.maxFiles })))\n\t\t\tthis.$emit(\"max-files-exceeded\", file)\n\t\t} else {\n\t\t\t// Call the prop callback for the client to validate.\n\t\t\tthis.accept(file, done)\n\t\t}\n\t}\n\tisValidFileType(file: VTransmitFile, acceptedFileTypes: string[]): boolean {\n\t\tif (!acceptedFileTypes.length) {\n\t\t\treturn true\n\t\t}\n\t\tconst mimeType = file.type\n\t\tconst baseMimeType = mimeType.replace(/\\/.*$/, \"\")\n\t\t// Return true on the first condition match,\n\t\t// otherwise exhaust all conditions and return false.\n\t\tfor (let i = 0; i < acceptedFileTypes.length; i++) {\n\t\t\tconst validType = acceptedFileTypes[i]\n\t\t\tif (validType.charAt(0) === \".\") {\n\t\t\t\t// Handle extension validation\n\t\t\t\t// Ensure extension exists at the end of the filename.\n\t\t\t\tif (file.name.toLowerCase().indexOf(validType.toLowerCase(), file.name.length - validType.length) !== -1) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t} else if (/\\/\\*$/.test(validType)) {\n\t\t\t\t// Handle globbed mimetype validation (\"image/*\")\n\t\t\t\tif (baseMimeType === validType.replace(/\\/.*$/, \"\")) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (mimeType === validType) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn false\n\t}\n\thandleDragStart(e: DragEvent): void {\n\t\tthis.$emit(\"drag-start\", e)\n\t}\n\thandleDragOver(e: DragEvent): void {\n\t\tthis.dragging = true\n\t\tlet effect\n\t\ttry {\n\t\t\t// Handle browser bug\n\t\t\teffect = e.dataTransfer.effectAllowed\n\t\t} catch (error) {}\n\t\te.dataTransfer.dropEffect = effect === \"move\" || effect === \"linkMove\" ? \"move\" : \"copy\"\n\t\tthis.$emit(\"drag-over\", e)\n\t}\n\thandleDragEnter(e: DragEvent): void {\n\t\tthis.dragging = true\n\t\tthis.$emit(\"drag-enter\", e)\n\t}\n\thandleDragLeave(e: DragEvent): void {\n\t\tthis.dragging = false\n\t\tthis.$emit(\"drag-leave\", e)\n\t}\n\thandleDragEnd(e: DragEvent): void {\n\t\tthis.dragging = false\n\t\tthis.$emit(\"drag-end\", e)\n\t}\n\thandleDrop(e: DragEvent): void {\n\t\tthis.dragging = false\n\t\tif (!e.dataTransfer) {\n\t\t\treturn\n\t\t}\n\t\tthis.$emit(\"drop\", e)\n\t\tconst files = Array.from(e.dataTransfer.files)\n\n\t\tthis.$emit(\"added-files\", files)\n\t\tif (files.length && e.dataTransfer.items) {\n\t\t\tconst items = Array.from(e.dataTransfer.items)\n\t\t\tif (items && items.length && items[0].webkitGetAsEntry) {\n\t\t\t\tthis.addFilesFromItems(items)\n\t\t\t} else {\n\t\t\t\tthis.handleFiles(files)\n\t\t\t}\n\t\t} else {\n\t\t\tthis.handleFiles(files)\n\t\t}\n\t}\n\tpaste(e: ClipboardEvent): void {\n\t\tif (!e || !e.clipboardData || !e.clipboardData.items) {\n\t\t\treturn\n\t\t}\n\t\tthis.$emit(\"paste\", e)\n\t\tconst items = Array.from(e.clipboardData.items)\n\t\tif (items.length) {\n\t\t\tthis.addFilesFromItems(items)\n\t\t}\n\t}\n\thandleFiles(files: File[]): VTransmitFile[] {\n\t\treturn files.map(this.addFile)\n\t}\n\taddFilesFromItems(items: DataTransferItem[]): void {\n\t\tfor (const item of items) {\n\t\t\t// Newer API on standards track\n\t\t\tif (item.getAsFile && item.kind == \"file\") {\n\t\t\t\tthis.addFile(item.getAsFile())\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t// Vendor prefixed experimental API\n\t\t\tif (item.webkitGetAsEntry) {\n\t\t\t\tconst entry: FileSystemEntry = item.webkitGetAsEntry()\n\n\t\t\t\tif (entry == null) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif (webkitIsFile(entry)) {\n\t\t\t\t\tentry.file(this.addFile as any, console.error)\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif (webkitIsDir(entry)) {\n\t\t\t\t\tthis.addFilesFromDirectory(entry, entry.name)\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\taddFilesFromDirectory(directory: WebKitDirectoryEntry, path): void {\n\t\tdirectory.createReader().readEntries(\n\t\t\t((entries: FileSystemEntry[]) => {\n\t\t\t\tfor (const entry of entries) {\n\t\t\t\t\tif (entry == null) {\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t\tif (webkitIsDir(entry)) {\n\t\t\t\t\t\tthis.addFilesFromDirectory(entry, `${path}/${entry.name}`)\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t\tif (webkitIsFile(entry)) {\n\t\t\t\t\t\tentry.file(\n\t\t\t\t\t\t\t((file: File) => {\n\t\t\t\t\t\t\t\tif (this.ignoreHiddenFiles && /^\\./.test(file.name)) {\n\t\t\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t;(file as any).fullPath = `${path}/${file.name}`\n\t\t\t\t\t\t\t\tthis.addFile(file)\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tconsole.error\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}),\n\t\t\tconsole.error\n\t\t)\n\t}\n\n\tmounted() {\n\t\tthis.$on(\"upload-progress\", this.updateTotalUploadProgress)\n\t\tthis.$on(\"removed-file\", this.updateTotalUploadProgress)\n\t\tthis.$on(\"canceled\", file => this.$emit(\"complete\", file))\n\t\tthis.$on(\"complete\", file => {\n\t\t\tif (this.addedFiles.length === 0 && this.uploadingFiles.length === 0 && this.queuedFiles.length === 0) {\n\t\t\t\tsetTimeout(() => this.$emit(\"queue-complete\", file), 0)\n\t\t\t}\n\t\t})\n\n\t\tthis.$emit(\"initialize\", this)\n\t}\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/vue-loader/lib/selector.js?type=script&index=0!./src/components/VueTransmit.vue","import VTransmitFile from \"../classes/VTransmitFile\"\n\nexport const assign = Object.assign\nexport const defineProperty = Object.defineProperty\n\nlet idCounter = 0\nexport function uniqueId(prefix: string): string {\n\tvar id = ++idCounter\n\treturn prefix + id\n}\n\nexport function copyOwnAndInheritedProps(obj: object): object {\n\tlet newData = {}\n\tfor (let prop in obj) {\n\t\tif (typeof obj[prop] !== \"function\") {\n\t\t\tnewData[prop] = obj[prop]\n\t\t}\n\t}\n\treturn newData\n}\n\nexport type Rounding = \"round\" | \"ceil\" | \"floor\" | \"trunc\"\n\nexport function round(number: number, decimals: number = 2, roundStyle: Rounding = \"round\") {\n\tconst roundingFactor = Math.pow(10, decimals)\n\treturn Math[roundStyle](number * roundingFactor) / roundingFactor\n}\n\nexport function fromBytesToKbit(bytes: number): number {\n\treturn bytes / 125\n}\n\nexport function fromBytesToMbit(bytes: number): number {\n\treturn bytes / 125000\n}\n\nexport function toKbps(bytes: number, seconds: number): number {\n\treturn fromBytesToKbit(bytes) / seconds\n}\n\nexport function toMbps(bytes: number, seconds: number): number {\n\treturn fromBytesToMbit(bytes) / seconds\n}\n\nexport const hbsRegex = /{{\\s*?([a-zA-Z]+)\\s*?}}/g\nexport function hbsReplacer(context: object = {}) {\n\treturn function hbsReplacerFn(match: string, capture: string) {\n\t\treturn context[capture] !== undefined ? context[capture] : match\n\t}\n}\n\nexport function objFactory() {\n\treturn {}\n}\n\nexport function scaleH(ratio: number, width: number): number {\n\treturn width / ratio\n}\n\nexport function scaleW(ratio: number, height: number): number {\n\treturn height * ratio\n}\n\nexport function scaleDims(ratio: number, width?: number, height?: number): number[] {\n\treturn typeof width === \"number\" ? [width, scaleH(ratio, width)] : [scaleW(ratio, height), height]\n}\n\nexport interface IDrawImageArgs {\n\tsx: number\n\tsy: number\n\tsWidth: number\n\tsHeight: number\n\tdx: number\n\tdy: number\n\tdWidth: number\n\tdHeight: number\n}\n\nexport interface IDimensions {\n\twidth: number\n\theight: number\n}\n\nexport function resizeImg(file: VTransmitFile, dims: IDimensions): IDrawImageArgs {\n\t// Extract the object's primitive values so we don't mutate the input\n\tconst sRatio = file.width / file.height\n\tconst dRatio = dims.width / dims.height\n\tconst imgCoords = {\n\t\tsx: 0,\n\t\tsy: 0,\n\t\tsWidth: file.width,\n\t\tsHeight: file.height,\n\t\tdx: 0,\n\t\tdy: 0,\n\t\tdWidth: dims.width,\n\t\tdHeight: dims.height,\n\t}\n\n\tlet w, h\n\tif (dRatio > sRatio) {\n\t\t;[w, h] = scaleDims(dRatio, file.width)\n\t} else {\n\t\t;[w, h] = scaleDims(dRatio, undefined, file.height)\n\t}\n\n\tif (w < file.width) {\n\t\timgCoords.sx = (file.width - w) / 2\n\t\timgCoords.sWidth = w\n\t}\n\tif (h < file.height) {\n\t\timgCoords.sy = (file.height - h) / 2\n\t\timgCoords.sHeight = h\n\t}\n\n\treturn imgCoords\n}\n\nexport function webkitIsFile(entry: WebKitFileEntry | WebKitDirectoryEntry): entry is WebKitFileEntry {\n\treturn entry.isFile\n}\n\nexport function webkitIsDir(entry: WebKitFileEntry | WebKitDirectoryEntry): entry is WebKitDirectoryEntry {\n\treturn entry.isDirectory\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/core/utils.ts","import { VueTransmit } from \"./src\"\n\nexport default {\n\tinstall(Vue, _options) {\n\t\tVue.component(\"VueTransmit\", VueTransmit)\n\t},\n\tname: \"vue-transmit\",\n}\n\n\n\n// WEBPACK FOOTER //\n// ./index.ts","import VueTransmit from \"./components/VueTransmit.vue\"\n\nexport { VueTransmit }\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.ts","function injectStyle (ssrContext) {\n require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-61e675b9\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader!postcss-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./VueTransmit.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!vue-ts-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./VueTransmit.vue\"\nimport __vue_script__ from \"!!babel-loader!vue-ts-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./VueTransmit.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-61e675b9\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./VueTransmit.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/VueTransmit.vue\n// module id = 5\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/extract-text-webpack-plugin/dist/loader.js?{\"omit\":1,\"remove\":true}!./node_modules/vue-style-loader!./node_modules/css-loader!./node_modules/vue-loader/lib/style-compiler?{\"vue\":true,\"id\":\"data-v-61e675b9\",\"scoped\":false,\"hasInlineConfig\":false}!./node_modules/sass-loader/lib/loader.js!./node_modules/postcss-loader/lib?{\"sourceMap\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./src/components/VueTransmit.vue\n// module id = 6\n// module chunks = 0","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file.\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nmodule.exports = function normalizeComponent (\n rawScriptExports,\n compiledTemplate,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */\n) {\n var esModule\n var scriptExports = rawScriptExports = rawScriptExports || {}\n\n // ES6 modules interop\n var type = typeof rawScriptExports.default\n if (type === 'object' || type === 'function') {\n esModule = rawScriptExports\n scriptExports = rawScriptExports.default\n }\n\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (compiledTemplate) {\n options.render = compiledTemplate.render\n options.staticRenderFns = compiledTemplate.staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = injectStyles\n }\n\n if (hook) {\n var functional = options.functional\n var existing = functional\n ? options.render\n : options.beforeCreate\n\n if (!functional) {\n // inject component registration as beforeCreate hook\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n } else {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return existing(h, context)\n }\n }\n }\n\n return {\n esModule: esModule,\n exports: scriptExports,\n options: options\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/component-normalizer.js\n// module id = 7\n// module chunks = 0","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('vue'), require('vue-class-component'), require('reflect-metadata')) :\n\ttypeof define === 'function' && define.amd ? define(['exports', 'vue', 'vue-class-component', 'reflect-metadata'], factory) :\n\t(factory((global.VuePropertyDecorator = {}),global.Vue,global.VueClassComponent));\n}(this, (function (exports,vue,vueClassComponent) { 'use strict';\n\nvue = vue && vue.hasOwnProperty('default') ? vue['default'] : vue;\nvar vueClassComponent__default = 'default' in vueClassComponent ? vueClassComponent['default'] : vueClassComponent;\n\n/** vue-property-decorator verson 6.0.0 MIT LICENSE copyright 2017 kaorun343 */\n'use strict';\n/**\n * decorator of an inject\n * @param key key\n * @return PropertyDecorator\n */\nfunction Inject(key) {\n return vueClassComponent.createDecorator(function (componentOptions, k) {\n if (typeof componentOptions.inject === 'undefined') {\n componentOptions.inject = {};\n }\n if (!Array.isArray(componentOptions.inject)) {\n componentOptions.inject[k] = key || k;\n }\n });\n}\n/**\n * decorator of a provide\n * @param key key\n * @return PropertyDecorator | void\n */\nfunction Provide(key) {\n return vueClassComponent.createDecorator(function (componentOptions, k) {\n var provide = componentOptions.provide;\n if (typeof provide !== 'function' || !provide.managed) {\n var original_1 = componentOptions.provide;\n provide = componentOptions.provide = function () {\n var rv = Object.create((typeof original_1 === 'function' ? original_1.call(this) : original_1) || null);\n for (var i in provide.managed)\n rv[provide.managed[i]] = this[i];\n return rv;\n };\n provide.managed = {};\n }\n provide.managed[k] = key || k;\n });\n}\n/**\n * decorator of model\n * @param event event name\n * @return PropertyDecorator\n */\nfunction Model(event, options) {\n if (options === void 0) { options = {}; }\n return function (target, key) {\n if (!Array.isArray(options) && typeof options.type === 'undefined') {\n options.type = Reflect.getMetadata('design:type', target, key);\n }\n vueClassComponent.createDecorator(function (componentOptions, k) {\n (componentOptions.props || (componentOptions.props = {}))[k] = options;\n componentOptions.model = { prop: k, event: event || k };\n })(target, key);\n };\n}\n/**\n * decorator of a prop\n * @param options the options for the prop\n * @return PropertyDecorator | void\n */\nfunction Prop(options) {\n if (options === void 0) { options = {}; }\n return function (target, key) {\n if (!Array.isArray(options) && typeof options.type === 'undefined') {\n options.type = Reflect.getMetadata('design:type', target, key);\n }\n vueClassComponent.createDecorator(function (componentOptions, k) {\n (componentOptions.props || (componentOptions.props = {}))[k] = options;\n })(target, key);\n };\n}\n/**\n * decorator of a watch function\n * @param path the path or the expression to observe\n * @param WatchOption\n * @return MethodDecorator\n */\nfunction Watch(path, options) {\n if (options === void 0) { options = {}; }\n var _a = options.deep, deep = _a === void 0 ? false : _a, _b = options.immediate, immediate = _b === void 0 ? false : _b;\n return vueClassComponent.createDecorator(function (componentOptions, handler) {\n if (typeof componentOptions.watch !== 'object') {\n componentOptions.watch = Object.create(null);\n }\n componentOptions.watch[path] = { handler: handler, deep: deep, immediate: immediate };\n });\n}\n// Code copied from Vue/src/shared/util.js\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = function (str) { return str.replace(hyphenateRE, '-$1').toLowerCase(); };\n/**\n * decorator of an event-emitter function\n * @param event The name of the event\n * @return MethodDecorator\n */\nfunction Emit(event) {\n return function (target, key, descriptor) {\n key = hyphenate(key);\n var original = descriptor.value;\n descriptor.value = function emitter() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (original.apply(this, args) !== false)\n this.$emit.apply(this, [event || key].concat(args));\n };\n };\n}\n\nexports.Component = vueClassComponent__default;\nexports.Vue = vue;\nexports.Inject = Inject;\nexports.Provide = Provide;\nexports.Model = Model;\nexports.Prop = Prop;\nexports.Watch = Watch;\nexports.Emit = Emit;\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-property-decorator/lib/vue-property-decorator.umd.js\n// module id = 8\n// module chunks = 0","/**\n * vue-class-component v6.1.2\n * (c) 2015-2017 Evan You\n * @license MIT\n */\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar Vue = _interopDefault(require('vue'));\n\nvar hasProto = { __proto__: [] } instanceof Array;\nfunction createDecorator(factory) {\n return function (target, key, index) {\n var Ctor = typeof target === 'function'\n ? target\n : target.constructor;\n if (!Ctor.__decorators__) {\n Ctor.__decorators__ = [];\n }\n if (typeof index !== 'number') {\n index = undefined;\n }\n Ctor.__decorators__.push(function (options) { return factory(options, key, index); });\n };\n}\nfunction isPrimitive(value) {\n var type = typeof value;\n return value == null || (type !== \"object\" && type !== \"function\");\n}\nfunction warn(message) {\n if (typeof console !== 'undefined') {\n console.warn('[vue-class-component] ' + message);\n }\n}\n\nfunction collectDataFromConstructor(vm, Component) {\n var originalInit = Component.prototype._init;\n Component.prototype._init = function () {\n var _this = this;\n var keys = Object.getOwnPropertyNames(vm);\n if (vm.$options.props) {\n for (var key in vm.$options.props) {\n if (!vm.hasOwnProperty(key)) {\n keys.push(key);\n }\n }\n }\n keys.forEach(function (key) {\n if (key.charAt(0) !== '_') {\n Object.defineProperty(_this, key, {\n get: function () { return vm[key]; },\n set: function (value) { return vm[key] = value; },\n configurable: true\n });\n }\n });\n };\n var data = new Component();\n Component.prototype._init = originalInit;\n var plainData = {};\n Object.keys(data).forEach(function (key) {\n if (data[key] !== undefined) {\n plainData[key] = data[key];\n }\n });\n if (process.env.NODE_ENV !== 'production') {\n if (!(Component.prototype instanceof Vue) && Object.keys(plainData).length > 0) {\n warn('Component class must inherit Vue or its descendant class ' +\n 'when class property is used.');\n }\n }\n return plainData;\n}\n\nvar $internalHooks = [\n 'data',\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeDestroy',\n 'destroyed',\n 'beforeUpdate',\n 'updated',\n 'activated',\n 'deactivated',\n 'render',\n 'errorCaptured'\n];\nfunction componentFactory(Component, options) {\n if (options === void 0) { options = {}; }\n options.name = options.name || Component._componentTag || Component.name;\n var proto = Component.prototype;\n Object.getOwnPropertyNames(proto).forEach(function (key) {\n if (key === 'constructor') {\n return;\n }\n if ($internalHooks.indexOf(key) > -1) {\n options[key] = proto[key];\n return;\n }\n var descriptor = Object.getOwnPropertyDescriptor(proto, key);\n if (typeof descriptor.value === 'function') {\n (options.methods || (options.methods = {}))[key] = descriptor.value;\n }\n else if (descriptor.get || descriptor.set) {\n (options.computed || (options.computed = {}))[key] = {\n get: descriptor.get,\n set: descriptor.set\n };\n }\n });\n (options.mixins || (options.mixins = [])).push({\n data: function () {\n return collectDataFromConstructor(this, Component);\n }\n });\n var decorators = Component.__decorators__;\n if (decorators) {\n decorators.forEach(function (fn) { return fn(options); });\n delete Component.__decorators__;\n }\n var superProto = Object.getPrototypeOf(Component.prototype);\n var Super = superProto instanceof Vue\n ? superProto.constructor\n : Vue;\n var Extended = Super.extend(options);\n forwardStaticMembers(Extended, Component, Super);\n return Extended;\n}\nvar reservedPropertyNames = [\n 'cid',\n 'super',\n 'options',\n 'superOptions',\n 'extendOptions',\n 'sealedOptions',\n 'component',\n 'directive',\n 'filter'\n];\nfunction forwardStaticMembers(Extended, Original, Super) {\n Object.getOwnPropertyNames(Original).forEach(function (key) {\n if (key === 'prototype') {\n return;\n }\n var extendedDescriptor = Object.getOwnPropertyDescriptor(Extended, key);\n if (extendedDescriptor && !extendedDescriptor.configurable) {\n return;\n }\n var descriptor = Object.getOwnPropertyDescriptor(Original, key);\n if (!hasProto) {\n if (key === 'cid') {\n return;\n }\n var superDescriptor = Object.getOwnPropertyDescriptor(Super, key);\n if (!isPrimitive(descriptor.value)\n && superDescriptor\n && superDescriptor.value === descriptor.value) {\n return;\n }\n }\n if (process.env.NODE_ENV !== 'production'\n && reservedPropertyNames.indexOf(key) >= 0) {\n warn(\"Static property name '\" + key + \"' declared on class '\" + Original.name + \"' \" +\n 'conflicts with reserved property name of Vue internal. ' +\n 'It may cause unexpected behavior of the component. Consider renaming the property.');\n }\n Object.defineProperty(Extended, key, descriptor);\n });\n}\n\nfunction Component(options) {\n if (typeof options === 'function') {\n return componentFactory(options);\n }\n return function (Component) {\n return componentFactory(Component, options);\n };\n}\n(function (Component) {\n function registerHooks(keys) {\n $internalHooks.push.apply($internalHooks, keys);\n }\n Component.registerHooks = registerHooks;\n})(Component || (Component = {}));\nvar Component$1 = Component;\n\nexports['default'] = Component$1;\nexports.createDecorator = createDecorator;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-class-component/dist/vue-class-component.common.js\n// module id = 9\n// module chunks = 0","/*! *****************************************************************************\r\nCopyright (C) Microsoft. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\nvar Reflect;\r\n(function (Reflect) {\r\n \"use strict\";\r\n var hasOwn = Object.prototype.hasOwnProperty;\r\n // feature test for Symbol support\r\n var supportsSymbol = typeof Symbol === \"function\";\r\n var toPrimitiveSymbol = supportsSymbol && typeof Symbol.toPrimitive !== \"undefined\" ? Symbol.toPrimitive : \"@@toPrimitive\";\r\n var iteratorSymbol = supportsSymbol && typeof Symbol.iterator !== \"undefined\" ? Symbol.iterator : \"@@iterator\";\r\n var HashMap;\r\n (function (HashMap) {\r\n var supportsCreate = typeof Object.create === \"function\"; // feature test for Object.create support\r\n var supportsProto = { __proto__: [] } instanceof Array; // feature test for __proto__ support\r\n var downLevel = !supportsCreate && !supportsProto;\r\n // create an object in dictionary mode (a.k.a. \"slow\" mode in v8)\r\n HashMap.create = supportsCreate\r\n ? function () { return MakeDictionary(Object.create(null)); }\r\n : supportsProto\r\n ? function () { return MakeDictionary({ __proto__: null }); }\r\n : function () { return MakeDictionary({}); };\r\n HashMap.has = downLevel\r\n ? function (map, key) { return hasOwn.call(map, key); }\r\n : function (map, key) { return key in map; };\r\n HashMap.get = downLevel\r\n ? function (map, key) { return hasOwn.call(map, key) ? map[key] : undefined; }\r\n : function (map, key) { return map[key]; };\r\n })(HashMap || (HashMap = {}));\r\n // Load global or shim versions of Map, Set, and WeakMap\r\n var functionPrototype = Object.getPrototypeOf(Function);\r\n var usePolyfill = typeof process === \"object\" && process.env && process.env[\"REFLECT_METADATA_USE_MAP_POLYFILL\"] === \"true\";\r\n var _Map = !usePolyfill && typeof Map === \"function\" && typeof Map.prototype.entries === \"function\" ? Map : CreateMapPolyfill();\r\n var _Set = !usePolyfill && typeof Set === \"function\" && typeof Set.prototype.entries === \"function\" ? Set : CreateSetPolyfill();\r\n var _WeakMap = !usePolyfill && typeof WeakMap === \"function\" ? WeakMap : CreateWeakMapPolyfill();\r\n // [[Metadata]] internal slot\r\n // https://rbuckton.github.io/reflect-metadata/#ordinary-object-internal-methods-and-internal-slots\r\n var Metadata = new _WeakMap();\r\n /**\r\n * Applies a set of decorators to a property of a target object.\r\n * @param decorators An array of decorators.\r\n * @param target The target object.\r\n * @param propertyKey (Optional) The property key to decorate.\r\n * @param attributes (Optional) The property descriptor for the target key.\r\n * @remarks Decorators are applied in reverse order.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * Example = Reflect.decorate(decoratorsArray, Example);\r\n *\r\n * // property (on constructor)\r\n * Reflect.decorate(decoratorsArray, Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * Reflect.decorate(decoratorsArray, Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * Object.defineProperty(Example, \"staticMethod\",\r\n * Reflect.decorate(decoratorsArray, Example, \"staticMethod\",\r\n * Object.getOwnPropertyDescriptor(Example, \"staticMethod\")));\r\n *\r\n * // method (on prototype)\r\n * Object.defineProperty(Example.prototype, \"method\",\r\n * Reflect.decorate(decoratorsArray, Example.prototype, \"method\",\r\n * Object.getOwnPropertyDescriptor(Example.prototype, \"method\")));\r\n *\r\n */\r\n function decorate(decorators, target, propertyKey, attributes) {\r\n if (!IsUndefined(propertyKey)) {\r\n if (!IsArray(decorators))\r\n throw new TypeError();\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsObject(attributes) && !IsUndefined(attributes) && !IsNull(attributes))\r\n throw new TypeError();\r\n if (IsNull(attributes))\r\n attributes = undefined;\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return DecorateProperty(decorators, target, propertyKey, attributes);\r\n }\r\n else {\r\n if (!IsArray(decorators))\r\n throw new TypeError();\r\n if (!IsConstructor(target))\r\n throw new TypeError();\r\n return DecorateConstructor(decorators, target);\r\n }\r\n }\r\n Reflect.decorate = decorate;\r\n // 4.1.2 Reflect.metadata(metadataKey, metadataValue)\r\n // https://rbuckton.github.io/reflect-metadata/#reflect.metadata\r\n /**\r\n * A default metadata decorator factory that can be used on a class, class member, or parameter.\r\n * @param metadataKey The key for the metadata entry.\r\n * @param metadataValue The value for the metadata entry.\r\n * @returns A decorator function.\r\n * @remarks\r\n * If `metadataKey` is already defined for the target and target key, the\r\n * metadataValue for that key will be overwritten.\r\n * @example\r\n *\r\n * // constructor\r\n * @Reflect.metadata(key, value)\r\n * class Example {\r\n * }\r\n *\r\n * // property (on constructor, TypeScript only)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * static staticProperty;\r\n * }\r\n *\r\n * // property (on prototype, TypeScript only)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * property;\r\n * }\r\n *\r\n * // method (on constructor)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * static staticMethod() { }\r\n * }\r\n *\r\n * // method (on prototype)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * method() { }\r\n * }\r\n *\r\n */\r\n function metadata(metadataKey, metadataValue) {\r\n function decorator(target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey) && !IsPropertyKey(propertyKey))\r\n throw new TypeError();\r\n OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey);\r\n }\r\n return decorator;\r\n }\r\n Reflect.metadata = metadata;\r\n /**\r\n * Define a unique metadata entry on the target.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param metadataValue A value that contains attached metadata.\r\n * @param target The target object on which to define metadata.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example);\r\n *\r\n * // property (on constructor)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example.prototype, \"method\");\r\n *\r\n * // decorator factory as metadata-producing annotation.\r\n * function MyAnnotation(options): Decorator {\r\n * return (target, key?) => Reflect.defineMetadata(\"custom:annotation\", options, target, key);\r\n * }\r\n *\r\n */\r\n function defineMetadata(metadataKey, metadataValue, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey);\r\n }\r\n Reflect.defineMetadata = defineMetadata;\r\n /**\r\n * Gets a value indicating whether the target object or its prototype chain has the provided metadata key defined.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns `true` if the metadata key was defined on the target object or its prototype chain; otherwise, `false`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function hasMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryHasMetadata(metadataKey, target, propertyKey);\r\n }\r\n Reflect.hasMetadata = hasMetadata;\r\n /**\r\n * Gets a value indicating whether the target object has the provided metadata key defined.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns `true` if the metadata key was defined on the target object; otherwise, `false`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function hasOwnMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryHasOwnMetadata(metadataKey, target, propertyKey);\r\n }\r\n Reflect.hasOwnMetadata = hasOwnMetadata;\r\n /**\r\n * Gets the metadata value for the provided metadata key on the target object or its prototype chain.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns The metadata value for the metadata key if found; otherwise, `undefined`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function getMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryGetMetadata(metadataKey, target, propertyKey);\r\n }\r\n Reflect.getMetadata = getMetadata;\r\n /**\r\n * Gets the metadata value for the provided metadata key on the target object.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns The metadata value for the metadata key if found; otherwise, `undefined`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function getOwnMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryGetOwnMetadata(metadataKey, target, propertyKey);\r\n }\r\n Reflect.getOwnMetadata = getOwnMetadata;\r\n /**\r\n * Gets the metadata keys defined on the target object or its prototype chain.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns An array of unique metadata keys.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getMetadataKeys(Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getMetadataKeys(Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getMetadataKeys(Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getMetadataKeys(Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getMetadataKeys(Example.prototype, \"method\");\r\n *\r\n */\r\n function getMetadataKeys(target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryMetadataKeys(target, propertyKey);\r\n }\r\n Reflect.getMetadataKeys = getMetadataKeys;\r\n /**\r\n * Gets the unique metadata keys defined on the target object.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns An array of unique metadata keys.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getOwnMetadataKeys(Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getOwnMetadataKeys(Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getOwnMetadataKeys(Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getOwnMetadataKeys(Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getOwnMetadataKeys(Example.prototype, \"method\");\r\n *\r\n */\r\n function getOwnMetadataKeys(target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryOwnMetadataKeys(target, propertyKey);\r\n }\r\n Reflect.getOwnMetadataKeys = getOwnMetadataKeys;\r\n /**\r\n * Deletes the metadata entry from the target object with the provided key.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns `true` if the metadata entry was found and deleted; otherwise, false.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function deleteMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n var metadataMap = GetOrCreateMetadataMap(target, propertyKey, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return false;\r\n if (!metadataMap.delete(metadataKey))\r\n return false;\r\n if (metadataMap.size > 0)\r\n return true;\r\n var targetMetadata = Metadata.get(target);\r\n targetMetadata.delete(propertyKey);\r\n if (targetMetadata.size > 0)\r\n return true;\r\n Metadata.delete(target);\r\n return true;\r\n }\r\n Reflect.deleteMetadata = deleteMetadata;\r\n function DecorateConstructor(decorators, target) {\r\n for (var i = decorators.length - 1; i >= 0; --i) {\r\n var decorator = decorators[i];\r\n var decorated = decorator(target);\r\n if (!IsUndefined(decorated) && !IsNull(decorated)) {\r\n if (!IsConstructor(decorated))\r\n throw new TypeError();\r\n target = decorated;\r\n }\r\n }\r\n return target;\r\n }\r\n function DecorateProperty(decorators, target, propertyKey, descriptor) {\r\n for (var i = decorators.length - 1; i >= 0; --i) {\r\n var decorator = decorators[i];\r\n var decorated = decorator(target, propertyKey, descriptor);\r\n if (!IsUndefined(decorated) && !IsNull(decorated)) {\r\n if (!IsObject(decorated))\r\n throw new TypeError();\r\n descriptor = decorated;\r\n }\r\n }\r\n return descriptor;\r\n }\r\n function GetOrCreateMetadataMap(O, P, Create) {\r\n var targetMetadata = Metadata.get(O);\r\n if (IsUndefined(targetMetadata)) {\r\n if (!Create)\r\n return undefined;\r\n targetMetadata = new _Map();\r\n Metadata.set(O, targetMetadata);\r\n }\r\n var metadataMap = targetMetadata.get(P);\r\n if (IsUndefined(metadataMap)) {\r\n if (!Create)\r\n return undefined;\r\n metadataMap = new _Map();\r\n targetMetadata.set(P, metadataMap);\r\n }\r\n return metadataMap;\r\n }\r\n // 3.1.1.1 OrdinaryHasMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinaryhasmetadata\r\n function OrdinaryHasMetadata(MetadataKey, O, P) {\r\n var hasOwn = OrdinaryHasOwnMetadata(MetadataKey, O, P);\r\n if (hasOwn)\r\n return true;\r\n var parent = OrdinaryGetPrototypeOf(O);\r\n if (!IsNull(parent))\r\n return OrdinaryHasMetadata(MetadataKey, parent, P);\r\n return false;\r\n }\r\n // 3.1.2.1 OrdinaryHasOwnMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinaryhasownmetadata\r\n function OrdinaryHasOwnMetadata(MetadataKey, O, P) {\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return false;\r\n return ToBoolean(metadataMap.has(MetadataKey));\r\n }\r\n // 3.1.3.1 OrdinaryGetMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarygetmetadata\r\n function OrdinaryGetMetadata(MetadataKey, O, P) {\r\n var hasOwn = OrdinaryHasOwnMetadata(MetadataKey, O, P);\r\n if (hasOwn)\r\n return OrdinaryGetOwnMetadata(MetadataKey, O, P);\r\n var parent = OrdinaryGetPrototypeOf(O);\r\n if (!IsNull(parent))\r\n return OrdinaryGetMetadata(MetadataKey, parent, P);\r\n return undefined;\r\n }\r\n // 3.1.4.1 OrdinaryGetOwnMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarygetownmetadata\r\n function OrdinaryGetOwnMetadata(MetadataKey, O, P) {\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return undefined;\r\n return metadataMap.get(MetadataKey);\r\n }\r\n // 3.1.5.1 OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarydefineownmetadata\r\n function OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P) {\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ true);\r\n metadataMap.set(MetadataKey, MetadataValue);\r\n }\r\n // 3.1.6.1 OrdinaryMetadataKeys(O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarymetadatakeys\r\n function OrdinaryMetadataKeys(O, P) {\r\n var ownKeys = OrdinaryOwnMetadataKeys(O, P);\r\n var parent = OrdinaryGetPrototypeOf(O);\r\n if (parent === null)\r\n return ownKeys;\r\n var parentKeys = OrdinaryMetadataKeys(parent, P);\r\n if (parentKeys.length <= 0)\r\n return ownKeys;\r\n if (ownKeys.length <= 0)\r\n return parentKeys;\r\n var set = new _Set();\r\n var keys = [];\r\n for (var _i = 0, ownKeys_1 = ownKeys; _i < ownKeys_1.length; _i++) {\r\n var key = ownKeys_1[_i];\r\n var hasKey = set.has(key);\r\n if (!hasKey) {\r\n set.add(key);\r\n keys.push(key);\r\n }\r\n }\r\n for (var _a = 0, parentKeys_1 = parentKeys; _a < parentKeys_1.length; _a++) {\r\n var key = parentKeys_1[_a];\r\n var hasKey = set.has(key);\r\n if (!hasKey) {\r\n set.add(key);\r\n keys.push(key);\r\n }\r\n }\r\n return keys;\r\n }\r\n // 3.1.7.1 OrdinaryOwnMetadataKeys(O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinaryownmetadatakeys\r\n function OrdinaryOwnMetadataKeys(O, P) {\r\n var keys = [];\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return keys;\r\n var keysObj = metadataMap.keys();\r\n var iterator = GetIterator(keysObj);\r\n var k = 0;\r\n while (true) {\r\n var next = IteratorStep(iterator);\r\n if (!next) {\r\n keys.length = k;\r\n return keys;\r\n }\r\n var nextValue = IteratorValue(next);\r\n try {\r\n keys[k] = nextValue;\r\n }\r\n catch (e) {\r\n try {\r\n IteratorClose(iterator);\r\n }\r\n finally {\r\n throw e;\r\n }\r\n }\r\n k++;\r\n }\r\n }\r\n // 6 ECMAScript Data Typ0es and Values\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-data-types-and-values\r\n function Type(x) {\r\n if (x === null)\r\n return 1 /* Null */;\r\n switch (typeof x) {\r\n case \"undefined\": return 0 /* Undefined */;\r\n case \"boolean\": return 2 /* Boolean */;\r\n case \"string\": return 3 /* String */;\r\n case \"symbol\": return 4 /* Symbol */;\r\n case \"number\": return 5 /* Number */;\r\n case \"object\": return x === null ? 1 /* Null */ : 6 /* Object */;\r\n default: return 6 /* Object */;\r\n }\r\n }\r\n // 6.1.1 The Undefined Type\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-undefined-type\r\n function IsUndefined(x) {\r\n return x === undefined;\r\n }\r\n // 6.1.2 The Null Type\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-null-type\r\n function IsNull(x) {\r\n return x === null;\r\n }\r\n // 6.1.5 The Symbol Type\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-symbol-type\r\n function IsSymbol(x) {\r\n return typeof x === \"symbol\";\r\n }\r\n // 6.1.7 The Object Type\r\n // https://tc39.github.io/ecma262/#sec-object-type\r\n function IsObject(x) {\r\n return typeof x === \"object\" ? x !== null : typeof x === \"function\";\r\n }\r\n // 7.1 Type Conversion\r\n // https://tc39.github.io/ecma262/#sec-type-conversion\r\n // 7.1.1 ToPrimitive(input [, PreferredType])\r\n // https://tc39.github.io/ecma262/#sec-toprimitive\r\n function ToPrimitive(input, PreferredType) {\r\n switch (Type(input)) {\r\n case 0 /* Undefined */: return input;\r\n case 1 /* Null */: return input;\r\n case 2 /* Boolean */: return input;\r\n case 3 /* String */: return input;\r\n case 4 /* Symbol */: return input;\r\n case 5 /* Number */: return input;\r\n }\r\n var hint = PreferredType === 3 /* String */ ? \"string\" : PreferredType === 5 /* Number */ ? \"number\" : \"default\";\r\n var exoticToPrim = GetMethod(input, toPrimitiveSymbol);\r\n if (exoticToPrim !== undefined) {\r\n var result = exoticToPrim.call(input, hint);\r\n if (IsObject(result))\r\n throw new TypeError();\r\n return result;\r\n }\r\n return OrdinaryToPrimitive(input, hint === \"default\" ? \"number\" : hint);\r\n }\r\n // 7.1.1.1 OrdinaryToPrimitive(O, hint)\r\n // https://tc39.github.io/ecma262/#sec-ordinarytoprimitive\r\n function OrdinaryToPrimitive(O, hint) {\r\n if (hint === \"string\") {\r\n var toString_1 = O.toString;\r\n if (IsCallable(toString_1)) {\r\n var result = toString_1.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n var valueOf = O.valueOf;\r\n if (IsCallable(valueOf)) {\r\n var result = valueOf.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n }\r\n else {\r\n var valueOf = O.valueOf;\r\n if (IsCallable(valueOf)) {\r\n var result = valueOf.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n var toString_2 = O.toString;\r\n if (IsCallable(toString_2)) {\r\n var result = toString_2.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n }\r\n throw new TypeError();\r\n }\r\n // 7.1.2 ToBoolean(argument)\r\n // https://tc39.github.io/ecma262/2016/#sec-toboolean\r\n function ToBoolean(argument) {\r\n return !!argument;\r\n }\r\n // 7.1.12 ToString(argument)\r\n // https://tc39.github.io/ecma262/#sec-tostring\r\n function ToString(argument) {\r\n return \"\" + argument;\r\n }\r\n // 7.1.14 ToPropertyKey(argument)\r\n // https://tc39.github.io/ecma262/#sec-topropertykey\r\n function ToPropertyKey(argument) {\r\n var key = ToPrimitive(argument, 3 /* String */);\r\n if (IsSymbol(key))\r\n return key;\r\n return ToString(key);\r\n }\r\n // 7.2 Testing and Comparison Operations\r\n // https://tc39.github.io/ecma262/#sec-testing-and-comparison-operations\r\n // 7.2.2 IsArray(argument)\r\n // https://tc39.github.io/ecma262/#sec-isarray\r\n function IsArray(argument) {\r\n return Array.isArray\r\n ? Array.isArray(argument)\r\n : argument instanceof Object\r\n ? argument instanceof Array\r\n : Object.prototype.toString.call(argument) === \"[object Array]\";\r\n }\r\n // 7.2.3 IsCallable(argument)\r\n // https://tc39.github.io/ecma262/#sec-iscallable\r\n function IsCallable(argument) {\r\n // NOTE: This is an approximation as we cannot check for [[Call]] internal method.\r\n return typeof argument === \"function\";\r\n }\r\n // 7.2.4 IsConstructor(argument)\r\n // https://tc39.github.io/ecma262/#sec-isconstructor\r\n function IsConstructor(argument) {\r\n // NOTE: This is an approximation as we cannot check for [[Construct]] internal method.\r\n return typeof argument === \"function\";\r\n }\r\n // 7.2.7 IsPropertyKey(argument)\r\n // https://tc39.github.io/ecma262/#sec-ispropertykey\r\n function IsPropertyKey(argument) {\r\n switch (Type(argument)) {\r\n case 3 /* String */: return true;\r\n case 4 /* Symbol */: return true;\r\n default: return false;\r\n }\r\n }\r\n // 7.3 Operations on Objects\r\n // https://tc39.github.io/ecma262/#sec-operations-on-objects\r\n // 7.3.9 GetMethod(V, P)\r\n // https://tc39.github.io/ecma262/#sec-getmethod\r\n function GetMethod(V, P) {\r\n var func = V[P];\r\n if (func === undefined || func === null)\r\n return undefined;\r\n if (!IsCallable(func))\r\n throw new TypeError();\r\n return func;\r\n }\r\n // 7.4 Operations on Iterator Objects\r\n // https://tc39.github.io/ecma262/#sec-operations-on-iterator-objects\r\n function GetIterator(obj) {\r\n var method = GetMethod(obj, iteratorSymbol);\r\n if (!IsCallable(method))\r\n throw new TypeError(); // from Call\r\n var iterator = method.call(obj);\r\n if (!IsObject(iterator))\r\n throw new TypeError();\r\n return iterator;\r\n }\r\n // 7.4.4 IteratorValue(iterResult)\r\n // https://tc39.github.io/ecma262/2016/#sec-iteratorvalue\r\n function IteratorValue(iterResult) {\r\n return iterResult.value;\r\n }\r\n // 7.4.5 IteratorStep(iterator)\r\n // https://tc39.github.io/ecma262/#sec-iteratorstep\r\n function IteratorStep(iterator) {\r\n var result = iterator.next();\r\n return result.done ? false : result;\r\n }\r\n // 7.4.6 IteratorClose(iterator, completion)\r\n // https://tc39.github.io/ecma262/#sec-iteratorclose\r\n function IteratorClose(iterator) {\r\n var f = iterator[\"return\"];\r\n if (f)\r\n f.call(iterator);\r\n }\r\n // 9.1 Ordinary Object Internal Methods and Internal Slots\r\n // https://tc39.github.io/ecma262/#sec-ordinary-object-internal-methods-and-internal-slots\r\n // 9.1.1.1 OrdinaryGetPrototypeOf(O)\r\n // https://tc39.github.io/ecma262/#sec-ordinarygetprototypeof\r\n function OrdinaryGetPrototypeOf(O) {\r\n var proto = Object.getPrototypeOf(O);\r\n if (typeof O !== \"function\" || O === functionPrototype)\r\n return proto;\r\n // TypeScript doesn't set __proto__ in ES5, as it's non-standard.\r\n // Try to determine the superclass constructor. Compatible implementations\r\n // must either set __proto__ on a subclass constructor to the superclass constructor,\r\n // or ensure each class has a valid `constructor` property on its prototype that\r\n // points back to the constructor.\r\n // If this is not the same as Function.[[Prototype]], then this is definately inherited.\r\n // This is the case when in ES6 or when using __proto__ in a compatible browser.\r\n if (proto !== functionPrototype)\r\n return proto;\r\n // If the super prototype is Object.prototype, null, or undefined, then we cannot determine the heritage.\r\n var prototype = O.prototype;\r\n var prototypeProto = prototype && Object.getPrototypeOf(prototype);\r\n if (prototypeProto == null || prototypeProto === Object.prototype)\r\n return proto;\r\n // If the constructor was not a function, then we cannot determine the heritage.\r\n var constructor = prototypeProto.constructor;\r\n if (typeof constructor !== \"function\")\r\n return proto;\r\n // If we have some kind of self-reference, then we cannot determine the heritage.\r\n if (constructor === O)\r\n return proto;\r\n // we have a pretty good guess at the heritage.\r\n return constructor;\r\n }\r\n // naive Map shim\r\n function CreateMapPolyfill() {\r\n var cacheSentinel = {};\r\n var arraySentinel = [];\r\n var MapIterator = (function () {\r\n function MapIterator(keys, values, selector) {\r\n this._index = 0;\r\n this._keys = keys;\r\n this._values = values;\r\n this._selector = selector;\r\n }\r\n MapIterator.prototype[\"@@iterator\"] = function () { return this; };\r\n MapIterator.prototype[iteratorSymbol] = function () { return this; };\r\n MapIterator.prototype.next = function () {\r\n var index = this._index;\r\n if (index >= 0 && index < this._keys.length) {\r\n var result = this._selector(this._keys[index], this._values[index]);\r\n if (index + 1 >= this._keys.length) {\r\n this._index = -1;\r\n this._keys = arraySentinel;\r\n this._values = arraySentinel;\r\n }\r\n else {\r\n this._index++;\r\n }\r\n return { value: result, done: false };\r\n }\r\n return { value: undefined, done: true };\r\n };\r\n MapIterator.prototype.throw = function (error) {\r\n if (this._index >= 0) {\r\n this._index = -1;\r\n this._keys = arraySentinel;\r\n this._values = arraySentinel;\r\n }\r\n throw error;\r\n };\r\n MapIterator.prototype.return = function (value) {\r\n if (this._index >= 0) {\r\n this._index = -1;\r\n this._keys = arraySentinel;\r\n this._values = arraySentinel;\r\n }\r\n return { value: value, done: true };\r\n };\r\n return MapIterator;\r\n }());\r\n return (function () {\r\n function Map() {\r\n this._keys = [];\r\n this._values = [];\r\n this._cacheKey = cacheSentinel;\r\n this._cacheIndex = -2;\r\n }\r\n Object.defineProperty(Map.prototype, \"size\", {\r\n get: function () { return this._keys.length; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Map.prototype.has = function (key) { return this._find(key, /*insert*/ false) >= 0; };\r\n Map.prototype.get = function (key) {\r\n var index = this._find(key, /*insert*/ false);\r\n return index >= 0 ? this._values[index] : undefined;\r\n };\r\n Map.prototype.set = function (key, value) {\r\n var index = this._find(key, /*insert*/ true);\r\n this._values[index] = value;\r\n return this;\r\n };\r\n Map.prototype.delete = function (key) {\r\n var index = this._find(key, /*insert*/ false);\r\n if (index >= 0) {\r\n var size = this._keys.length;\r\n for (var i = index + 1; i < size; i++) {\r\n this._keys[i - 1] = this._keys[i];\r\n this._values[i - 1] = this._values[i];\r\n }\r\n this._keys.length--;\r\n this._values.length--;\r\n if (key === this._cacheKey) {\r\n this._cacheKey = cacheSentinel;\r\n this._cacheIndex = -2;\r\n }\r\n return true;\r\n }\r\n return false;\r\n };\r\n Map.prototype.clear = function () {\r\n this._keys.length = 0;\r\n this._values.length = 0;\r\n this._cacheKey = cacheSentinel;\r\n this._cacheIndex = -2;\r\n };\r\n Map.prototype.keys = function () { return new MapIterator(this._keys, this._values, getKey); };\r\n Map.prototype.values = function () { return new MapIterator(this._keys, this._values, getValue); };\r\n Map.prototype.entries = function () { return new MapIterator(this._keys, this._values, getEntry); };\r\n Map.prototype[\"@@iterator\"] = function () { return this.entries(); };\r\n Map.prototype[iteratorSymbol] = function () { return this.entries(); };\r\n Map.prototype._find = function (key, insert) {\r\n if (this._cacheKey !== key) {\r\n this._cacheIndex = this._keys.indexOf(this._cacheKey = key);\r\n }\r\n if (this._cacheIndex < 0 && insert) {\r\n this._cacheIndex = this._keys.length;\r\n this._keys.push(key);\r\n this._values.push(undefined);\r\n }\r\n return this._cacheIndex;\r\n };\r\n return Map;\r\n }());\r\n function getKey(key, _) {\r\n return key;\r\n }\r\n function getValue(_, value) {\r\n return value;\r\n }\r\n function getEntry(key, value) {\r\n return [key, value];\r\n }\r\n }\r\n // naive Set shim\r\n function CreateSetPolyfill() {\r\n return (function () {\r\n function Set() {\r\n this._map = new _Map();\r\n }\r\n Object.defineProperty(Set.prototype, \"size\", {\r\n get: function () { return this._map.size; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Set.prototype.has = function (value) { return this._map.has(value); };\r\n Set.prototype.add = function (value) { return this._map.set(value, value), this; };\r\n Set.prototype.delete = function (value) { return this._map.delete(value); };\r\n Set.prototype.clear = function () { this._map.clear(); };\r\n Set.prototype.keys = function () { return this._map.keys(); };\r\n Set.prototype.values = function () { return this._map.values(); };\r\n Set.prototype.entries = function () { return this._map.entries(); };\r\n Set.prototype[\"@@iterator\"] = function () { return this.keys(); };\r\n Set.prototype[iteratorSymbol] = function () { return this.keys(); };\r\n return Set;\r\n }());\r\n }\r\n // naive WeakMap shim\r\n function CreateWeakMapPolyfill() {\r\n var UUID_SIZE = 16;\r\n var keys = HashMap.create();\r\n var rootKey = CreateUniqueKey();\r\n return (function () {\r\n function WeakMap() {\r\n this._key = CreateUniqueKey();\r\n }\r\n WeakMap.prototype.has = function (target) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ false);\r\n return table !== undefined ? HashMap.has(table, this._key) : false;\r\n };\r\n WeakMap.prototype.get = function (target) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ false);\r\n return table !== undefined ? HashMap.get(table, this._key) : undefined;\r\n };\r\n WeakMap.prototype.set = function (target, value) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ true);\r\n table[this._key] = value;\r\n return this;\r\n };\r\n WeakMap.prototype.delete = function (target) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ false);\r\n return table !== undefined ? delete table[this._key] : false;\r\n };\r\n WeakMap.prototype.clear = function () {\r\n // NOTE: not a real clear, just makes the previous data unreachable\r\n this._key = CreateUniqueKey();\r\n };\r\n return WeakMap;\r\n }());\r\n function CreateUniqueKey() {\r\n var key;\r\n do\r\n key = \"@@WeakMap@@\" + CreateUUID();\r\n while (HashMap.has(keys, key));\r\n keys[key] = true;\r\n return key;\r\n }\r\n function GetOrCreateWeakMapTable(target, create) {\r\n if (!hasOwn.call(target, rootKey)) {\r\n if (!create)\r\n return undefined;\r\n Object.defineProperty(target, rootKey, { value: HashMap.create() });\r\n }\r\n return target[rootKey];\r\n }\r\n function FillRandomBytes(buffer, size) {\r\n for (var i = 0; i < size; ++i)\r\n buffer[i] = Math.random() * 0xff | 0;\r\n return buffer;\r\n }\r\n function GenRandomBytes(size) {\r\n if (typeof Uint8Array === \"function\") {\r\n if (typeof crypto !== \"undefined\")\r\n return crypto.getRandomValues(new Uint8Array(size));\r\n if (typeof msCrypto !== \"undefined\")\r\n return msCrypto.getRandomValues(new Uint8Array(size));\r\n return FillRandomBytes(new Uint8Array(size), size);\r\n }\r\n return FillRandomBytes(new Array(size), size);\r\n }\r\n function CreateUUID() {\r\n var data = GenRandomBytes(UUID_SIZE);\r\n // mark as random - RFC 4122 ยง 4.4\r\n data[6] = data[6] & 0x4f | 0x40;\r\n data[8] = data[8] & 0xbf | 0x80;\r\n var result = \"\";\r\n for (var offset = 0; offset < UUID_SIZE; ++offset) {\r\n var byte = data[offset];\r\n if (offset === 4 || offset === 6 || offset === 8)\r\n result += \"-\";\r\n if (byte < 16)\r\n result += \"0\";\r\n result += byte.toString(16).toLowerCase();\r\n }\r\n return result;\r\n }\r\n }\r\n // uses a heuristic used by v8 and chakra to force an object into dictionary mode.\r\n function MakeDictionary(obj) {\r\n obj.__ = undefined;\r\n delete obj.__;\r\n return obj;\r\n }\r\n // patch global Reflect\r\n (function (__global) {\r\n if (typeof __global.Reflect !== \"undefined\") {\r\n if (__global.Reflect !== Reflect) {\r\n for (var p in Reflect) {\r\n if (hasOwn.call(Reflect, p)) {\r\n __global.Reflect[p] = Reflect[p];\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n __global.Reflect = Reflect;\r\n }\r\n })(typeof global !== \"undefined\" ? global :\r\n typeof self !== \"undefined\" ? self :\r\n Function(\"return this;\")());\r\n})(Reflect || (Reflect = {}));\r\n//# sourceMappingURL=Reflect.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/reflect-metadata/Reflect.js\n// module id = 10\n// module chunks = 0","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/node-libs-browser/node_modules/process/browser.js\n// module id = 11\n// module chunks = 0","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 12\n// module chunks = 0","/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nexport default noop;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/lodash-es/noop.js","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nexport default identity;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/lodash-es/identity.js","import { assign, defineProperty, copyOwnAndInheritedProps, uniqueId, round, toKbps, toMbps } from \"../core/utils\"\n\nexport interface IUploadStats {\n\tbytesSent: number\n\tprogress: number\n\ttotal: number\n\tspeed: ISpeedStats\n\tstart: number\n\tend: number\n\ttime: number\n}\n\nexport interface ISpeedStats {\n\tkbps: number\n\tmbps: number\n}\n\nclass VTransmitFile {\n\tprivate _nativeFile: File = null\n\tid: string = VTransmitFile.idFactory()\n\taccepted: boolean = undefined // Passed all validation.\n\tlastModified: number = undefined\n\tlastModifiedDate: Date = undefined\n\tname: string = undefined\n\tprocessing: boolean = undefined\n\tsize: number = undefined\n\tstatus: string = undefined\n\ttype: string = undefined\n\tupload: IUploadStats = {\n\t\tbytesSent: 0,\n\t\tprogress: 0,\n\t\ttotal: 0,\n\t\tspeed: {\n\t\t\tkbps: undefined,\n\t\t\tmbps: undefined,\n\t\t},\n\t\tstart: undefined,\n\t\tend: undefined,\n\t\ttime: undefined,\n\t}\n\twebkitRelativePath: USVString = undefined\n\twidth: number = undefined\n\theight: number = undefined\n\txhr: XMLHttpRequest = undefined\n\tprivate _dataUrl: string\n\terrorMessage: string = undefined\n\n\tconstructor(...data: object[]) {\n\t\tassign(this, ...data)\n\t}\n\n\tset(...data: object[]): VTransmitFile {\n\t\tassign(this, ...data)\n\t\treturn this\n\t}\n\n\tcopyNativeFile(file: File): VTransmitFile {\n\t\t// save reference for upload\n\t\tthis.nativeFile = file\n\t\t// Copy props to normal object for Vue reactivity.\n\t\t// Vue cannot define reactive properties on native file's readonly props.\n\t\treturn this.set(copyOwnAndInheritedProps(file))\n\t}\n\n\tcopyOwnAndInheritedProps(...data: object[]): VTransmitFile {\n\t\treturn this.set(...data.map(copyOwnAndInheritedProps))\n\t}\n\n\thandleProgress(e: ProgressEvent): void {\n\t\tthis.startProgress()\n\t\tconst total = e.total || this.upload.total\n\t\tthis.upload.progress = Math.min(100, 100 * e.loaded / total)\n\t\tthis.upload.bytesSent = e.loaded\n\t\tthis.upload.total = total\n\t\tthis.upload.time = (Date.now() - this.upload.start) / 1000\n\t\t// Recalc the upload speed in bytes/sec\n\t\tthis.upload.speed.kbps = round(toKbps(this.upload.bytesSent, this.upload.time))\n\t\tthis.upload.speed.mbps = round(toMbps(this.upload.bytesSent, this.upload.time))\n\t\tif (this.upload.progress === 100) {\n\t\t\tthis.endProgress()\n\t\t}\n\t}\n\n\tstartProgress(): VTransmitFile {\n\t\t// Avoid starting twice\n\t\tif (typeof this.upload.start !== \"number\") {\n\t\t\tthis.upload.start = Date.now()\n\t\t}\n\t\treturn this\n\t}\n\n\tendProgress(): VTransmitFile {\n\t\t// Avoid ending twice\n\t\tif (typeof this.upload.end !== \"number\") {\n\t\t\tthis.upload.end = Date.now()\n\t\t\tthis.upload.time = (Date.now() - this.upload.start) / 1000\n\t\t}\n\t\treturn this\n\t}\n\n\tget nativeFile() {\n\t\treturn this._nativeFile\n\t}\n\n\tset nativeFile(file: File) {\n\t\tif (!(file instanceof File)) {\n\t\t\tthrow new TypeError(`[${VTransmitFile.name}] Expected an instance of File (native).`)\n\t\t}\n\t\tthis._nativeFile = file\n\t\tthis.upload.total = file.size\n\t}\n\n\tget dataUrl() {\n\t\treturn this._dataUrl || \"\"\n\t}\n\n\tset dataUrl(value) {\n\t\tdefineProperty(this, \"_dataUrl\", {\n\t\t\tvalue,\n\t\t\tenumerable: false,\n\t\t\tconfigurable: true,\n\t\t\twritable: true,\n\t\t})\n\t}\n\n\tstatic fromNativeFile(file: File, ...data) {\n\t\tconst instance = new VTransmitFile(...data)\n\t\tinstance.copyNativeFile(file)\n\t\treturn instance\n\t}\n\n\tstatic idFactory() {\n\t\treturn uniqueId(\"v-transmit-file-\")\n\t}\n}\n\nexport default VTransmitFile\n\n\n\n// WEBPACK FOOTER //\n// ./src/classes/VTransmitFile.ts","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(_vm.tag,{tag:\"component\"},[_c('div',_vm._g(_vm._b({staticClass:\"v-transmit__upload-area\",class:[_vm.isDraggingClass, _vm.uploadAreaClasses],attrs:{\"draggable\":\"true\"},on:{\"click\":_vm.handleClickUploaderAction,\"dragstart\":_vm.handleDragStart,\"dragend\":_vm.handleDragEnd,\"dragenter\":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDragEnter($event)},\"dragover\":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDragOver($event)},\"dragleave\":_vm.handleDragLeave,\"drop\":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDrop($event)}}},'div',_vm.uploadAreaAttrs,false),_vm.uploadAreaListeners),[_vm._t(\"default\")],2),_vm._v(\" \"),_vm._t(\"files\",null,null,_vm.fileSlotBindings),_vm._v(\" \"),_c('form',{ref:\"uploadForm\",style:(_vm.formStyles)},[_c('input',{ref:\"hiddenFileInput\",class:[_vm.maxFilesReachedClass],attrs:{\"type\":\"file\",\"multiple\":_vm.multiple,\"accept\":_vm.filesToAccept,\"capture\":_vm.capture},on:{\"change\":_vm.onFileInputChange}})])],2)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-61e675b9\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/VueTransmit.vue\n// module id = 16\n// module chunks = 0"],"sourceRoot":""}
\ No newline at end of file
diff --git a/dist/vue-transmit.esm.min.js b/dist/vue-transmit.esm.min.js
index 5789411..5a4e7e4 100644
--- a/dist/vue-transmit.esm.min.js
+++ b/dist/vue-transmit.esm.min.js
@@ -1,8 +1,8 @@
-module.exports=function(e){function t(r){if(a[r])return a[r].exports;var o=a[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var a={};return t.m=e,t.c=a,t.d=function(e,a,r){t.o(e,a)||Object.defineProperty(e,a,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var a=e&&e.__esModule?function(){return e['default']}:function(){return e};return t.d(a,'a',a),a},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p='',t(t.s=3)}([function(e){e.exports=require('vue')},function(e,t,a){'use strict';function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e){if(Array.isArray(e)){for(var t=0,a=Array(e.length);tl?t:null===o?o=Object.getOwnPropertyDescriptor(t,a):o;if('object'===('undefined'==typeof Reflect?'undefined':p(Reflect))&&'function'==typeof Reflect.decorate)d=Reflect.decorate(e,t,a,o);else for(var r=e.length-1;0<=r;r--)(n=e[r])&&(d=(3>l?n(d):3=this.maxFiles&&this.$emit('max-files-reached',this.files)}},{key:'getFilesWithStatus',value:function(){for(var e=arguments.length,t=Array(e),a=0;a=this.maxConcurrentUploads||0===this.queuedFiles.length)){var t=[].concat(n(this.queuedFiles));if(this.uploadMultiple)return this.processFiles(t.slice(0,this.maxConcurrentUploads-e));for(var a=e;ar.status||300<=r.status?p():a.uploadFinished(t,e,o)}});var c=Object.assign(Object.create(null),this.defaultHeaders,this.headers);for(var y in c)c[y]&&r.setRequestHeader(y,c[y]);var g=new FormData;for(var f in this.params)g.append(f,this.params[f]);var m,h=!0,_=!1;try{for(var v,F,k=t[Symbol.iterator]();!(h=(v=k.next()).done);h=!0)F=v.value,this.$emit('sending',F,r,g)}catch(e){_=!0,m=e}finally{try{!h&&k.return&&k.return()}finally{if(_)throw m}}this.uploadMultiple&&this.$emit('sending-multiple',t,r,g);for(var P=0;P1024*(1024*this.maxFileSize)?t(this.dictFileTooBig.replace(_.hbsRegex,(0,_.hbsReplacer)({fileSize:Math.round(e.size/1024/10.24)/100,maxFileSize:this.maxFileSize}))):this.isValidFileType(e,this.acceptedFileTypes)?null!=this.maxFiles&&this.acceptedFiles.length>=this.maxFiles?(t(this.dictMaxFilesExceeded.replace(_.hbsRegex,(0,_.hbsReplacer)({maxFiles:this.maxFiles}))),this.$emit('max-files-exceeded',e)):this.accept(e,t):t(this.dictInvalidFileType)}},{key:'isValidFileType',value:function(e,t){if(!t.length)return!0;for(var a,r=e.type,o=r.replace(/\/.*$/,''),n=0;n=this.maxFiles}},{key:'maxFilesReachedClass',get:function(){return this.maxFilesReached?'v-transmit__max-files--reached':null}},{key:'isDraggingClass',get:function(){return o({"v-transmit__upload-area--is-dragging":this.dragging},this.dragClass,this.dragging)}},{key:'isUploading',get:function(){return 0o){var s=n(i,e.width),p=l(s,2);a=p[0],r=p[1]}else{var u=n(i,void 0,e.height),c=l(u,2);a=c[0],r=c[1]}return al?t:null===o?o=Object.getOwnPropertyDescriptor(t,a):o;if('object'===('undefined'==typeof Reflect?'undefined':p(Reflect))&&'function'==typeof Reflect.decorate)s=Reflect.decorate(e,t,a,o);else for(var r=e.length-1;0<=r;r--)(n=e[r])&&(s=(3>l?n(s):3=this.maxFiles&&this.$emit('max-files-reached',this.files)}},{key:'getFilesWithStatus',value:function(){for(var e=arguments.length,t=Array(e),a=0;a=this.maxConcurrentUploads||0===this.queuedFiles.length)){var t=[].concat(n(this.queuedFiles));if(this.uploadMultiple)return this.processFiles(t.slice(0,this.maxConcurrentUploads-e));for(var a=e;ar.status||300<=r.status?p():a.uploadFinished(t,e,o)}});var c=Object.assign(Object.create(null),this.defaultHeaders,this.headers);for(var y in c)c[y]&&r.setRequestHeader(y,c[y]);var g=new FormData;for(var m in this.params)g.append(m,this.params[m]);var f,h=!0,_=!1;try{for(var v,F,k=t[Symbol.iterator]();!(h=(v=k.next()).done);h=!0)F=v.value,this.$emit('sending',F,r,g)}catch(e){_=!0,f=e}finally{try{!h&&k.return&&k.return()}finally{if(_)throw f}}this.uploadMultiple&&this.$emit('sending-multiple',t,r,g);for(var P=0;P1024*(1024*this.maxFileSize)?t(this.dictFileTooBig.replace(_.hbsRegex,(0,_.hbsReplacer)({fileSize:Math.round(e.size/1024/10.24)/100,maxFileSize:this.maxFileSize}))):this.isValidFileType(e,this.acceptedFileTypes)?null!=this.maxFiles&&this.acceptedFiles.length>=this.maxFiles?(t(this.dictMaxFilesExceeded.replace(_.hbsRegex,(0,_.hbsReplacer)({maxFiles:this.maxFiles}))),this.$emit('max-files-exceeded',e)):this.accept(e,t):t(this.dictInvalidFileType)}},{key:'isValidFileType',value:function(e,t){if(!t.length)return!0;for(var a,r=e.type,o=r.replace(/\/.*$/,''),n=0;n=this.maxFiles}},{key:'maxFilesReachedClass',get:function(){return this.maxFilesReached?'v-transmit__max-files--reached':null}},{key:'isDraggingClass',get:function(){return o({"v-transmit__upload-area--is-dragging":this.dragging},this.dragClass,this.dragging)}},{key:'isUploading',get:function(){return 0o){var d=n(i,e.width),p=l(d,2);a=p[0],r=p[1]}else{var u=n(i,void 0,e.height),c=l(u,2);a=c[0],r=c[1]}return a=o.length)return a;if(0>=a.length)return o;for(var i=new z,n=[],l=0,d=a;l=this._keys.length?(this._index=-1,this._keys=o,this._values=o):this._index++,{value:t,done:!1}}return{value:void 0,done:!0}},e.prototype.throw=function(e){throw 0<=this._index&&(this._index=-1,this._keys=o,this._values=o),e},e.prototype.return=function(e){return 0<=this._index&&(this._index=-1,this._keys=o,this._values=o),{value:e,done:!0}},e}();return function(){function o(){this._keys=[],this._values=[],this._cacheKey=r,this._cacheIndex=-2}return Object.defineProperty(o.prototype,'size',{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),o.prototype.has=function(e){return 0<=this._find(e,!1)},o.prototype.get=function(e){var t=this._find(e,!1);return 0<=t?this._values[t]:void 0},o.prototype.set=function(e,t){var a=this._find(e,!0);return this._values[a]=t,this},o.prototype.delete=function(e){var t=this._find(e,!1);if(0<=t){for(var a=this._keys.length,o=t+1;othis._cacheIndex&&t&&(this._cacheIndex=this._keys.length,this._keys.push(e),this._values.push(void 0)),this._cacheIndex},o}()}():Map,z=j||'function'!=typeof Set||'function'!=typeof Set.prototype.entries?function(){return function(){function e(){this._map=new Q}return Object.defineProperty(e.prototype,'size',{get:function(){return this._map.size},enumerable:!0,configurable:!0}),e.prototype.has=function(e){return this._map.has(e)},e.prototype.add=function(e){return this._map.set(e,e),this},e.prototype.delete=function(e){return this._map.delete(e)},e.prototype.clear=function(){this._map.clear()},e.prototype.keys=function(){return this._map.keys()},e.prototype.values=function(){return this._map.values()},e.prototype.entries=function(){return this._map.entries()},e.prototype['@@iterator']=function(){return this.keys()},e.prototype[L]=function(){return this.keys()},e}()}():Set,q=j||'function'!=typeof WeakMap?function(){function e(){var e;do e='@@WeakMap@@'+o();while(O.has(n,e));return n[e]=!0,e}function t(e,t){if(!M.call(e,l)){if(!t)return;Object.defineProperty(e,l,{value:O.create()})}return e[l]}function a(e,t){for(var a=0;at&&(a+='0'),a+=t.toString(16).toLowerCase();return a}var i=16,n=O.create(),l=e();return function(){function a(){this._key=e()}return a.prototype.has=function(e){var a=t(e,!1);return void 0!==a&&O.has(a,this._key)},a.prototype.get=function(e){var a=t(e,!1);return void 0===a?void 0:O.get(a,this._key)},a.prototype.set=function(e,a){var r=t(e,!0);return r[this._key]=a,this},a.prototype.delete=function(e){var a=t(e,!1);return void 0!==a&&delete a[this._key]},a.prototype.clear=function(){this._key=e()},a}()}():WeakMap,W=new q;a.decorate=function(e,t,a,i){if(!g(a)){if(!P(e))throw new TypeError;if(!h(t))throw new TypeError;if(!h(i)&&!g(i)&&!f(i))throw new TypeError;return f(i)&&(i=void 0),a=b(a),o(e,t,a,i)}if(!P(e))throw new TypeError;if(!D(t))throw new TypeError;return r(e,t)},a.metadata=function(e,t){return function(a,r){if(!h(a))throw new TypeError;if(!g(r)&&!E(r))throw new TypeError;p(e,t,a,r)}},a.defineMetadata=function(e,t,a,r){if(!h(a))throw new TypeError;return g(r)||(r=b(r)),p(e,t,a,r)},a.hasMetadata=function(e,t,a){if(!h(t))throw new TypeError;return g(a)||(a=b(a)),n(e,t,a)},a.hasOwnMetadata=function(e,t,a){if(!h(t))throw new TypeError;return g(a)||(a=b(a)),l(e,t,a)},a.getMetadata=function(e,t,a){if(!h(t))throw new TypeError;return g(a)||(a=b(a)),d(e,t,a)},a.getOwnMetadata=function(e,t,a){if(!h(t))throw new TypeError;return g(a)||(a=b(a)),s(e,t,a)},a.getMetadataKeys=function(e,t){if(!h(e))throw new TypeError;return g(t)||(t=b(t)),u(e,t)},a.getOwnMetadataKeys=function(e,t){if(!h(e))throw new TypeError;return g(t)||(t=b(t)),c(e,t)},a.deleteMetadata=function(e,t,a){if(!h(t))throw new TypeError;g(a)||(a=b(a));var r=i(t,a,!1);if(g(r))return!1;if(!r.delete(e))return!1;if(0=o.length)return a;if(0>=a.length)return o;for(var i=new z,n=[],l=0,s=a;l=this._keys.length?(this._index=-1,this._keys=o,this._values=o):this._index++,{value:t,done:!1}}return{value:void 0,done:!0}},e.prototype.throw=function(e){throw 0<=this._index&&(this._index=-1,this._keys=o,this._values=o),e},e.prototype.return=function(e){return 0<=this._index&&(this._index=-1,this._keys=o,this._values=o),{value:e,done:!0}},e}();return function(){function o(){this._keys=[],this._values=[],this._cacheKey=r,this._cacheIndex=-2}return Object.defineProperty(o.prototype,'size',{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),o.prototype.has=function(e){return 0<=this._find(e,!1)},o.prototype.get=function(e){var t=this._find(e,!1);return 0<=t?this._values[t]:void 0},o.prototype.set=function(e,t){var a=this._find(e,!0);return this._values[a]=t,this},o.prototype.delete=function(e){var t=this._find(e,!1);if(0<=t){for(var a=this._keys.length,o=t+1;othis._cacheIndex&&t&&(this._cacheIndex=this._keys.length,this._keys.push(e),this._values.push(void 0)),this._cacheIndex},o}()}():Map,z=j||'function'!=typeof Set||'function'!=typeof Set.prototype.entries?function(){return function(){function e(){this._map=new Q}return Object.defineProperty(e.prototype,'size',{get:function(){return this._map.size},enumerable:!0,configurable:!0}),e.prototype.has=function(e){return this._map.has(e)},e.prototype.add=function(e){return this._map.set(e,e),this},e.prototype.delete=function(e){return this._map.delete(e)},e.prototype.clear=function(){this._map.clear()},e.prototype.keys=function(){return this._map.keys()},e.prototype.values=function(){return this._map.values()},e.prototype.entries=function(){return this._map.entries()},e.prototype['@@iterator']=function(){return this.keys()},e.prototype[L]=function(){return this.keys()},e}()}():Set,q=j||'function'!=typeof WeakMap?function(){function e(){var e;do e='@@WeakMap@@'+o();while(O.has(n,e));return n[e]=!0,e}function t(e,t){if(!M.call(e,l)){if(!t)return;Object.defineProperty(e,l,{value:O.create()})}return e[l]}function a(e,t){for(var a=0;at&&(a+='0'),a+=t.toString(16).toLowerCase();return a}var i=16,n=O.create(),l=e();return function(){function a(){this._key=e()}return a.prototype.has=function(e){var a=t(e,!1);return void 0!==a&&O.has(a,this._key)},a.prototype.get=function(e){var a=t(e,!1);return void 0===a?void 0:O.get(a,this._key)},a.prototype.set=function(e,a){var r=t(e,!0);return r[this._key]=a,this},a.prototype.delete=function(e){var a=t(e,!1);return void 0!==a&&delete a[this._key]},a.prototype.clear=function(){this._key=e()},a}()}():WeakMap,W=new q;a.decorate=function(e,t,a,i){if(!g(a)){if(!P(e))throw new TypeError;if(!h(t))throw new TypeError;if(!h(i)&&!g(i)&&!m(i))throw new TypeError;return m(i)&&(i=void 0),a=b(a),o(e,t,a,i)}if(!P(e))throw new TypeError;if(!E(t))throw new TypeError;return r(e,t)},a.metadata=function(e,t){return function(a,r){if(!h(a))throw new TypeError;if(!g(r)&&!D(r))throw new TypeError;p(e,t,a,r)}},a.defineMetadata=function(e,t,a,r){if(!h(a))throw new TypeError;return g(r)||(r=b(r)),p(e,t,a,r)},a.hasMetadata=function(e,t,a){if(!h(t))throw new TypeError;return g(a)||(a=b(a)),n(e,t,a)},a.hasOwnMetadata=function(e,t,a){if(!h(t))throw new TypeError;return g(a)||(a=b(a)),l(e,t,a)},a.getMetadata=function(e,t,a){if(!h(t))throw new TypeError;return g(a)||(a=b(a)),s(e,t,a)},a.getOwnMetadata=function(e,t,a){if(!h(t))throw new TypeError;return g(a)||(a=b(a)),d(e,t,a)},a.getMetadataKeys=function(e,t){if(!h(e))throw new TypeError;return g(t)||(t=b(t)),u(e,t)},a.getOwnMetadataKeys=function(e,t){if(!h(e))throw new TypeError;return g(t)||(t=b(t)),c(e,t)},a.deleteMetadata=function(e,t,a){if(!h(t))throw new TypeError;g(a)||(a=b(a));var r=i(t,a,!1);if(g(r))return!1;if(!r.delete(e))return!1;if(0 [] })\n\tacceptedFileTypes: string[]\n\n\t/**\n * If false, files will be added to the queue but the queue will not be\n * processed automatically.\n * This can be useful if you need some additional user input before sending\n * files (or if you want want all files sent at once).\n * If you're ready to send the file simply call myDropzone.processQueue()\n */\n\t@Prop({ type: Boolean, default: true })\n\tautoProcessQueue: boolean\n\n\t/**\n * If false, files added to the dropzone will not be queued by default.\n * You'll have to call `enqueueFile(file)` manually.\n */\n\t@Prop({ type: Boolean, default: true })\n\tautoQueue: boolean\n\n\t/**\n * If null, no capture type will be specified\n * If camera, mobile devices will skip the file selection and choose camera\n * If microphone, mobile devices will skip the file selection and choose the microphone\n * If camcorder, mobile devices will skip the file selection and choose the camera in video mode\n * On apple devices multiple must be set to false. AcceptedFiles may need to\n * be set to an appropriate mime type (e.g. \"image/*\", \"audio/*\", or \"video/*\").\n */\n\t@Prop({ type: String, default: null })\n\tcapture: string\n\n\t/**\n * Before the file is appended to the formData, the function renameFile is performed for file.name, file\n * which executes the function defined in renameFile\n */\n\t@Prop({ type: Function, default: identity })\n\trenameFile: (name: string) => string\n\n\t// If the file size is too big.\n\t@Prop({ type: String, default: \"File is too big ({{ fileSize }}MiB). Max file size: {{ maxFileSize }}MB.\" })\n\tdictFileTooBig: string\n\n\t// If the file doesn't match the file type.\n\t@Prop({ type: String, default: \"You can't upload files of this type.\" })\n\tdictInvalidFileType: string\n\n\t// If the server response was invalid.\n\t@Prop({ type: String, default: \"Server responded with {{ statusCode }} code.\" })\n\tdictResponseError: string\n\n\t/**\n * Displayed when the maxFiles have been exceeded\n * You can use {{maxFiles}} here, which will be replaced by the option.\n */\n\t@Prop({ type: String, default: \"You can not upload any more files.\" })\n\tdictMaxFilesExceeded: string\n\n\t/**\n * If `done()` is called without argument the file is accepted\n * If you call it with an error message, the file is rejected\n * (This allows for asynchronous validation).\n */\n\t@Prop({ type: Function, default: (_, done: Function) => done() })\n\taccept: (file: VTransmitFile, done: Function) => void\n\n\t@Prop({ type: Function, default: resizeImg })\n\tresize: (file: VTransmitFile, dims: IDimensions) => IDrawImageArgs\n\n\tpublic dragging: boolean = false\n\t// Used to keep the createThumbnail calls processing async one-at-a-time\n\tprivate processingThumbnail: boolean = false\n\tpublic thumbnailQueue: any[] = []\n\tpublic files: VTransmitFile[] = []\n\tpublic defaultHeaders: object = {\n\t\tAccept: \"application/json\",\n\t\t\"Cache-Control\": \"no-cache\",\n\t\t\"X-Requested-With\": \"XMLHttpRequest\",\n\t}\n\tpublic fileInputStyles: object = {\n\t\tvisibility: \"hidden !important\",\n\t\tposition: \"absolute !important\",\n\t\ttop: \"0 !important\",\n\t\tleft: \"0 !important\",\n\t\theight: \"0px !important\",\n\t\twidth: \"0px !important\",\n\t}\n\n\tget inputEl(): HTMLInputElement {\n\t\tlet el = null\n\t\tif (this.$refs.hiddenFileInput instanceof HTMLInputElement) {\n\t\t\tel = this.$refs.hiddenFileInput\n\t\t}\n\t\treturn el\n\t}\n\tget filesToAccept(): string {\n\t\treturn this.acceptedFileTypes.join(\",\")\n\t}\n\tget multiple(): boolean {\n\t\treturn this.maxFiles === null || this.maxFiles > 1\n\t}\n\tget acceptedFiles(): VTransmitFile[] {\n\t\treturn this.files.filter(f => f.accepted)\n\t}\n\tget rejectedFiles(): VTransmitFile[] {\n\t\treturn this.files.filter(f => !f.accepted)\n\t}\n\tget addedFiles(): VTransmitFile[] {\n\t\treturn this.getFilesWithStatus(STATUSES.ADDED)\n\t}\n\tget queuedFiles(): VTransmitFile[] {\n\t\treturn this.getFilesWithStatus(STATUSES.QUEUED)\n\t}\n\tget uploadingFiles(): VTransmitFile[] {\n\t\treturn this.getFilesWithStatus(STATUSES.UPLOADING)\n\t}\n\tget activeFiles(): VTransmitFile[] {\n\t\treturn this.getFilesWithStatus(STATUSES.UPLOADING, STATUSES.QUEUED)\n\t}\n\tget maxFilesReached(): boolean {\n\t\t// Loose equality checks null && undefined\n\t\treturn this.maxFiles != null && this.acceptedFiles.length >= this.maxFiles\n\t}\n\tget maxFilesReachedClass(): string {\n\t\treturn this.maxFilesReached ? \"v-transmit__max-files--reached\" : null\n\t}\n\tget isDraggingClass(): { [key: string]: boolean } {\n\t\treturn {\n\t\t\t\"v-transmit__upload-area--is-dragging\": this.dragging,\n\t\t\t[this.dragClass]: this.dragging,\n\t\t}\n\t}\n\tget isUploading(): boolean {\n\t\treturn this.uploadingFiles.length > 0\n\t}\n\tget fileSlotBindings() {\n\t\treturn {\n\t\t\tfiles: this.files,\n\t\t\tacceptedFiles: this.acceptedFiles,\n\t\t\trejectedFiles: this.rejectedFiles,\n\t\t\taddedFiles: this.addedFiles,\n\t\t\tqueuedFiles: this.queuedFiles,\n\t\t\tuploadingFiles: this.uploadingFiles,\n\t\t\tactiveFiles: this.activeFiles,\n\t\t\tisUploading: this.isUploading,\n\t\t}\n\t}\n\n\t@Watch(\"acceptedFiles\")\n\tonAcceptedFilesChange(acceptedFiles: VTransmitFile[]) {\n\t\tif (this.maxFiles == null) {\n\t\t\treturn\n\t\t}\n\t\tif (acceptedFiles.length >= this.maxFiles) {\n\t\t\tthis.$emit(\"max-files-reached\", this.files)\n\t\t}\n\t}\n\n\tgetFilesWithStatus(...statuses: string[]): VTransmitFile[] {\n\t\treturn this.files.filter(f => statuses.indexOf(f.status) > -1)\n\t}\n\tonFileInputChange(): void {\n\t\tthis.$emit(\"added-files\", Array.from(this.inputEl.files).map(this.addFile))\n\t}\n\taddFile(file: File): VTransmitFile {\n\t\tconst vTransmitFile = VTransmitFile.fromNativeFile(file)\n\t\tvTransmitFile.status = STATUSES.ADDED\n\t\tthis.files.push(vTransmitFile)\n\t\tthis.$emit(\"added-file\", vTransmitFile)\n\t\tthis.enqueueThumbnail(vTransmitFile)\n\t\tthis.acceptFile(vTransmitFile, error => {\n\t\t\tif (error) {\n\t\t\t\tvTransmitFile.accepted = false\n\t\t\t\tthis.errorProcessing([vTransmitFile], error)\n\t\t\t\tthis.$emit(\"rejected-file\", vTransmitFile)\n\t\t\t} else {\n\t\t\t\tvTransmitFile.accepted = true\n\t\t\t\tthis.$emit(\"accepted-file\", vTransmitFile)\n\t\t\t\tif (this.autoQueue) {\n\t\t\t\t\tthis.enqueueFile(vTransmitFile)\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.$emit(\"accept-complete\", vTransmitFile)\n\t\t})\n\n\t\treturn vTransmitFile\n\t}\n\tremoveFile(file: VTransmitFile): void {\n\t\tif (file.status === STATUSES.UPLOADING) {\n\t\t\tthis.cancelUpload(file)\n\t\t}\n\t\tconst idxToRm = this.files.findIndex(f => f.id === file.id)\n\t\tif (~idxToRm) {\n\t\t\tthis.$emit(\"removed-file\", this.files.splice(idxToRm, 1)[0])\n\t\t\tif (this.files.length === 0) {\n\t\t\t\tthis.$emit(\"reset\")\n\t\t\t}\n\t\t}\n\t}\n\tremoveAllFiles(cancelInProgressUploads = false): void {\n\t\tfor (const file of this.files) {\n\t\t\tif (file.status !== STATUSES.UPLOADING || cancelInProgressUploads) {\n\t\t\t\tthis.removeFile(file)\n\t\t\t}\n\t\t}\n\t}\n\ttriggerBrowseFiles(): void {\n\t\tthis.inputEl.click()\n\t}\n\thandleClickUploaderAction(): void {\n\t\tif (this.clickable) {\n\t\t\tthis.triggerBrowseFiles()\n\t\t}\n\t}\n\tenqueueFile(file: VTransmitFile): void {\n\t\tif (file.status === STATUSES.ADDED && file.accepted === true) {\n\t\t\tfile.status = STATUSES.QUEUED\n\t\t\tif (this.autoProcessQueue) {\n\t\t\t\tsetTimeout(this.processQueue, 0)\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new Error(\"This file can't be queued because it has already been processed or was rejected.\")\n\t\t}\n\t}\n\tenqueueThumbnail(file: VTransmitFile): void {\n\t\tif (\n\t\t\tthis.createImageThumbnails &&\n\t\t\tfile.type.match(/image.*/) &&\n\t\t\tfile.size <= this.maxThumbnailFileSize * 1024 * 1024\n\t\t) {\n\t\t\tthis.thumbnailQueue.push(file)\n\t\t\tsetTimeout(this.processThumbnailQueue, 0)\n\t\t}\n\t}\n\tprocessThumbnailQueue(): void {\n\t\t// Employ a chain of self-calling, self-queuing createThumbnail calls\n\t\t// so execution can stay as non-blocking as possible.\n\t\tif (this.processingThumbnail || this.thumbnailQueue.length === 0) {\n\t\t\treturn\n\t\t}\n\t\tthis.processingThumbnail = true\n\t\tthis.createThumbnail(this.thumbnailQueue.shift(), () => {\n\t\t\tthis.processingThumbnail = false\n\t\t\tthis.processThumbnailQueue()\n\t\t})\n\t}\n\tcreateThumbnail(file: VTransmitFile, callback = noop): void {\n\t\tconst reader = new FileReader()\n\t\treader.addEventListener(\n\t\t\t\"load\",\n\t\t\t() => {\n\t\t\t\tif (file.type === \"image/svg+xml\") {\n\t\t\t\t\tfile.dataUrl = reader.result\n\t\t\t\t\tthis.$emit(\"thumbnail\", file, reader.result)\n\t\t\t\t\tcallback()\n\t\t\t\t}\n\t\t\t\tthis.createThumbnailFromUrl(file, reader.result, callback)\n\t\t\t},\n\t\t\tfalse\n\t\t)\n\n\t\t// FileReader requires a native File|Blob object\n\t\treader.readAsDataURL(file.nativeFile)\n\t}\n\tcreateThumbnailFromUrl(file: VTransmitFile, imageUrl: string, callback?: Function): void {\n\t\tconst imgEl = document.createElement(\"img\")\n\n\t\timgEl.addEventListener(\n\t\t\t\"load\",\n\t\t\t() => {\n\t\t\t\tfile.width = imgEl.width\n\t\t\t\tfile.height = imgEl.height\n\t\t\t\tconst resizeInfo = this.resize(file, {\n\t\t\t\t\twidth: this.thumbnailWidth,\n\t\t\t\t\theight: this.thumbnailHeight,\n\t\t\t\t})\n\t\t\t\tconst canvas = document.createElement(\"canvas\")\n\t\t\t\tconst ctx = canvas.getContext(\"2d\")\n\t\t\t\tcanvas.width = resizeInfo.dWidth\n\t\t\t\tcanvas.height = resizeInfo.dHeight\n\t\t\t\tctx.drawImage(\n\t\t\t\t\timgEl,\n\t\t\t\t\tresizeInfo.sx,\n\t\t\t\t\tresizeInfo.sy,\n\t\t\t\t\tresizeInfo.sWidth,\n\t\t\t\t\tresizeInfo.sHeight,\n\t\t\t\t\tresizeInfo.dx,\n\t\t\t\t\tresizeInfo.dy,\n\t\t\t\t\tresizeInfo.dWidth,\n\t\t\t\t\tresizeInfo.dHeight\n\t\t\t\t)\n\t\t\t\tconst thumbnail = canvas.toDataURL(\"image/png\")\n\t\t\t\tfile.dataUrl = thumbnail\n\t\t\t\tthis.$emit(\"thumbnail\", file, thumbnail)\n\n\t\t\t\tif (callback) {\n\t\t\t\t\treturn callback()\n\t\t\t\t}\n\t\t\t},\n\t\t\tfalse\n\t\t)\n\t\tif (callback) {\n\t\t\timgEl.addEventListener(\"error\", callback as EventListenerOrEventListenerObject, false)\n\t\t}\n\n\t\timgEl.src = imageUrl\n\t}\n\tprocessQueue(): void {\n\t\tconst processingLength = this.uploadingFiles.length\n\t\tif (processingLength >= this.maxConcurrentUploads || this.queuedFiles.length === 0) {\n\t\t\treturn\n\t\t}\n\n\t\tconst queuedFiles = [...this.queuedFiles]\n\t\tif (this.uploadMultiple) {\n\t\t\treturn this.processFiles(queuedFiles.slice(0, this.maxConcurrentUploads - processingLength))\n\t\t} else {\n\t\t\tfor (let i = processingLength; i < this.maxConcurrentUploads; i++) {\n\t\t\t\tif (queuedFiles.length) {\n\t\t\t\t\tthis.processFile(queuedFiles.shift())\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tprocessFile(file: VTransmitFile): void {\n\t\tthis.processFiles([file])\n\t}\n\tprocessFiles(files: VTransmitFile[]): void {\n\t\tfor (const file of files) {\n\t\t\tfile.processing = true\n\t\t\tfile.status = STATUSES.UPLOADING\n\t\t\tthis.$emit(\"processing\", file)\n\t\t}\n\t\tif (this.uploadMultiple) {\n\t\t\tthis.$emit(\"processing-multiple\", files)\n\t\t}\n\n\t\treturn this.uploadFiles(files)\n\t}\n\tgetFilesWithXhr(xhr: XMLHttpRequest): VTransmitFile[] {\n\t\treturn this.files.filter(file => file.xhr === xhr)\n\t}\n\tcancelUpload(file: VTransmitFile): void {\n\t\tif (file.status === STATUSES.UPLOADING) {\n\t\t\tconst groupedFiles = this.getFilesWithXhr(file.xhr)\n\t\t\tfile.xhr.abort()\n\t\t\tfor (const f of groupedFiles) {\n\t\t\t\tf.status = STATUSES.CANCELED\n\t\t\t\tthis.$emit(\"canceled\", f)\n\t\t\t}\n\t\t\tif (this.uploadMultiple) {\n\t\t\t\tthis.$emit(\"canceled-multiple\", groupedFiles)\n\t\t\t}\n\t\t} else if (file.status === STATUSES.ADDED || file.status === STATUSES.QUEUED) {\n\t\t\tfile.status = STATUSES.CANCELED\n\t\t\tthis.$emit(\"canceled\", file)\n\t\t\tif (this.uploadMultiple) {\n\t\t\t\tthis.$emit(\"canceled-multiple\", [file])\n\t\t\t}\n\t\t}\n\n\t\tif (this.autoProcessQueue) {\n\t\t\tthis.processQueue()\n\t\t}\n\t}\n\tuploadFile(file: VTransmitFile): void {\n\t\tthis.uploadFiles([file])\n\t}\n\tuploadFiles(files: VTransmitFile[]): void {\n\t\tconst xhr = new XMLHttpRequest()\n\t\tfor (const file of files) {\n\t\t\tfile.xhr = xhr\n\t\t\tfile.startProgress()\n\t\t}\n\t\txhr.open(this.method, this.url, true)\n\t\t// Setting the timeout after open because of IE11 issue: https://gitlab.com/meno/dropzone/issues/8\n\t\txhr.timeout = this.timeout\n\t\txhr.withCredentials = Boolean(this.withCredentials)\n\t\txhr.responseType = this.responseType\n\n\t\tconst handleError = this.handleUploadError(files, xhr)\n\t\tconst updateProgress = this.handleUploadProgress(files)\n\t\txhr.addEventListener(\"error\", handleError)\n\t\txhr.upload.addEventListener(\"progress\", updateProgress)\n\t\txhr.addEventListener(\"timeout\", this.handleTimeout(files, xhr))\n\t\txhr.addEventListener(\"load\", e => {\n\t\t\tif (files[0].status === STATUSES.CANCELED || xhr.readyState !== XMLHttpRequest.DONE) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tlet response = xhr.response\n\n\t\t\tif (!xhr.responseType) {\n\t\t\t\tlet contentType = xhr.getResponseHeader(\"content-type\")\n\t\t\t\tresponse = xhr.responseText\n\n\t\t\t\tif (contentType && contentType.indexOf(\"application/json\") > -1) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tresponse = JSON.parse(response)\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tresponse = \"Invalid JSON response from server.\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Called at load (when complete) will enable all the progress done logic.\n\t\t\tupdateProgress()\n\t\t\tif (xhr.status < 200 || xhr.status >= 300) {\n\t\t\t\treturn handleError()\n\t\t\t} else {\n\t\t\t\treturn this.uploadFinished(files, response, e)\n\t\t\t}\n\t\t})\n\n\t\t// Use null proto obj for the following 'for in' loop\n\t\tconst headers = Object.assign(Object.create(null), this.defaultHeaders, this.headers)\n\t\tfor (const headerName in headers) {\n\t\t\tif (headers[headerName]) {\n\t\t\t\txhr.setRequestHeader(headerName, headers[headerName])\n\t\t\t}\n\t\t}\n\n\t\tconst formData = new FormData()\n\t\tfor (const key in this.params) {\n\t\t\tformData.append(key, this.params[key])\n\t\t}\n\n\t\tfor (const file of files) {\n\t\t\tthis.$emit(\"sending\", file, xhr, formData)\n\t\t}\n\t\tif (this.uploadMultiple) {\n\t\t\tthis.$emit(\"sending-multiple\", files, xhr, formData)\n\t\t}\n\n\t\tfor (let i = 0; i < files.length; i++) {\n\t\t\tformData.append(this.getParamName(i), files[i].nativeFile, this.renameFile(files[i].name))\n\t\t}\n\n\t\treturn xhr.send(formData)\n\t}\n\thandleUploadError(files: VTransmitFile[], xhr: XMLHttpRequest): () => void {\n\t\tconst vm = this\n\t\treturn function onUploadErrorFn(): void {\n\t\t\tif (files[0].status !== STATUSES.CANCELED) {\n\t\t\t\tconst message = vm.dictResponseError.replace(hbsRegex, hbsReplacer({ statusCode: xhr.status }))\n\t\t\t\tvm.errorProcessing(files, message, xhr)\n\t\t\t}\n\t\t}\n\t}\n\thandleTimeout(files: VTransmitFile[], xhr: XMLHttpRequest): (e: Event) => void {\n\t\tconst vm = this\n\t\treturn function onTimeoutFn(e: Event): void {\n\t\t\tfor (const file of files) {\n\t\t\t\tfile.status = STATUSES.TIMEOUT\n\t\t\t\tfile.endProgress()\n\t\t\t\tvm.$emit(\"timeout\", file, e, xhr)\n\t\t\t}\n\t\t\tvm.$emit(\"timeout-multiple\", files, e, xhr)\n\n\t\t\tif (this.autoProcessQueue) {\n\t\t\t\tthis.processQueue()\n\t\t\t}\n\t\t}\n\t}\n\thandleUploadProgress(files): (e?: ProgressEvent) => void {\n\t\tconst vm = this\n\t\treturn function onProgressFn(e?: ProgressEvent): void {\n\t\t\tif (e instanceof ProgressEvent) {\n\t\t\t\tfor (const file of files) {\n\t\t\t\t\tfile.handleProgress(e)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tlet allFilesFinished = true\n\t\t\t\tfor (const file of files) {\n\t\t\t\t\tif (file.upload.progress !== 100 || file.upload.bytesSent !== file.upload.total) {\n\t\t\t\t\t\tallFilesFinished = false\n\t\t\t\t\t}\n\t\t\t\t\tfile.upload.progress = 100\n\t\t\t\t\tfile.upload.bytesSent = file.upload.total\n\t\t\t\t\tfile.endProgress()\n\t\t\t\t}\n\t\t\t\tif (allFilesFinished) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (const file of files) {\n\t\t\t\tvm.$emit(\"upload-progress\", file, file.upload.progress, file.upload.bytesSent)\n\t\t\t}\n\t\t}\n\t}\n\tupdateTotalUploadProgress(): void {\n\t\tconst progress = this.activeFiles.reduce(\n\t\t\t(memo, file) => {\n\t\t\t\tmemo.totalBytesSent += file.upload.bytesSent\n\t\t\t\tmemo.totalBytes += file.upload.total\n\t\t\t\treturn memo\n\t\t\t},\n\t\t\t{ totalBytesSent: 0, totalBytes: 0, totalProgress: 100 }\n\t\t)\n\n\t\tif (this.activeFiles.length) {\n\t\t\tprogress.totalProgress = 100 * progress.totalBytesSent / progress.totalBytes\n\t\t}\n\n\t\tthis.$emit(\"total-upload-progress\", progress)\n\t}\n\tgetParamName(index): string {\n\t\treturn this.paramName + (this.uploadMultiple ? `[${index}]` : \"\")\n\t}\n\tuploadFinished(files: VTransmitFile[], response: string | object | any[], e: Event): void {\n\t\tfor (const file of files) {\n\t\t\tfile.status = STATUSES.SUCCESS\n\t\t\tfile.endProgress()\n\t\t\tthis.$emit(\"success\", file, response, e)\n\t\t\tthis.$emit(\"complete\", file)\n\t\t}\n\n\t\tif (this.uploadMultiple) {\n\t\t\tthis.$emit(\"success-multiple\", files, response, e)\n\t\t\tthis.$emit(\"complete-multiple\", files)\n\t\t}\n\n\t\tif (this.autoProcessQueue) {\n\t\t\tthis.processQueue()\n\t\t}\n\t}\n\terrorProcessing(files: VTransmitFile[], message: string, xhr?: XMLHttpRequest) {\n\t\tfor (const file of files) {\n\t\t\tfile.status = STATUSES.ERROR\n\t\t\tfile.endProgress()\n\t\t\tthis.$emit(\"error\", file, message, xhr)\n\t\t\tthis.$emit(\"complete\", file)\n\t\t}\n\n\t\tif (this.uploadMultiple) {\n\t\t\tthis.$emit(\"error-multiple\", files, message, xhr)\n\t\t\tthis.$emit(\"complete-multiple\", files)\n\t\t}\n\n\t\tif (this.autoProcessQueue) {\n\t\t\treturn this.processQueue()\n\t\t}\n\t}\n\tacceptFile(file: VTransmitFile, done: Function): void {\n\t\tif (file.size > this.maxFileSize * 1024 * 1024) {\n\t\t\tdone(\n\t\t\t\tthis.dictFileTooBig.replace(\n\t\t\t\t\thbsRegex,\n\t\t\t\t\thbsReplacer({\n\t\t\t\t\t\tfileSize: Math.round(file.size / 1024 / 10.24) / 100,\n\t\t\t\t\t\tmaxFileSize: this.maxFileSize,\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t\t)\n\t\t} else if (!this.isValidFileType(file, this.acceptedFileTypes)) {\n\t\t\tdone(this.dictInvalidFileType)\n\t\t} else if (this.maxFiles != null && this.acceptedFiles.length >= this.maxFiles) {\n\t\t\tdone(this.dictMaxFilesExceeded.replace(hbsRegex, hbsReplacer({ maxFiles: this.maxFiles })))\n\t\t\tthis.$emit(\"max-files-exceeded\", file)\n\t\t} else {\n\t\t\t// Call the prop callback for the client to validate.\n\t\t\tthis.accept(file, done)\n\t\t}\n\t}\n\tisValidFileType(file: VTransmitFile, acceptedFileTypes: string[]): boolean {\n\t\tif (!acceptedFileTypes.length) {\n\t\t\treturn true\n\t\t}\n\t\tconst mimeType = file.type\n\t\tconst baseMimeType = mimeType.replace(/\\/.*$/, \"\")\n\t\t// Return true on the first condition match,\n\t\t// otherwise exhaust all conditions and return false.\n\t\tfor (let i = 0; i < acceptedFileTypes.length; i++) {\n\t\t\tconst validType = acceptedFileTypes[i]\n\t\t\tif (validType.charAt(0) === \".\") {\n\t\t\t\t// Handle extension validation\n\t\t\t\t// Ensure extension exists at the end of the filename.\n\t\t\t\tif (file.name.toLowerCase().indexOf(validType.toLowerCase(), file.name.length - validType.length) !== -1) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t} else if (/\\/\\*$/.test(validType)) {\n\t\t\t\t// Handle globbed mimetype validation (\"image/*\")\n\t\t\t\tif (baseMimeType === validType.replace(/\\/.*$/, \"\")) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (mimeType === validType) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn false\n\t}\n\thandleDragStart(e: DragEvent): void {\n\t\tthis.$emit(\"drag-start\", e)\n\t}\n\thandleDragOver(e: DragEvent): void {\n\t\tthis.dragging = true\n\t\tlet effect\n\t\ttry {\n\t\t\t// Handle browser bug\n\t\t\teffect = e.dataTransfer.effectAllowed\n\t\t} catch (error) {}\n\t\te.dataTransfer.dropEffect = effect === \"move\" || effect === \"linkMove\" ? \"move\" : \"copy\"\n\t\tthis.$emit(\"drag-over\", e)\n\t}\n\thandleDragEnter(e: DragEvent): void {\n\t\tthis.dragging = true\n\t\tthis.$emit(\"drag-enter\", e)\n\t}\n\thandleDragLeave(e: DragEvent): void {\n\t\tthis.dragging = false\n\t\tthis.$emit(\"drag-leave\", e)\n\t}\n\thandleDragEnd(e: DragEvent): void {\n\t\tthis.dragging = false\n\t\tthis.$emit(\"drag-end\", e)\n\t}\n\thandleDrop(e: DragEvent): void {\n\t\tthis.dragging = false\n\t\tif (!e.dataTransfer) {\n\t\t\treturn\n\t\t}\n\t\tthis.$emit(\"drop\", e)\n\t\tconst files = Array.from(e.dataTransfer.files)\n\n\t\tthis.$emit(\"added-files\", files)\n\t\tif (files.length && e.dataTransfer.items) {\n\t\t\tconst items = Array.from(e.dataTransfer.items)\n\t\t\tif (items && items.length && items[0].webkitGetAsEntry) {\n\t\t\t\tthis.addFilesFromItems(items)\n\t\t\t} else {\n\t\t\t\tthis.handleFiles(files)\n\t\t\t}\n\t\t} else {\n\t\t\tthis.handleFiles(files)\n\t\t}\n\t}\n\tpaste(e: ClipboardEvent): void {\n\t\tif (!e || !e.clipboardData || !e.clipboardData.items) {\n\t\t\treturn\n\t\t}\n\t\tthis.$emit(\"paste\", e)\n\t\tconst items = Array.from(e.clipboardData.items)\n\t\tif (items.length) {\n\t\t\tthis.addFilesFromItems(items)\n\t\t}\n\t}\n\thandleFiles(files: File[]): VTransmitFile[] {\n\t\treturn files.map(this.addFile)\n\t}\n\taddFilesFromItems(items: DataTransferItem[]): void {\n\t\tfor (const item of items) {\n\t\t\t// Newer API on standards track\n\t\t\tif (item.getAsFile && item.kind == \"file\") {\n\t\t\t\tthis.addFile(item.getAsFile())\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t// Vendor prefixed experimental API\n\t\t\tif (item.webkitGetAsEntry) {\n\t\t\t\tconst entry: FileSystemEntry = item.webkitGetAsEntry()\n\n\t\t\t\tif (entry == null) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif (webkitIsFile(entry)) {\n\t\t\t\t\tentry.file(this.addFile as any, console.error)\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif (webkitIsDir(entry)) {\n\t\t\t\t\tthis.addFilesFromDirectory(entry, entry.name)\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\taddFilesFromDirectory(directory: WebKitDirectoryEntry, path): void {\n\t\tdirectory.createReader().readEntries(\n\t\t\t((entries: FileSystemEntry[]) => {\n\t\t\t\tfor (const entry of entries) {\n\t\t\t\t\tif (entry == null) {\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t\tif (webkitIsDir(entry)) {\n\t\t\t\t\t\tthis.addFilesFromDirectory(entry, `${path}/${entry.name}`)\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t\tif (webkitIsFile(entry)) {\n\t\t\t\t\t\tentry.file(\n\t\t\t\t\t\t\t((file: File) => {\n\t\t\t\t\t\t\t\tif (this.ignoreHiddenFiles && /^\\./.test(file.name)) {\n\t\t\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t;(file as any).fullPath = `${path}/${file.name}`\n\t\t\t\t\t\t\t\tthis.addFile(file)\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tconsole.error\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}),\n\t\t\tconsole.error\n\t\t)\n\t}\n\n\tmounted() {\n\t\tthis.$on(\"upload-progress\", this.updateTotalUploadProgress)\n\t\tthis.$on(\"removed-file\", this.updateTotalUploadProgress)\n\t\tthis.$on(\"canceled\", file => this.$emit(\"complete\", file))\n\t\tthis.$on(\"complete\", file => {\n\t\t\tif (this.addedFiles.length === 0 && this.uploadingFiles.length === 0 && this.queuedFiles.length === 0) {\n\t\t\t\tsetTimeout(() => this.$emit(\"queue-complete\", file), 0)\n\t\t\t}\n\t\t})\n\n\t\tthis.$emit(\"initialize\", this)\n\t}\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/vue-loader/lib/selector.js?type=script&index=0!./src/components/VueTransmit.vue","import VTransmitFile from \"../classes/VTransmitFile\"\n\nexport const assign = Object.assign\nexport const defineProperty = Object.defineProperty\n\nlet idCounter = 0\nexport function uniqueId(prefix: string): string {\n\tvar id = ++idCounter\n\treturn prefix + id\n}\n\nexport function copyOwnAndInheritedProps(obj: object): object {\n\tlet newData = {}\n\tfor (let prop in obj) {\n\t\tif (typeof obj[prop] !== \"function\") {\n\t\t\tnewData[prop] = obj[prop]\n\t\t}\n\t}\n\treturn newData\n}\n\nexport type Rounding = \"round\" | \"ceil\" | \"floor\" | \"trunc\"\n\nexport function round(number: number, decimals: number = 2, roundStyle: Rounding = \"round\") {\n\tconst roundingFactor = Math.pow(10, decimals)\n\treturn Math[roundStyle](number * roundingFactor) / roundingFactor\n}\n\nexport function fromBytesToKbit(bytes: number): number {\n\treturn bytes / 125\n}\n\nexport function fromBytesToMbit(bytes: number): number {\n\treturn bytes / 125000\n}\n\nexport function toKbps(bytes: number, seconds: number): number {\n\treturn fromBytesToKbit(bytes) / seconds\n}\n\nexport function toMbps(bytes: number, seconds: number): number {\n\treturn fromBytesToMbit(bytes) / seconds\n}\n\nexport const hbsRegex = /{{\\s*?([a-zA-Z]+)\\s*?}}/g\nexport function hbsReplacer(context: object = {}) {\n\treturn function hbsReplacerFn(match: string, capture: string) {\n\t\treturn context[capture] !== undefined ? context[capture] : match\n\t}\n}\n\nexport function objFactory() {\n\treturn {}\n}\n\nexport function scaleH(ratio: number, width: number): number {\n\treturn width / ratio\n}\n\nexport function scaleW(ratio: number, height: number): number {\n\treturn height * ratio\n}\n\nexport function scaleDims(ratio: number, width?: number, height?: number): number[] {\n\treturn typeof width === \"number\" ? [width, scaleH(ratio, width)] : [scaleW(ratio, height), height]\n}\n\nexport interface IDrawImageArgs {\n\tsx: number\n\tsy: number\n\tsWidth: number\n\tsHeight: number\n\tdx: number\n\tdy: number\n\tdWidth: number\n\tdHeight: number\n}\n\nexport interface IDimensions {\n\twidth: number\n\theight: number\n}\n\nexport function resizeImg(file: VTransmitFile, dims: IDimensions): IDrawImageArgs {\n\t// Extract the object's primitive values so we don't mutate the input\n\tconst sRatio = file.width / file.height\n\tconst dRatio = dims.width / dims.height\n\tconst imgCoords = {\n\t\tsx: 0,\n\t\tsy: 0,\n\t\tsWidth: file.width,\n\t\tsHeight: file.height,\n\t\tdx: 0,\n\t\tdy: 0,\n\t\tdWidth: dims.width,\n\t\tdHeight: dims.height,\n\t}\n\n\tlet w, h\n\tif (dRatio > sRatio) {\n\t\t;[w, h] = scaleDims(dRatio, file.width)\n\t} else {\n\t\t;[w, h] = scaleDims(dRatio, undefined, file.height)\n\t}\n\n\tif (w < file.width) {\n\t\timgCoords.sx = (file.width - w) / 2\n\t\timgCoords.sWidth = w\n\t}\n\tif (h < file.height) {\n\t\timgCoords.sy = (file.height - h) / 2\n\t\timgCoords.sHeight = h\n\t}\n\n\treturn imgCoords\n}\n\nexport function webkitIsFile(entry: WebKitFileEntry | WebKitDirectoryEntry): entry is WebKitFileEntry {\n\treturn entry.isFile\n}\n\nexport function webkitIsDir(entry: WebKitFileEntry | WebKitDirectoryEntry): entry is WebKitDirectoryEntry {\n\treturn entry.isDirectory\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/core/utils.ts","import { VueTransmit } from \"./src\"\n\nexport default {\n\tinstall(Vue, _options) {\n\t\tVue.component(\"VueTransmit\", VueTransmit)\n\t},\n\tname: \"vue-transmit\",\n}\n\n\n\n// WEBPACK FOOTER //\n// ./index.ts","import VueTransmit from \"./components/VueTransmit.vue\"\n\nexport { VueTransmit }\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.ts","function injectStyle (ssrContext) {\n require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-25b0f28c\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader!postcss-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./VueTransmit.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!vue-ts-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./VueTransmit.vue\"\nimport __vue_script__ from \"!!babel-loader!vue-ts-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./VueTransmit.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-25b0f28c\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./VueTransmit.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/VueTransmit.vue\n// module id = 5\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/extract-text-webpack-plugin/dist/loader.js?{\"omit\":1,\"remove\":true}!./node_modules/vue-style-loader!./node_modules/css-loader!./node_modules/vue-loader/lib/style-compiler?{\"vue\":true,\"id\":\"data-v-25b0f28c\",\"scoped\":false,\"hasInlineConfig\":false}!./node_modules/sass-loader/lib/loader.js!./node_modules/postcss-loader/lib?{\"sourceMap\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./src/components/VueTransmit.vue\n// module id = 6\n// module chunks = 0","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file.\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nmodule.exports = function normalizeComponent (\n rawScriptExports,\n compiledTemplate,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */\n) {\n var esModule\n var scriptExports = rawScriptExports = rawScriptExports || {}\n\n // ES6 modules interop\n var type = typeof rawScriptExports.default\n if (type === 'object' || type === 'function') {\n esModule = rawScriptExports\n scriptExports = rawScriptExports.default\n }\n\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (compiledTemplate) {\n options.render = compiledTemplate.render\n options.staticRenderFns = compiledTemplate.staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = injectStyles\n }\n\n if (hook) {\n var functional = options.functional\n var existing = functional\n ? options.render\n : options.beforeCreate\n\n if (!functional) {\n // inject component registration as beforeCreate hook\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n } else {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return existing(h, context)\n }\n }\n }\n\n return {\n esModule: esModule,\n exports: scriptExports,\n options: options\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/component-normalizer.js\n// module id = 7\n// module chunks = 0","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('vue'), require('vue-class-component'), require('reflect-metadata')) :\n\ttypeof define === 'function' && define.amd ? define(['exports', 'vue', 'vue-class-component', 'reflect-metadata'], factory) :\n\t(factory((global.VuePropertyDecorator = {}),global.Vue,global.VueClassComponent));\n}(this, (function (exports,vue,vueClassComponent) { 'use strict';\n\nvue = vue && vue.hasOwnProperty('default') ? vue['default'] : vue;\nvar vueClassComponent__default = 'default' in vueClassComponent ? vueClassComponent['default'] : vueClassComponent;\n\n/** vue-property-decorator verson 6.0.0 MIT LICENSE copyright 2017 kaorun343 */\n'use strict';\n/**\n * decorator of an inject\n * @param key key\n * @return PropertyDecorator\n */\nfunction Inject(key) {\n return vueClassComponent.createDecorator(function (componentOptions, k) {\n if (typeof componentOptions.inject === 'undefined') {\n componentOptions.inject = {};\n }\n if (!Array.isArray(componentOptions.inject)) {\n componentOptions.inject[k] = key || k;\n }\n });\n}\n/**\n * decorator of a provide\n * @param key key\n * @return PropertyDecorator | void\n */\nfunction Provide(key) {\n return vueClassComponent.createDecorator(function (componentOptions, k) {\n var provide = componentOptions.provide;\n if (typeof provide !== 'function' || !provide.managed) {\n var original_1 = componentOptions.provide;\n provide = componentOptions.provide = function () {\n var rv = Object.create((typeof original_1 === 'function' ? original_1.call(this) : original_1) || null);\n for (var i in provide.managed)\n rv[provide.managed[i]] = this[i];\n return rv;\n };\n provide.managed = {};\n }\n provide.managed[k] = key || k;\n });\n}\n/**\n * decorator of model\n * @param event event name\n * @return PropertyDecorator\n */\nfunction Model(event, options) {\n if (options === void 0) { options = {}; }\n return function (target, key) {\n if (!Array.isArray(options) && typeof options.type === 'undefined') {\n options.type = Reflect.getMetadata('design:type', target, key);\n }\n vueClassComponent.createDecorator(function (componentOptions, k) {\n (componentOptions.props || (componentOptions.props = {}))[k] = options;\n componentOptions.model = { prop: k, event: event || k };\n })(target, key);\n };\n}\n/**\n * decorator of a prop\n * @param options the options for the prop\n * @return PropertyDecorator | void\n */\nfunction Prop(options) {\n if (options === void 0) { options = {}; }\n return function (target, key) {\n if (!Array.isArray(options) && typeof options.type === 'undefined') {\n options.type = Reflect.getMetadata('design:type', target, key);\n }\n vueClassComponent.createDecorator(function (componentOptions, k) {\n (componentOptions.props || (componentOptions.props = {}))[k] = options;\n })(target, key);\n };\n}\n/**\n * decorator of a watch function\n * @param path the path or the expression to observe\n * @param WatchOption\n * @return MethodDecorator\n */\nfunction Watch(path, options) {\n if (options === void 0) { options = {}; }\n var _a = options.deep, deep = _a === void 0 ? false : _a, _b = options.immediate, immediate = _b === void 0 ? false : _b;\n return vueClassComponent.createDecorator(function (componentOptions, handler) {\n if (typeof componentOptions.watch !== 'object') {\n componentOptions.watch = Object.create(null);\n }\n componentOptions.watch[path] = { handler: handler, deep: deep, immediate: immediate };\n });\n}\n// Code copied from Vue/src/shared/util.js\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = function (str) { return str.replace(hyphenateRE, '-$1').toLowerCase(); };\n/**\n * decorator of an event-emitter function\n * @param event The name of the event\n * @return MethodDecorator\n */\nfunction Emit(event) {\n return function (target, key, descriptor) {\n key = hyphenate(key);\n var original = descriptor.value;\n descriptor.value = function emitter() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (original.apply(this, args) !== false)\n this.$emit.apply(this, [event || key].concat(args));\n };\n };\n}\n\nexports.Component = vueClassComponent__default;\nexports.Vue = vue;\nexports.Inject = Inject;\nexports.Provide = Provide;\nexports.Model = Model;\nexports.Prop = Prop;\nexports.Watch = Watch;\nexports.Emit = Emit;\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-property-decorator/lib/vue-property-decorator.umd.js\n// module id = 8\n// module chunks = 0","/**\n * vue-class-component v6.1.2\n * (c) 2015-2017 Evan You\n * @license MIT\n */\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar Vue = _interopDefault(require('vue'));\n\nvar hasProto = { __proto__: [] } instanceof Array;\nfunction createDecorator(factory) {\n return function (target, key, index) {\n var Ctor = typeof target === 'function'\n ? target\n : target.constructor;\n if (!Ctor.__decorators__) {\n Ctor.__decorators__ = [];\n }\n if (typeof index !== 'number') {\n index = undefined;\n }\n Ctor.__decorators__.push(function (options) { return factory(options, key, index); });\n };\n}\nfunction isPrimitive(value) {\n var type = typeof value;\n return value == null || (type !== \"object\" && type !== \"function\");\n}\nfunction warn(message) {\n if (typeof console !== 'undefined') {\n console.warn('[vue-class-component] ' + message);\n }\n}\n\nfunction collectDataFromConstructor(vm, Component) {\n var originalInit = Component.prototype._init;\n Component.prototype._init = function () {\n var _this = this;\n var keys = Object.getOwnPropertyNames(vm);\n if (vm.$options.props) {\n for (var key in vm.$options.props) {\n if (!vm.hasOwnProperty(key)) {\n keys.push(key);\n }\n }\n }\n keys.forEach(function (key) {\n if (key.charAt(0) !== '_') {\n Object.defineProperty(_this, key, {\n get: function () { return vm[key]; },\n set: function (value) { return vm[key] = value; },\n configurable: true\n });\n }\n });\n };\n var data = new Component();\n Component.prototype._init = originalInit;\n var plainData = {};\n Object.keys(data).forEach(function (key) {\n if (data[key] !== undefined) {\n plainData[key] = data[key];\n }\n });\n if (process.env.NODE_ENV !== 'production') {\n if (!(Component.prototype instanceof Vue) && Object.keys(plainData).length > 0) {\n warn('Component class must inherit Vue or its descendant class ' +\n 'when class property is used.');\n }\n }\n return plainData;\n}\n\nvar $internalHooks = [\n 'data',\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeDestroy',\n 'destroyed',\n 'beforeUpdate',\n 'updated',\n 'activated',\n 'deactivated',\n 'render',\n 'errorCaptured'\n];\nfunction componentFactory(Component, options) {\n if (options === void 0) { options = {}; }\n options.name = options.name || Component._componentTag || Component.name;\n var proto = Component.prototype;\n Object.getOwnPropertyNames(proto).forEach(function (key) {\n if (key === 'constructor') {\n return;\n }\n if ($internalHooks.indexOf(key) > -1) {\n options[key] = proto[key];\n return;\n }\n var descriptor = Object.getOwnPropertyDescriptor(proto, key);\n if (typeof descriptor.value === 'function') {\n (options.methods || (options.methods = {}))[key] = descriptor.value;\n }\n else if (descriptor.get || descriptor.set) {\n (options.computed || (options.computed = {}))[key] = {\n get: descriptor.get,\n set: descriptor.set\n };\n }\n });\n (options.mixins || (options.mixins = [])).push({\n data: function () {\n return collectDataFromConstructor(this, Component);\n }\n });\n var decorators = Component.__decorators__;\n if (decorators) {\n decorators.forEach(function (fn) { return fn(options); });\n delete Component.__decorators__;\n }\n var superProto = Object.getPrototypeOf(Component.prototype);\n var Super = superProto instanceof Vue\n ? superProto.constructor\n : Vue;\n var Extended = Super.extend(options);\n forwardStaticMembers(Extended, Component, Super);\n return Extended;\n}\nvar reservedPropertyNames = [\n 'cid',\n 'super',\n 'options',\n 'superOptions',\n 'extendOptions',\n 'sealedOptions',\n 'component',\n 'directive',\n 'filter'\n];\nfunction forwardStaticMembers(Extended, Original, Super) {\n Object.getOwnPropertyNames(Original).forEach(function (key) {\n if (key === 'prototype') {\n return;\n }\n var extendedDescriptor = Object.getOwnPropertyDescriptor(Extended, key);\n if (extendedDescriptor && !extendedDescriptor.configurable) {\n return;\n }\n var descriptor = Object.getOwnPropertyDescriptor(Original, key);\n if (!hasProto) {\n if (key === 'cid') {\n return;\n }\n var superDescriptor = Object.getOwnPropertyDescriptor(Super, key);\n if (!isPrimitive(descriptor.value)\n && superDescriptor\n && superDescriptor.value === descriptor.value) {\n return;\n }\n }\n if (process.env.NODE_ENV !== 'production'\n && reservedPropertyNames.indexOf(key) >= 0) {\n warn(\"Static property name '\" + key + \"' declared on class '\" + Original.name + \"' \" +\n 'conflicts with reserved property name of Vue internal. ' +\n 'It may cause unexpected behavior of the component. Consider renaming the property.');\n }\n Object.defineProperty(Extended, key, descriptor);\n });\n}\n\nfunction Component(options) {\n if (typeof options === 'function') {\n return componentFactory(options);\n }\n return function (Component) {\n return componentFactory(Component, options);\n };\n}\n(function (Component) {\n function registerHooks(keys) {\n $internalHooks.push.apply($internalHooks, keys);\n }\n Component.registerHooks = registerHooks;\n})(Component || (Component = {}));\nvar Component$1 = Component;\n\nexports['default'] = Component$1;\nexports.createDecorator = createDecorator;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-class-component/dist/vue-class-component.common.js\n// module id = 9\n// module chunks = 0","/*! *****************************************************************************\r\nCopyright (C) Microsoft. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\nvar Reflect;\r\n(function (Reflect) {\r\n \"use strict\";\r\n var hasOwn = Object.prototype.hasOwnProperty;\r\n // feature test for Symbol support\r\n var supportsSymbol = typeof Symbol === \"function\";\r\n var toPrimitiveSymbol = supportsSymbol && typeof Symbol.toPrimitive !== \"undefined\" ? Symbol.toPrimitive : \"@@toPrimitive\";\r\n var iteratorSymbol = supportsSymbol && typeof Symbol.iterator !== \"undefined\" ? Symbol.iterator : \"@@iterator\";\r\n var HashMap;\r\n (function (HashMap) {\r\n var supportsCreate = typeof Object.create === \"function\"; // feature test for Object.create support\r\n var supportsProto = { __proto__: [] } instanceof Array; // feature test for __proto__ support\r\n var downLevel = !supportsCreate && !supportsProto;\r\n // create an object in dictionary mode (a.k.a. \"slow\" mode in v8)\r\n HashMap.create = supportsCreate\r\n ? function () { return MakeDictionary(Object.create(null)); }\r\n : supportsProto\r\n ? function () { return MakeDictionary({ __proto__: null }); }\r\n : function () { return MakeDictionary({}); };\r\n HashMap.has = downLevel\r\n ? function (map, key) { return hasOwn.call(map, key); }\r\n : function (map, key) { return key in map; };\r\n HashMap.get = downLevel\r\n ? function (map, key) { return hasOwn.call(map, key) ? map[key] : undefined; }\r\n : function (map, key) { return map[key]; };\r\n })(HashMap || (HashMap = {}));\r\n // Load global or shim versions of Map, Set, and WeakMap\r\n var functionPrototype = Object.getPrototypeOf(Function);\r\n var usePolyfill = typeof process === \"object\" && process.env && process.env[\"REFLECT_METADATA_USE_MAP_POLYFILL\"] === \"true\";\r\n var _Map = !usePolyfill && typeof Map === \"function\" && typeof Map.prototype.entries === \"function\" ? Map : CreateMapPolyfill();\r\n var _Set = !usePolyfill && typeof Set === \"function\" && typeof Set.prototype.entries === \"function\" ? Set : CreateSetPolyfill();\r\n var _WeakMap = !usePolyfill && typeof WeakMap === \"function\" ? WeakMap : CreateWeakMapPolyfill();\r\n // [[Metadata]] internal slot\r\n // https://rbuckton.github.io/reflect-metadata/#ordinary-object-internal-methods-and-internal-slots\r\n var Metadata = new _WeakMap();\r\n /**\r\n * Applies a set of decorators to a property of a target object.\r\n * @param decorators An array of decorators.\r\n * @param target The target object.\r\n * @param propertyKey (Optional) The property key to decorate.\r\n * @param attributes (Optional) The property descriptor for the target key.\r\n * @remarks Decorators are applied in reverse order.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * Example = Reflect.decorate(decoratorsArray, Example);\r\n *\r\n * // property (on constructor)\r\n * Reflect.decorate(decoratorsArray, Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * Reflect.decorate(decoratorsArray, Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * Object.defineProperty(Example, \"staticMethod\",\r\n * Reflect.decorate(decoratorsArray, Example, \"staticMethod\",\r\n * Object.getOwnPropertyDescriptor(Example, \"staticMethod\")));\r\n *\r\n * // method (on prototype)\r\n * Object.defineProperty(Example.prototype, \"method\",\r\n * Reflect.decorate(decoratorsArray, Example.prototype, \"method\",\r\n * Object.getOwnPropertyDescriptor(Example.prototype, \"method\")));\r\n *\r\n */\r\n function decorate(decorators, target, propertyKey, attributes) {\r\n if (!IsUndefined(propertyKey)) {\r\n if (!IsArray(decorators))\r\n throw new TypeError();\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsObject(attributes) && !IsUndefined(attributes) && !IsNull(attributes))\r\n throw new TypeError();\r\n if (IsNull(attributes))\r\n attributes = undefined;\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return DecorateProperty(decorators, target, propertyKey, attributes);\r\n }\r\n else {\r\n if (!IsArray(decorators))\r\n throw new TypeError();\r\n if (!IsConstructor(target))\r\n throw new TypeError();\r\n return DecorateConstructor(decorators, target);\r\n }\r\n }\r\n Reflect.decorate = decorate;\r\n // 4.1.2 Reflect.metadata(metadataKey, metadataValue)\r\n // https://rbuckton.github.io/reflect-metadata/#reflect.metadata\r\n /**\r\n * A default metadata decorator factory that can be used on a class, class member, or parameter.\r\n * @param metadataKey The key for the metadata entry.\r\n * @param metadataValue The value for the metadata entry.\r\n * @returns A decorator function.\r\n * @remarks\r\n * If `metadataKey` is already defined for the target and target key, the\r\n * metadataValue for that key will be overwritten.\r\n * @example\r\n *\r\n * // constructor\r\n * @Reflect.metadata(key, value)\r\n * class Example {\r\n * }\r\n *\r\n * // property (on constructor, TypeScript only)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * static staticProperty;\r\n * }\r\n *\r\n * // property (on prototype, TypeScript only)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * property;\r\n * }\r\n *\r\n * // method (on constructor)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * static staticMethod() { }\r\n * }\r\n *\r\n * // method (on prototype)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * method() { }\r\n * }\r\n *\r\n */\r\n function metadata(metadataKey, metadataValue) {\r\n function decorator(target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey) && !IsPropertyKey(propertyKey))\r\n throw new TypeError();\r\n OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey);\r\n }\r\n return decorator;\r\n }\r\n Reflect.metadata = metadata;\r\n /**\r\n * Define a unique metadata entry on the target.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param metadataValue A value that contains attached metadata.\r\n * @param target The target object on which to define metadata.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example);\r\n *\r\n * // property (on constructor)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example.prototype, \"method\");\r\n *\r\n * // decorator factory as metadata-producing annotation.\r\n * function MyAnnotation(options): Decorator {\r\n * return (target, key?) => Reflect.defineMetadata(\"custom:annotation\", options, target, key);\r\n * }\r\n *\r\n */\r\n function defineMetadata(metadataKey, metadataValue, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey);\r\n }\r\n Reflect.defineMetadata = defineMetadata;\r\n /**\r\n * Gets a value indicating whether the target object or its prototype chain has the provided metadata key defined.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns `true` if the metadata key was defined on the target object or its prototype chain; otherwise, `false`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function hasMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryHasMetadata(metadataKey, target, propertyKey);\r\n }\r\n Reflect.hasMetadata = hasMetadata;\r\n /**\r\n * Gets a value indicating whether the target object has the provided metadata key defined.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns `true` if the metadata key was defined on the target object; otherwise, `false`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function hasOwnMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryHasOwnMetadata(metadataKey, target, propertyKey);\r\n }\r\n Reflect.hasOwnMetadata = hasOwnMetadata;\r\n /**\r\n * Gets the metadata value for the provided metadata key on the target object or its prototype chain.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns The metadata value for the metadata key if found; otherwise, `undefined`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function getMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryGetMetadata(metadataKey, target, propertyKey);\r\n }\r\n Reflect.getMetadata = getMetadata;\r\n /**\r\n * Gets the metadata value for the provided metadata key on the target object.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns The metadata value for the metadata key if found; otherwise, `undefined`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function getOwnMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryGetOwnMetadata(metadataKey, target, propertyKey);\r\n }\r\n Reflect.getOwnMetadata = getOwnMetadata;\r\n /**\r\n * Gets the metadata keys defined on the target object or its prototype chain.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns An array of unique metadata keys.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getMetadataKeys(Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getMetadataKeys(Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getMetadataKeys(Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getMetadataKeys(Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getMetadataKeys(Example.prototype, \"method\");\r\n *\r\n */\r\n function getMetadataKeys(target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryMetadataKeys(target, propertyKey);\r\n }\r\n Reflect.getMetadataKeys = getMetadataKeys;\r\n /**\r\n * Gets the unique metadata keys defined on the target object.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns An array of unique metadata keys.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getOwnMetadataKeys(Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getOwnMetadataKeys(Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getOwnMetadataKeys(Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getOwnMetadataKeys(Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getOwnMetadataKeys(Example.prototype, \"method\");\r\n *\r\n */\r\n function getOwnMetadataKeys(target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryOwnMetadataKeys(target, propertyKey);\r\n }\r\n Reflect.getOwnMetadataKeys = getOwnMetadataKeys;\r\n /**\r\n * Deletes the metadata entry from the target object with the provided key.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns `true` if the metadata entry was found and deleted; otherwise, false.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function deleteMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n var metadataMap = GetOrCreateMetadataMap(target, propertyKey, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return false;\r\n if (!metadataMap.delete(metadataKey))\r\n return false;\r\n if (metadataMap.size > 0)\r\n return true;\r\n var targetMetadata = Metadata.get(target);\r\n targetMetadata.delete(propertyKey);\r\n if (targetMetadata.size > 0)\r\n return true;\r\n Metadata.delete(target);\r\n return true;\r\n }\r\n Reflect.deleteMetadata = deleteMetadata;\r\n function DecorateConstructor(decorators, target) {\r\n for (var i = decorators.length - 1; i >= 0; --i) {\r\n var decorator = decorators[i];\r\n var decorated = decorator(target);\r\n if (!IsUndefined(decorated) && !IsNull(decorated)) {\r\n if (!IsConstructor(decorated))\r\n throw new TypeError();\r\n target = decorated;\r\n }\r\n }\r\n return target;\r\n }\r\n function DecorateProperty(decorators, target, propertyKey, descriptor) {\r\n for (var i = decorators.length - 1; i >= 0; --i) {\r\n var decorator = decorators[i];\r\n var decorated = decorator(target, propertyKey, descriptor);\r\n if (!IsUndefined(decorated) && !IsNull(decorated)) {\r\n if (!IsObject(decorated))\r\n throw new TypeError();\r\n descriptor = decorated;\r\n }\r\n }\r\n return descriptor;\r\n }\r\n function GetOrCreateMetadataMap(O, P, Create) {\r\n var targetMetadata = Metadata.get(O);\r\n if (IsUndefined(targetMetadata)) {\r\n if (!Create)\r\n return undefined;\r\n targetMetadata = new _Map();\r\n Metadata.set(O, targetMetadata);\r\n }\r\n var metadataMap = targetMetadata.get(P);\r\n if (IsUndefined(metadataMap)) {\r\n if (!Create)\r\n return undefined;\r\n metadataMap = new _Map();\r\n targetMetadata.set(P, metadataMap);\r\n }\r\n return metadataMap;\r\n }\r\n // 3.1.1.1 OrdinaryHasMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinaryhasmetadata\r\n function OrdinaryHasMetadata(MetadataKey, O, P) {\r\n var hasOwn = OrdinaryHasOwnMetadata(MetadataKey, O, P);\r\n if (hasOwn)\r\n return true;\r\n var parent = OrdinaryGetPrototypeOf(O);\r\n if (!IsNull(parent))\r\n return OrdinaryHasMetadata(MetadataKey, parent, P);\r\n return false;\r\n }\r\n // 3.1.2.1 OrdinaryHasOwnMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinaryhasownmetadata\r\n function OrdinaryHasOwnMetadata(MetadataKey, O, P) {\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return false;\r\n return ToBoolean(metadataMap.has(MetadataKey));\r\n }\r\n // 3.1.3.1 OrdinaryGetMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarygetmetadata\r\n function OrdinaryGetMetadata(MetadataKey, O, P) {\r\n var hasOwn = OrdinaryHasOwnMetadata(MetadataKey, O, P);\r\n if (hasOwn)\r\n return OrdinaryGetOwnMetadata(MetadataKey, O, P);\r\n var parent = OrdinaryGetPrototypeOf(O);\r\n if (!IsNull(parent))\r\n return OrdinaryGetMetadata(MetadataKey, parent, P);\r\n return undefined;\r\n }\r\n // 3.1.4.1 OrdinaryGetOwnMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarygetownmetadata\r\n function OrdinaryGetOwnMetadata(MetadataKey, O, P) {\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return undefined;\r\n return metadataMap.get(MetadataKey);\r\n }\r\n // 3.1.5.1 OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarydefineownmetadata\r\n function OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P) {\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ true);\r\n metadataMap.set(MetadataKey, MetadataValue);\r\n }\r\n // 3.1.6.1 OrdinaryMetadataKeys(O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarymetadatakeys\r\n function OrdinaryMetadataKeys(O, P) {\r\n var ownKeys = OrdinaryOwnMetadataKeys(O, P);\r\n var parent = OrdinaryGetPrototypeOf(O);\r\n if (parent === null)\r\n return ownKeys;\r\n var parentKeys = OrdinaryMetadataKeys(parent, P);\r\n if (parentKeys.length <= 0)\r\n return ownKeys;\r\n if (ownKeys.length <= 0)\r\n return parentKeys;\r\n var set = new _Set();\r\n var keys = [];\r\n for (var _i = 0, ownKeys_1 = ownKeys; _i < ownKeys_1.length; _i++) {\r\n var key = ownKeys_1[_i];\r\n var hasKey = set.has(key);\r\n if (!hasKey) {\r\n set.add(key);\r\n keys.push(key);\r\n }\r\n }\r\n for (var _a = 0, parentKeys_1 = parentKeys; _a < parentKeys_1.length; _a++) {\r\n var key = parentKeys_1[_a];\r\n var hasKey = set.has(key);\r\n if (!hasKey) {\r\n set.add(key);\r\n keys.push(key);\r\n }\r\n }\r\n return keys;\r\n }\r\n // 3.1.7.1 OrdinaryOwnMetadataKeys(O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinaryownmetadatakeys\r\n function OrdinaryOwnMetadataKeys(O, P) {\r\n var keys = [];\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return keys;\r\n var keysObj = metadataMap.keys();\r\n var iterator = GetIterator(keysObj);\r\n var k = 0;\r\n while (true) {\r\n var next = IteratorStep(iterator);\r\n if (!next) {\r\n keys.length = k;\r\n return keys;\r\n }\r\n var nextValue = IteratorValue(next);\r\n try {\r\n keys[k] = nextValue;\r\n }\r\n catch (e) {\r\n try {\r\n IteratorClose(iterator);\r\n }\r\n finally {\r\n throw e;\r\n }\r\n }\r\n k++;\r\n }\r\n }\r\n // 6 ECMAScript Data Typ0es and Values\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-data-types-and-values\r\n function Type(x) {\r\n if (x === null)\r\n return 1 /* Null */;\r\n switch (typeof x) {\r\n case \"undefined\": return 0 /* Undefined */;\r\n case \"boolean\": return 2 /* Boolean */;\r\n case \"string\": return 3 /* String */;\r\n case \"symbol\": return 4 /* Symbol */;\r\n case \"number\": return 5 /* Number */;\r\n case \"object\": return x === null ? 1 /* Null */ : 6 /* Object */;\r\n default: return 6 /* Object */;\r\n }\r\n }\r\n // 6.1.1 The Undefined Type\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-undefined-type\r\n function IsUndefined(x) {\r\n return x === undefined;\r\n }\r\n // 6.1.2 The Null Type\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-null-type\r\n function IsNull(x) {\r\n return x === null;\r\n }\r\n // 6.1.5 The Symbol Type\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-symbol-type\r\n function IsSymbol(x) {\r\n return typeof x === \"symbol\";\r\n }\r\n // 6.1.7 The Object Type\r\n // https://tc39.github.io/ecma262/#sec-object-type\r\n function IsObject(x) {\r\n return typeof x === \"object\" ? x !== null : typeof x === \"function\";\r\n }\r\n // 7.1 Type Conversion\r\n // https://tc39.github.io/ecma262/#sec-type-conversion\r\n // 7.1.1 ToPrimitive(input [, PreferredType])\r\n // https://tc39.github.io/ecma262/#sec-toprimitive\r\n function ToPrimitive(input, PreferredType) {\r\n switch (Type(input)) {\r\n case 0 /* Undefined */: return input;\r\n case 1 /* Null */: return input;\r\n case 2 /* Boolean */: return input;\r\n case 3 /* String */: return input;\r\n case 4 /* Symbol */: return input;\r\n case 5 /* Number */: return input;\r\n }\r\n var hint = PreferredType === 3 /* String */ ? \"string\" : PreferredType === 5 /* Number */ ? \"number\" : \"default\";\r\n var exoticToPrim = GetMethod(input, toPrimitiveSymbol);\r\n if (exoticToPrim !== undefined) {\r\n var result = exoticToPrim.call(input, hint);\r\n if (IsObject(result))\r\n throw new TypeError();\r\n return result;\r\n }\r\n return OrdinaryToPrimitive(input, hint === \"default\" ? \"number\" : hint);\r\n }\r\n // 7.1.1.1 OrdinaryToPrimitive(O, hint)\r\n // https://tc39.github.io/ecma262/#sec-ordinarytoprimitive\r\n function OrdinaryToPrimitive(O, hint) {\r\n if (hint === \"string\") {\r\n var toString_1 = O.toString;\r\n if (IsCallable(toString_1)) {\r\n var result = toString_1.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n var valueOf = O.valueOf;\r\n if (IsCallable(valueOf)) {\r\n var result = valueOf.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n }\r\n else {\r\n var valueOf = O.valueOf;\r\n if (IsCallable(valueOf)) {\r\n var result = valueOf.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n var toString_2 = O.toString;\r\n if (IsCallable(toString_2)) {\r\n var result = toString_2.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n }\r\n throw new TypeError();\r\n }\r\n // 7.1.2 ToBoolean(argument)\r\n // https://tc39.github.io/ecma262/2016/#sec-toboolean\r\n function ToBoolean(argument) {\r\n return !!argument;\r\n }\r\n // 7.1.12 ToString(argument)\r\n // https://tc39.github.io/ecma262/#sec-tostring\r\n function ToString(argument) {\r\n return \"\" + argument;\r\n }\r\n // 7.1.14 ToPropertyKey(argument)\r\n // https://tc39.github.io/ecma262/#sec-topropertykey\r\n function ToPropertyKey(argument) {\r\n var key = ToPrimitive(argument, 3 /* String */);\r\n if (IsSymbol(key))\r\n return key;\r\n return ToString(key);\r\n }\r\n // 7.2 Testing and Comparison Operations\r\n // https://tc39.github.io/ecma262/#sec-testing-and-comparison-operations\r\n // 7.2.2 IsArray(argument)\r\n // https://tc39.github.io/ecma262/#sec-isarray\r\n function IsArray(argument) {\r\n return Array.isArray\r\n ? Array.isArray(argument)\r\n : argument instanceof Object\r\n ? argument instanceof Array\r\n : Object.prototype.toString.call(argument) === \"[object Array]\";\r\n }\r\n // 7.2.3 IsCallable(argument)\r\n // https://tc39.github.io/ecma262/#sec-iscallable\r\n function IsCallable(argument) {\r\n // NOTE: This is an approximation as we cannot check for [[Call]] internal method.\r\n return typeof argument === \"function\";\r\n }\r\n // 7.2.4 IsConstructor(argument)\r\n // https://tc39.github.io/ecma262/#sec-isconstructor\r\n function IsConstructor(argument) {\r\n // NOTE: This is an approximation as we cannot check for [[Construct]] internal method.\r\n return typeof argument === \"function\";\r\n }\r\n // 7.2.7 IsPropertyKey(argument)\r\n // https://tc39.github.io/ecma262/#sec-ispropertykey\r\n function IsPropertyKey(argument) {\r\n switch (Type(argument)) {\r\n case 3 /* String */: return true;\r\n case 4 /* Symbol */: return true;\r\n default: return false;\r\n }\r\n }\r\n // 7.3 Operations on Objects\r\n // https://tc39.github.io/ecma262/#sec-operations-on-objects\r\n // 7.3.9 GetMethod(V, P)\r\n // https://tc39.github.io/ecma262/#sec-getmethod\r\n function GetMethod(V, P) {\r\n var func = V[P];\r\n if (func === undefined || func === null)\r\n return undefined;\r\n if (!IsCallable(func))\r\n throw new TypeError();\r\n return func;\r\n }\r\n // 7.4 Operations on Iterator Objects\r\n // https://tc39.github.io/ecma262/#sec-operations-on-iterator-objects\r\n function GetIterator(obj) {\r\n var method = GetMethod(obj, iteratorSymbol);\r\n if (!IsCallable(method))\r\n throw new TypeError(); // from Call\r\n var iterator = method.call(obj);\r\n if (!IsObject(iterator))\r\n throw new TypeError();\r\n return iterator;\r\n }\r\n // 7.4.4 IteratorValue(iterResult)\r\n // https://tc39.github.io/ecma262/2016/#sec-iteratorvalue\r\n function IteratorValue(iterResult) {\r\n return iterResult.value;\r\n }\r\n // 7.4.5 IteratorStep(iterator)\r\n // https://tc39.github.io/ecma262/#sec-iteratorstep\r\n function IteratorStep(iterator) {\r\n var result = iterator.next();\r\n return result.done ? false : result;\r\n }\r\n // 7.4.6 IteratorClose(iterator, completion)\r\n // https://tc39.github.io/ecma262/#sec-iteratorclose\r\n function IteratorClose(iterator) {\r\n var f = iterator[\"return\"];\r\n if (f)\r\n f.call(iterator);\r\n }\r\n // 9.1 Ordinary Object Internal Methods and Internal Slots\r\n // https://tc39.github.io/ecma262/#sec-ordinary-object-internal-methods-and-internal-slots\r\n // 9.1.1.1 OrdinaryGetPrototypeOf(O)\r\n // https://tc39.github.io/ecma262/#sec-ordinarygetprototypeof\r\n function OrdinaryGetPrototypeOf(O) {\r\n var proto = Object.getPrototypeOf(O);\r\n if (typeof O !== \"function\" || O === functionPrototype)\r\n return proto;\r\n // TypeScript doesn't set __proto__ in ES5, as it's non-standard.\r\n // Try to determine the superclass constructor. Compatible implementations\r\n // must either set __proto__ on a subclass constructor to the superclass constructor,\r\n // or ensure each class has a valid `constructor` property on its prototype that\r\n // points back to the constructor.\r\n // If this is not the same as Function.[[Prototype]], then this is definately inherited.\r\n // This is the case when in ES6 or when using __proto__ in a compatible browser.\r\n if (proto !== functionPrototype)\r\n return proto;\r\n // If the super prototype is Object.prototype, null, or undefined, then we cannot determine the heritage.\r\n var prototype = O.prototype;\r\n var prototypeProto = prototype && Object.getPrototypeOf(prototype);\r\n if (prototypeProto == null || prototypeProto === Object.prototype)\r\n return proto;\r\n // If the constructor was not a function, then we cannot determine the heritage.\r\n var constructor = prototypeProto.constructor;\r\n if (typeof constructor !== \"function\")\r\n return proto;\r\n // If we have some kind of self-reference, then we cannot determine the heritage.\r\n if (constructor === O)\r\n return proto;\r\n // we have a pretty good guess at the heritage.\r\n return constructor;\r\n }\r\n // naive Map shim\r\n function CreateMapPolyfill() {\r\n var cacheSentinel = {};\r\n var arraySentinel = [];\r\n var MapIterator = (function () {\r\n function MapIterator(keys, values, selector) {\r\n this._index = 0;\r\n this._keys = keys;\r\n this._values = values;\r\n this._selector = selector;\r\n }\r\n MapIterator.prototype[\"@@iterator\"] = function () { return this; };\r\n MapIterator.prototype[iteratorSymbol] = function () { return this; };\r\n MapIterator.prototype.next = function () {\r\n var index = this._index;\r\n if (index >= 0 && index < this._keys.length) {\r\n var result = this._selector(this._keys[index], this._values[index]);\r\n if (index + 1 >= this._keys.length) {\r\n this._index = -1;\r\n this._keys = arraySentinel;\r\n this._values = arraySentinel;\r\n }\r\n else {\r\n this._index++;\r\n }\r\n return { value: result, done: false };\r\n }\r\n return { value: undefined, done: true };\r\n };\r\n MapIterator.prototype.throw = function (error) {\r\n if (this._index >= 0) {\r\n this._index = -1;\r\n this._keys = arraySentinel;\r\n this._values = arraySentinel;\r\n }\r\n throw error;\r\n };\r\n MapIterator.prototype.return = function (value) {\r\n if (this._index >= 0) {\r\n this._index = -1;\r\n this._keys = arraySentinel;\r\n this._values = arraySentinel;\r\n }\r\n return { value: value, done: true };\r\n };\r\n return MapIterator;\r\n }());\r\n return (function () {\r\n function Map() {\r\n this._keys = [];\r\n this._values = [];\r\n this._cacheKey = cacheSentinel;\r\n this._cacheIndex = -2;\r\n }\r\n Object.defineProperty(Map.prototype, \"size\", {\r\n get: function () { return this._keys.length; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Map.prototype.has = function (key) { return this._find(key, /*insert*/ false) >= 0; };\r\n Map.prototype.get = function (key) {\r\n var index = this._find(key, /*insert*/ false);\r\n return index >= 0 ? this._values[index] : undefined;\r\n };\r\n Map.prototype.set = function (key, value) {\r\n var index = this._find(key, /*insert*/ true);\r\n this._values[index] = value;\r\n return this;\r\n };\r\n Map.prototype.delete = function (key) {\r\n var index = this._find(key, /*insert*/ false);\r\n if (index >= 0) {\r\n var size = this._keys.length;\r\n for (var i = index + 1; i < size; i++) {\r\n this._keys[i - 1] = this._keys[i];\r\n this._values[i - 1] = this._values[i];\r\n }\r\n this._keys.length--;\r\n this._values.length--;\r\n if (key === this._cacheKey) {\r\n this._cacheKey = cacheSentinel;\r\n this._cacheIndex = -2;\r\n }\r\n return true;\r\n }\r\n return false;\r\n };\r\n Map.prototype.clear = function () {\r\n this._keys.length = 0;\r\n this._values.length = 0;\r\n this._cacheKey = cacheSentinel;\r\n this._cacheIndex = -2;\r\n };\r\n Map.prototype.keys = function () { return new MapIterator(this._keys, this._values, getKey); };\r\n Map.prototype.values = function () { return new MapIterator(this._keys, this._values, getValue); };\r\n Map.prototype.entries = function () { return new MapIterator(this._keys, this._values, getEntry); };\r\n Map.prototype[\"@@iterator\"] = function () { return this.entries(); };\r\n Map.prototype[iteratorSymbol] = function () { return this.entries(); };\r\n Map.prototype._find = function (key, insert) {\r\n if (this._cacheKey !== key) {\r\n this._cacheIndex = this._keys.indexOf(this._cacheKey = key);\r\n }\r\n if (this._cacheIndex < 0 && insert) {\r\n this._cacheIndex = this._keys.length;\r\n this._keys.push(key);\r\n this._values.push(undefined);\r\n }\r\n return this._cacheIndex;\r\n };\r\n return Map;\r\n }());\r\n function getKey(key, _) {\r\n return key;\r\n }\r\n function getValue(_, value) {\r\n return value;\r\n }\r\n function getEntry(key, value) {\r\n return [key, value];\r\n }\r\n }\r\n // naive Set shim\r\n function CreateSetPolyfill() {\r\n return (function () {\r\n function Set() {\r\n this._map = new _Map();\r\n }\r\n Object.defineProperty(Set.prototype, \"size\", {\r\n get: function () { return this._map.size; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Set.prototype.has = function (value) { return this._map.has(value); };\r\n Set.prototype.add = function (value) { return this._map.set(value, value), this; };\r\n Set.prototype.delete = function (value) { return this._map.delete(value); };\r\n Set.prototype.clear = function () { this._map.clear(); };\r\n Set.prototype.keys = function () { return this._map.keys(); };\r\n Set.prototype.values = function () { return this._map.values(); };\r\n Set.prototype.entries = function () { return this._map.entries(); };\r\n Set.prototype[\"@@iterator\"] = function () { return this.keys(); };\r\n Set.prototype[iteratorSymbol] = function () { return this.keys(); };\r\n return Set;\r\n }());\r\n }\r\n // naive WeakMap shim\r\n function CreateWeakMapPolyfill() {\r\n var UUID_SIZE = 16;\r\n var keys = HashMap.create();\r\n var rootKey = CreateUniqueKey();\r\n return (function () {\r\n function WeakMap() {\r\n this._key = CreateUniqueKey();\r\n }\r\n WeakMap.prototype.has = function (target) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ false);\r\n return table !== undefined ? HashMap.has(table, this._key) : false;\r\n };\r\n WeakMap.prototype.get = function (target) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ false);\r\n return table !== undefined ? HashMap.get(table, this._key) : undefined;\r\n };\r\n WeakMap.prototype.set = function (target, value) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ true);\r\n table[this._key] = value;\r\n return this;\r\n };\r\n WeakMap.prototype.delete = function (target) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ false);\r\n return table !== undefined ? delete table[this._key] : false;\r\n };\r\n WeakMap.prototype.clear = function () {\r\n // NOTE: not a real clear, just makes the previous data unreachable\r\n this._key = CreateUniqueKey();\r\n };\r\n return WeakMap;\r\n }());\r\n function CreateUniqueKey() {\r\n var key;\r\n do\r\n key = \"@@WeakMap@@\" + CreateUUID();\r\n while (HashMap.has(keys, key));\r\n keys[key] = true;\r\n return key;\r\n }\r\n function GetOrCreateWeakMapTable(target, create) {\r\n if (!hasOwn.call(target, rootKey)) {\r\n if (!create)\r\n return undefined;\r\n Object.defineProperty(target, rootKey, { value: HashMap.create() });\r\n }\r\n return target[rootKey];\r\n }\r\n function FillRandomBytes(buffer, size) {\r\n for (var i = 0; i < size; ++i)\r\n buffer[i] = Math.random() * 0xff | 0;\r\n return buffer;\r\n }\r\n function GenRandomBytes(size) {\r\n if (typeof Uint8Array === \"function\") {\r\n if (typeof crypto !== \"undefined\")\r\n return crypto.getRandomValues(new Uint8Array(size));\r\n if (typeof msCrypto !== \"undefined\")\r\n return msCrypto.getRandomValues(new Uint8Array(size));\r\n return FillRandomBytes(new Uint8Array(size), size);\r\n }\r\n return FillRandomBytes(new Array(size), size);\r\n }\r\n function CreateUUID() {\r\n var data = GenRandomBytes(UUID_SIZE);\r\n // mark as random - RFC 4122 ยง 4.4\r\n data[6] = data[6] & 0x4f | 0x40;\r\n data[8] = data[8] & 0xbf | 0x80;\r\n var result = \"\";\r\n for (var offset = 0; offset < UUID_SIZE; ++offset) {\r\n var byte = data[offset];\r\n if (offset === 4 || offset === 6 || offset === 8)\r\n result += \"-\";\r\n if (byte < 16)\r\n result += \"0\";\r\n result += byte.toString(16).toLowerCase();\r\n }\r\n return result;\r\n }\r\n }\r\n // uses a heuristic used by v8 and chakra to force an object into dictionary mode.\r\n function MakeDictionary(obj) {\r\n obj.__ = undefined;\r\n delete obj.__;\r\n return obj;\r\n }\r\n // patch global Reflect\r\n (function (__global) {\r\n if (typeof __global.Reflect !== \"undefined\") {\r\n if (__global.Reflect !== Reflect) {\r\n for (var p in Reflect) {\r\n if (hasOwn.call(Reflect, p)) {\r\n __global.Reflect[p] = Reflect[p];\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n __global.Reflect = Reflect;\r\n }\r\n })(typeof global !== \"undefined\" ? global :\r\n typeof self !== \"undefined\" ? self :\r\n Function(\"return this;\")());\r\n})(Reflect || (Reflect = {}));\r\n//# sourceMappingURL=Reflect.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/reflect-metadata/Reflect.js\n// module id = 10\n// module chunks = 0","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/node-libs-browser/node_modules/process/browser.js\n// module id = 11\n// module chunks = 0","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 12\n// module chunks = 0","/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nexport default noop;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/lodash-es/noop.js","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nexport default identity;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/lodash-es/identity.js","import { assign, defineProperty, copyOwnAndInheritedProps, uniqueId, round, toKbps, toMbps } from \"../core/utils\"\n\nexport interface IUploadStats {\n\tbytesSent: number\n\tprogress: number\n\ttotal: number\n\tspeed: ISpeedStats\n\tstart: number\n\tend: number\n\ttime: number\n}\n\nexport interface ISpeedStats {\n\tkbps: number\n\tmbps: number\n}\n\nclass VTransmitFile {\n\tprivate _nativeFile: File = null\n\tid: string = VTransmitFile.idFactory()\n\taccepted: boolean = undefined // Passed all validation.\n\tlastModified: number = undefined\n\tlastModifiedDate: Date = undefined\n\tname: string = undefined\n\tprocessing: boolean = undefined\n\tsize: number = undefined\n\tstatus: string = undefined\n\ttype: string = undefined\n\tupload: IUploadStats = {\n\t\tbytesSent: 0,\n\t\tprogress: 0,\n\t\ttotal: 0,\n\t\tspeed: {\n\t\t\tkbps: undefined,\n\t\t\tmbps: undefined,\n\t\t},\n\t\tstart: undefined,\n\t\tend: undefined,\n\t\ttime: undefined,\n\t}\n\twebkitRelativePath: USVString = undefined\n\twidth: number = undefined\n\theight: number = undefined\n\txhr: XMLHttpRequest = undefined\n\tprivate _dataUrl: string\n\terrorMessage: string = undefined\n\n\tconstructor(...data: object[]) {\n\t\tassign(this, ...data)\n\t}\n\n\tset(...data: object[]): VTransmitFile {\n\t\tassign(this, ...data)\n\t\treturn this\n\t}\n\n\tcopyNativeFile(file: File): VTransmitFile {\n\t\t// save reference for upload\n\t\tthis.nativeFile = file\n\t\t// Copy props to normal object for Vue reactivity.\n\t\t// Vue cannot define reactive properties on native file's readonly props.\n\t\treturn this.set(copyOwnAndInheritedProps(file))\n\t}\n\n\tcopyOwnAndInheritedProps(...data: object[]): VTransmitFile {\n\t\treturn this.set(...data.map(copyOwnAndInheritedProps))\n\t}\n\n\thandleProgress(e: ProgressEvent): void {\n\t\tthis.startProgress()\n\t\tconst total = e.total || this.upload.total\n\t\tthis.upload.progress = Math.min(100, 100 * e.loaded / total)\n\t\tthis.upload.bytesSent = e.loaded\n\t\tthis.upload.total = total\n\t\tthis.upload.time = (Date.now() - this.upload.start) / 1000\n\t\t// Recalc the upload speed in bytes/sec\n\t\tthis.upload.speed.kbps = round(toKbps(this.upload.bytesSent, this.upload.time))\n\t\tthis.upload.speed.mbps = round(toMbps(this.upload.bytesSent, this.upload.time))\n\t\tif (this.upload.progress === 100) {\n\t\t\tthis.endProgress()\n\t\t}\n\t}\n\n\tstartProgress(): VTransmitFile {\n\t\t// Avoid starting twice\n\t\tif (typeof this.upload.start !== \"number\") {\n\t\t\tthis.upload.start = Date.now()\n\t\t}\n\t\treturn this\n\t}\n\n\tendProgress(): VTransmitFile {\n\t\t// Avoid ending twice\n\t\tif (typeof this.upload.end !== \"number\") {\n\t\t\tthis.upload.end = Date.now()\n\t\t\tthis.upload.time = (Date.now() - this.upload.start) / 1000\n\t\t}\n\t\treturn this\n\t}\n\n\tget nativeFile() {\n\t\treturn this._nativeFile\n\t}\n\n\tset nativeFile(file: File) {\n\t\tif (!(file instanceof File)) {\n\t\t\tthrow new TypeError(`[${VTransmitFile.name}] Expected an instance of File (native).`)\n\t\t}\n\t\tthis._nativeFile = file\n\t\tthis.upload.total = file.size\n\t}\n\n\tget dataUrl() {\n\t\treturn this._dataUrl || \"\"\n\t}\n\n\tset dataUrl(value) {\n\t\tdefineProperty(this, \"_dataUrl\", {\n\t\t\tvalue,\n\t\t\tenumerable: false,\n\t\t\tconfigurable: true,\n\t\t\twritable: true,\n\t\t})\n\t}\n\n\tstatic fromNativeFile(file: File, ...data) {\n\t\tconst instance = new VTransmitFile(...data)\n\t\tinstance.copyNativeFile(file)\n\t\treturn instance\n\t}\n\n\tstatic idFactory() {\n\t\treturn uniqueId(\"v-transmit-file-\")\n\t}\n}\n\nexport default VTransmitFile\n\n\n\n// WEBPACK FOOTER //\n// ./src/classes/VTransmitFile.ts","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(_vm.tag,{tag:\"component\"},[_c('div',_vm._g(_vm._b({staticClass:\"v-transmit__upload-area\",class:[_vm.isDraggingClass, _vm.uploadAreaClasses],attrs:{\"draggable\":\"true\"},on:{\"click\":_vm.handleClickUploaderAction,\"dragstart\":_vm.handleDragStart,\"dragend\":_vm.handleDragEnd,\"dragenter\":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDragEnter($event)},\"dragover\":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDragOver($event)},\"dragleave\":_vm.handleDragLeave,\"drop\":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDrop($event)}}},'div',_vm.uploadAreaAttrs,false),_vm.uploadAreaListeners),[_vm._t(\"default\")],2),_vm._v(\" \"),_vm._t(\"files\",null,null,_vm.fileSlotBindings),_vm._v(\" \"),_c('input',{ref:\"hiddenFileInput\",class:[_vm.maxFilesReachedClass],style:(_vm.fileInputStyles),attrs:{\"type\":\"file\",\"multiple\":_vm.multiple,\"accept\":_vm.filesToAccept,\"capture\":_vm.capture},on:{\"change\":_vm.onFileInputChange}})],2)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-25b0f28c\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/VueTransmit.vue\n// module id = 16\n// module chunks = 0"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["webpack:///webpack/bootstrap d317ee777e9322228677","webpack:///external {\"root\":\"Vue\",\"commonjs2\":\"vue\"}","webpack:///./src/components/VueTransmit.vue?cd95","webpack:///./src/core/utils.ts","webpack:///./index.ts","webpack:///./src/index.ts","webpack:///./src/components/VueTransmit.vue","webpack:///./src/components/VueTransmit.vue?18b8","webpack:///./node_modules/vue-loader/lib/component-normalizer.js","webpack:///./node_modules/vue-property-decorator/lib/vue-property-decorator.umd.js","webpack:///./node_modules/vue-class-component/dist/vue-class-component.common.js","webpack:///./node_modules/reflect-metadata/Reflect.js","webpack:///./node_modules/node-libs-browser/node_modules/process/browser.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/lodash-es/noop.js","webpack:///./node_modules/lodash-es/identity.js","webpack:///./src/classes/VTransmitFile.ts","webpack:///./src/components/VueTransmit.vue?d47d"],"names":[],"mappings":"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AIA,GASA,OACA,CACA,WACA,UAEA,4BCtGA,eACA,iBAGA,IAAC,uBAAkD,cAEnD,gDACA,sBAQA,aAkFA,MACA,0BAAgC,2BAAsD,aAKtF,EAgBA,cACA,QACA,SAzGA,WACA,uCACA,CACA,iCAEA,2BACA,sBAEA,KACA,EAKA,EA4FA,UA3FA,WACA,uCACA,SACA,4CACA,SACA,8BACA,4DACA,qBACA,wBACA,QACA,QACA,IACA,UACA,cACA,IACA,EAKA,EAwEA,QAvEA,aACA,YAA6B,SAC7B,mBACA,mBACA,wDAEA,mDACA,cACA,wBAAsC,cACtC,KACA,OACA,CAKA,EAwDA,OAvDA,WACA,YAA6B,SAC7B,mBACA,mBACA,wDAEA,mDACA,cACA,eACA,OACA,CAMA,EAwCA,QAvCA,aACA,KAA6B,SAC7B,uEAEA,CACA,iDAEA,kBAAwC,8BACxC,cALA,UAMA,EACA,EA8BA,OAtBA,WACA,uBACA,GACA,aACA,wBACA,QACA,QAA4B,cAAuB,OACnD,SAEA,0BACA,sCACA,UACA,CACA,GAWA,qCAA8C,CAE9C,UAAC,iCC7HD;;;;IAuBA,aACA,OACA,sCACA,aAKA,CAEA,eACA,mBACA,kCACA,OACA,cACA,qCACA,8BACA,QACA,qBAIA,6BACA,CACA,6CACA,eAAsC,OAAgB,KACtD,iBAA2C,OAAwB,OACnE,EAGA,iBACA,EACA,QACA,kBACA,WACA,MAYA,yCAXA,CACA,qBAEA,KAOA,OAGA,CAeA,eACA,KAA6B,SAC7B,wCACA,aACA,2DACA,IAGA,uBACA,eAGA,iBAFA,mBAGA,8BACA,0CAAqD,kBAErD,gBACA,uBAAuD,iBACvD,OACA,UAGA,MACA,kCACA,gBACA,UACA,OAEA,YAEA,wCAA0C,OAAoB,KAC9D,YAEA,8CACA,aACA,iBAEA,kBACA,UAEA,MADA,WAYA,CACA,iBACA,kDACA,IAGA,8BACA,uCAGA,2BACA,oCACA,IACA,UAEA,oBACA,sCAEA,uBACA,MAEA,MAOA,WACA,uBACA,GAEA,aACA,OACA,qBAEA,gBACA,OACA,OACA,EA/KA,qCAA8C,CAAc,WAI5D,MAFA,WAA+B,+CAAiF,gBAIhH,MAAgB,CAAgB,8BA8EhC,oKA4FA,YACA,GAIA,yBAHA,QACA,UACA,CACC,OAA8B,OAC/B,QAEA,eACA,kBAlLA,WACA,uBACA,OAEA,yBACA,cACA,mBAEA,mBACA,qBAEA,2CAAqD,OAAqC,SAC1F,EACA,mBC3BA,gBAaA;;;;;;;;;;;;;gFACA,MACA,YACA,CACA,4BAkfA,oBAA2C,EAAQ,SACnD,OACA,OACA,qBACA,KACA,cACA,WACA,GACA,CACA,CACA,QACA,oBACA,oBAA2C,EAAQ,SACnD,OACA,OACA,yBACA,KACA,cACA,WACA,GACA,CACA,CACA,QACA,kBACA,SACA,eACA,IACA,GACA,SACA,QACA,QACA,SACA,eACA,IACA,GACA,SACA,QACA,QACA,CACA,QAGA,kBACA,OACA,SACA,KACA,eACA,YACA,MAEA,QAGA,kBACA,OACA,iBAEA,UACA,OAGA,kBACA,OACA,SACA,WACA,gBACA,WACA,aAEA,QAGA,kBACA,OACA,gBAEA,eACA,MAGA,oBACA,OACA,YACA,QAGA,gBACA,OACA,SACA,QACA,SACA,eACA,UACA,YACA,YACA,YACA,mBACA,MACA,SAA6C,QAAuB,WACpE,OACA,SAEA,aACA,SAEA,QACA,aAAmD,QAA0B,WAC7E,OACA,SAEA,aACA,SAEA,QACA,CACA,QAGA,gBACA,IACA,QACA,aACA,KACA,qBACA,SACA,OACA,IACA,OACA,QACA,GAGA,SAFA,iBAGA,QACA,CACA,MACA,SACA,IACA,CACA,IACA,QACA,CACA,OACA,CACA,CACA,GACA,CAGA,cACA,IACA,eACA,UACA,gCACA,uBACA,sBACA,sBACA,sBACA,kCACA,gBAEA,IAGA,cACA,OACA,WAGA,cACA,OACA,SAGA,cACA,OACA,kBAGA,cACA,mCACA,oBAKA,gBACA,QACA,aACA,gBACA,gBACA,gBACA,gBACA,gBAEA,8CACA,YACA,qBACA,SACA,aACA,cACA,WACA,QACA,yBACA,WAGA,gBACA,iBACA,SACA,iBACA,SACA,YACA,KACA,QACA,SACA,gBACA,SACA,YACA,KACA,QACA,CACA,KACA,SACA,gBACA,SACA,YACA,KACA,QACA,SACA,iBACA,SACA,YACA,KACA,QACA,CACA,UACA,UAGA,cACA,QACA,EAGA,cACA,OACA,IAGA,cACA,WACA,SAEA,QACA,IAKA,cACA,cACA,cACA,uBACA,oBACA,OACA,oDAGA,cAEA,OACA,oBAGA,cAEA,OACA,oBAGA,cACA,QACA,aACA,gBACA,iBAEA,UAKA,gBACA,OACA,oBAEA,cACA,cACA,WACA,SAGA,cACA,OACA,WACA,cACA,mBACA,YACA,cACA,WACA,QAGA,cACA,UACA,KAGA,cACA,SACA,gBACA,OAGA,cACA,SAEA,eACA,OAKA,cACA,cACA,2CACA,MAQA,YACA,MAEA,iBACA,sBACA,yCACA,UAEA,iBACA,kBAGA,qBAIA,WAEA,cAiOA,CAGA,SAFA,mBACA,IAGA,IA5jCA,sBAJA,iBACA,yFACA,yEACA,yBAEA,OACA,mCAA6B,CAAgB,uBAC7C,aAEA,YACA,YAA2B,wBAA4C,MACvE,EACA,YAA+B,UAAwB,WAAoB,MAC3E,YAA+B,OAA2B,MAC1D,QACA,eAAmC,UAA8B,SACjE,eAAmC,OAAmB,OACtD,QACA,eAAmC,oBAAqD,WACxF,eAAmC,OAAiB,KACpD,CAAK,OAEL,mCACA,yDACA,mJAm0BA,cA8GA,CACA,QACA,gBACA,CACA,QACA,gBACA,OACA,KACA,IArHA,MACA,iBACA,kBACA,aACA,OACA,aACA,eACA,WACA,CAmCA,2CAnC+D,OAAa,KAC5E,2BAAiE,OAAa,KAC9E,6BACA,YACA,oCACA,yCACA,mCACA,qBACA,OACA,aAGA,gBAEA,SAA4B,SAC5B,QACA,OAAwB,cACxB,QACA,+BACA,CAMA,KALA,+BACA,OACA,aAEA,YAEA,gCACA,OACA,+BACA,OACA,aAEA,WAAwB,SACxB,QACA,GAEA,qBACA,aACA,MACA,cACA,gBACA,8BACA,CACA,CAwDA,gDAvDA,eAAkC,mBAA0B,MAC5D,EACA,cAEA,6CAAgD,OAA+C,oBAC/F,6BACA,YACA,6BACA,iBACA,+BACA,YACA,wBACA,aACA,IACA,gCACA,YACA,oBACA,sBACA,WAA2C,EAAU,IACrD,yBACA,gCAEA,WAOA,kBANA,sBACA,kBACA,iBACA,8BAEA,KAEA,CACA,QACA,8BACA,mBACA,sBACA,OACA,8BACA,CACA,6BAA8C,8BAA0D,UACxG,+BAAgD,8BAA4D,UAC5G,gCAAiD,8BAA4D,UAC7G,sCAAuD,aAAuB,SAC9E,2BAAyD,aAAuB,SAChF,iCACA,aACA,yDAEA,cACA,oDACA,kBACA,qBAEA,mBACA,WACA,GAEA,GAWA,CA17BA,uFA27BA,kBACA,aACA,WACA,KACA,CAeA,gDAdA,eAAkC,kBAAuB,IACzD,EACA,cAEA,6CAAkD,kBAA6B,MAC/E,6BAAkD,2BAA0C,IAC5F,gCAAqD,kBAAgC,SACrF,8BAA+C,WAAmB,OAClE,6BAA8C,kBAAyB,MACvE,+BAAgD,kBAA2B,QAC3E,gCAAiD,kBAA4B,SAC7E,sCAAuD,aAAoB,MAC3E,2BAAyD,aAAoB,MAC7E,GAEA,GAEA,CAh9BA,iDAi9BA,aA+BA,IACA,GACA,mBACA,YACA,UAEA,MADA,UAEA,gBACA,iBACA,IACA,GACA,iCAAwD,SACxD,UACA,OACA,KACA,gBACA,WAA2B,EAAU,IACrC,SACA,oBACA,QACA,cACA,OACA,8BACA,2BAEA,kCAGA,8CAFA,0CAFA,kBAKA,WACA,aACA,OAEA,UACA,gBACA,yBACA,KAAgC,EAAoB,IACpD,MACA,oBACA,YACA,KACA,UACA,uBAEA,cACA,QACA,OA5EA,OACA,WACA,qBACA,aACA,WACA,GACA,CAsBA,kCArBA,OACA,wCACA,KACA,6BACA,OACA,8CACA,KACA,+BACA,OACA,sBACA,QACA,IACA,gCACA,OACA,yCACA,KACA,8BAEA,WACA,GACA,GAEA,GAiDA,CA7hCA,aAwCA,QAgEA,0BA/DA,UACA,KACA,cACA,eACA,cACA,6BACA,cACA,iBACA,QACA,YACA,KACA,UAEA,KACA,cACA,eACA,cACA,iBAEA,OACA,IA6FA,sBAjDA,CAQA,oBAPA,KACA,cACA,sBACA,cACA,WACA,UACA,CAEA,IAkFA,gCAzCA,KACA,cACA,iBACA,UACA,MACA,UACA,IA6EA,2BAzCA,KACA,cACA,iBACA,UACA,MACA,QACA,IA6EA,8BAzCA,KACA,cACA,iBACA,UACA,MACA,QACA,IA6EA,2BAzCA,KACA,cACA,iBACA,UACA,MACA,QACA,IA4EA,8BAxCA,KACA,cACA,iBACA,UACA,MACA,QACA,IA2EA,6BAxCA,KACA,cACA,iBACA,UACA,MACA,MACA,IA4EA,gCAzCA,KACA,cACA,iBACA,UACA,MACA,MACA,IAuDA,8BAnBA,KACA,cACA,WACA,SACA,YACA,aACA,KACA,eACA,UACA,YACA,SACA,iBACA,iBACA,YAEA,eAEA,aACA,aAmlBA,MACA,iCAWA,oBAVA,mBACA,UACA,yBAMA,KAEK,EACL,wDAEA,kBADA,OACC,OACD,yCCpmCA,CAWA,YACA,iBACA,mCACA,YACA,iBACA,oCACA,CAoBA,aACA,QAEA,+BAGA,mBACA,oBACA,wBAEA,MAEA,YACA,EAAK,SACL,IAEA,sBACA,EAAS,SAET,sBACA,EACA,CAGA,EACA,aACA,QAEA,mBAGA,iCACA,sBACA,aAEA,mBAEA,OACA,KAAK,SACL,IAEA,eACA,OAAS,SAGT,eACA,OACA,CAIA,EAMA,YACA,CAGA,OACA,OACA,WAEA,aAEA,IACA,QAEA,KAEA,YACA,CAGA,aACA,KAEA,iBACA,UACA,KACA,IACA,KAEA,eAGA,SACA,MACA,MACA,GACA,KACA,KACA,MAgBA,eACA,MACA,WACA,QAWA,cAhKA,GAQA,SADA,sBAUA,IACA,GACA,8BAIA,YAAK,SACL,CACA,GACA,IACA,GACA,gCAIA,cAAK,SACL,CACA,GACA,CAAC,KAqDD,GAGA,GAFA,KACA,UA0CA,sBACA,8BACA,MACA,6BAAuB,cAAsB,OAC7C,WAGA,oBACA,YACA,iBAEA,IAEA,EAKA,0BACA,0BACA,QACA,kBACA,aACA,SACA,UACA,UAAqB,GACrB,cAIA,OACA,gBACA,SACA,QACA,mBACA,uBACA,SACA,oBACA,wBAEA,sBAAqC,WAErC,oBACA,iBACA,qCAEA,gBAA2B,YAC3B,kBACA,iBACA,mCACA,kBAA4B,OAAU,iBCvLtC,GAGA,aACA,OACA,KAAC,IAED,GAEA,0CACA,OAAC,SAED,CACA,4BACA,OAI4C,CAE5C,wCCpBA,mDAgBe,WAJN,UAER,CAED,8BChBA,mDAoBe,WAJG,WAChB,CACD,QAED,whBCHA,uBA8Ba,gBA7BJ,aAAW,YACnB,UAAE,GAAwB,EAC1B,iBACA,qBACA,yBACA,6BACA,iBACA,uBACA,iBACA,mBACA,iBAAM,OACI,WACD,WACH,QACA,QACA,CACA,YAEA,aACF,aACC,WAEL,kBACA,+BACA,kBACA,mBAEA,gBAAgC,kEAEH,SACtB,oCAAO,MAGV,iGAAiB,SACd,2CAAO,MACP,WAGO,mCAAW,WAEpB,aAGE,aAAK,KAAI,IAAyB,KAGhB,+HAAiB,SACnC,mBAAK,MAAK,iBAAO,EACxB,MAEc,0DAAiB,WAC1B,MACJ,mBAAW,GAAI,EAAM,OAAQ,KAAO,OAChC,WAAO,OAAS,SAAO,KAAI,IAAI,IAAK,IAAI,EACxC,eAAO,OAAU,UAAI,EACrB,YAAO,OACP,aAAO,OAAK,KAAG,CAAK,KAAM,MAAO,KAAO,OAExC,gBAAO,OAAM,MAAK,KAAQ,YAAO,aAAK,KAAO,OAAU,UAAM,KAAO,OACpE,YAAO,OAAM,MAAK,KAAQ,YAAO,aAAK,KAAO,OAAU,UAAM,KAAO,OACrE,OACE,GADG,QAAO,OAAS,eAKZ,qDAET,OACE,QADD,QAAW,MAAO,OAAM,aAChB,OAAM,MAAO,KAEnB,OAGI,0CAEP,OACE,QADD,QAAW,MAAO,OAAI,WACd,OAAI,IAAO,KAClB,WAAO,OAAK,KAAG,CAAK,KAAM,MAAO,KAAO,OAEvC,YAGO,uCACP,OAAK,MAGE,iBAAW,WACrB,IAAE,EAAK,YACT,YAAM,IAAc,eAAiB,EACtC,KACI,iDACA,mBAAO,OAAM,MAAO,EAGd,oCACJ,OAAK,MAAS,UAGV,QAAM,WACF,sBAAK,KAAY,WACzB,CACK,QACE,cACJ,gBAIW,8CAAa,kEAAO,WACxC,gBAAiB,+BAAkB,eAC3B,YAIO,SAHT,uDAIA,OAAS,eAIjB,+BAA4B,yBCxI5B,a,IAEiB,mBAFS,MAAa,SAA0B,+BAAwB,gBAAmB,IAAgB,iCAA0B,oFAAmH,6BAAK,4GAA+H,mBAAwB,oBAAyB,oBAA4B,uBAA6B,mBAAwB,oBAAyB,mBAA2B,+CAAyD,mBAAwB,oBAAyB,eAAyB,qJAAoK,yBAAwC,wBAAc,4DAA8D,iEAAuF,aAAK,SAAgC,0BAE1lC,EACA","file":"vue-transmit.esm.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 3);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap d317ee777e9322228677","module.exports = require(\"vue\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"root\":\"Vue\",\"commonjs2\":\"vue\"}\n// module id = 0\n// module chunks = 0","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\"\nimport { Component, Prop, Watch } from \"vue-property-decorator\"\nimport noop from \"lodash-es/noop\"\nimport identity from \"lodash-es/identity\"\nimport {\n\thbsRegex,\n\thbsReplacer,\n\tobjFactory,\n\tresizeImg,\n\tIDrawImageArgs,\n\tIDimensions,\n\twebkitIsFile,\n\twebkitIsDir,\n} from \"../core/utils\"\nimport VTransmitFile from \"../classes/VTransmitFile\"\n\ntype FileSystemEntry = WebKitFileEntry | WebKitDirectoryEntry\n\nconst STATUSES = {\n\tADDED: \"added\",\n\tQUEUED: \"queued\",\n\tACCEPTED: \"queued\",\n\tUPLOADING: \"uploading\",\n\tPROCESSING: \"uploading\",\n\tCANCELED: \"canceled\",\n\tERROR: \"error\",\n\tTIMEOUT: \"timeout\",\n\tSUCCESS: \"success\",\n}\n\n@Component({ name: \"VueTransmit\" })\nexport default class VueTransmit extends Vue {\n\t@Prop({ type: String, default: \"div\" })\n\ttag: string\n\n\t@Prop({ type: [Array, Object, String], default: null })\n\tuploadAreaClasses: any[] | object | string\n\n\t@Prop({ type: Object, default: objFactory })\n\tuploadAreaAttrs: object\n\n\t@Prop({ type: Object, default: objFactory })\n\tuploadAreaListeners: object\n\n\t@Prop({ type: String, default: null })\n\tdragClass: string\n\n\t@Prop({ type: String, required: true })\n\turl: string\n\n\t@Prop({ type: String, default: \"post\" })\n\tmethod: string\n\n\t@Prop({ type: Boolean, default: false })\n\twithCredentials: boolean\n\n\t// timeout in milliseconds\n\t@Prop({ type: Number, default: 0 })\n\ttimeout: number\n\n\t@Prop({ type: Number, default: 2 })\n\tmaxConcurrentUploads: number\n\t// Whether to send multiple files in one request.\n\t@Prop({ type: Boolean, default: false })\n\tuploadMultiple: boolean\n\n\t// in MB\n\t@Prop({ type: Number, default: 256 })\n\tmaxFileSize: number\n\n\t// The name of the file param that gets transferred.\n\t@Prop({ type: String, default: \"file\" })\n\tparamName: string\n\n\t@Prop({ type: Boolean, default: true })\n\tcreateImageThumbnails: boolean\n\n\t// in MB. When the filename exceeds this limit, the thumbnail will not be generated.\n\t@Prop({ type: Number, default: 10 })\n\tmaxThumbnailFileSize: number\n\n\t@Prop({ type: Number, default: 120 })\n\tthumbnailWidth: number\n\n\t@Prop({ type: Number, default: 120 })\n\tthumbnailHeight: number\n\n\t/**\n * The base that is used to calculate the file size. You can change this to\n * 1024 if you would rather display kibibytes, mebibytes, etc...\n * 1024 is technically incorrect,\n * because `1024 bytes` are `1 kibibyte` not `1 kilobyte`.\n * You can change this to `1024` if you don't care about validity.\n */\n\t@Prop({ type: Number, default: 1000 })\n\tfileSizeBase: number\n\n\t/**\n * Can be used to limit the maximum number of files that will be handled\n * by this Dropzone\n */\n\t@Prop({ type: Number, default: null })\n\tmaxFiles: number\n\n\t/**\n * Can be an object of additional parameters to transfer to the server.\n * This is the same as adding hidden input fields in the form element.\n */\n\t@Prop({ type: Object, default: objFactory })\n\tparams: object\n\n\t@Prop({ type: Object, default: objFactory })\n\theaders: object\n\n\t@Prop({ type: String, default: \"\" })\n\tresponseType: XMLHttpRequestResponseType\n\n\t// If true, the dropzone will present a file selector when clicked.\n\t@Prop({ type: Boolean, default: true })\n\tclickable: boolean\n\n\t// Whether hidden files in directories should be ignored.\n\t@Prop({ type: Boolean, default: true })\n\tignoreHiddenFiles: boolean\n\n\t/**\n * You can set accepted mime types here.\n *\n * The default implementation of the `accept()` function will check this\n * property, and if the Dropzone is clickable this will be used as\n * `accept` attribute.\n *\n * This is a comma separated list of mime types or extensions. E.g.:\n * - audio/*,video/*,image/png,.pdf\n *\n * See https://developer.mozilla.org/en-US/docs/HTML/Element/input#attr-accept\n * for a reference.\n */\n\t@Prop({ type: Array, default: () => [] })\n\tacceptedFileTypes: string[]\n\n\t/**\n * If false, files will be added to the queue but the queue will not be\n * processed automatically.\n * This can be useful if you need some additional user input before sending\n * files (or if you want want all files sent at once).\n * If you're ready to send the file simply call myDropzone.processQueue()\n */\n\t@Prop({ type: Boolean, default: true })\n\tautoProcessQueue: boolean\n\n\t/**\n * If false, files added to the dropzone will not be queued by default.\n * You'll have to call `enqueueFile(file)` manually.\n */\n\t@Prop({ type: Boolean, default: true })\n\tautoQueue: boolean\n\n\t/**\n * If null, no capture type will be specified\n * If camera, mobile devices will skip the file selection and choose camera\n * If microphone, mobile devices will skip the file selection and choose the microphone\n * If camcorder, mobile devices will skip the file selection and choose the camera in video mode\n * On apple devices multiple must be set to false. AcceptedFiles may need to\n * be set to an appropriate mime type (e.g. \"image/*\", \"audio/*\", or \"video/*\").\n */\n\t@Prop({ type: String, default: null })\n\tcapture: string\n\n\t/**\n * Before the file is appended to the formData, the function renameFile is performed for file.name, file\n * which executes the function defined in renameFile\n */\n\t@Prop({ type: Function, default: identity })\n\trenameFile: (name: string) => string\n\n\t// If the file size is too big.\n\t@Prop({ type: String, default: \"File is too big ({{ fileSize }}MiB). Max file size: {{ maxFileSize }}MB.\" })\n\tdictFileTooBig: string\n\n\t// If the file doesn't match the file type.\n\t@Prop({ type: String, default: \"You can't upload files of this type.\" })\n\tdictInvalidFileType: string\n\n\t// If the server response was invalid.\n\t@Prop({ type: String, default: \"Error during upload: {{ statusText }} [{{ statusCode }}]\" })\n\tdictResponseError: string\n\n\t/**\n * Displayed when the maxFiles have been exceeded\n * You can use {{maxFiles}} here, which will be replaced by the option.\n */\n\t@Prop({ type: String, default: \"You can not upload any more files.\" })\n\tdictMaxFilesExceeded: string\n\n\t/**\n * If `done()` is called without argument the file is accepted\n * If you call it with an error message, the file is rejected\n * (This allows for asynchronous validation).\n */\n\t@Prop({ type: Function, default: (_, done: Function) => done() })\n\taccept: (file: VTransmitFile, done: Function) => void\n\n\t@Prop({ type: Function, default: resizeImg })\n\tresize: (file: VTransmitFile, dims: IDimensions) => IDrawImageArgs\n\n\tpublic dragging: boolean = false\n\t// Used to keep the createThumbnail calls processing async one-at-a-time\n\tprivate processingThumbnail: boolean = false\n\tpublic thumbnailQueue: any[] = []\n\tpublic files: VTransmitFile[] = []\n\tpublic defaultHeaders: object = {\n\t\tAccept: \"application/json\",\n\t\t\"Cache-Control\": \"no-cache\",\n\t\t\"X-Requested-With\": \"XMLHttpRequest\",\n\t}\n\tpublic formStyles: object = {\n\t\tvisibility: \"hidden !important\",\n\t\tposition: \"absolute !important\",\n\t\ttop: \"0 !important\",\n\t\tleft: \"0 !important\",\n\t\theight: \"0px !important\",\n\t\twidth: \"0px !important\",\n\t}\n\n\tget inputEl(): HTMLInputElement {\n\t\tlet el = null\n\t\tif (this.$refs.hiddenFileInput instanceof HTMLInputElement) {\n\t\t\tel = this.$refs.hiddenFileInput\n\t\t}\n\t\treturn el\n\t}\n\tget formEl(): HTMLFormElement {\n\t\tlet el = null\n\t\tif (this.$refs.uploadForm instanceof HTMLFormElement) {\n\t\t\tel = this.$refs.uploadForm\n\t\t}\n\t\treturn el\n\t}\n\tget filesToAccept(): string {\n\t\treturn this.acceptedFileTypes.join(\",\")\n\t}\n\tget multiple(): boolean {\n\t\treturn this.maxFiles === null || this.maxFiles > 1\n\t}\n\tget acceptedFiles(): VTransmitFile[] {\n\t\treturn this.files.filter(f => f.accepted)\n\t}\n\tget rejectedFiles(): VTransmitFile[] {\n\t\treturn this.files.filter(f => !f.accepted)\n\t}\n\tget addedFiles(): VTransmitFile[] {\n\t\treturn this.getFilesWithStatus(STATUSES.ADDED)\n\t}\n\tget queuedFiles(): VTransmitFile[] {\n\t\treturn this.getFilesWithStatus(STATUSES.QUEUED)\n\t}\n\tget uploadingFiles(): VTransmitFile[] {\n\t\treturn this.getFilesWithStatus(STATUSES.UPLOADING)\n\t}\n\tget activeFiles(): VTransmitFile[] {\n\t\treturn this.getFilesWithStatus(STATUSES.UPLOADING, STATUSES.QUEUED)\n\t}\n\tget maxFilesReached(): boolean {\n\t\t// Loose equality checks null && undefined\n\t\treturn this.maxFiles != null && this.acceptedFiles.length >= this.maxFiles\n\t}\n\tget maxFilesReachedClass(): string {\n\t\treturn this.maxFilesReached ? \"v-transmit__max-files--reached\" : null\n\t}\n\tget isDraggingClass(): { [key: string]: boolean } {\n\t\treturn {\n\t\t\t\"v-transmit__upload-area--is-dragging\": this.dragging,\n\t\t\t[this.dragClass]: this.dragging,\n\t\t}\n\t}\n\tget isUploading(): boolean {\n\t\treturn this.uploadingFiles.length > 0\n\t}\n\tget fileSlotBindings() {\n\t\treturn {\n\t\t\tfiles: this.files,\n\t\t\tacceptedFiles: this.acceptedFiles,\n\t\t\trejectedFiles: this.rejectedFiles,\n\t\t\taddedFiles: this.addedFiles,\n\t\t\tqueuedFiles: this.queuedFiles,\n\t\t\tuploadingFiles: this.uploadingFiles,\n\t\t\tactiveFiles: this.activeFiles,\n\t\t\tisUploading: this.isUploading,\n\t\t}\n\t}\n\n\t@Watch(\"acceptedFiles\")\n\tonAcceptedFilesChange(acceptedFiles: VTransmitFile[]) {\n\t\tif (this.maxFiles == null) {\n\t\t\treturn\n\t\t}\n\t\tif (acceptedFiles.length >= this.maxFiles) {\n\t\t\tthis.$emit(\"max-files-reached\", this.files)\n\t\t}\n\t}\n\n\tgetFilesWithStatus(...statuses: string[]): VTransmitFile[] {\n\t\treturn this.files.filter(f => statuses.indexOf(f.status) > -1)\n\t}\n\tonFileInputChange(): void {\n\t\tthis.$emit(\"added-files\", Array.from(this.inputEl.files).map(this.addFile))\n\t\tthis.formEl.reset()\n\t}\n\taddFile(file: File): VTransmitFile {\n\t\tconst vTransmitFile = VTransmitFile.fromNativeFile(file)\n\t\tvTransmitFile.status = STATUSES.ADDED\n\t\tthis.files.push(vTransmitFile)\n\t\tthis.$emit(\"added-file\", vTransmitFile)\n\t\tthis.enqueueThumbnail(vTransmitFile)\n\t\tthis.acceptFile(vTransmitFile, error => {\n\t\t\tif (error) {\n\t\t\t\tvTransmitFile.accepted = false\n\t\t\t\tthis.errorProcessing([vTransmitFile], error)\n\t\t\t\tthis.$emit(\"rejected-file\", vTransmitFile)\n\t\t\t} else {\n\t\t\t\tvTransmitFile.accepted = true\n\t\t\t\tthis.$emit(\"accepted-file\", vTransmitFile)\n\t\t\t\tif (this.autoQueue) {\n\t\t\t\t\tthis.enqueueFile(vTransmitFile)\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.$emit(\"accept-complete\", vTransmitFile)\n\t\t})\n\n\t\treturn vTransmitFile\n\t}\n\tremoveFile(file: VTransmitFile): void {\n\t\tif (file.status === STATUSES.UPLOADING) {\n\t\t\tthis.cancelUpload(file)\n\t\t}\n\t\tconst idxToRm = this.files.findIndex(f => f.id === file.id)\n\t\tif (~idxToRm) {\n\t\t\tthis.$emit(\"removed-file\", this.files.splice(idxToRm, 1)[0])\n\t\t\tif (this.files.length === 0) {\n\t\t\t\tthis.$emit(\"reset\")\n\t\t\t}\n\t\t}\n\t}\n\tremoveAllFiles(cancelInProgressUploads = false): void {\n\t\tfor (const file of this.files) {\n\t\t\tif (file.status !== STATUSES.UPLOADING || cancelInProgressUploads) {\n\t\t\t\tthis.removeFile(file)\n\t\t\t}\n\t\t}\n\t}\n\ttriggerBrowseFiles(): void {\n\t\tthis.inputEl.click()\n\t}\n\thandleClickUploaderAction(): void {\n\t\tif (this.clickable) {\n\t\t\tthis.triggerBrowseFiles()\n\t\t}\n\t}\n\tenqueueFile(file: VTransmitFile): void {\n\t\tif (file.status === STATUSES.ADDED && file.accepted === true) {\n\t\t\tfile.status = STATUSES.QUEUED\n\t\t\tif (this.autoProcessQueue) {\n\t\t\t\tsetTimeout(this.processQueue, 0)\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new Error(\"This file can't be queued because it has already been processed or was rejected.\")\n\t\t}\n\t}\n\tenqueueThumbnail(file: VTransmitFile): void {\n\t\tif (\n\t\t\tthis.createImageThumbnails &&\n\t\t\tfile.type.match(/image.*/) &&\n\t\t\tfile.size <= this.maxThumbnailFileSize * 1024 * 1024\n\t\t) {\n\t\t\tthis.thumbnailQueue.push(file)\n\t\t\tsetTimeout(this.processThumbnailQueue, 0)\n\t\t}\n\t}\n\tprocessThumbnailQueue(): void {\n\t\t// Employ a chain of self-calling, self-queuing createThumbnail calls\n\t\t// so execution can stay as non-blocking as possible.\n\t\tif (this.processingThumbnail || this.thumbnailQueue.length === 0) {\n\t\t\treturn\n\t\t}\n\t\tthis.processingThumbnail = true\n\t\tthis.createThumbnail(this.thumbnailQueue.shift(), () => {\n\t\t\tthis.processingThumbnail = false\n\t\t\tthis.processThumbnailQueue()\n\t\t})\n\t}\n\tcreateThumbnail(file: VTransmitFile, callback = noop): void {\n\t\tconst reader = new FileReader()\n\t\treader.addEventListener(\n\t\t\t\"load\",\n\t\t\t() => {\n\t\t\t\tif (file.type === \"image/svg+xml\") {\n\t\t\t\t\tfile.dataUrl = reader.result\n\t\t\t\t\tthis.$emit(\"thumbnail\", file, reader.result)\n\t\t\t\t\tcallback()\n\t\t\t\t}\n\t\t\t\tthis.createThumbnailFromUrl(file, reader.result, callback)\n\t\t\t},\n\t\t\tfalse\n\t\t)\n\n\t\t// FileReader requires a native File|Blob object\n\t\treader.readAsDataURL(file.nativeFile)\n\t}\n\tcreateThumbnailFromUrl(file: VTransmitFile, imageUrl: string, callback?: Function): void {\n\t\tconst imgEl = document.createElement(\"img\")\n\n\t\timgEl.addEventListener(\n\t\t\t\"load\",\n\t\t\t() => {\n\t\t\t\tfile.width = imgEl.width\n\t\t\t\tfile.height = imgEl.height\n\t\t\t\tconst resizeInfo = this.resize(file, {\n\t\t\t\t\twidth: this.thumbnailWidth,\n\t\t\t\t\theight: this.thumbnailHeight,\n\t\t\t\t})\n\t\t\t\tconst canvas = document.createElement(\"canvas\")\n\t\t\t\tconst ctx = canvas.getContext(\"2d\")\n\t\t\t\tcanvas.width = resizeInfo.dWidth\n\t\t\t\tcanvas.height = resizeInfo.dHeight\n\t\t\t\tctx.drawImage(\n\t\t\t\t\timgEl,\n\t\t\t\t\tresizeInfo.sx,\n\t\t\t\t\tresizeInfo.sy,\n\t\t\t\t\tresizeInfo.sWidth,\n\t\t\t\t\tresizeInfo.sHeight,\n\t\t\t\t\tresizeInfo.dx,\n\t\t\t\t\tresizeInfo.dy,\n\t\t\t\t\tresizeInfo.dWidth,\n\t\t\t\t\tresizeInfo.dHeight\n\t\t\t\t)\n\t\t\t\tconst thumbnail = canvas.toDataURL(\"image/png\")\n\t\t\t\tfile.dataUrl = thumbnail\n\t\t\t\tthis.$emit(\"thumbnail\", file, thumbnail)\n\n\t\t\t\tif (callback) {\n\t\t\t\t\treturn callback()\n\t\t\t\t}\n\t\t\t},\n\t\t\tfalse\n\t\t)\n\t\tif (callback) {\n\t\t\timgEl.addEventListener(\"error\", callback as EventListenerOrEventListenerObject, false)\n\t\t}\n\n\t\timgEl.src = imageUrl\n\t}\n\tprocessQueue(): void {\n\t\tconst processingLength = this.uploadingFiles.length\n\t\tif (processingLength >= this.maxConcurrentUploads || this.queuedFiles.length === 0) {\n\t\t\treturn\n\t\t}\n\n\t\tconst queuedFiles = [...this.queuedFiles]\n\t\tif (this.uploadMultiple) {\n\t\t\treturn this.processFiles(queuedFiles.slice(0, this.maxConcurrentUploads - processingLength))\n\t\t} else {\n\t\t\tfor (let i = processingLength; i < this.maxConcurrentUploads; i++) {\n\t\t\t\tif (queuedFiles.length) {\n\t\t\t\t\tthis.processFile(queuedFiles.shift())\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tprocessFile(file: VTransmitFile): void {\n\t\tthis.processFiles([file])\n\t}\n\tprocessFiles(files: VTransmitFile[]): void {\n\t\tfor (const file of files) {\n\t\t\tfile.processing = true\n\t\t\tfile.status = STATUSES.UPLOADING\n\t\t\tthis.$emit(\"processing\", file)\n\t\t}\n\t\tif (this.uploadMultiple) {\n\t\t\tthis.$emit(\"processing-multiple\", files)\n\t\t}\n\n\t\treturn this.uploadFiles(files)\n\t}\n\tgetFilesWithXhr(xhr: XMLHttpRequest): VTransmitFile[] {\n\t\treturn this.files.filter(file => file.xhr === xhr)\n\t}\n\tcancelUpload(file: VTransmitFile): void {\n\t\tif (file.status === STATUSES.UPLOADING) {\n\t\t\tconst groupedFiles = this.getFilesWithXhr(file.xhr)\n\t\t\tfile.xhr.abort()\n\t\t\tfor (const f of groupedFiles) {\n\t\t\t\tf.status = STATUSES.CANCELED\n\t\t\t\tthis.$emit(\"canceled\", f)\n\t\t\t}\n\t\t\tif (this.uploadMultiple) {\n\t\t\t\tthis.$emit(\"canceled-multiple\", groupedFiles)\n\t\t\t}\n\t\t} else if (file.status === STATUSES.ADDED || file.status === STATUSES.QUEUED) {\n\t\t\tfile.status = STATUSES.CANCELED\n\t\t\tthis.$emit(\"canceled\", file)\n\t\t\tif (this.uploadMultiple) {\n\t\t\t\tthis.$emit(\"canceled-multiple\", [file])\n\t\t\t}\n\t\t}\n\n\t\tif (this.autoProcessQueue) {\n\t\t\tthis.processQueue()\n\t\t}\n\t}\n\tuploadFile(file: VTransmitFile): void {\n\t\tthis.uploadFiles([file])\n\t}\n\tuploadFiles(files: VTransmitFile[]): void {\n\t\tconst xhr = new XMLHttpRequest()\n\t\tfor (const file of files) {\n\t\t\tfile.xhr = xhr\n\t\t\tfile.startProgress()\n\t\t}\n\t\txhr.open(this.method, this.url, true)\n\t\t// Setting the timeout after open because of IE11 issue: https://gitlab.com/meno/dropzone/issues/8\n\t\txhr.timeout = this.timeout\n\t\txhr.withCredentials = Boolean(this.withCredentials)\n\t\txhr.responseType = this.responseType\n\n\t\tconst handleError = this.handleUploadError(files, xhr)\n\t\tconst updateProgress = this.handleUploadProgress(files)\n\t\txhr.addEventListener(\"error\", handleError)\n\t\txhr.upload.addEventListener(\"progress\", updateProgress)\n\t\txhr.addEventListener(\"timeout\", this.handleTimeout(files, xhr))\n\t\txhr.addEventListener(\"load\", e => {\n\t\t\tif (files[0].status === STATUSES.CANCELED || xhr.readyState !== XMLHttpRequest.DONE) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tlet response = xhr.response\n\n\t\t\tif (!xhr.responseType) {\n\t\t\t\tlet contentType = xhr.getResponseHeader(\"content-type\")\n\t\t\t\tresponse = xhr.responseText\n\n\t\t\t\tif (contentType && contentType.indexOf(\"application/json\") > -1) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tresponse = JSON.parse(response)\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tresponse = \"Invalid JSON response from server.\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Called at load (when complete) will enable all the progress done logic.\n\t\t\tupdateProgress()\n\t\t\tif (xhr.status < 200 || xhr.status >= 300) {\n\t\t\t\treturn handleError()\n\t\t\t} else {\n\t\t\t\treturn this.uploadFinished(files, response, e)\n\t\t\t}\n\t\t})\n\n\t\t// Use null proto obj for the following 'for in' loop\n\t\tconst headers = Object.assign(Object.create(null), this.defaultHeaders, this.headers)\n\t\tfor (const headerName in headers) {\n\t\t\tif (headers[headerName]) {\n\t\t\t\txhr.setRequestHeader(headerName, headers[headerName])\n\t\t\t}\n\t\t}\n\n\t\tconst formData = new FormData()\n\t\tfor (const key in this.params) {\n\t\t\tformData.append(key, this.params[key])\n\t\t}\n\n\t\tfor (const file of files) {\n\t\t\tthis.$emit(\"sending\", file, xhr, formData)\n\t\t}\n\t\tif (this.uploadMultiple) {\n\t\t\tthis.$emit(\"sending-multiple\", files, xhr, formData)\n\t\t}\n\n\t\tfor (let i = 0; i < files.length; i++) {\n\t\t\tformData.append(this.getParamName(i), files[i].nativeFile, this.renameFile(files[i].name))\n\t\t}\n\n\t\treturn xhr.send(formData)\n\t}\n\thandleUploadError(files: VTransmitFile[], xhr: XMLHttpRequest): () => void {\n\t\tconst vm = this\n\t\treturn function onUploadErrorFn(): void {\n\t\t\tif (files[0].status !== STATUSES.CANCELED) {\n\t\t\t\tconst message = vm.dictResponseError.replace(\n\t\t\t\t\thbsRegex,\n\t\t\t\t\thbsReplacer({ statusText: xhr.statusText, statusCode: xhr.status })\n\t\t\t\t)\n\t\t\t\tvm.errorProcessing(files, message, xhr)\n\t\t\t}\n\t\t}\n\t}\n\thandleTimeout(files: VTransmitFile[], xhr: XMLHttpRequest): (e: Event) => void {\n\t\tconst vm = this\n\t\treturn function onTimeoutFn(e: Event): void {\n\t\t\tfor (const file of files) {\n\t\t\t\tfile.status = STATUSES.TIMEOUT\n\t\t\t\tfile.endProgress()\n\t\t\t\tvm.$emit(\"timeout\", file, e, xhr)\n\t\t\t}\n\t\t\tvm.$emit(\"timeout-multiple\", files, e, xhr)\n\n\t\t\tif (this.autoProcessQueue) {\n\t\t\t\tthis.processQueue()\n\t\t\t}\n\t\t}\n\t}\n\thandleUploadProgress(files): (e?: ProgressEvent) => void {\n\t\tconst vm = this\n\t\treturn function onProgressFn(e?: ProgressEvent): void {\n\t\t\tif (e instanceof ProgressEvent) {\n\t\t\t\tfor (const file of files) {\n\t\t\t\t\tfile.handleProgress(e)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tlet allFilesFinished = true\n\t\t\t\tfor (const file of files) {\n\t\t\t\t\tif (file.upload.progress !== 100 || file.upload.bytesSent !== file.upload.total) {\n\t\t\t\t\t\tallFilesFinished = false\n\t\t\t\t\t}\n\t\t\t\t\tfile.upload.progress = 100\n\t\t\t\t\tfile.upload.bytesSent = file.upload.total\n\t\t\t\t\tfile.endProgress()\n\t\t\t\t}\n\t\t\t\tif (allFilesFinished) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (const file of files) {\n\t\t\t\tvm.$emit(\"upload-progress\", file, file.upload.progress, file.upload.bytesSent)\n\t\t\t}\n\t\t}\n\t}\n\tupdateTotalUploadProgress(): void {\n\t\tconst progress = this.activeFiles.reduce(\n\t\t\t(memo, file) => {\n\t\t\t\tmemo.totalBytesSent += file.upload.bytesSent\n\t\t\t\tmemo.totalBytes += file.upload.total\n\t\t\t\treturn memo\n\t\t\t},\n\t\t\t{ totalBytesSent: 0, totalBytes: 0, totalProgress: 100 }\n\t\t)\n\n\t\tif (this.activeFiles.length) {\n\t\t\tprogress.totalProgress = 100 * progress.totalBytesSent / progress.totalBytes\n\t\t}\n\n\t\tthis.$emit(\"total-upload-progress\", progress)\n\t}\n\tgetParamName(index): string {\n\t\treturn this.paramName + (this.uploadMultiple ? `[${index}]` : \"\")\n\t}\n\tuploadFinished(files: VTransmitFile[], response: string | object | any[], e: Event): void {\n\t\tfor (const file of files) {\n\t\t\tfile.status = STATUSES.SUCCESS\n\t\t\tfile.endProgress()\n\t\t\tthis.$emit(\"success\", file, response, e)\n\t\t\tthis.$emit(\"complete\", file)\n\t\t}\n\n\t\tif (this.uploadMultiple) {\n\t\t\tthis.$emit(\"success-multiple\", files, response, e)\n\t\t\tthis.$emit(\"complete-multiple\", files)\n\t\t}\n\n\t\tif (this.autoProcessQueue) {\n\t\t\tthis.processQueue()\n\t\t}\n\t}\n\terrorProcessing(files: VTransmitFile[], message: string, xhr?: XMLHttpRequest) {\n\t\tfor (const file of files) {\n\t\t\tfile.status = STATUSES.ERROR\n\t\t\tfile.endProgress()\n\t\t\tthis.$emit(\"error\", file, message, xhr)\n\t\t\tthis.$emit(\"complete\", file)\n\t\t}\n\n\t\tif (this.uploadMultiple) {\n\t\t\tthis.$emit(\"error-multiple\", files, message, xhr)\n\t\t\tthis.$emit(\"complete-multiple\", files)\n\t\t}\n\n\t\tif (this.autoProcessQueue) {\n\t\t\treturn this.processQueue()\n\t\t}\n\t}\n\tacceptFile(file: VTransmitFile, done: Function): void {\n\t\tif (file.size > this.maxFileSize * 1024 * 1024) {\n\t\t\tdone(\n\t\t\t\tthis.dictFileTooBig.replace(\n\t\t\t\t\thbsRegex,\n\t\t\t\t\thbsReplacer({\n\t\t\t\t\t\tfileSize: Math.round(file.size / 1024 / 10.24) / 100,\n\t\t\t\t\t\tmaxFileSize: this.maxFileSize,\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t\t)\n\t\t} else if (!this.isValidFileType(file, this.acceptedFileTypes)) {\n\t\t\tdone(this.dictInvalidFileType)\n\t\t} else if (this.maxFiles != null && this.acceptedFiles.length >= this.maxFiles) {\n\t\t\tdone(this.dictMaxFilesExceeded.replace(hbsRegex, hbsReplacer({ maxFiles: this.maxFiles })))\n\t\t\tthis.$emit(\"max-files-exceeded\", file)\n\t\t} else {\n\t\t\t// Call the prop callback for the client to validate.\n\t\t\tthis.accept(file, done)\n\t\t}\n\t}\n\tisValidFileType(file: VTransmitFile, acceptedFileTypes: string[]): boolean {\n\t\tif (!acceptedFileTypes.length) {\n\t\t\treturn true\n\t\t}\n\t\tconst mimeType = file.type\n\t\tconst baseMimeType = mimeType.replace(/\\/.*$/, \"\")\n\t\t// Return true on the first condition match,\n\t\t// otherwise exhaust all conditions and return false.\n\t\tfor (let i = 0; i < acceptedFileTypes.length; i++) {\n\t\t\tconst validType = acceptedFileTypes[i]\n\t\t\tif (validType.charAt(0) === \".\") {\n\t\t\t\t// Handle extension validation\n\t\t\t\t// Ensure extension exists at the end of the filename.\n\t\t\t\tif (file.name.toLowerCase().indexOf(validType.toLowerCase(), file.name.length - validType.length) !== -1) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t} else if (/\\/\\*$/.test(validType)) {\n\t\t\t\t// Handle globbed mimetype validation (\"image/*\")\n\t\t\t\tif (baseMimeType === validType.replace(/\\/.*$/, \"\")) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (mimeType === validType) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn false\n\t}\n\thandleDragStart(e: DragEvent): void {\n\t\tthis.$emit(\"drag-start\", e)\n\t}\n\thandleDragOver(e: DragEvent): void {\n\t\tthis.dragging = true\n\t\tlet effect\n\t\ttry {\n\t\t\t// Handle browser bug\n\t\t\teffect = e.dataTransfer.effectAllowed\n\t\t} catch (error) {}\n\t\te.dataTransfer.dropEffect = effect === \"move\" || effect === \"linkMove\" ? \"move\" : \"copy\"\n\t\tthis.$emit(\"drag-over\", e)\n\t}\n\thandleDragEnter(e: DragEvent): void {\n\t\tthis.dragging = true\n\t\tthis.$emit(\"drag-enter\", e)\n\t}\n\thandleDragLeave(e: DragEvent): void {\n\t\tthis.dragging = false\n\t\tthis.$emit(\"drag-leave\", e)\n\t}\n\thandleDragEnd(e: DragEvent): void {\n\t\tthis.dragging = false\n\t\tthis.$emit(\"drag-end\", e)\n\t}\n\thandleDrop(e: DragEvent): void {\n\t\tthis.dragging = false\n\t\tif (!e.dataTransfer) {\n\t\t\treturn\n\t\t}\n\t\tthis.$emit(\"drop\", e)\n\t\tconst files = Array.from(e.dataTransfer.files)\n\n\t\tthis.$emit(\"added-files\", files)\n\t\tif (files.length && e.dataTransfer.items) {\n\t\t\tconst items = Array.from(e.dataTransfer.items)\n\t\t\tif (items && items.length && items[0].webkitGetAsEntry) {\n\t\t\t\tthis.addFilesFromItems(items)\n\t\t\t} else {\n\t\t\t\tthis.handleFiles(files)\n\t\t\t}\n\t\t} else {\n\t\t\tthis.handleFiles(files)\n\t\t}\n\t}\n\tpaste(e: ClipboardEvent): void {\n\t\tif (!e || !e.clipboardData || !e.clipboardData.items) {\n\t\t\treturn\n\t\t}\n\t\tthis.$emit(\"paste\", e)\n\t\tconst items = Array.from(e.clipboardData.items)\n\t\tif (items.length) {\n\t\t\tthis.addFilesFromItems(items)\n\t\t}\n\t}\n\thandleFiles(files: File[]): VTransmitFile[] {\n\t\treturn files.map(this.addFile)\n\t}\n\taddFilesFromItems(items: DataTransferItem[]): void {\n\t\tfor (const item of items) {\n\t\t\t// Newer API on standards track\n\t\t\tif (item.getAsFile && item.kind == \"file\") {\n\t\t\t\tthis.addFile(item.getAsFile())\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t// Vendor prefixed experimental API\n\t\t\tif (item.webkitGetAsEntry) {\n\t\t\t\tconst entry: FileSystemEntry = item.webkitGetAsEntry()\n\n\t\t\t\tif (entry == null) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif (webkitIsFile(entry)) {\n\t\t\t\t\tentry.file(this.addFile as any, console.error)\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tif (webkitIsDir(entry)) {\n\t\t\t\t\tthis.addFilesFromDirectory(entry, entry.name)\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\taddFilesFromDirectory(directory: WebKitDirectoryEntry, path): void {\n\t\tdirectory.createReader().readEntries(\n\t\t\t((entries: FileSystemEntry[]) => {\n\t\t\t\tfor (const entry of entries) {\n\t\t\t\t\tif (entry == null) {\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t\tif (webkitIsDir(entry)) {\n\t\t\t\t\t\tthis.addFilesFromDirectory(entry, `${path}/${entry.name}`)\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t\tif (webkitIsFile(entry)) {\n\t\t\t\t\t\tentry.file(\n\t\t\t\t\t\t\t((file: File) => {\n\t\t\t\t\t\t\t\tif (this.ignoreHiddenFiles && /^\\./.test(file.name)) {\n\t\t\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t;(file as any).fullPath = `${path}/${file.name}`\n\t\t\t\t\t\t\t\tthis.addFile(file)\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tconsole.error\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}),\n\t\t\tconsole.error\n\t\t)\n\t}\n\n\tmounted() {\n\t\tthis.$on(\"upload-progress\", this.updateTotalUploadProgress)\n\t\tthis.$on(\"removed-file\", this.updateTotalUploadProgress)\n\t\tthis.$on(\"canceled\", file => this.$emit(\"complete\", file))\n\t\tthis.$on(\"complete\", file => {\n\t\t\tif (this.addedFiles.length === 0 && this.uploadingFiles.length === 0 && this.queuedFiles.length === 0) {\n\t\t\t\tsetTimeout(() => this.$emit(\"queue-complete\", file), 0)\n\t\t\t}\n\t\t})\n\n\t\tthis.$emit(\"initialize\", this)\n\t}\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/vue-loader/lib/selector.js?type=script&index=0!./src/components/VueTransmit.vue","import VTransmitFile from \"../classes/VTransmitFile\"\n\nexport const assign = Object.assign\nexport const defineProperty = Object.defineProperty\n\nlet idCounter = 0\nexport function uniqueId(prefix: string): string {\n\tvar id = ++idCounter\n\treturn prefix + id\n}\n\nexport function copyOwnAndInheritedProps(obj: object): object {\n\tlet newData = {}\n\tfor (let prop in obj) {\n\t\tif (typeof obj[prop] !== \"function\") {\n\t\t\tnewData[prop] = obj[prop]\n\t\t}\n\t}\n\treturn newData\n}\n\nexport type Rounding = \"round\" | \"ceil\" | \"floor\" | \"trunc\"\n\nexport function round(number: number, decimals: number = 2, roundStyle: Rounding = \"round\") {\n\tconst roundingFactor = Math.pow(10, decimals)\n\treturn Math[roundStyle](number * roundingFactor) / roundingFactor\n}\n\nexport function fromBytesToKbit(bytes: number): number {\n\treturn bytes / 125\n}\n\nexport function fromBytesToMbit(bytes: number): number {\n\treturn bytes / 125000\n}\n\nexport function toKbps(bytes: number, seconds: number): number {\n\treturn fromBytesToKbit(bytes) / seconds\n}\n\nexport function toMbps(bytes: number, seconds: number): number {\n\treturn fromBytesToMbit(bytes) / seconds\n}\n\nexport const hbsRegex = /{{\\s*?([a-zA-Z]+)\\s*?}}/g\nexport function hbsReplacer(context: object = {}) {\n\treturn function hbsReplacerFn(match: string, capture: string) {\n\t\treturn context[capture] !== undefined ? context[capture] : match\n\t}\n}\n\nexport function objFactory() {\n\treturn {}\n}\n\nexport function scaleH(ratio: number, width: number): number {\n\treturn width / ratio\n}\n\nexport function scaleW(ratio: number, height: number): number {\n\treturn height * ratio\n}\n\nexport function scaleDims(ratio: number, width?: number, height?: number): number[] {\n\treturn typeof width === \"number\" ? [width, scaleH(ratio, width)] : [scaleW(ratio, height), height]\n}\n\nexport interface IDrawImageArgs {\n\tsx: number\n\tsy: number\n\tsWidth: number\n\tsHeight: number\n\tdx: number\n\tdy: number\n\tdWidth: number\n\tdHeight: number\n}\n\nexport interface IDimensions {\n\twidth: number\n\theight: number\n}\n\nexport function resizeImg(file: VTransmitFile, dims: IDimensions): IDrawImageArgs {\n\t// Extract the object's primitive values so we don't mutate the input\n\tconst sRatio = file.width / file.height\n\tconst dRatio = dims.width / dims.height\n\tconst imgCoords = {\n\t\tsx: 0,\n\t\tsy: 0,\n\t\tsWidth: file.width,\n\t\tsHeight: file.height,\n\t\tdx: 0,\n\t\tdy: 0,\n\t\tdWidth: dims.width,\n\t\tdHeight: dims.height,\n\t}\n\n\tlet w, h\n\tif (dRatio > sRatio) {\n\t\t;[w, h] = scaleDims(dRatio, file.width)\n\t} else {\n\t\t;[w, h] = scaleDims(dRatio, undefined, file.height)\n\t}\n\n\tif (w < file.width) {\n\t\timgCoords.sx = (file.width - w) / 2\n\t\timgCoords.sWidth = w\n\t}\n\tif (h < file.height) {\n\t\timgCoords.sy = (file.height - h) / 2\n\t\timgCoords.sHeight = h\n\t}\n\n\treturn imgCoords\n}\n\nexport function webkitIsFile(entry: WebKitFileEntry | WebKitDirectoryEntry): entry is WebKitFileEntry {\n\treturn entry.isFile\n}\n\nexport function webkitIsDir(entry: WebKitFileEntry | WebKitDirectoryEntry): entry is WebKitDirectoryEntry {\n\treturn entry.isDirectory\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/core/utils.ts","import { VueTransmit } from \"./src\"\n\nexport default {\n\tinstall(Vue, _options) {\n\t\tVue.component(\"VueTransmit\", VueTransmit)\n\t},\n\tname: \"vue-transmit\",\n}\n\n\n\n// WEBPACK FOOTER //\n// ./index.ts","import VueTransmit from \"./components/VueTransmit.vue\"\n\nexport { VueTransmit }\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.ts","function injectStyle (ssrContext) {\n require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-61e675b9\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader!postcss-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./VueTransmit.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!vue-ts-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./VueTransmit.vue\"\nimport __vue_script__ from \"!!babel-loader!vue-ts-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./VueTransmit.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-61e675b9\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./VueTransmit.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/VueTransmit.vue\n// module id = 5\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/extract-text-webpack-plugin/dist/loader.js?{\"omit\":1,\"remove\":true}!./node_modules/vue-style-loader!./node_modules/css-loader!./node_modules/vue-loader/lib/style-compiler?{\"vue\":true,\"id\":\"data-v-61e675b9\",\"scoped\":false,\"hasInlineConfig\":false}!./node_modules/sass-loader/lib/loader.js!./node_modules/postcss-loader/lib?{\"sourceMap\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./src/components/VueTransmit.vue\n// module id = 6\n// module chunks = 0","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file.\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nmodule.exports = function normalizeComponent (\n rawScriptExports,\n compiledTemplate,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */\n) {\n var esModule\n var scriptExports = rawScriptExports = rawScriptExports || {}\n\n // ES6 modules interop\n var type = typeof rawScriptExports.default\n if (type === 'object' || type === 'function') {\n esModule = rawScriptExports\n scriptExports = rawScriptExports.default\n }\n\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (compiledTemplate) {\n options.render = compiledTemplate.render\n options.staticRenderFns = compiledTemplate.staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = injectStyles\n }\n\n if (hook) {\n var functional = options.functional\n var existing = functional\n ? options.render\n : options.beforeCreate\n\n if (!functional) {\n // inject component registration as beforeCreate hook\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n } else {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return existing(h, context)\n }\n }\n }\n\n return {\n esModule: esModule,\n exports: scriptExports,\n options: options\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/component-normalizer.js\n// module id = 7\n// module chunks = 0","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('vue'), require('vue-class-component'), require('reflect-metadata')) :\n\ttypeof define === 'function' && define.amd ? define(['exports', 'vue', 'vue-class-component', 'reflect-metadata'], factory) :\n\t(factory((global.VuePropertyDecorator = {}),global.Vue,global.VueClassComponent));\n}(this, (function (exports,vue,vueClassComponent) { 'use strict';\n\nvue = vue && vue.hasOwnProperty('default') ? vue['default'] : vue;\nvar vueClassComponent__default = 'default' in vueClassComponent ? vueClassComponent['default'] : vueClassComponent;\n\n/** vue-property-decorator verson 6.0.0 MIT LICENSE copyright 2017 kaorun343 */\n'use strict';\n/**\n * decorator of an inject\n * @param key key\n * @return PropertyDecorator\n */\nfunction Inject(key) {\n return vueClassComponent.createDecorator(function (componentOptions, k) {\n if (typeof componentOptions.inject === 'undefined') {\n componentOptions.inject = {};\n }\n if (!Array.isArray(componentOptions.inject)) {\n componentOptions.inject[k] = key || k;\n }\n });\n}\n/**\n * decorator of a provide\n * @param key key\n * @return PropertyDecorator | void\n */\nfunction Provide(key) {\n return vueClassComponent.createDecorator(function (componentOptions, k) {\n var provide = componentOptions.provide;\n if (typeof provide !== 'function' || !provide.managed) {\n var original_1 = componentOptions.provide;\n provide = componentOptions.provide = function () {\n var rv = Object.create((typeof original_1 === 'function' ? original_1.call(this) : original_1) || null);\n for (var i in provide.managed)\n rv[provide.managed[i]] = this[i];\n return rv;\n };\n provide.managed = {};\n }\n provide.managed[k] = key || k;\n });\n}\n/**\n * decorator of model\n * @param event event name\n * @return PropertyDecorator\n */\nfunction Model(event, options) {\n if (options === void 0) { options = {}; }\n return function (target, key) {\n if (!Array.isArray(options) && typeof options.type === 'undefined') {\n options.type = Reflect.getMetadata('design:type', target, key);\n }\n vueClassComponent.createDecorator(function (componentOptions, k) {\n (componentOptions.props || (componentOptions.props = {}))[k] = options;\n componentOptions.model = { prop: k, event: event || k };\n })(target, key);\n };\n}\n/**\n * decorator of a prop\n * @param options the options for the prop\n * @return PropertyDecorator | void\n */\nfunction Prop(options) {\n if (options === void 0) { options = {}; }\n return function (target, key) {\n if (!Array.isArray(options) && typeof options.type === 'undefined') {\n options.type = Reflect.getMetadata('design:type', target, key);\n }\n vueClassComponent.createDecorator(function (componentOptions, k) {\n (componentOptions.props || (componentOptions.props = {}))[k] = options;\n })(target, key);\n };\n}\n/**\n * decorator of a watch function\n * @param path the path or the expression to observe\n * @param WatchOption\n * @return MethodDecorator\n */\nfunction Watch(path, options) {\n if (options === void 0) { options = {}; }\n var _a = options.deep, deep = _a === void 0 ? false : _a, _b = options.immediate, immediate = _b === void 0 ? false : _b;\n return vueClassComponent.createDecorator(function (componentOptions, handler) {\n if (typeof componentOptions.watch !== 'object') {\n componentOptions.watch = Object.create(null);\n }\n componentOptions.watch[path] = { handler: handler, deep: deep, immediate: immediate };\n });\n}\n// Code copied from Vue/src/shared/util.js\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = function (str) { return str.replace(hyphenateRE, '-$1').toLowerCase(); };\n/**\n * decorator of an event-emitter function\n * @param event The name of the event\n * @return MethodDecorator\n */\nfunction Emit(event) {\n return function (target, key, descriptor) {\n key = hyphenate(key);\n var original = descriptor.value;\n descriptor.value = function emitter() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (original.apply(this, args) !== false)\n this.$emit.apply(this, [event || key].concat(args));\n };\n };\n}\n\nexports.Component = vueClassComponent__default;\nexports.Vue = vue;\nexports.Inject = Inject;\nexports.Provide = Provide;\nexports.Model = Model;\nexports.Prop = Prop;\nexports.Watch = Watch;\nexports.Emit = Emit;\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n})));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-property-decorator/lib/vue-property-decorator.umd.js\n// module id = 8\n// module chunks = 0","/**\n * vue-class-component v6.1.2\n * (c) 2015-2017 Evan You\n * @license MIT\n */\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar Vue = _interopDefault(require('vue'));\n\nvar hasProto = { __proto__: [] } instanceof Array;\nfunction createDecorator(factory) {\n return function (target, key, index) {\n var Ctor = typeof target === 'function'\n ? target\n : target.constructor;\n if (!Ctor.__decorators__) {\n Ctor.__decorators__ = [];\n }\n if (typeof index !== 'number') {\n index = undefined;\n }\n Ctor.__decorators__.push(function (options) { return factory(options, key, index); });\n };\n}\nfunction isPrimitive(value) {\n var type = typeof value;\n return value == null || (type !== \"object\" && type !== \"function\");\n}\nfunction warn(message) {\n if (typeof console !== 'undefined') {\n console.warn('[vue-class-component] ' + message);\n }\n}\n\nfunction collectDataFromConstructor(vm, Component) {\n var originalInit = Component.prototype._init;\n Component.prototype._init = function () {\n var _this = this;\n var keys = Object.getOwnPropertyNames(vm);\n if (vm.$options.props) {\n for (var key in vm.$options.props) {\n if (!vm.hasOwnProperty(key)) {\n keys.push(key);\n }\n }\n }\n keys.forEach(function (key) {\n if (key.charAt(0) !== '_') {\n Object.defineProperty(_this, key, {\n get: function () { return vm[key]; },\n set: function (value) { return vm[key] = value; },\n configurable: true\n });\n }\n });\n };\n var data = new Component();\n Component.prototype._init = originalInit;\n var plainData = {};\n Object.keys(data).forEach(function (key) {\n if (data[key] !== undefined) {\n plainData[key] = data[key];\n }\n });\n if (process.env.NODE_ENV !== 'production') {\n if (!(Component.prototype instanceof Vue) && Object.keys(plainData).length > 0) {\n warn('Component class must inherit Vue or its descendant class ' +\n 'when class property is used.');\n }\n }\n return plainData;\n}\n\nvar $internalHooks = [\n 'data',\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeDestroy',\n 'destroyed',\n 'beforeUpdate',\n 'updated',\n 'activated',\n 'deactivated',\n 'render',\n 'errorCaptured'\n];\nfunction componentFactory(Component, options) {\n if (options === void 0) { options = {}; }\n options.name = options.name || Component._componentTag || Component.name;\n var proto = Component.prototype;\n Object.getOwnPropertyNames(proto).forEach(function (key) {\n if (key === 'constructor') {\n return;\n }\n if ($internalHooks.indexOf(key) > -1) {\n options[key] = proto[key];\n return;\n }\n var descriptor = Object.getOwnPropertyDescriptor(proto, key);\n if (typeof descriptor.value === 'function') {\n (options.methods || (options.methods = {}))[key] = descriptor.value;\n }\n else if (descriptor.get || descriptor.set) {\n (options.computed || (options.computed = {}))[key] = {\n get: descriptor.get,\n set: descriptor.set\n };\n }\n });\n (options.mixins || (options.mixins = [])).push({\n data: function () {\n return collectDataFromConstructor(this, Component);\n }\n });\n var decorators = Component.__decorators__;\n if (decorators) {\n decorators.forEach(function (fn) { return fn(options); });\n delete Component.__decorators__;\n }\n var superProto = Object.getPrototypeOf(Component.prototype);\n var Super = superProto instanceof Vue\n ? superProto.constructor\n : Vue;\n var Extended = Super.extend(options);\n forwardStaticMembers(Extended, Component, Super);\n return Extended;\n}\nvar reservedPropertyNames = [\n 'cid',\n 'super',\n 'options',\n 'superOptions',\n 'extendOptions',\n 'sealedOptions',\n 'component',\n 'directive',\n 'filter'\n];\nfunction forwardStaticMembers(Extended, Original, Super) {\n Object.getOwnPropertyNames(Original).forEach(function (key) {\n if (key === 'prototype') {\n return;\n }\n var extendedDescriptor = Object.getOwnPropertyDescriptor(Extended, key);\n if (extendedDescriptor && !extendedDescriptor.configurable) {\n return;\n }\n var descriptor = Object.getOwnPropertyDescriptor(Original, key);\n if (!hasProto) {\n if (key === 'cid') {\n return;\n }\n var superDescriptor = Object.getOwnPropertyDescriptor(Super, key);\n if (!isPrimitive(descriptor.value)\n && superDescriptor\n && superDescriptor.value === descriptor.value) {\n return;\n }\n }\n if (process.env.NODE_ENV !== 'production'\n && reservedPropertyNames.indexOf(key) >= 0) {\n warn(\"Static property name '\" + key + \"' declared on class '\" + Original.name + \"' \" +\n 'conflicts with reserved property name of Vue internal. ' +\n 'It may cause unexpected behavior of the component. Consider renaming the property.');\n }\n Object.defineProperty(Extended, key, descriptor);\n });\n}\n\nfunction Component(options) {\n if (typeof options === 'function') {\n return componentFactory(options);\n }\n return function (Component) {\n return componentFactory(Component, options);\n };\n}\n(function (Component) {\n function registerHooks(keys) {\n $internalHooks.push.apply($internalHooks, keys);\n }\n Component.registerHooks = registerHooks;\n})(Component || (Component = {}));\nvar Component$1 = Component;\n\nexports['default'] = Component$1;\nexports.createDecorator = createDecorator;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-class-component/dist/vue-class-component.common.js\n// module id = 9\n// module chunks = 0","/*! *****************************************************************************\r\nCopyright (C) Microsoft. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\nvar Reflect;\r\n(function (Reflect) {\r\n \"use strict\";\r\n var hasOwn = Object.prototype.hasOwnProperty;\r\n // feature test for Symbol support\r\n var supportsSymbol = typeof Symbol === \"function\";\r\n var toPrimitiveSymbol = supportsSymbol && typeof Symbol.toPrimitive !== \"undefined\" ? Symbol.toPrimitive : \"@@toPrimitive\";\r\n var iteratorSymbol = supportsSymbol && typeof Symbol.iterator !== \"undefined\" ? Symbol.iterator : \"@@iterator\";\r\n var HashMap;\r\n (function (HashMap) {\r\n var supportsCreate = typeof Object.create === \"function\"; // feature test for Object.create support\r\n var supportsProto = { __proto__: [] } instanceof Array; // feature test for __proto__ support\r\n var downLevel = !supportsCreate && !supportsProto;\r\n // create an object in dictionary mode (a.k.a. \"slow\" mode in v8)\r\n HashMap.create = supportsCreate\r\n ? function () { return MakeDictionary(Object.create(null)); }\r\n : supportsProto\r\n ? function () { return MakeDictionary({ __proto__: null }); }\r\n : function () { return MakeDictionary({}); };\r\n HashMap.has = downLevel\r\n ? function (map, key) { return hasOwn.call(map, key); }\r\n : function (map, key) { return key in map; };\r\n HashMap.get = downLevel\r\n ? function (map, key) { return hasOwn.call(map, key) ? map[key] : undefined; }\r\n : function (map, key) { return map[key]; };\r\n })(HashMap || (HashMap = {}));\r\n // Load global or shim versions of Map, Set, and WeakMap\r\n var functionPrototype = Object.getPrototypeOf(Function);\r\n var usePolyfill = typeof process === \"object\" && process.env && process.env[\"REFLECT_METADATA_USE_MAP_POLYFILL\"] === \"true\";\r\n var _Map = !usePolyfill && typeof Map === \"function\" && typeof Map.prototype.entries === \"function\" ? Map : CreateMapPolyfill();\r\n var _Set = !usePolyfill && typeof Set === \"function\" && typeof Set.prototype.entries === \"function\" ? Set : CreateSetPolyfill();\r\n var _WeakMap = !usePolyfill && typeof WeakMap === \"function\" ? WeakMap : CreateWeakMapPolyfill();\r\n // [[Metadata]] internal slot\r\n // https://rbuckton.github.io/reflect-metadata/#ordinary-object-internal-methods-and-internal-slots\r\n var Metadata = new _WeakMap();\r\n /**\r\n * Applies a set of decorators to a property of a target object.\r\n * @param decorators An array of decorators.\r\n * @param target The target object.\r\n * @param propertyKey (Optional) The property key to decorate.\r\n * @param attributes (Optional) The property descriptor for the target key.\r\n * @remarks Decorators are applied in reverse order.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * Example = Reflect.decorate(decoratorsArray, Example);\r\n *\r\n * // property (on constructor)\r\n * Reflect.decorate(decoratorsArray, Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * Reflect.decorate(decoratorsArray, Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * Object.defineProperty(Example, \"staticMethod\",\r\n * Reflect.decorate(decoratorsArray, Example, \"staticMethod\",\r\n * Object.getOwnPropertyDescriptor(Example, \"staticMethod\")));\r\n *\r\n * // method (on prototype)\r\n * Object.defineProperty(Example.prototype, \"method\",\r\n * Reflect.decorate(decoratorsArray, Example.prototype, \"method\",\r\n * Object.getOwnPropertyDescriptor(Example.prototype, \"method\")));\r\n *\r\n */\r\n function decorate(decorators, target, propertyKey, attributes) {\r\n if (!IsUndefined(propertyKey)) {\r\n if (!IsArray(decorators))\r\n throw new TypeError();\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsObject(attributes) && !IsUndefined(attributes) && !IsNull(attributes))\r\n throw new TypeError();\r\n if (IsNull(attributes))\r\n attributes = undefined;\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return DecorateProperty(decorators, target, propertyKey, attributes);\r\n }\r\n else {\r\n if (!IsArray(decorators))\r\n throw new TypeError();\r\n if (!IsConstructor(target))\r\n throw new TypeError();\r\n return DecorateConstructor(decorators, target);\r\n }\r\n }\r\n Reflect.decorate = decorate;\r\n // 4.1.2 Reflect.metadata(metadataKey, metadataValue)\r\n // https://rbuckton.github.io/reflect-metadata/#reflect.metadata\r\n /**\r\n * A default metadata decorator factory that can be used on a class, class member, or parameter.\r\n * @param metadataKey The key for the metadata entry.\r\n * @param metadataValue The value for the metadata entry.\r\n * @returns A decorator function.\r\n * @remarks\r\n * If `metadataKey` is already defined for the target and target key, the\r\n * metadataValue for that key will be overwritten.\r\n * @example\r\n *\r\n * // constructor\r\n * @Reflect.metadata(key, value)\r\n * class Example {\r\n * }\r\n *\r\n * // property (on constructor, TypeScript only)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * static staticProperty;\r\n * }\r\n *\r\n * // property (on prototype, TypeScript only)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * property;\r\n * }\r\n *\r\n * // method (on constructor)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * static staticMethod() { }\r\n * }\r\n *\r\n * // method (on prototype)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * method() { }\r\n * }\r\n *\r\n */\r\n function metadata(metadataKey, metadataValue) {\r\n function decorator(target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey) && !IsPropertyKey(propertyKey))\r\n throw new TypeError();\r\n OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey);\r\n }\r\n return decorator;\r\n }\r\n Reflect.metadata = metadata;\r\n /**\r\n * Define a unique metadata entry on the target.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param metadataValue A value that contains attached metadata.\r\n * @param target The target object on which to define metadata.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example);\r\n *\r\n * // property (on constructor)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example.prototype, \"method\");\r\n *\r\n * // decorator factory as metadata-producing annotation.\r\n * function MyAnnotation(options): Decorator {\r\n * return (target, key?) => Reflect.defineMetadata(\"custom:annotation\", options, target, key);\r\n * }\r\n *\r\n */\r\n function defineMetadata(metadataKey, metadataValue, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey);\r\n }\r\n Reflect.defineMetadata = defineMetadata;\r\n /**\r\n * Gets a value indicating whether the target object or its prototype chain has the provided metadata key defined.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns `true` if the metadata key was defined on the target object or its prototype chain; otherwise, `false`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function hasMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryHasMetadata(metadataKey, target, propertyKey);\r\n }\r\n Reflect.hasMetadata = hasMetadata;\r\n /**\r\n * Gets a value indicating whether the target object has the provided metadata key defined.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns `true` if the metadata key was defined on the target object; otherwise, `false`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function hasOwnMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryHasOwnMetadata(metadataKey, target, propertyKey);\r\n }\r\n Reflect.hasOwnMetadata = hasOwnMetadata;\r\n /**\r\n * Gets the metadata value for the provided metadata key on the target object or its prototype chain.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns The metadata value for the metadata key if found; otherwise, `undefined`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function getMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryGetMetadata(metadataKey, target, propertyKey);\r\n }\r\n Reflect.getMetadata = getMetadata;\r\n /**\r\n * Gets the metadata value for the provided metadata key on the target object.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns The metadata value for the metadata key if found; otherwise, `undefined`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function getOwnMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryGetOwnMetadata(metadataKey, target, propertyKey);\r\n }\r\n Reflect.getOwnMetadata = getOwnMetadata;\r\n /**\r\n * Gets the metadata keys defined on the target object or its prototype chain.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns An array of unique metadata keys.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getMetadataKeys(Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getMetadataKeys(Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getMetadataKeys(Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getMetadataKeys(Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getMetadataKeys(Example.prototype, \"method\");\r\n *\r\n */\r\n function getMetadataKeys(target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryMetadataKeys(target, propertyKey);\r\n }\r\n Reflect.getMetadataKeys = getMetadataKeys;\r\n /**\r\n * Gets the unique metadata keys defined on the target object.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns An array of unique metadata keys.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getOwnMetadataKeys(Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getOwnMetadataKeys(Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getOwnMetadataKeys(Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getOwnMetadataKeys(Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getOwnMetadataKeys(Example.prototype, \"method\");\r\n *\r\n */\r\n function getOwnMetadataKeys(target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryOwnMetadataKeys(target, propertyKey);\r\n }\r\n Reflect.getOwnMetadataKeys = getOwnMetadataKeys;\r\n /**\r\n * Deletes the metadata entry from the target object with the provided key.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns `true` if the metadata entry was found and deleted; otherwise, false.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function deleteMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n var metadataMap = GetOrCreateMetadataMap(target, propertyKey, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return false;\r\n if (!metadataMap.delete(metadataKey))\r\n return false;\r\n if (metadataMap.size > 0)\r\n return true;\r\n var targetMetadata = Metadata.get(target);\r\n targetMetadata.delete(propertyKey);\r\n if (targetMetadata.size > 0)\r\n return true;\r\n Metadata.delete(target);\r\n return true;\r\n }\r\n Reflect.deleteMetadata = deleteMetadata;\r\n function DecorateConstructor(decorators, target) {\r\n for (var i = decorators.length - 1; i >= 0; --i) {\r\n var decorator = decorators[i];\r\n var decorated = decorator(target);\r\n if (!IsUndefined(decorated) && !IsNull(decorated)) {\r\n if (!IsConstructor(decorated))\r\n throw new TypeError();\r\n target = decorated;\r\n }\r\n }\r\n return target;\r\n }\r\n function DecorateProperty(decorators, target, propertyKey, descriptor) {\r\n for (var i = decorators.length - 1; i >= 0; --i) {\r\n var decorator = decorators[i];\r\n var decorated = decorator(target, propertyKey, descriptor);\r\n if (!IsUndefined(decorated) && !IsNull(decorated)) {\r\n if (!IsObject(decorated))\r\n throw new TypeError();\r\n descriptor = decorated;\r\n }\r\n }\r\n return descriptor;\r\n }\r\n function GetOrCreateMetadataMap(O, P, Create) {\r\n var targetMetadata = Metadata.get(O);\r\n if (IsUndefined(targetMetadata)) {\r\n if (!Create)\r\n return undefined;\r\n targetMetadata = new _Map();\r\n Metadata.set(O, targetMetadata);\r\n }\r\n var metadataMap = targetMetadata.get(P);\r\n if (IsUndefined(metadataMap)) {\r\n if (!Create)\r\n return undefined;\r\n metadataMap = new _Map();\r\n targetMetadata.set(P, metadataMap);\r\n }\r\n return metadataMap;\r\n }\r\n // 3.1.1.1 OrdinaryHasMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinaryhasmetadata\r\n function OrdinaryHasMetadata(MetadataKey, O, P) {\r\n var hasOwn = OrdinaryHasOwnMetadata(MetadataKey, O, P);\r\n if (hasOwn)\r\n return true;\r\n var parent = OrdinaryGetPrototypeOf(O);\r\n if (!IsNull(parent))\r\n return OrdinaryHasMetadata(MetadataKey, parent, P);\r\n return false;\r\n }\r\n // 3.1.2.1 OrdinaryHasOwnMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinaryhasownmetadata\r\n function OrdinaryHasOwnMetadata(MetadataKey, O, P) {\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return false;\r\n return ToBoolean(metadataMap.has(MetadataKey));\r\n }\r\n // 3.1.3.1 OrdinaryGetMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarygetmetadata\r\n function OrdinaryGetMetadata(MetadataKey, O, P) {\r\n var hasOwn = OrdinaryHasOwnMetadata(MetadataKey, O, P);\r\n if (hasOwn)\r\n return OrdinaryGetOwnMetadata(MetadataKey, O, P);\r\n var parent = OrdinaryGetPrototypeOf(O);\r\n if (!IsNull(parent))\r\n return OrdinaryGetMetadata(MetadataKey, parent, P);\r\n return undefined;\r\n }\r\n // 3.1.4.1 OrdinaryGetOwnMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarygetownmetadata\r\n function OrdinaryGetOwnMetadata(MetadataKey, O, P) {\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return undefined;\r\n return metadataMap.get(MetadataKey);\r\n }\r\n // 3.1.5.1 OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarydefineownmetadata\r\n function OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P) {\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ true);\r\n metadataMap.set(MetadataKey, MetadataValue);\r\n }\r\n // 3.1.6.1 OrdinaryMetadataKeys(O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarymetadatakeys\r\n function OrdinaryMetadataKeys(O, P) {\r\n var ownKeys = OrdinaryOwnMetadataKeys(O, P);\r\n var parent = OrdinaryGetPrototypeOf(O);\r\n if (parent === null)\r\n return ownKeys;\r\n var parentKeys = OrdinaryMetadataKeys(parent, P);\r\n if (parentKeys.length <= 0)\r\n return ownKeys;\r\n if (ownKeys.length <= 0)\r\n return parentKeys;\r\n var set = new _Set();\r\n var keys = [];\r\n for (var _i = 0, ownKeys_1 = ownKeys; _i < ownKeys_1.length; _i++) {\r\n var key = ownKeys_1[_i];\r\n var hasKey = set.has(key);\r\n if (!hasKey) {\r\n set.add(key);\r\n keys.push(key);\r\n }\r\n }\r\n for (var _a = 0, parentKeys_1 = parentKeys; _a < parentKeys_1.length; _a++) {\r\n var key = parentKeys_1[_a];\r\n var hasKey = set.has(key);\r\n if (!hasKey) {\r\n set.add(key);\r\n keys.push(key);\r\n }\r\n }\r\n return keys;\r\n }\r\n // 3.1.7.1 OrdinaryOwnMetadataKeys(O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinaryownmetadatakeys\r\n function OrdinaryOwnMetadataKeys(O, P) {\r\n var keys = [];\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return keys;\r\n var keysObj = metadataMap.keys();\r\n var iterator = GetIterator(keysObj);\r\n var k = 0;\r\n while (true) {\r\n var next = IteratorStep(iterator);\r\n if (!next) {\r\n keys.length = k;\r\n return keys;\r\n }\r\n var nextValue = IteratorValue(next);\r\n try {\r\n keys[k] = nextValue;\r\n }\r\n catch (e) {\r\n try {\r\n IteratorClose(iterator);\r\n }\r\n finally {\r\n throw e;\r\n }\r\n }\r\n k++;\r\n }\r\n }\r\n // 6 ECMAScript Data Typ0es and Values\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-data-types-and-values\r\n function Type(x) {\r\n if (x === null)\r\n return 1 /* Null */;\r\n switch (typeof x) {\r\n case \"undefined\": return 0 /* Undefined */;\r\n case \"boolean\": return 2 /* Boolean */;\r\n case \"string\": return 3 /* String */;\r\n case \"symbol\": return 4 /* Symbol */;\r\n case \"number\": return 5 /* Number */;\r\n case \"object\": return x === null ? 1 /* Null */ : 6 /* Object */;\r\n default: return 6 /* Object */;\r\n }\r\n }\r\n // 6.1.1 The Undefined Type\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-undefined-type\r\n function IsUndefined(x) {\r\n return x === undefined;\r\n }\r\n // 6.1.2 The Null Type\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-null-type\r\n function IsNull(x) {\r\n return x === null;\r\n }\r\n // 6.1.5 The Symbol Type\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-symbol-type\r\n function IsSymbol(x) {\r\n return typeof x === \"symbol\";\r\n }\r\n // 6.1.7 The Object Type\r\n // https://tc39.github.io/ecma262/#sec-object-type\r\n function IsObject(x) {\r\n return typeof x === \"object\" ? x !== null : typeof x === \"function\";\r\n }\r\n // 7.1 Type Conversion\r\n // https://tc39.github.io/ecma262/#sec-type-conversion\r\n // 7.1.1 ToPrimitive(input [, PreferredType])\r\n // https://tc39.github.io/ecma262/#sec-toprimitive\r\n function ToPrimitive(input, PreferredType) {\r\n switch (Type(input)) {\r\n case 0 /* Undefined */: return input;\r\n case 1 /* Null */: return input;\r\n case 2 /* Boolean */: return input;\r\n case 3 /* String */: return input;\r\n case 4 /* Symbol */: return input;\r\n case 5 /* Number */: return input;\r\n }\r\n var hint = PreferredType === 3 /* String */ ? \"string\" : PreferredType === 5 /* Number */ ? \"number\" : \"default\";\r\n var exoticToPrim = GetMethod(input, toPrimitiveSymbol);\r\n if (exoticToPrim !== undefined) {\r\n var result = exoticToPrim.call(input, hint);\r\n if (IsObject(result))\r\n throw new TypeError();\r\n return result;\r\n }\r\n return OrdinaryToPrimitive(input, hint === \"default\" ? \"number\" : hint);\r\n }\r\n // 7.1.1.1 OrdinaryToPrimitive(O, hint)\r\n // https://tc39.github.io/ecma262/#sec-ordinarytoprimitive\r\n function OrdinaryToPrimitive(O, hint) {\r\n if (hint === \"string\") {\r\n var toString_1 = O.toString;\r\n if (IsCallable(toString_1)) {\r\n var result = toString_1.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n var valueOf = O.valueOf;\r\n if (IsCallable(valueOf)) {\r\n var result = valueOf.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n }\r\n else {\r\n var valueOf = O.valueOf;\r\n if (IsCallable(valueOf)) {\r\n var result = valueOf.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n var toString_2 = O.toString;\r\n if (IsCallable(toString_2)) {\r\n var result = toString_2.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n }\r\n throw new TypeError();\r\n }\r\n // 7.1.2 ToBoolean(argument)\r\n // https://tc39.github.io/ecma262/2016/#sec-toboolean\r\n function ToBoolean(argument) {\r\n return !!argument;\r\n }\r\n // 7.1.12 ToString(argument)\r\n // https://tc39.github.io/ecma262/#sec-tostring\r\n function ToString(argument) {\r\n return \"\" + argument;\r\n }\r\n // 7.1.14 ToPropertyKey(argument)\r\n // https://tc39.github.io/ecma262/#sec-topropertykey\r\n function ToPropertyKey(argument) {\r\n var key = ToPrimitive(argument, 3 /* String */);\r\n if (IsSymbol(key))\r\n return key;\r\n return ToString(key);\r\n }\r\n // 7.2 Testing and Comparison Operations\r\n // https://tc39.github.io/ecma262/#sec-testing-and-comparison-operations\r\n // 7.2.2 IsArray(argument)\r\n // https://tc39.github.io/ecma262/#sec-isarray\r\n function IsArray(argument) {\r\n return Array.isArray\r\n ? Array.isArray(argument)\r\n : argument instanceof Object\r\n ? argument instanceof Array\r\n : Object.prototype.toString.call(argument) === \"[object Array]\";\r\n }\r\n // 7.2.3 IsCallable(argument)\r\n // https://tc39.github.io/ecma262/#sec-iscallable\r\n function IsCallable(argument) {\r\n // NOTE: This is an approximation as we cannot check for [[Call]] internal method.\r\n return typeof argument === \"function\";\r\n }\r\n // 7.2.4 IsConstructor(argument)\r\n // https://tc39.github.io/ecma262/#sec-isconstructor\r\n function IsConstructor(argument) {\r\n // NOTE: This is an approximation as we cannot check for [[Construct]] internal method.\r\n return typeof argument === \"function\";\r\n }\r\n // 7.2.7 IsPropertyKey(argument)\r\n // https://tc39.github.io/ecma262/#sec-ispropertykey\r\n function IsPropertyKey(argument) {\r\n switch (Type(argument)) {\r\n case 3 /* String */: return true;\r\n case 4 /* Symbol */: return true;\r\n default: return false;\r\n }\r\n }\r\n // 7.3 Operations on Objects\r\n // https://tc39.github.io/ecma262/#sec-operations-on-objects\r\n // 7.3.9 GetMethod(V, P)\r\n // https://tc39.github.io/ecma262/#sec-getmethod\r\n function GetMethod(V, P) {\r\n var func = V[P];\r\n if (func === undefined || func === null)\r\n return undefined;\r\n if (!IsCallable(func))\r\n throw new TypeError();\r\n return func;\r\n }\r\n // 7.4 Operations on Iterator Objects\r\n // https://tc39.github.io/ecma262/#sec-operations-on-iterator-objects\r\n function GetIterator(obj) {\r\n var method = GetMethod(obj, iteratorSymbol);\r\n if (!IsCallable(method))\r\n throw new TypeError(); // from Call\r\n var iterator = method.call(obj);\r\n if (!IsObject(iterator))\r\n throw new TypeError();\r\n return iterator;\r\n }\r\n // 7.4.4 IteratorValue(iterResult)\r\n // https://tc39.github.io/ecma262/2016/#sec-iteratorvalue\r\n function IteratorValue(iterResult) {\r\n return iterResult.value;\r\n }\r\n // 7.4.5 IteratorStep(iterator)\r\n // https://tc39.github.io/ecma262/#sec-iteratorstep\r\n function IteratorStep(iterator) {\r\n var result = iterator.next();\r\n return result.done ? false : result;\r\n }\r\n // 7.4.6 IteratorClose(iterator, completion)\r\n // https://tc39.github.io/ecma262/#sec-iteratorclose\r\n function IteratorClose(iterator) {\r\n var f = iterator[\"return\"];\r\n if (f)\r\n f.call(iterator);\r\n }\r\n // 9.1 Ordinary Object Internal Methods and Internal Slots\r\n // https://tc39.github.io/ecma262/#sec-ordinary-object-internal-methods-and-internal-slots\r\n // 9.1.1.1 OrdinaryGetPrototypeOf(O)\r\n // https://tc39.github.io/ecma262/#sec-ordinarygetprototypeof\r\n function OrdinaryGetPrototypeOf(O) {\r\n var proto = Object.getPrototypeOf(O);\r\n if (typeof O !== \"function\" || O === functionPrototype)\r\n return proto;\r\n // TypeScript doesn't set __proto__ in ES5, as it's non-standard.\r\n // Try to determine the superclass constructor. Compatible implementations\r\n // must either set __proto__ on a subclass constructor to the superclass constructor,\r\n // or ensure each class has a valid `constructor` property on its prototype that\r\n // points back to the constructor.\r\n // If this is not the same as Function.[[Prototype]], then this is definately inherited.\r\n // This is the case when in ES6 or when using __proto__ in a compatible browser.\r\n if (proto !== functionPrototype)\r\n return proto;\r\n // If the super prototype is Object.prototype, null, or undefined, then we cannot determine the heritage.\r\n var prototype = O.prototype;\r\n var prototypeProto = prototype && Object.getPrototypeOf(prototype);\r\n if (prototypeProto == null || prototypeProto === Object.prototype)\r\n return proto;\r\n // If the constructor was not a function, then we cannot determine the heritage.\r\n var constructor = prototypeProto.constructor;\r\n if (typeof constructor !== \"function\")\r\n return proto;\r\n // If we have some kind of self-reference, then we cannot determine the heritage.\r\n if (constructor === O)\r\n return proto;\r\n // we have a pretty good guess at the heritage.\r\n return constructor;\r\n }\r\n // naive Map shim\r\n function CreateMapPolyfill() {\r\n var cacheSentinel = {};\r\n var arraySentinel = [];\r\n var MapIterator = (function () {\r\n function MapIterator(keys, values, selector) {\r\n this._index = 0;\r\n this._keys = keys;\r\n this._values = values;\r\n this._selector = selector;\r\n }\r\n MapIterator.prototype[\"@@iterator\"] = function () { return this; };\r\n MapIterator.prototype[iteratorSymbol] = function () { return this; };\r\n MapIterator.prototype.next = function () {\r\n var index = this._index;\r\n if (index >= 0 && index < this._keys.length) {\r\n var result = this._selector(this._keys[index], this._values[index]);\r\n if (index + 1 >= this._keys.length) {\r\n this._index = -1;\r\n this._keys = arraySentinel;\r\n this._values = arraySentinel;\r\n }\r\n else {\r\n this._index++;\r\n }\r\n return { value: result, done: false };\r\n }\r\n return { value: undefined, done: true };\r\n };\r\n MapIterator.prototype.throw = function (error) {\r\n if (this._index >= 0) {\r\n this._index = -1;\r\n this._keys = arraySentinel;\r\n this._values = arraySentinel;\r\n }\r\n throw error;\r\n };\r\n MapIterator.prototype.return = function (value) {\r\n if (this._index >= 0) {\r\n this._index = -1;\r\n this._keys = arraySentinel;\r\n this._values = arraySentinel;\r\n }\r\n return { value: value, done: true };\r\n };\r\n return MapIterator;\r\n }());\r\n return (function () {\r\n function Map() {\r\n this._keys = [];\r\n this._values = [];\r\n this._cacheKey = cacheSentinel;\r\n this._cacheIndex = -2;\r\n }\r\n Object.defineProperty(Map.prototype, \"size\", {\r\n get: function () { return this._keys.length; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Map.prototype.has = function (key) { return this._find(key, /*insert*/ false) >= 0; };\r\n Map.prototype.get = function (key) {\r\n var index = this._find(key, /*insert*/ false);\r\n return index >= 0 ? this._values[index] : undefined;\r\n };\r\n Map.prototype.set = function (key, value) {\r\n var index = this._find(key, /*insert*/ true);\r\n this._values[index] = value;\r\n return this;\r\n };\r\n Map.prototype.delete = function (key) {\r\n var index = this._find(key, /*insert*/ false);\r\n if (index >= 0) {\r\n var size = this._keys.length;\r\n for (var i = index + 1; i < size; i++) {\r\n this._keys[i - 1] = this._keys[i];\r\n this._values[i - 1] = this._values[i];\r\n }\r\n this._keys.length--;\r\n this._values.length--;\r\n if (key === this._cacheKey) {\r\n this._cacheKey = cacheSentinel;\r\n this._cacheIndex = -2;\r\n }\r\n return true;\r\n }\r\n return false;\r\n };\r\n Map.prototype.clear = function () {\r\n this._keys.length = 0;\r\n this._values.length = 0;\r\n this._cacheKey = cacheSentinel;\r\n this._cacheIndex = -2;\r\n };\r\n Map.prototype.keys = function () { return new MapIterator(this._keys, this._values, getKey); };\r\n Map.prototype.values = function () { return new MapIterator(this._keys, this._values, getValue); };\r\n Map.prototype.entries = function () { return new MapIterator(this._keys, this._values, getEntry); };\r\n Map.prototype[\"@@iterator\"] = function () { return this.entries(); };\r\n Map.prototype[iteratorSymbol] = function () { return this.entries(); };\r\n Map.prototype._find = function (key, insert) {\r\n if (this._cacheKey !== key) {\r\n this._cacheIndex = this._keys.indexOf(this._cacheKey = key);\r\n }\r\n if (this._cacheIndex < 0 && insert) {\r\n this._cacheIndex = this._keys.length;\r\n this._keys.push(key);\r\n this._values.push(undefined);\r\n }\r\n return this._cacheIndex;\r\n };\r\n return Map;\r\n }());\r\n function getKey(key, _) {\r\n return key;\r\n }\r\n function getValue(_, value) {\r\n return value;\r\n }\r\n function getEntry(key, value) {\r\n return [key, value];\r\n }\r\n }\r\n // naive Set shim\r\n function CreateSetPolyfill() {\r\n return (function () {\r\n function Set() {\r\n this._map = new _Map();\r\n }\r\n Object.defineProperty(Set.prototype, \"size\", {\r\n get: function () { return this._map.size; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Set.prototype.has = function (value) { return this._map.has(value); };\r\n Set.prototype.add = function (value) { return this._map.set(value, value), this; };\r\n Set.prototype.delete = function (value) { return this._map.delete(value); };\r\n Set.prototype.clear = function () { this._map.clear(); };\r\n Set.prototype.keys = function () { return this._map.keys(); };\r\n Set.prototype.values = function () { return this._map.values(); };\r\n Set.prototype.entries = function () { return this._map.entries(); };\r\n Set.prototype[\"@@iterator\"] = function () { return this.keys(); };\r\n Set.prototype[iteratorSymbol] = function () { return this.keys(); };\r\n return Set;\r\n }());\r\n }\r\n // naive WeakMap shim\r\n function CreateWeakMapPolyfill() {\r\n var UUID_SIZE = 16;\r\n var keys = HashMap.create();\r\n var rootKey = CreateUniqueKey();\r\n return (function () {\r\n function WeakMap() {\r\n this._key = CreateUniqueKey();\r\n }\r\n WeakMap.prototype.has = function (target) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ false);\r\n return table !== undefined ? HashMap.has(table, this._key) : false;\r\n };\r\n WeakMap.prototype.get = function (target) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ false);\r\n return table !== undefined ? HashMap.get(table, this._key) : undefined;\r\n };\r\n WeakMap.prototype.set = function (target, value) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ true);\r\n table[this._key] = value;\r\n return this;\r\n };\r\n WeakMap.prototype.delete = function (target) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ false);\r\n return table !== undefined ? delete table[this._key] : false;\r\n };\r\n WeakMap.prototype.clear = function () {\r\n // NOTE: not a real clear, just makes the previous data unreachable\r\n this._key = CreateUniqueKey();\r\n };\r\n return WeakMap;\r\n }());\r\n function CreateUniqueKey() {\r\n var key;\r\n do\r\n key = \"@@WeakMap@@\" + CreateUUID();\r\n while (HashMap.has(keys, key));\r\n keys[key] = true;\r\n return key;\r\n }\r\n function GetOrCreateWeakMapTable(target, create) {\r\n if (!hasOwn.call(target, rootKey)) {\r\n if (!create)\r\n return undefined;\r\n Object.defineProperty(target, rootKey, { value: HashMap.create() });\r\n }\r\n return target[rootKey];\r\n }\r\n function FillRandomBytes(buffer, size) {\r\n for (var i = 0; i < size; ++i)\r\n buffer[i] = Math.random() * 0xff | 0;\r\n return buffer;\r\n }\r\n function GenRandomBytes(size) {\r\n if (typeof Uint8Array === \"function\") {\r\n if (typeof crypto !== \"undefined\")\r\n return crypto.getRandomValues(new Uint8Array(size));\r\n if (typeof msCrypto !== \"undefined\")\r\n return msCrypto.getRandomValues(new Uint8Array(size));\r\n return FillRandomBytes(new Uint8Array(size), size);\r\n }\r\n return FillRandomBytes(new Array(size), size);\r\n }\r\n function CreateUUID() {\r\n var data = GenRandomBytes(UUID_SIZE);\r\n // mark as random - RFC 4122 ยง 4.4\r\n data[6] = data[6] & 0x4f | 0x40;\r\n data[8] = data[8] & 0xbf | 0x80;\r\n var result = \"\";\r\n for (var offset = 0; offset < UUID_SIZE; ++offset) {\r\n var byte = data[offset];\r\n if (offset === 4 || offset === 6 || offset === 8)\r\n result += \"-\";\r\n if (byte < 16)\r\n result += \"0\";\r\n result += byte.toString(16).toLowerCase();\r\n }\r\n return result;\r\n }\r\n }\r\n // uses a heuristic used by v8 and chakra to force an object into dictionary mode.\r\n function MakeDictionary(obj) {\r\n obj.__ = undefined;\r\n delete obj.__;\r\n return obj;\r\n }\r\n // patch global Reflect\r\n (function (__global) {\r\n if (typeof __global.Reflect !== \"undefined\") {\r\n if (__global.Reflect !== Reflect) {\r\n for (var p in Reflect) {\r\n if (hasOwn.call(Reflect, p)) {\r\n __global.Reflect[p] = Reflect[p];\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n __global.Reflect = Reflect;\r\n }\r\n })(typeof global !== \"undefined\" ? global :\r\n typeof self !== \"undefined\" ? self :\r\n Function(\"return this;\")());\r\n})(Reflect || (Reflect = {}));\r\n//# sourceMappingURL=Reflect.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/reflect-metadata/Reflect.js\n// module id = 10\n// module chunks = 0","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/node-libs-browser/node_modules/process/browser.js\n// module id = 11\n// module chunks = 0","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 12\n// module chunks = 0","/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nexport default noop;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/lodash-es/noop.js","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nexport default identity;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/lodash-es/identity.js","import { assign, defineProperty, copyOwnAndInheritedProps, uniqueId, round, toKbps, toMbps } from \"../core/utils\"\n\nexport interface IUploadStats {\n\tbytesSent: number\n\tprogress: number\n\ttotal: number\n\tspeed: ISpeedStats\n\tstart: number\n\tend: number\n\ttime: number\n}\n\nexport interface ISpeedStats {\n\tkbps: number\n\tmbps: number\n}\n\nclass VTransmitFile {\n\tprivate _nativeFile: File = null\n\tid: string = VTransmitFile.idFactory()\n\taccepted: boolean = undefined // Passed all validation.\n\tlastModified: number = undefined\n\tlastModifiedDate: Date = undefined\n\tname: string = undefined\n\tprocessing: boolean = undefined\n\tsize: number = undefined\n\tstatus: string = undefined\n\ttype: string = undefined\n\tupload: IUploadStats = {\n\t\tbytesSent: 0,\n\t\tprogress: 0,\n\t\ttotal: 0,\n\t\tspeed: {\n\t\t\tkbps: undefined,\n\t\t\tmbps: undefined,\n\t\t},\n\t\tstart: undefined,\n\t\tend: undefined,\n\t\ttime: undefined,\n\t}\n\twebkitRelativePath: USVString = undefined\n\twidth: number = undefined\n\theight: number = undefined\n\txhr: XMLHttpRequest = undefined\n\tprivate _dataUrl: string\n\terrorMessage: string = undefined\n\n\tconstructor(...data: object[]) {\n\t\tassign(this, ...data)\n\t}\n\n\tset(...data: object[]): VTransmitFile {\n\t\tassign(this, ...data)\n\t\treturn this\n\t}\n\n\tcopyNativeFile(file: File): VTransmitFile {\n\t\t// save reference for upload\n\t\tthis.nativeFile = file\n\t\t// Copy props to normal object for Vue reactivity.\n\t\t// Vue cannot define reactive properties on native file's readonly props.\n\t\treturn this.set(copyOwnAndInheritedProps(file))\n\t}\n\n\tcopyOwnAndInheritedProps(...data: object[]): VTransmitFile {\n\t\treturn this.set(...data.map(copyOwnAndInheritedProps))\n\t}\n\n\thandleProgress(e: ProgressEvent): void {\n\t\tthis.startProgress()\n\t\tconst total = e.total || this.upload.total\n\t\tthis.upload.progress = Math.min(100, 100 * e.loaded / total)\n\t\tthis.upload.bytesSent = e.loaded\n\t\tthis.upload.total = total\n\t\tthis.upload.time = (Date.now() - this.upload.start) / 1000\n\t\t// Recalc the upload speed in bytes/sec\n\t\tthis.upload.speed.kbps = round(toKbps(this.upload.bytesSent, this.upload.time))\n\t\tthis.upload.speed.mbps = round(toMbps(this.upload.bytesSent, this.upload.time))\n\t\tif (this.upload.progress === 100) {\n\t\t\tthis.endProgress()\n\t\t}\n\t}\n\n\tstartProgress(): VTransmitFile {\n\t\t// Avoid starting twice\n\t\tif (typeof this.upload.start !== \"number\") {\n\t\t\tthis.upload.start = Date.now()\n\t\t}\n\t\treturn this\n\t}\n\n\tendProgress(): VTransmitFile {\n\t\t// Avoid ending twice\n\t\tif (typeof this.upload.end !== \"number\") {\n\t\t\tthis.upload.end = Date.now()\n\t\t\tthis.upload.time = (Date.now() - this.upload.start) / 1000\n\t\t}\n\t\treturn this\n\t}\n\n\tget nativeFile() {\n\t\treturn this._nativeFile\n\t}\n\n\tset nativeFile(file: File) {\n\t\tif (!(file instanceof File)) {\n\t\t\tthrow new TypeError(`[${VTransmitFile.name}] Expected an instance of File (native).`)\n\t\t}\n\t\tthis._nativeFile = file\n\t\tthis.upload.total = file.size\n\t}\n\n\tget dataUrl() {\n\t\treturn this._dataUrl || \"\"\n\t}\n\n\tset dataUrl(value) {\n\t\tdefineProperty(this, \"_dataUrl\", {\n\t\t\tvalue,\n\t\t\tenumerable: false,\n\t\t\tconfigurable: true,\n\t\t\twritable: true,\n\t\t})\n\t}\n\n\tstatic fromNativeFile(file: File, ...data) {\n\t\tconst instance = new VTransmitFile(...data)\n\t\tinstance.copyNativeFile(file)\n\t\treturn instance\n\t}\n\n\tstatic idFactory() {\n\t\treturn uniqueId(\"v-transmit-file-\")\n\t}\n}\n\nexport default VTransmitFile\n\n\n\n// WEBPACK FOOTER //\n// ./src/classes/VTransmitFile.ts","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(_vm.tag,{tag:\"component\"},[_c('div',_vm._g(_vm._b({staticClass:\"v-transmit__upload-area\",class:[_vm.isDraggingClass, _vm.uploadAreaClasses],attrs:{\"draggable\":\"true\"},on:{\"click\":_vm.handleClickUploaderAction,\"dragstart\":_vm.handleDragStart,\"dragend\":_vm.handleDragEnd,\"dragenter\":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDragEnter($event)},\"dragover\":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDragOver($event)},\"dragleave\":_vm.handleDragLeave,\"drop\":function($event){$event.preventDefault();$event.stopPropagation();_vm.handleDrop($event)}}},'div',_vm.uploadAreaAttrs,false),_vm.uploadAreaListeners),[_vm._t(\"default\")],2),_vm._v(\" \"),_vm._t(\"files\",null,null,_vm.fileSlotBindings),_vm._v(\" \"),_c('form',{ref:\"uploadForm\",style:(_vm.formStyles)},[_c('input',{ref:\"hiddenFileInput\",class:[_vm.maxFilesReachedClass],attrs:{\"type\":\"file\",\"multiple\":_vm.multiple,\"accept\":_vm.filesToAccept,\"capture\":_vm.capture},on:{\"change\":_vm.onFileInputChange}})])],2)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-61e675b9\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/VueTransmit.vue\n// module id = 16\n// module chunks = 0"],"sourceRoot":""}
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index 0747aaa..074de65 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -92,9 +92,9 @@
"dev": true
},
"ajv": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.0.0.tgz",
- "integrity": "sha1-CTvsTZusjkUF5UGuEOthUCaGhMI=",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.0.1.tgz",
+ "integrity": "sha1-KJhYCp8971+chd/q16IiPvE889o=",
"dev": true,
"requires": {
"fast-deep-equal": "1.0.0",
@@ -347,13 +347,13 @@
"dev": true
},
"autoprefixer": {
- "version": "7.2.4",
- "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-7.2.4.tgz",
- "integrity": "sha512-am8jJ7Rbh1sy7FvLvNxxQScWvhv2FwLAS3bIhvrZpx9HbX5PEcc/7v6ecgpWuiu0Dwlj+p/z/1boHd8x60JFwA==",
+ "version": "7.2.5",
+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-7.2.5.tgz",
+ "integrity": "sha512-XqHfo8Ht0VU+T5P+eWEVoXza456KJ4l62BPewu3vpNf3LP9s2+zYXkXBznzYby4XeECXgG3N4i+hGvOhXErZmA==",
"dev": true,
"requires": {
- "browserslist": "2.11.0",
- "caniuse-lite": "1.0.30000789",
+ "browserslist": "2.11.1",
+ "caniuse-lite": "1.0.30000791",
"normalize-range": "0.1.2",
"num2fraction": "1.2.2",
"postcss": "6.0.16",
@@ -361,19 +361,19 @@
},
"dependencies": {
"browserslist": {
- "version": "2.11.0",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.11.0.tgz",
- "integrity": "sha512-mNYp0RNeu1xueGuJFSXkU+K0nH+dBE/gcjtyhtNKfU8hwdrVIfoA7i5iFSjOmzkGdL2QaO7YX9ExiVPE7AY9JA==",
+ "version": "2.11.1",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.11.1.tgz",
+ "integrity": "sha512-Gp4oJOQOby5TpOJJuUtCrGE0KSJOUYVa/I+/3eD/TRWEK8jqZuJPAK1t+VuG6jp0keudrqtxlH4MbYbmylun9g==",
"dev": true,
"requires": {
- "caniuse-lite": "1.0.30000789",
+ "caniuse-lite": "1.0.30000791",
"electron-to-chromium": "1.3.30"
}
},
"caniuse-lite": {
- "version": "1.0.30000789",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000789.tgz",
- "integrity": "sha1-Lj2TeyZxM/Y2Ne9/RB+sZjYPyIk=",
+ "version": "1.0.30000791",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000791.tgz",
+ "integrity": "sha1-jjV0Xv1IOj4ju301CZAybSMZ/BY=",
"dev": true
},
"electron-to-chromium": {
@@ -4973,7 +4973,6 @@
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.2.tgz",
"integrity": "sha512-Sn44E5wQW4bTHXvQmvSHwqbuiXtduD6Rrjm2ZtUEGbyrig+nUH3t/QD4M4/ZXViY556TBpRgZkHLDx3JxPwxiw==",
"dev": true,
- "optional": true,
"requires": {
"nan": "2.6.2",
"node-pre-gyp": "0.6.36"
@@ -4982,14 +4981,12 @@
"abbrev": {
"version": "1.1.0",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"ajv": {
"version": "4.11.8",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"co": "4.6.0",
"json-stable-stringify": "1.0.1"
@@ -5003,14 +5000,12 @@
"aproba": {
"version": "1.1.1",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"are-we-there-yet": {
"version": "1.1.4",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"delegates": "1.0.0",
"readable-stream": "2.2.9"
@@ -5019,32 +5014,27 @@
"asn1": {
"version": "0.2.3",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"assert-plus": {
"version": "0.2.0",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"asynckit": {
"version": "0.4.0",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"aws-sign2": {
"version": "0.6.0",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"aws4": {
"version": "1.6.0",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"balanced-match": {
"version": "0.4.2",
@@ -5093,14 +5083,12 @@
"caseless": {
"version": "0.12.0",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"co": {
"version": "4.6.0",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"code-point-at": {
"version": "1.1.0",
@@ -5134,7 +5122,6 @@
"version": "2.0.5",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"boom": "2.10.1"
}
@@ -5143,7 +5130,6 @@
"version": "1.14.1",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"assert-plus": "1.0.0"
},
@@ -5151,8 +5137,7 @@
"assert-plus": {
"version": "1.0.0",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
}
}
},
@@ -5160,7 +5145,6 @@
"version": "2.6.8",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"ms": "2.0.0"
}
@@ -5168,8 +5152,7 @@
"deep-extend": {
"version": "0.4.2",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"delayed-stream": {
"version": "1.0.0",
@@ -5179,8 +5162,7 @@
"delegates": {
"version": "1.0.0",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"ecc-jsbn": {
"version": "0.1.1",
@@ -5194,8 +5176,7 @@
"extend": {
"version": "3.0.1",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"extsprintf": {
"version": "1.0.2",
@@ -5205,14 +5186,12 @@
"forever-agent": {
"version": "0.6.1",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"form-data": {
"version": "2.1.4",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"asynckit": "0.4.0",
"combined-stream": "1.0.5",
@@ -5239,7 +5218,6 @@
"version": "1.0.5",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"fstream": "1.0.11",
"inherits": "2.0.3",
@@ -5250,7 +5228,6 @@
"version": "2.7.4",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"aproba": "1.1.1",
"console-control-strings": "1.1.0",
@@ -5266,7 +5243,6 @@
"version": "0.1.7",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"assert-plus": "1.0.0"
},
@@ -5274,8 +5250,7 @@
"assert-plus": {
"version": "1.0.0",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
}
}
},
@@ -5300,14 +5275,12 @@
"har-schema": {
"version": "1.0.5",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"har-validator": {
"version": "4.2.1",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"ajv": "4.11.8",
"har-schema": "1.0.5"
@@ -5316,14 +5289,12 @@
"has-unicode": {
"version": "2.0.1",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"hawk": {
"version": "3.1.3",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"boom": "2.10.1",
"cryptiles": "2.0.5",
@@ -5340,7 +5311,6 @@
"version": "1.1.1",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"assert-plus": "0.2.0",
"jsprim": "1.4.0",
@@ -5364,8 +5334,7 @@
"ini": {
"version": "1.3.4",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"is-fullwidth-code-point": {
"version": "1.0.0",
@@ -5378,8 +5347,7 @@
"is-typedarray": {
"version": "1.0.0",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"isarray": {
"version": "1.0.0",
@@ -5389,8 +5357,7 @@
"isstream": {
"version": "0.1.2",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"jodid25519": {
"version": "1.0.2",
@@ -5410,14 +5377,12 @@
"json-schema": {
"version": "0.2.3",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"json-stable-stringify": {
"version": "1.0.1",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"jsonify": "0.0.0"
}
@@ -5425,20 +5390,17 @@
"json-stringify-safe": {
"version": "5.0.1",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"jsonify": {
"version": "0.0.0",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"jsprim": {
"version": "1.4.0",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"assert-plus": "1.0.0",
"extsprintf": "1.0.2",
@@ -5449,8 +5411,7 @@
"assert-plus": {
"version": "1.0.0",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
}
}
},
@@ -5491,14 +5452,12 @@
"ms": {
"version": "2.0.0",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"node-pre-gyp": {
"version": "0.6.36",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"mkdirp": "0.5.1",
"nopt": "4.0.1",
@@ -5515,7 +5474,6 @@
"version": "4.0.1",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"abbrev": "1.1.0",
"osenv": "0.1.4"
@@ -5525,7 +5483,6 @@
"version": "4.1.0",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"are-we-there-yet": "1.1.4",
"console-control-strings": "1.1.0",
@@ -5541,14 +5498,12 @@
"oauth-sign": {
"version": "0.8.2",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"object-assign": {
"version": "4.1.1",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"once": {
"version": "1.4.0",
@@ -5561,20 +5516,17 @@
"os-homedir": {
"version": "1.0.2",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"os-tmpdir": {
"version": "1.0.2",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"osenv": {
"version": "0.1.4",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"os-homedir": "1.0.2",
"os-tmpdir": "1.0.2"
@@ -5588,8 +5540,7 @@
"performance-now": {
"version": "0.2.0",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"process-nextick-args": {
"version": "1.0.7",
@@ -5599,20 +5550,17 @@
"punycode": {
"version": "1.4.1",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"qs": {
"version": "6.4.0",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"rc": {
"version": "1.2.1",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"deep-extend": "0.4.2",
"ini": "1.3.4",
@@ -5623,8 +5571,7 @@
"minimist": {
"version": "1.2.0",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
}
}
},
@@ -5646,7 +5593,6 @@
"version": "2.81.0",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"aws-sign2": "0.6.0",
"aws4": "1.6.0",
@@ -5688,26 +5634,22 @@
"semver": {
"version": "5.3.0",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"set-blocking": {
"version": "2.0.0",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"signal-exit": {
"version": "3.0.2",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"sntp": {
"version": "1.0.9",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"hoek": "2.16.3"
}
@@ -5716,7 +5658,6 @@
"version": "1.13.0",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"asn1": "0.2.3",
"assert-plus": "1.0.0",
@@ -5732,8 +5673,7 @@
"assert-plus": {
"version": "1.0.0",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
}
}
},
@@ -5758,8 +5698,7 @@
"stringstream": {
"version": "0.0.5",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"strip-ansi": {
"version": "3.0.1",
@@ -5772,8 +5711,7 @@
"strip-json-comments": {
"version": "2.0.1",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"tar": {
"version": "2.2.1",
@@ -5789,7 +5727,6 @@
"version": "3.4.0",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"debug": "2.6.8",
"fstream": "1.0.11",
@@ -5805,7 +5742,6 @@
"version": "2.3.2",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"punycode": "1.4.1"
}
@@ -5814,7 +5750,6 @@
"version": "0.6.0",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"safe-buffer": "5.0.1"
}
@@ -5828,8 +5763,7 @@
"uid-number": {
"version": "0.0.6",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"util-deprecate": {
"version": "1.0.2",
@@ -5839,14 +5773,12 @@
"uuid": {
"version": "3.0.1",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"verror": {
"version": "1.3.6",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"extsprintf": "1.0.2"
}
@@ -5855,7 +5787,6 @@
"version": "1.1.2",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"string-width": "1.0.2"
}
diff --git a/package.json b/package.json
index 38c4c27..468a436 100644
--- a/package.json
+++ b/package.json
@@ -28,9 +28,9 @@
"lodash-es": "^4.17.4"
},
"devDependencies": {
- "ajv": "^6.0.0",
+ "ajv": "^6.0.1",
"ajv-keywords": "^3.0.0",
- "autoprefixer": "^7.2.4",
+ "autoprefixer": "^7.2.5",
"av-ts": "^0.9.2",
"awesome-typescript-loader": "^3.4.1",
"babel-cli": "^6.26.0",
diff --git a/src/components/VueTransmit.vue b/src/components/VueTransmit.vue
index 3f2b823..8618d20 100644
--- a/src/components/VueTransmit.vue
+++ b/src/components/VueTransmit.vue
@@ -16,14 +16,16 @@
-
+
@@ -245,7 +247,7 @@ export default class VueTransmit extends Vue {
dictInvalidFileType: string
// If the server response was invalid.
- @Prop({ type: String, default: "Server responded with {{ statusCode }} code." })
+ @Prop({ type: String, default: "Error during upload: {{ statusText }} [{{ statusCode }}]" })
dictResponseError: string
/**
@@ -276,7 +278,7 @@ export default class VueTransmit extends Vue {
"Cache-Control": "no-cache",
"X-Requested-With": "XMLHttpRequest",
}
- public fileInputStyles: object = {
+ public formStyles: object = {
visibility: "hidden !important",
position: "absolute !important",
top: "0 !important",
@@ -292,6 +294,13 @@ export default class VueTransmit extends Vue {
}
return el
}
+ get formEl(): HTMLFormElement {
+ let el = null
+ if (this.$refs.uploadForm instanceof HTMLFormElement) {
+ el = this.$refs.uploadForm
+ }
+ return el
+ }
get filesToAccept(): string {
return this.acceptedFileTypes.join(",")
}
@@ -360,6 +369,7 @@ export default class VueTransmit extends Vue {
}
onFileInputChange(): void {
this.$emit("added-files", Array.from(this.inputEl.files).map(this.addFile))
+ this.formEl.reset()
}
addFile(file: File): VTransmitFile {
const vTransmitFile = VTransmitFile.fromNativeFile(file)
@@ -640,7 +650,10 @@ export default class VueTransmit extends Vue {
const vm = this
return function onUploadErrorFn(): void {
if (files[0].status !== STATUSES.CANCELED) {
- const message = vm.dictResponseError.replace(hbsRegex, hbsReplacer({ statusCode: xhr.status }))
+ const message = vm.dictResponseError.replace(
+ hbsRegex,
+ hbsReplacer({ statusText: xhr.statusText, statusCode: xhr.status })
+ )
vm.errorProcessing(files, message, xhr)
}
}
diff --git a/test/index.php b/test/index.php
index aa08b85..7b0e913 100644
--- a/test/index.php
+++ b/test/index.php
@@ -108,6 +108,7 @@ class="my-2 my-sm-0"
upload-area-classes="vh-20"
drag-class="dragging"
v-bind="options"
+ @added-file="onAddedFile"
@success="onUploadSuccess"
@error="onError">
data() {
return {
options: {
- acceptedFileTypes: ['text/csv'],
+ acceptedFileTypes: ['image/*'],
url: './upload.php',
clickable: false,
accept: this.accept
@@ -189,7 +190,13 @@ class="ml-2 w-100">
methods: {
triggerBrowse() {
this.$refs.uploader.triggerBrowseFiles()
- },
+ },
+ onAddedFile(file) {
+ console.log(
+ this.$refs.uploader.inputEl.value,
+ this.$refs.uploader.inputEl.files
+ )
+ },
onUploadSuccess(file, res) {
console.log(res)
file.src = res.url
@@ -200,9 +207,8 @@ class="ml-2 w-100">
this.showModal = true
},
listen(event) {
- this.$refs.uploader.$on(event, function() {
- // console.log(event, ...arguments)
- console.log(event, Array.from(arguments).forEach(arg => JSON.stringify(arg, undefined, 2)))
+ this.$refs.uploader.$on(event, function(...args) {
+ console.log(event, ...args.map(arg => `${typeof arg}: ${JSON.stringify(arg, undefined, 2)}`))
})
},
accept(file, done) {
diff --git a/test/upload.php b/test/upload.php
index 5480b5a..d2b1105 100644
--- a/test/upload.php
+++ b/test/upload.php
@@ -1,81 +1,78 @@
pow(1024, 3) )
- {
- throw new RuntimeException( 'Exceeded filesize limit.' );
- }
+ // You should also check filesize here.
+ if ($_FILES['file']['size'] > (100 << 20)) {
+ throw new RuntimeException(
+ sprintf('Exceeded filesize limit (%d bytes -> limit %d).', $_FILES['file']['size'], 100 << 20)
+ );
+ }
- // DO NOT TRUST $_FILES['file']['mime'] VALUE !!
- // Check MIME Type by yourself.
- $finfo = new finfo( FILEINFO_MIME_TYPE );
- if ( TRUE === $ext = array_search(
- $finfo->file( $_FILES['file']['tmp_name'] ),
- [
- 'png' => 'image/png',
- 'gif' => 'image/gif',
- ],
- TRUE
- )
- )
- {
- throw new RuntimeException( 'Invalid file format.' );
- }
+ // DO NOT TRUST $_FILES['file']['mime'] VALUE !!
+ // Check MIME Type by yourself.
+ $finfo = new finfo(FILEINFO_MIME_TYPE);
+ if (true === $ext = array_search(
+ $finfo->file($_FILES['file']['tmp_name']),
+ [
+ 'png' => 'image/png',
+ 'gif' => 'image/gif',
+ ],
+ true
+ )
+ ) {
+ throw new RuntimeException('Invalid file format.');
+ }
- // You should name it uniquely.
- // DO NOT USE $_FILES['file']['name'] WITHOUT ANY VALIDATION !!
- // On this example, obtain safe unique name from its binary data.
- $path = sprintf( './uploads/%s.%s',
- sha1_file( $_FILES['file']['tmp_name'] ),
- $ext
- );
+ // You should name it uniquely.
+ // DO NOT USE $_FILES['file']['name'] WITHOUT ANY VALIDATION !!
+ // On this example, obtain safe unique name from its binary data.
+ $path = sprintf('./uploads/%s.%s',
+ sha1_file($_FILES['file']['tmp_name']),
+ $ext
+ );
- if (!file_exists('./uploads')) {
- mkdir('./uploads');
- }
+ if (!file_exists('./uploads')) {
+ mkdir('./uploads');
+ }
- if ( ! move_uploaded_file( $_FILES['file']['tmp_name'], $path ) )
- {
- throw new RuntimeException( 'Failed to move uploaded file.' );
- }
+ if (!move_uploaded_file($_FILES['file']['tmp_name'], $path)) {
+ throw new RuntimeException('Failed to move uploaded file.');
+ }
- echo json_encode([
- 'message' => 'File is uploaded successfully.',
- 'url' => $path,
- ]);
+ echo json_encode([
+ 'message' => 'File is uploaded successfully.',
+ 'url' => $path,
+ ]);
}
-catch ( RuntimeException $e )
-{
- http_response_code(400);
- echo json_encode([
- 'message' => $e->getMessage()
- ]);
+catch (RuntimeException $e) {
+ http_response_code(400);
+ echo json_encode([
+ 'message' => $e->getMessage(),
+ ]);
}