ng2-file-upload 1.1.4-2 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/bundles/ng2-file-upload.umd.js +1994 -1036
  2. package/bundles/ng2-file-upload.umd.js.map +1 -1
  3. package/bundles/ng2-file-upload.umd.min.js +2 -1
  4. package/bundles/ng2-file-upload.umd.min.js.map +1 -0
  5. package/esm2015/file-upload/file-drop.directive.js +139 -0
  6. package/esm2015/file-upload/file-item.class.js +268 -0
  7. package/esm2015/file-upload/file-like-object.class.js +60 -0
  8. package/esm2015/file-upload/file-select.directive.js +73 -0
  9. package/esm2015/file-upload/file-type.class.js +194 -0
  10. package/esm2015/file-upload/file-upload.module.js +18 -0
  11. package/esm2015/file-upload/file-uploader.class.js +845 -0
  12. package/esm2015/index.js +11 -0
  13. package/esm2015/ng2-file-upload.js +9 -0
  14. package/esm5/file-upload/file-drop.directive.js +171 -0
  15. package/esm5/file-upload/file-item.class.js +347 -0
  16. package/esm5/file-upload/file-like-object.class.js +67 -0
  17. package/esm5/file-upload/file-select.directive.js +84 -0
  18. package/esm5/file-upload/file-type.class.js +206 -0
  19. package/esm5/file-upload/file-upload.module.js +22 -0
  20. package/esm5/file-upload/file-uploader.class.js +1132 -0
  21. package/esm5/index.js +11 -0
  22. package/esm5/ng2-file-upload.js +9 -0
  23. package/fesm2015/ng2-file-upload.js +1599 -0
  24. package/fesm2015/ng2-file-upload.js.map +1 -0
  25. package/fesm5/ng2-file-upload.js +2020 -0
  26. package/fesm5/ng2-file-upload.js.map +1 -0
  27. package/file-upload/file-drop.directive.d.ts +6 -6
  28. package/file-upload/file-item.class.d.ts +3 -3
  29. package/file-upload/file-like-object.class.d.ts +1 -0
  30. package/file-upload/file-select.directive.d.ts +3 -2
  31. package/file-upload/file-type.class.d.ts +2 -1
  32. package/file-upload/file-uploader.class.d.ts +32 -24
  33. package/index.d.ts +2 -0
  34. package/ng2-file-upload.d.ts +4 -4
  35. package/ng2-file-upload.metadata.json +1 -1
  36. package/package.json +16 -25
  37. package/CHANGELOG.md +0 -91
  38. package/README.md +0 -64
  39. package/file-upload/file-drop.directive.js +0 -89
  40. package/file-upload/file-drop.directive.metadata.json +0 -1
  41. package/file-upload/file-item.class.js +0 -126
  42. package/file-upload/file-like-object.class.js +0 -27
  43. package/file-upload/file-select.directive.js +0 -40
  44. package/file-upload/file-select.directive.metadata.json +0 -1
  45. package/file-upload/file-type.class.js +0 -162
  46. package/file-upload/file-upload.module.js +0 -20
  47. package/file-upload/file-upload.module.metadata.json +0 -1
  48. package/file-upload/file-uploader.class.js +0 -398
  49. package/index.js +0 -9
  50. package/index.metadata.json +0 -1
  51. package/ng2-file-upload.js +0 -9
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ export { FileSelectDirective } from './file-upload/file-select.directive';
6
+ export { FileDropDirective } from './file-upload/file-drop.directive';
7
+ export { FileUploader } from './file-upload/file-uploader.class';
8
+ export { FileItem } from './file-upload/file-item.class';
9
+ export { FileLikeObject } from './file-upload/file-like-object.class';
10
+ export { FileUploadModule } from './file-upload/file-upload.module';
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZzItZmlsZS11cGxvYWQvIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsb0NBQWUscUNBQXFDLENBQUM7QUFDckQsa0NBQWUsbUNBQW1DLENBQUM7QUFDbkQsNkJBQWUsbUNBQW1DLENBQUM7QUFDbkQseUJBQWMsK0JBQStCLENBQUM7QUFDOUMsK0JBQWMsc0NBQXNDLENBQUM7QUFFckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICAnLi9maWxlLXVwbG9hZC9maWxlLXNlbGVjdC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAgJy4vZmlsZS11cGxvYWQvZmlsZS1kcm9wLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICAnLi9maWxlLXVwbG9hZC9maWxlLXVwbG9hZGVyLmNsYXNzJztcbmV4cG9ydCAqIGZyb20gJy4vZmlsZS11cGxvYWQvZmlsZS1pdGVtLmNsYXNzJztcbmV4cG9ydCAqIGZyb20gJy4vZmlsZS11cGxvYWQvZmlsZS1saWtlLW9iamVjdC5jbGFzcyc7XG5cbmV4cG9ydCB7IEZpbGVVcGxvYWRNb2R1bGUgfSBmcm9tICcuL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLm1vZHVsZSc7XG4iXX0=
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ /**
6
+ * Generated bundle index. Do not edit.
7
+ */
8
+ export { FileUploadModule, FileSelectDirective, FileDropDirective, FileUploader, FileItem, FileLikeObject } from './index';
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmcyLWZpbGUtdXBsb2FkLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmcyLWZpbGUtdXBsb2FkLyIsInNvdXJjZXMiOlsibmcyLWZpbGUtdXBsb2FkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSxpSEFBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
@@ -0,0 +1,171 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { Directive, EventEmitter, ElementRef, HostListener, Input, Output } from '@angular/core';
6
+ import { FileUploader } from './file-uploader.class';
7
+ var FileDropDirective = /** @class */ (function () {
8
+ function FileDropDirective(element) {
9
+ this.fileOver = new EventEmitter();
10
+ this.onFileDrop = new EventEmitter();
11
+ this.element = element;
12
+ }
13
+ /**
14
+ * @return {?}
15
+ */
16
+ FileDropDirective.prototype.getOptions = /**
17
+ * @return {?}
18
+ */
19
+ function () {
20
+ return this.uploader.options;
21
+ };
22
+ /**
23
+ * @return {?}
24
+ */
25
+ FileDropDirective.prototype.getFilters = /**
26
+ * @return {?}
27
+ */
28
+ function () {
29
+ return {};
30
+ };
31
+ /**
32
+ * @param {?} event
33
+ * @return {?}
34
+ */
35
+ FileDropDirective.prototype.onDrop = /**
36
+ * @param {?} event
37
+ * @return {?}
38
+ */
39
+ function (event) {
40
+ /** @type {?} */
41
+ var transfer = this._getTransfer(event);
42
+ if (!transfer) {
43
+ return;
44
+ }
45
+ /** @type {?} */
46
+ var options = this.getOptions();
47
+ /** @type {?} */
48
+ var filters = this.getFilters();
49
+ this._preventAndStop(event);
50
+ this.uploader.addToQueue(transfer.files, options, filters);
51
+ this.fileOver.emit(false);
52
+ this.onFileDrop.emit(transfer.files);
53
+ };
54
+ /**
55
+ * @param {?} event
56
+ * @return {?}
57
+ */
58
+ FileDropDirective.prototype.onDragOver = /**
59
+ * @param {?} event
60
+ * @return {?}
61
+ */
62
+ function (event) {
63
+ /** @type {?} */
64
+ var transfer = this._getTransfer(event);
65
+ if (!this._haveFiles(transfer.types)) {
66
+ return;
67
+ }
68
+ transfer.dropEffect = 'copy';
69
+ this._preventAndStop(event);
70
+ this.fileOver.emit(true);
71
+ };
72
+ /**
73
+ * @param {?} event
74
+ * @return {?}
75
+ */
76
+ FileDropDirective.prototype.onDragLeave = /**
77
+ * @param {?} event
78
+ * @return {?}
79
+ */
80
+ function (event) {
81
+ if (((/** @type {?} */ (this))).element) {
82
+ if (event.currentTarget === ((/** @type {?} */ (this))).element[0]) {
83
+ return;
84
+ }
85
+ }
86
+ this._preventAndStop(event);
87
+ this.fileOver.emit(false);
88
+ };
89
+ /**
90
+ * @protected
91
+ * @param {?} event
92
+ * @return {?}
93
+ */
94
+ FileDropDirective.prototype._getTransfer = /**
95
+ * @protected
96
+ * @param {?} event
97
+ * @return {?}
98
+ */
99
+ function (event) {
100
+ return event.dataTransfer ? event.dataTransfer : event.originalEvent.dataTransfer; // jQuery fix;
101
+ };
102
+ /**
103
+ * @protected
104
+ * @param {?} event
105
+ * @return {?}
106
+ */
107
+ FileDropDirective.prototype._preventAndStop = /**
108
+ * @protected
109
+ * @param {?} event
110
+ * @return {?}
111
+ */
112
+ function (event) {
113
+ event.preventDefault();
114
+ event.stopPropagation();
115
+ };
116
+ /**
117
+ * @protected
118
+ * @param {?} types
119
+ * @return {?}
120
+ */
121
+ FileDropDirective.prototype._haveFiles = /**
122
+ * @protected
123
+ * @param {?} types
124
+ * @return {?}
125
+ */
126
+ function (types) {
127
+ if (!types) {
128
+ return false;
129
+ }
130
+ if (types.indexOf) {
131
+ return types.indexOf('Files') !== -1;
132
+ }
133
+ else if (types.contains) {
134
+ return types.contains('Files');
135
+ }
136
+ else {
137
+ return false;
138
+ }
139
+ };
140
+ FileDropDirective.decorators = [
141
+ { type: Directive, args: [{ selector: '[ng2FileDrop]' },] }
142
+ ];
143
+ /** @nocollapse */
144
+ FileDropDirective.ctorParameters = function () { return [
145
+ { type: ElementRef }
146
+ ]; };
147
+ FileDropDirective.propDecorators = {
148
+ uploader: [{ type: Input }],
149
+ fileOver: [{ type: Output }],
150
+ onFileDrop: [{ type: Output }],
151
+ onDrop: [{ type: HostListener, args: ['drop', ['$event'],] }],
152
+ onDragOver: [{ type: HostListener, args: ['dragover', ['$event'],] }],
153
+ onDragLeave: [{ type: HostListener, args: ['dragleave', ['$event'],] }]
154
+ };
155
+ return FileDropDirective;
156
+ }());
157
+ export { FileDropDirective };
158
+ if (false) {
159
+ /** @type {?} */
160
+ FileDropDirective.prototype.uploader;
161
+ /** @type {?} */
162
+ FileDropDirective.prototype.fileOver;
163
+ /** @type {?} */
164
+ FileDropDirective.prototype.onFileDrop;
165
+ /**
166
+ * @type {?}
167
+ * @protected
168
+ */
169
+ FileDropDirective.prototype.element;
170
+ }
171
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1kcm9wLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nMi1maWxlLXVwbG9hZC8iLCJzb3VyY2VzIjpbImZpbGUtdXBsb2FkL2ZpbGUtZHJvcC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRyxPQUFPLEVBQUUsWUFBWSxFQUF1QixNQUFNLHVCQUF1QixDQUFDO0FBRTFFO0lBUUUsMkJBQW1CLE9BQW1CO1FBTHJCLGFBQVEsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqRCxlQUFVLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFLN0UsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDekIsQ0FBQzs7OztJQUVNLHNDQUFVOzs7SUFBakI7UUFDRSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO0lBQy9CLENBQUM7Ozs7SUFFTSxzQ0FBVTs7O0lBQWpCO1FBQ0UsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDOzs7OztJQUdNLGtDQUFNOzs7O0lBRGIsVUFDYyxLQUFVOztZQUNsQixRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFDdkMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNiLE9BQU87U0FDUjs7WUFFRyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRTs7WUFDM0IsT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUU7UUFDL0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkMsQ0FBQzs7Ozs7SUFHTSxzQ0FBVTs7OztJQURqQixVQUNrQixLQUFVOztZQUN0QixRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFDdkMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3BDLE9BQU87U0FDUjtRQUVELFFBQVEsQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDO1FBQzdCLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0IsQ0FBQzs7Ozs7SUFHTSx1Q0FBVzs7OztJQURsQixVQUNtQixLQUFVO1FBQzNCLElBQUksQ0FBQyxtQkFBQSxJQUFJLEVBQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRTtZQUN6QixJQUFJLEtBQUssQ0FBQyxhQUFhLEtBQUssQ0FBQyxtQkFBQSxJQUFJLEVBQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBRSxDQUFDLENBQUUsRUFBRTtnQkFDdEQsT0FBTzthQUNSO1NBQ0Y7UUFFRCxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7Ozs7OztJQUVTLHdDQUFZOzs7OztJQUF0QixVQUF1QixLQUFVO1FBQy9CLE9BQU8sS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxjQUFjO0lBQ25HLENBQUM7Ozs7OztJQUVTLDJDQUFlOzs7OztJQUF6QixVQUEwQixLQUFVO1FBQ2xDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDMUIsQ0FBQzs7Ozs7O0lBRVMsc0NBQVU7Ozs7O0lBQXBCLFVBQXFCLEtBQVU7UUFDN0IsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUU7WUFDakIsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQ3RDO2FBQU0sSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFO1lBQ3pCLE9BQU8sS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUNoQzthQUFNO1lBQ0wsT0FBTyxLQUFLLENBQUM7U0FDZDtJQUNILENBQUM7O2dCQWhGRixTQUFTLFNBQUMsRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFOzs7O2dCQUpOLFVBQVU7OzsyQkFNekMsS0FBSzsyQkFDTCxNQUFNOzZCQUNOLE1BQU07eUJBZ0JOLFlBQVksU0FBQyxNQUFNLEVBQUUsQ0FBRSxRQUFRLENBQUU7NkJBZWpDLFlBQVksU0FBQyxVQUFVLEVBQUUsQ0FBRSxRQUFRLENBQUU7OEJBWXJDLFlBQVksU0FBQyxXQUFXLEVBQUUsQ0FBRSxRQUFRLENBQUU7O0lBa0N6Qyx3QkFBQztDQUFBLEFBakZELElBaUZDO1NBaEZZLGlCQUFpQjs7O0lBQzVCLHFDQUF1Qzs7SUFDdkMscUNBQWtFOztJQUNsRSx1Q0FBK0U7Ozs7O0lBRS9FLG9DQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRmlsZVVwbG9hZGVyLCBGaWxlVXBsb2FkZXJPcHRpb25zIH0gZnJvbSAnLi9maWxlLXVwbG9hZGVyLmNsYXNzJztcblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW25nMkZpbGVEcm9wXScgfSlcbmV4cG9ydCBjbGFzcyBGaWxlRHJvcERpcmVjdGl2ZSB7XG4gIEBJbnB1dCgpIHB1YmxpYyB1cGxvYWRlcjogRmlsZVVwbG9hZGVyO1xuICBAT3V0cHV0KCkgcHVibGljIGZpbGVPdmVyOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBvbkZpbGVEcm9wOiBFdmVudEVtaXR0ZXI8RmlsZVtdPiA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZVtdPigpO1xuXG4gIHByb3RlY3RlZCBlbGVtZW50OiBFbGVtZW50UmVmO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihlbGVtZW50OiBFbGVtZW50UmVmKSB7XG4gICAgdGhpcy5lbGVtZW50ID0gZWxlbWVudDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRPcHRpb25zKCk6IEZpbGVVcGxvYWRlck9wdGlvbnMge1xuICAgIHJldHVybiB0aGlzLnVwbG9hZGVyLm9wdGlvbnM7XG4gIH1cblxuICBwdWJsaWMgZ2V0RmlsdGVycygpOiBhbnkge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2Ryb3AnLCBbICckZXZlbnQnIF0pXG4gIHB1YmxpYyBvbkRyb3AoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIGxldCB0cmFuc2ZlciA9IHRoaXMuX2dldFRyYW5zZmVyKGV2ZW50KTtcbiAgICBpZiAoIXRyYW5zZmVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IG9wdGlvbnMgPSB0aGlzLmdldE9wdGlvbnMoKTtcbiAgICBsZXQgZmlsdGVycyA9IHRoaXMuZ2V0RmlsdGVycygpO1xuICAgIHRoaXMuX3ByZXZlbnRBbmRTdG9wKGV2ZW50KTtcbiAgICB0aGlzLnVwbG9hZGVyLmFkZFRvUXVldWUodHJhbnNmZXIuZmlsZXMsIG9wdGlvbnMsIGZpbHRlcnMpO1xuICAgIHRoaXMuZmlsZU92ZXIuZW1pdChmYWxzZSk7XG4gICAgdGhpcy5vbkZpbGVEcm9wLmVtaXQodHJhbnNmZXIuZmlsZXMpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZHJhZ292ZXInLCBbICckZXZlbnQnIF0pXG4gIHB1YmxpYyBvbkRyYWdPdmVyKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBsZXQgdHJhbnNmZXIgPSB0aGlzLl9nZXRUcmFuc2ZlcihldmVudCk7XG4gICAgaWYgKCF0aGlzLl9oYXZlRmlsZXModHJhbnNmZXIudHlwZXMpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdHJhbnNmZXIuZHJvcEVmZmVjdCA9ICdjb3B5JztcbiAgICB0aGlzLl9wcmV2ZW50QW5kU3RvcChldmVudCk7XG4gICAgdGhpcy5maWxlT3Zlci5lbWl0KHRydWUpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZHJhZ2xlYXZlJywgWyAnJGV2ZW50JyBdKVxuICBwdWJsaWMgb25EcmFnTGVhdmUoZXZlbnQ6IGFueSk6IGFueSB7XG4gICAgaWYgKCh0aGlzIGFzIGFueSkuZWxlbWVudCkge1xuICAgICAgaWYgKGV2ZW50LmN1cnJlbnRUYXJnZXQgPT09ICh0aGlzIGFzIGFueSkuZWxlbWVudFsgMCBdKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLl9wcmV2ZW50QW5kU3RvcChldmVudCk7XG4gICAgdGhpcy5maWxlT3Zlci5lbWl0KGZhbHNlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfZ2V0VHJhbnNmZXIoZXZlbnQ6IGFueSk6IGFueSB7XG4gICAgcmV0dXJuIGV2ZW50LmRhdGFUcmFuc2ZlciA/IGV2ZW50LmRhdGFUcmFuc2ZlciA6IGV2ZW50Lm9yaWdpbmFsRXZlbnQuZGF0YVRyYW5zZmVyOyAvLyBqUXVlcnkgZml4O1xuICB9XG5cbiAgcHJvdGVjdGVkIF9wcmV2ZW50QW5kU3RvcChldmVudDogYW55KTogYW55IHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9oYXZlRmlsZXModHlwZXM6IGFueSk6IGFueSB7XG4gICAgaWYgKCF0eXBlcykge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGlmICh0eXBlcy5pbmRleE9mKSB7XG4gICAgICByZXR1cm4gdHlwZXMuaW5kZXhPZignRmlsZXMnKSAhPT0gLTE7XG4gICAgfSBlbHNlIGlmICh0eXBlcy5jb250YWlucykge1xuICAgICAgcmV0dXJuIHR5cGVzLmNvbnRhaW5zKCdGaWxlcycpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,347 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { FileLikeObject } from './file-like-object.class';
6
+ var FileItem = /** @class */ (function () {
7
+ function FileItem(uploader, some, options) {
8
+ this.url = '/';
9
+ this.headers = [];
10
+ this.withCredentials = true;
11
+ this.formData = [];
12
+ this.isReady = false;
13
+ this.isUploading = false;
14
+ this.isUploaded = false;
15
+ this.isSuccess = false;
16
+ this.isCancel = false;
17
+ this.isError = false;
18
+ this.progress = 0;
19
+ this.index = void 0;
20
+ this.uploader = uploader;
21
+ this.some = some;
22
+ this.options = options;
23
+ this.file = new FileLikeObject(some);
24
+ this._file = some;
25
+ if (uploader.options) {
26
+ this.method = uploader.options.method || 'POST';
27
+ this.alias = uploader.options.itemAlias || 'file';
28
+ }
29
+ this.url = uploader.options.url;
30
+ }
31
+ /**
32
+ * @return {?}
33
+ */
34
+ FileItem.prototype.upload = /**
35
+ * @return {?}
36
+ */
37
+ function () {
38
+ try {
39
+ this.uploader.uploadItem(this);
40
+ }
41
+ catch (e) {
42
+ this.uploader._onCompleteItem(this, '', 0, {});
43
+ this.uploader._onErrorItem(this, '', 0, {});
44
+ }
45
+ };
46
+ /**
47
+ * @return {?}
48
+ */
49
+ FileItem.prototype.cancel = /**
50
+ * @return {?}
51
+ */
52
+ function () {
53
+ this.uploader.cancelItem(this);
54
+ };
55
+ /**
56
+ * @return {?}
57
+ */
58
+ FileItem.prototype.remove = /**
59
+ * @return {?}
60
+ */
61
+ function () {
62
+ this.uploader.removeFromQueue(this);
63
+ };
64
+ /**
65
+ * @return {?}
66
+ */
67
+ FileItem.prototype.onBeforeUpload = /**
68
+ * @return {?}
69
+ */
70
+ function () {
71
+ return void 0;
72
+ };
73
+ /**
74
+ * @param {?} form
75
+ * @return {?}
76
+ */
77
+ FileItem.prototype.onBuildForm = /**
78
+ * @param {?} form
79
+ * @return {?}
80
+ */
81
+ function (form) {
82
+ return { form: form };
83
+ };
84
+ /**
85
+ * @param {?} progress
86
+ * @return {?}
87
+ */
88
+ FileItem.prototype.onProgress = /**
89
+ * @param {?} progress
90
+ * @return {?}
91
+ */
92
+ function (progress) {
93
+ return { progress: progress };
94
+ };
95
+ /**
96
+ * @param {?} response
97
+ * @param {?} status
98
+ * @param {?} headers
99
+ * @return {?}
100
+ */
101
+ FileItem.prototype.onSuccess = /**
102
+ * @param {?} response
103
+ * @param {?} status
104
+ * @param {?} headers
105
+ * @return {?}
106
+ */
107
+ function (response, status, headers) {
108
+ return { response: response, status: status, headers: headers };
109
+ };
110
+ /**
111
+ * @param {?} response
112
+ * @param {?} status
113
+ * @param {?} headers
114
+ * @return {?}
115
+ */
116
+ FileItem.prototype.onError = /**
117
+ * @param {?} response
118
+ * @param {?} status
119
+ * @param {?} headers
120
+ * @return {?}
121
+ */
122
+ function (response, status, headers) {
123
+ return { response: response, status: status, headers: headers };
124
+ };
125
+ /**
126
+ * @param {?} response
127
+ * @param {?} status
128
+ * @param {?} headers
129
+ * @return {?}
130
+ */
131
+ FileItem.prototype.onCancel = /**
132
+ * @param {?} response
133
+ * @param {?} status
134
+ * @param {?} headers
135
+ * @return {?}
136
+ */
137
+ function (response, status, headers) {
138
+ return { response: response, status: status, headers: headers };
139
+ };
140
+ /**
141
+ * @param {?} response
142
+ * @param {?} status
143
+ * @param {?} headers
144
+ * @return {?}
145
+ */
146
+ FileItem.prototype.onComplete = /**
147
+ * @param {?} response
148
+ * @param {?} status
149
+ * @param {?} headers
150
+ * @return {?}
151
+ */
152
+ function (response, status, headers) {
153
+ return { response: response, status: status, headers: headers };
154
+ };
155
+ /**
156
+ * @return {?}
157
+ */
158
+ FileItem.prototype._onBeforeUpload = /**
159
+ * @return {?}
160
+ */
161
+ function () {
162
+ this.isReady = true;
163
+ this.isUploading = true;
164
+ this.isUploaded = false;
165
+ this.isSuccess = false;
166
+ this.isCancel = false;
167
+ this.isError = false;
168
+ this.progress = 0;
169
+ this.onBeforeUpload();
170
+ };
171
+ /**
172
+ * @param {?} form
173
+ * @return {?}
174
+ */
175
+ FileItem.prototype._onBuildForm = /**
176
+ * @param {?} form
177
+ * @return {?}
178
+ */
179
+ function (form) {
180
+ this.onBuildForm(form);
181
+ };
182
+ /**
183
+ * @param {?} progress
184
+ * @return {?}
185
+ */
186
+ FileItem.prototype._onProgress = /**
187
+ * @param {?} progress
188
+ * @return {?}
189
+ */
190
+ function (progress) {
191
+ this.progress = progress;
192
+ this.onProgress(progress);
193
+ };
194
+ /**
195
+ * @param {?} response
196
+ * @param {?} status
197
+ * @param {?} headers
198
+ * @return {?}
199
+ */
200
+ FileItem.prototype._onSuccess = /**
201
+ * @param {?} response
202
+ * @param {?} status
203
+ * @param {?} headers
204
+ * @return {?}
205
+ */
206
+ function (response, status, headers) {
207
+ this.isReady = false;
208
+ this.isUploading = false;
209
+ this.isUploaded = true;
210
+ this.isSuccess = true;
211
+ this.isCancel = false;
212
+ this.isError = false;
213
+ this.progress = 100;
214
+ this.index = void 0;
215
+ this.onSuccess(response, status, headers);
216
+ };
217
+ /**
218
+ * @param {?} response
219
+ * @param {?} status
220
+ * @param {?} headers
221
+ * @return {?}
222
+ */
223
+ FileItem.prototype._onError = /**
224
+ * @param {?} response
225
+ * @param {?} status
226
+ * @param {?} headers
227
+ * @return {?}
228
+ */
229
+ function (response, status, headers) {
230
+ this.isReady = false;
231
+ this.isUploading = false;
232
+ this.isUploaded = true;
233
+ this.isSuccess = false;
234
+ this.isCancel = false;
235
+ this.isError = true;
236
+ this.progress = 0;
237
+ this.index = void 0;
238
+ this.onError(response, status, headers);
239
+ };
240
+ /**
241
+ * @param {?} response
242
+ * @param {?} status
243
+ * @param {?} headers
244
+ * @return {?}
245
+ */
246
+ FileItem.prototype._onCancel = /**
247
+ * @param {?} response
248
+ * @param {?} status
249
+ * @param {?} headers
250
+ * @return {?}
251
+ */
252
+ function (response, status, headers) {
253
+ this.isReady = false;
254
+ this.isUploading = false;
255
+ this.isUploaded = false;
256
+ this.isSuccess = false;
257
+ this.isCancel = true;
258
+ this.isError = false;
259
+ this.progress = 0;
260
+ this.index = void 0;
261
+ this.onCancel(response, status, headers);
262
+ };
263
+ /**
264
+ * @param {?} response
265
+ * @param {?} status
266
+ * @param {?} headers
267
+ * @return {?}
268
+ */
269
+ FileItem.prototype._onComplete = /**
270
+ * @param {?} response
271
+ * @param {?} status
272
+ * @param {?} headers
273
+ * @return {?}
274
+ */
275
+ function (response, status, headers) {
276
+ this.onComplete(response, status, headers);
277
+ if (this.uploader.options.removeAfterUpload) {
278
+ this.remove();
279
+ }
280
+ };
281
+ /**
282
+ * @return {?}
283
+ */
284
+ FileItem.prototype._prepareToUploading = /**
285
+ * @return {?}
286
+ */
287
+ function () {
288
+ this.index = this.index || ++this.uploader._nextIndex;
289
+ this.isReady = true;
290
+ };
291
+ return FileItem;
292
+ }());
293
+ export { FileItem };
294
+ if (false) {
295
+ /** @type {?} */
296
+ FileItem.prototype.file;
297
+ /** @type {?} */
298
+ FileItem.prototype._file;
299
+ /** @type {?} */
300
+ FileItem.prototype.alias;
301
+ /** @type {?} */
302
+ FileItem.prototype.url;
303
+ /** @type {?} */
304
+ FileItem.prototype.method;
305
+ /** @type {?} */
306
+ FileItem.prototype.headers;
307
+ /** @type {?} */
308
+ FileItem.prototype.withCredentials;
309
+ /** @type {?} */
310
+ FileItem.prototype.formData;
311
+ /** @type {?} */
312
+ FileItem.prototype.isReady;
313
+ /** @type {?} */
314
+ FileItem.prototype.isUploading;
315
+ /** @type {?} */
316
+ FileItem.prototype.isUploaded;
317
+ /** @type {?} */
318
+ FileItem.prototype.isSuccess;
319
+ /** @type {?} */
320
+ FileItem.prototype.isCancel;
321
+ /** @type {?} */
322
+ FileItem.prototype.isError;
323
+ /** @type {?} */
324
+ FileItem.prototype.progress;
325
+ /** @type {?} */
326
+ FileItem.prototype.index;
327
+ /** @type {?} */
328
+ FileItem.prototype._xhr;
329
+ /** @type {?} */
330
+ FileItem.prototype._form;
331
+ /**
332
+ * @type {?}
333
+ * @protected
334
+ */
335
+ FileItem.prototype.uploader;
336
+ /**
337
+ * @type {?}
338
+ * @protected
339
+ */
340
+ FileItem.prototype.some;
341
+ /**
342
+ * @type {?}
343
+ * @protected
344
+ */
345
+ FileItem.prototype.options;
346
+ }
347
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pdGVtLmNsYXNzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmcyLWZpbGUtdXBsb2FkLyIsInNvdXJjZXMiOlsiZmlsZS11cGxvYWQvZmlsZS1pdGVtLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHMUQ7SUF3QkUsa0JBQW1CLFFBQXNCLEVBQUUsSUFBVSxFQUFFLE9BQTRCO1FBcEI1RSxRQUFHLEdBQVcsR0FBRyxDQUFDO1FBRWxCLFlBQU8sR0FBUSxFQUFFLENBQUM7UUFDbEIsb0JBQWUsR0FBWSxJQUFJLENBQUM7UUFDaEMsYUFBUSxHQUFRLEVBQUUsQ0FBQztRQUNuQixZQUFPLEdBQVksS0FBSyxDQUFDO1FBQ3pCLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBQzdCLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFDNUIsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFDekIsYUFBUSxHQUFXLENBQUMsQ0FBQztRQUNyQixVQUFLLEdBQVcsS0FBSyxDQUFDLENBQUM7UUFTNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLFFBQVEsQ0FBQyxPQUFPLEVBQUU7WUFDcEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUM7WUFDaEQsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFD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QUF5Qjs7SUFDekIsbUNBQXVDOztJQUN2Qyw0QkFBMEI7O0lBQzFCLDJCQUFnQzs7SUFDaEMsK0JBQW9DOztJQUNwQyw4QkFBbUM7O0lBQ25DLDZCQUFrQzs7SUFDbEMsNEJBQWlDOztJQUNqQywyQkFBZ0M7O0lBQ2hDLDRCQUE0Qjs7SUFDNUIseUJBQThCOztJQUM5Qix3QkFBNEI7O0lBQzVCLHlCQUFrQjs7Ozs7SUFFbEIsNEJBQWlDOzs7OztJQUNqQyx3QkFBcUI7Ozs7O0lBQ3JCLDJCQUF1QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpbGVMaWtlT2JqZWN0IH0gZnJvbSAnLi9maWxlLWxpa2Utb2JqZWN0LmNsYXNzJztcbmltcG9ydCB7IEZpbGVVcGxvYWRlciwgUGFyc2VkUmVzcG9uc2VIZWFkZXJzLCBGaWxlVXBsb2FkZXJPcHRpb25zIH0gZnJvbSAnLi9maWxlLXVwbG9hZGVyLmNsYXNzJztcblxuZXhwb3J0IGNsYXNzIEZpbGVJdGVtIHtcbiAgcHVibGljIGZpbGU6IEZpbGVMaWtlT2JqZWN0O1xuICBwdWJsaWMgX2ZpbGU6IEZpbGU7XG4gIHB1YmxpYyBhbGlhczogc3RyaW5nO1xuICBwdWJsaWMgdXJsOiBzdHJpbmcgPSAnLyc7XG4gIHB1YmxpYyBtZXRob2Q6IHN0cmluZztcbiAgcHVibGljIGhlYWRlcnM6IGFueSA9IFtdO1xuICBwdWJsaWMgd2l0aENyZWRlbnRpYWxzOiBib29sZWFuID0gdHJ1ZTtcbiAgcHVibGljIGZvcm1EYXRhOiBhbnkgPSBbXTtcbiAgcHVibGljIGlzUmVhZHk6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGlzVXBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBpc1VwbG9hZGVkOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBpc1N1Y2Nlc3M6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGlzQ2FuY2VsOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBpc0Vycm9yOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBwcm9ncmVzczogbnVtYmVyID0gMDtcbiAgcHVibGljIGluZGV4OiBudW1iZXIgPSB2b2lkIDA7XG4gIHB1YmxpYyBfeGhyOiBYTUxIdHRwUmVxdWVzdDtcbiAgcHVibGljIF9mb3JtOiBhbnk7XG5cbiAgcHJvdGVjdGVkIHVwbG9hZGVyOiBGaWxlVXBsb2FkZXI7XG4gIHByb3RlY3RlZCBzb21lOiBGaWxlO1xuICBwcm90ZWN0ZWQgb3B0aW9uczogRmlsZVVwbG9hZGVyT3B0aW9ucztcblxuICBwdWJsaWMgY29uc3RydWN0b3IodXBsb2FkZXI6IEZpbGVVcGxvYWRlciwgc29tZTogRmlsZSwgb3B0aW9uczogRmlsZVVwbG9hZGVyT3B0aW9ucykge1xuICAgIHRoaXMudXBsb2FkZXIgPSB1cGxvYWRlcjtcbiAgICB0aGlzLnNvbWUgPSBzb21lO1xuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgdGhpcy5maWxlID0gbmV3IEZpbGVMaWtlT2JqZWN0KHNvbWUpO1xuICAgIHRoaXMuX2ZpbGUgPSBzb21lO1xuICAgIGlmICh1cGxvYWRlci5vcHRpb25zKSB7XG4gICAgICB0aGlzLm1ldGhvZCA9IHVwbG9hZGVyLm9wdGlvbnMubWV0aG9kIHx8ICdQT1NUJztcbiAgICAgIHRoaXMuYWxpYXMgPSB1cGxvYWRlci5vcHRpb25zLml0ZW1BbGlhcyB8fCAnZmlsZSc7XG4gICAgfVxuICAgIHRoaXMudXJsID0gdXBsb2FkZXIub3B0aW9ucy51cmw7XG4gIH1cblxuICBwdWJsaWMgdXBsb2FkKCk6IHZvaWQge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnVwbG9hZGVyLnVwbG9hZEl0ZW0odGhpcyk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhpcy51cGxvYWRlci5fb25Db21wbGV0ZUl0ZW0odGhpcywgJycsIDAsIHt9KTtcbiAgICAgIHRoaXMudXBsb2FkZXIuX29uRXJyb3JJdGVtKHRoaXMsICcnLCAwLCB7fSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNhbmNlbCgpOiB2b2lkIHtcbiAgICB0aGlzLnVwbG9hZGVyLmNhbmNlbEl0ZW0odGhpcyk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlKCk6IHZvaWQge1xuICAgIHRoaXMudXBsb2FkZXIucmVtb3ZlRnJvbVF1ZXVlKHRoaXMpO1xuICB9XG5cbiAgcHVibGljIG9uQmVmb3JlVXBsb2FkKCk6IHZvaWQge1xuICAgIHJldHVybiB2b2lkIDA7XG4gIH1cblxuICBwdWJsaWMgb25CdWlsZEZvcm0oZm9ybTogYW55KTogYW55IHtcbiAgICByZXR1cm4geyBmb3JtIH07XG4gIH1cblxuICBwdWJsaWMgb25Qcm9ncmVzcyhwcm9ncmVzczogbnVtYmVyKTogYW55IHtcbiAgICByZXR1cm4geyBwcm9ncmVzcyB9O1xuICB9XG5cbiAgcHVibGljIG9uU3VjY2VzcyhyZXNwb25zZTogc3RyaW5nLCBzdGF0dXM6IG51bWJlciwgaGVhZGVyczogUGFyc2VkUmVzcG9uc2VIZWFkZXJzKTogYW55IHtcbiAgICByZXR1cm4geyByZXNwb25zZSwgc3RhdHVzLCBoZWFkZXJzIH07XG4gIH1cblxuICBwdWJsaWMgb25FcnJvcihyZXNwb25zZTogc3RyaW5nLCBzdGF0dXM6IG51bWJlciwgaGVhZGVyczogUGFyc2VkUmVzcG9uc2VIZWFkZXJzKTogYW55IHtcbiAgICByZXR1cm4geyByZXNwb25zZSwgc3RhdHVzLCBoZWFkZXJzIH07XG4gIH1cblxuICBwdWJsaWMgb25DYW5jZWwocmVzcG9uc2U6IHN0cmluZywgc3RhdHVzOiBudW1iZXIsIGhlYWRlcnM6IFBhcnNlZFJlc3BvbnNlSGVhZGVycyk6IGFueSB7XG4gICAgcmV0dXJuIHsgcmVzcG9uc2UsIHN0YXR1cywgaGVhZGVycyB9O1xuICB9XG5cbiAgcHVibGljIG9uQ29tcGxldGUocmVzcG9uc2U6IHN0cmluZywgc3RhdHVzOiBudW1iZXIsIGhlYWRlcnM6IFBhcnNlZFJlc3BvbnNlSGVhZGVycyk6IGFueSB7XG4gICAgcmV0dXJuIHsgcmVzcG9uc2UsIHN0YXR1cywgaGVhZGVycyB9O1xuICB9XG5cbiAgcHVibGljIF9vbkJlZm9yZVVwbG9hZCgpOiB2b2lkIHtcbiAgICB0aGlzLmlzUmVhZHkgPSB0cnVlO1xuICAgIHRoaXMuaXNVcGxvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMuaXNVcGxvYWRlZCA9IGZhbHNlO1xuICAgIHRoaXMuaXNTdWNjZXNzID0gZmFsc2U7XG4gICAgdGhpcy5pc0NhbmNlbCA9IGZhbHNlO1xuICAgIHRoaXMuaXNFcnJvciA9IGZhbHNlO1xuICAgIHRoaXMucHJvZ3Jlc3MgPSAwO1xuICAgIHRoaXMub25CZWZvcmVVcGxvYWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBfb25CdWlsZEZvcm0oZm9ybTogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkJ1aWxkRm9ybShmb3JtKTtcbiAgfVxuXG4gIHB1YmxpYyBfb25Qcm9ncmVzcyhwcm9ncmVzczogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5wcm9ncmVzcyA9IHByb2dyZXNzO1xuICAgIHRoaXMub25Qcm9ncmVzcyhwcm9ncmVzcyk7XG4gIH1cblxuICBwdWJsaWMgX29uU3VjY2VzcyhyZXNwb25zZTogc3RyaW5nLCBzdGF0dXM6IG51bWJlciwgaGVhZGVyczogUGFyc2VkUmVzcG9uc2VIZWFkZXJzKTogdm9pZCB7XG4gICAgdGhpcy5pc1JlYWR5ID0gZmFsc2U7XG4gICAgdGhpcy5pc1VwbG9hZGluZyA9IGZhbHNlO1xuICAgIHRoaXMuaXNVcGxvYWRlZCA9IHRydWU7XG4gICAgdGhpcy5pc1N1Y2Nlc3MgPSB0cnVlO1xuICAgIHRoaXMuaXNDYW5jZWwgPSBmYWxzZTtcbiAgICB0aGlzLmlzRXJyb3IgPSBmYWxzZTtcbiAgICB0aGlzLnByb2dyZXNzID0gMTAwO1xuICAgIHRoaXMuaW5kZXggPSB2b2lkIDA7XG4gICAgdGhpcy5vblN1Y2Nlc3MocmVzcG9uc2UsIHN0YXR1cywgaGVhZGVycyk7XG4gIH1cblxuICBwdWJsaWMgX29uRXJyb3IocmVzcG9uc2U6IHN0cmluZywgc3RhdHVzOiBudW1iZXIsIGhlYWRlcnM6IFBhcnNlZFJlc3BvbnNlSGVhZGVycyk6IHZvaWQge1xuICAgIHRoaXMuaXNSZWFkeSA9IGZhbHNlO1xuICAgIHRoaXMuaXNVcGxvYWRpbmcgPSBmYWxzZTtcbiAgICB0aGlzLmlzVXBsb2FkZWQgPSB0cnVlO1xuICAgIHRoaXMuaXNTdWNjZXNzID0gZmFsc2U7XG4gICAgdGhpcy5pc0NhbmNlbCA9IGZhbHNlO1xuICAgIHRoaXMuaXNFcnJvciA9IHRydWU7XG4gICAgdGhpcy5wcm9ncmVzcyA9IDA7XG4gICAgdGhpcy5pbmRleCA9IHZvaWQgMDtcbiAgICB0aGlzLm9uRXJyb3IocmVzcG9uc2UsIHN0YXR1cywgaGVhZGVycyk7XG4gIH1cblxuICBwdWJsaWMgX29uQ2FuY2VsKHJlc3BvbnNlOiBzdHJpbmcsIHN0YXR1czogbnVtYmVyLCBoZWFkZXJzOiBQYXJzZWRSZXNwb25zZUhlYWRlcnMpOiB2b2lkIHtcbiAgICB0aGlzLmlzUmVhZHkgPSBmYWxzZTtcbiAgICB0aGlzLmlzVXBsb2FkaW5nID0gZmFsc2U7XG4gICAgdGhpcy5pc1VwbG9hZGVkID0gZmFsc2U7XG4gICAgdGhpcy5pc1N1Y2Nlc3MgPSBmYWxzZTtcbiAgICB0aGlzLmlzQ2FuY2VsID0gdHJ1ZTtcbiAgICB0aGlzLmlzRXJyb3IgPSBmYWxzZTtcbiAgICB0aGlzLnByb2dyZXNzID0gMDtcbiAgICB0aGlzLmluZGV4ID0gdm9pZCAwO1xuICAgIHRoaXMub25DYW5jZWwocmVzcG9uc2UsIHN0YXR1cywgaGVhZGVycyk7XG4gIH1cblxuICBwdWJsaWMgX29uQ29tcGxldGUocmVzcG9uc2U6IHN0cmluZywgc3RhdHVzOiBudW1iZXIsIGhlYWRlcnM6IFBhcnNlZFJlc3BvbnNlSGVhZGVycyk6IHZvaWQge1xuICAgIHRoaXMub25Db21wbGV0ZShyZXNwb25zZSwgc3RhdHVzLCBoZWFkZXJzKTtcblxuICAgIGlmICh0aGlzLnVwbG9hZGVyLm9wdGlvbnMucmVtb3ZlQWZ0ZXJVcGxvYWQpIHtcbiAgICAgIHRoaXMucmVtb3ZlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIF9wcmVwYXJlVG9VcGxvYWRpbmcoKTogdm9pZCB7XG4gICAgdGhpcy5pbmRleCA9IHRoaXMuaW5kZXggfHwgKyt0aGlzLnVwbG9hZGVyLl9uZXh0SW5kZXg7XG4gICAgdGhpcy5pc1JlYWR5ID0gdHJ1ZTtcbiAgfVxufVxuIl19
@@ -0,0 +1,67 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ /**
6
+ * @param {?} node
7
+ * @return {?}
8
+ */
9
+ function isElement(node) {
10
+ return !!(node && (node.nodeName || node.prop && node.attr && node.find));
11
+ }
12
+ var FileLikeObject = /** @class */ (function () {
13
+ function FileLikeObject(fileOrInput) {
14
+ this.rawFile = fileOrInput;
15
+ /** @type {?} */
16
+ var isInput = isElement(fileOrInput);
17
+ /** @type {?} */
18
+ var fakePathOrObject = isInput ? fileOrInput.value : fileOrInput;
19
+ /** @type {?} */
20
+ var postfix = typeof fakePathOrObject === 'string' ? 'FakePath' : 'Object';
21
+ /** @type {?} */
22
+ var method = '_createFrom' + postfix;
23
+ ((/** @type {?} */ (this)))[method](fakePathOrObject);
24
+ }
25
+ /**
26
+ * @param {?} path
27
+ * @return {?}
28
+ */
29
+ FileLikeObject.prototype._createFromFakePath = /**
30
+ * @param {?} path
31
+ * @return {?}
32
+ */
33
+ function (path) {
34
+ this.lastModifiedDate = void 0;
35
+ this.size = void 0;
36
+ this.type = 'like/' + path.slice(path.lastIndexOf('.') + 1).toLowerCase();
37
+ this.name = path.slice(path.lastIndexOf('/') + path.lastIndexOf('\\') + 2);
38
+ };
39
+ /**
40
+ * @param {?} object
41
+ * @return {?}
42
+ */
43
+ FileLikeObject.prototype._createFromObject = /**
44
+ * @param {?} object
45
+ * @return {?}
46
+ */
47
+ function (object) {
48
+ this.size = object.size;
49
+ this.type = object.type;
50
+ this.name = object.name;
51
+ };
52
+ return FileLikeObject;
53
+ }());
54
+ export { FileLikeObject };
55
+ if (false) {
56
+ /** @type {?} */
57
+ FileLikeObject.prototype.lastModifiedDate;
58
+ /** @type {?} */
59
+ FileLikeObject.prototype.size;
60
+ /** @type {?} */
61
+ FileLikeObject.prototype.type;
62
+ /** @type {?} */
63
+ FileLikeObject.prototype.name;
64
+ /** @type {?} */
65
+ FileLikeObject.prototype.rawFile;
66
+ }
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1saWtlLW9iamVjdC5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nMi1maWxlLXVwbG9hZC8iLCJzb3VyY2VzIjpbImZpbGUtdXBsb2FkL2ZpbGUtbGlrZS1vYmplY3QuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxTQUFTLFNBQVMsQ0FBQyxJQUFTO0lBQzFCLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDNUUsQ0FBQztBQUVEO0lBT0Usd0JBQW1CLFdBQWdCO1FBQ2pDLElBQUksQ0FBQyxPQUFPLEdBQUcsV0FBVyxDQUFDOztZQUN2QixPQUFPLEdBQUcsU0FBUyxDQUFDLFdBQVcsQ0FBQzs7WUFDaEMsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxXQUFXOztZQUM1RCxPQUFPLEdBQUcsT0FBTyxnQkFBZ0IsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsUUFBUTs7WUFDdEUsTUFBTSxHQUFHLGFBQWEsR0FBRyxPQUFPO1FBQ3BDLENBQUMsbUJBQUEsSUFBSSxFQUFPLENBQUMsQ0FBRSxNQUFNLENBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzVDLENBQUM7Ozs7O0lBRU0sNENBQW1COzs7O0lBQTFCLFVBQTJCLElBQVk7UUFDckMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzFFLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDN0UsQ0FBQzs7Ozs7SUFFTSwwQ0FBaUI7Ozs7SUFBeEIsVUFBeUIsTUFBb0Q7UUFDM0UsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7SUFDMUIsQ0FBQztJQUNILHFCQUFDO0FBQUQsQ0FBQyxBQTVCRCxJQTRCQzs7OztJQTNCQywwQ0FBNkI7O0lBQzdCLDhCQUFpQjs7SUFDakIsOEJBQW9COztJQUNwQiw4QkFBb0I7O0lBQ3BCLGlDQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIGlzRWxlbWVudChub2RlOiBhbnkpOiBib29sZWFuIHtcbiAgcmV0dXJuICEhKG5vZGUgJiYgKG5vZGUubm9kZU5hbWUgfHwgbm9kZS5wcm9wICYmIG5vZGUuYXR0ciAmJiBub2RlLmZpbmQpKTtcbn1cblxuZXhwb3J0IGNsYXNzIEZpbGVMaWtlT2JqZWN0IHtcbiAgcHVibGljIGxhc3RNb2RpZmllZERhdGU6IGFueTtcbiAgcHVibGljIHNpemU6IGFueTtcbiAgcHVibGljIHR5cGU6IHN0cmluZztcbiAgcHVibGljIG5hbWU6IHN0cmluZztcbiAgcHVibGljIHJhd0ZpbGU6IHN0cmluZztcblxuICBwdWJsaWMgY29uc3RydWN0b3IoZmlsZU9ySW5wdXQ6IGFueSkge1xuICAgIHRoaXMucmF3RmlsZSA9IGZpbGVPcklucHV0O1xuICAgIGxldCBpc0lucHV0ID0gaXNFbGVtZW50KGZpbGVPcklucHV0KTtcbiAgICBsZXQgZmFrZVBhdGhPck9iamVjdCA9IGlzSW5wdXQgPyBmaWxlT3JJbnB1dC52YWx1ZSA6IGZpbGVPcklucHV0O1xuICAgIGxldCBwb3N0Zml4ID0gdHlwZW9mIGZha2VQYXRoT3JPYmplY3QgPT09ICdzdHJpbmcnID8gJ0Zha2VQYXRoJyA6ICdPYmplY3QnO1xuICAgIGxldCBtZXRob2QgPSAnX2NyZWF0ZUZyb20nICsgcG9zdGZpeDtcbiAgICAodGhpcyBhcyBhbnkpWyBtZXRob2QgXShmYWtlUGF0aE9yT2JqZWN0KTtcbiAgfVxuXG4gIHB1YmxpYyBfY3JlYXRlRnJvbUZha2VQYXRoKHBhdGg6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMubGFzdE1vZGlmaWVkRGF0ZSA9IHZvaWQgMDtcbiAgICB0aGlzLnNpemUgPSB2b2lkIDA7XG4gICAgdGhpcy50eXBlID0gJ2xpa2UvJyArIHBhdGguc2xpY2UocGF0aC5sYXN0SW5kZXhPZignLicpICsgMSkudG9Mb3dlckNhc2UoKTtcbiAgICB0aGlzLm5hbWUgPSBwYXRoLnNsaWNlKHBhdGgubGFzdEluZGV4T2YoJy8nKSArIHBhdGgubGFzdEluZGV4T2YoJ1xcXFwnKSArIDIpO1xuICB9XG5cbiAgcHVibGljIF9jcmVhdGVGcm9tT2JqZWN0KG9iamVjdDogeyBzaXplOiBudW1iZXIsIHR5cGU6IHN0cmluZywgbmFtZTogc3RyaW5nIH0pOiB2b2lkIHtcbiAgICB0aGlzLnNpemUgPSBvYmplY3Quc2l6ZTtcbiAgICB0aGlzLnR5cGUgPSBvYmplY3QudHlwZTtcbiAgICB0aGlzLm5hbWUgPSBvYmplY3QubmFtZTtcbiAgfVxufVxuIl19