ng2-file-upload 2.0.0-2 → 3.0.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 (52) hide show
  1. package/README.md +1 -1
  2. package/esm2020/file-upload/file-drop.directive.mjs +92 -0
  3. package/esm2020/file-upload/file-item.class.mjs +123 -0
  4. package/esm2020/file-upload/file-like-object.class.mjs +21 -0
  5. package/esm2020/file-upload/file-select.directive.mjs +43 -0
  6. package/esm2020/file-upload/file-type.class.mjs +171 -0
  7. package/esm2020/file-upload/file-upload.module.mjs +21 -0
  8. package/esm2020/file-upload/file-uploader.class.mjs +404 -0
  9. package/esm2020/index.mjs +8 -0
  10. package/esm2020/ng2-file-upload.mjs +5 -0
  11. package/fesm2015/{ng2-file-upload.js → ng2-file-upload.mjs} +118 -104
  12. package/fesm2015/ng2-file-upload.mjs.map +1 -0
  13. package/fesm2020/ng2-file-upload.mjs +867 -0
  14. package/fesm2020/ng2-file-upload.mjs.map +1 -0
  15. package/file-upload/file-drop.directive.d.ts +3 -0
  16. package/file-upload/file-select.directive.d.ts +3 -0
  17. package/file-upload/file-upload.module.d.ts +9 -0
  18. package/package.json +23 -11
  19. package/bundles/ng2-file-upload.umd.js +0 -1233
  20. package/bundles/ng2-file-upload.umd.js.map +0 -1
  21. package/bundles/ng2-file-upload.umd.min.js +0 -2
  22. package/bundles/ng2-file-upload.umd.min.js.map +0 -1
  23. package/esm2015/file-upload/file-drop.directive.js +0 -86
  24. package/esm2015/file-upload/file-drop.directive.js.map +0 -1
  25. package/esm2015/file-upload/file-drop.directive.metadata.json +0 -1
  26. package/esm2015/file-upload/file-item.class.js +0 -123
  27. package/esm2015/file-upload/file-item.class.js.map +0 -1
  28. package/esm2015/file-upload/file-item.class.metadata.json +0 -1
  29. package/esm2015/file-upload/file-like-object.class.js +0 -21
  30. package/esm2015/file-upload/file-like-object.class.js.map +0 -1
  31. package/esm2015/file-upload/file-like-object.class.metadata.json +0 -1
  32. package/esm2015/file-upload/file-select.directive.js +0 -42
  33. package/esm2015/file-upload/file-select.directive.js.map +0 -1
  34. package/esm2015/file-upload/file-select.directive.metadata.json +0 -1
  35. package/esm2015/file-upload/file-type.class.js +0 -172
  36. package/esm2015/file-upload/file-type.class.js.map +0 -1
  37. package/esm2015/file-upload/file-type.class.metadata.json +0 -1
  38. package/esm2015/file-upload/file-upload.module.js +0 -14
  39. package/esm2015/file-upload/file-upload.module.js.map +0 -1
  40. package/esm2015/file-upload/file-upload.module.metadata.json +0 -1
  41. package/esm2015/file-upload/file-uploader.class.js +0 -408
  42. package/esm2015/file-upload/file-uploader.class.js.map +0 -1
  43. package/esm2015/file-upload/file-uploader.class.metadata.json +0 -1
  44. package/esm2015/index.js +0 -8
  45. package/esm2015/index.js.map +0 -1
  46. package/esm2015/index.metadata.json +0 -1
  47. package/esm2015/ng2-file-upload.js +0 -5
  48. package/esm2015/ng2-file-upload.js.map +0 -1
  49. package/esm2015/ng2-file-upload.metadata.json +0 -1
  50. package/fesm2015/ng2-file-upload.js.map +0 -1
  51. package/ng2-file-upload.d.ts +0 -4
  52. package/ng2-file-upload.metadata.json +0 -1
@@ -1,408 +0,0 @@
1
- import { EventEmitter } from '@angular/core';
2
- import { FileLikeObject } from './file-like-object.class';
3
- import { FileItem } from './file-item.class';
4
- import { FileType } from './file-type.class';
5
- function isFile(value) {
6
- return (File && value instanceof File);
7
- }
8
- export class FileUploader {
9
- constructor(options) {
10
- this.isUploading = false;
11
- this.queue = [];
12
- this.progress = 0;
13
- this._nextIndex = 0;
14
- this.options = {
15
- autoUpload: false,
16
- isHTML5: true,
17
- filters: [],
18
- removeAfterUpload: false,
19
- disableMultipart: false,
20
- formatDataFunction: (item) => item._file,
21
- formatDataFunctionIsAsync: false,
22
- url: ''
23
- };
24
- this.setOptions(options);
25
- this.response = new EventEmitter();
26
- }
27
- setOptions(options) {
28
- var _a, _b, _c, _d;
29
- this.options = Object.assign(this.options, options);
30
- this.authToken = this.options.authToken;
31
- this.authTokenHeader = this.options.authTokenHeader || 'Authorization';
32
- this.autoUpload = this.options.autoUpload;
33
- (_a = this.options.filters) === null || _a === void 0 ? void 0 : _a.unshift({ name: 'queueLimit', fn: this._queueLimitFilter });
34
- if (this.options.maxFileSize) {
35
- (_b = this.options.filters) === null || _b === void 0 ? void 0 : _b.unshift({ name: 'fileSize', fn: this._fileSizeFilter });
36
- }
37
- if (this.options.allowedFileType) {
38
- (_c = this.options.filters) === null || _c === void 0 ? void 0 : _c.unshift({ name: 'fileType', fn: this._fileTypeFilter });
39
- }
40
- if (this.options.allowedMimeType) {
41
- (_d = this.options.filters) === null || _d === void 0 ? void 0 : _d.unshift({ name: 'mimeType', fn: this._mimeTypeFilter });
42
- }
43
- for (let i = 0; i < this.queue.length; i++) {
44
- this.queue[i].url = this.options.url;
45
- }
46
- }
47
- addToQueue(files, _options, filters) {
48
- let options = _options;
49
- const list = [];
50
- for (const file of files) {
51
- list.push(file);
52
- }
53
- const arrayOfFilters = this._getFilters(filters);
54
- const count = this.queue.length;
55
- const addedFileItems = [];
56
- list.map((some) => {
57
- if (!options) {
58
- options = this.options;
59
- }
60
- const temp = new FileLikeObject(some);
61
- if (this._isValidFile(temp, arrayOfFilters, options)) {
62
- const fileItem = new FileItem(this, some, options);
63
- addedFileItems.push(fileItem);
64
- this.queue.push(fileItem);
65
- this._onAfterAddingFile(fileItem);
66
- }
67
- else {
68
- if (this._failFilterIndex) {
69
- const filter = arrayOfFilters[this._failFilterIndex];
70
- this._onWhenAddingFileFailed(temp, filter, options);
71
- }
72
- }
73
- });
74
- if (this.queue.length !== count) {
75
- this._onAfterAddingAll(addedFileItems);
76
- this.progress = this._getTotalProgress();
77
- }
78
- this._render();
79
- if (this.options.autoUpload) {
80
- this.uploadAll();
81
- }
82
- }
83
- removeFromQueue(value) {
84
- const index = this.getIndexOfItem(value);
85
- const item = this.queue[index];
86
- if (item.isUploading) {
87
- item.cancel();
88
- }
89
- this.queue.splice(index, 1);
90
- this.progress = this._getTotalProgress();
91
- }
92
- clearQueue() {
93
- while (this.queue.length) {
94
- this.queue[0].remove();
95
- }
96
- this.progress = 0;
97
- }
98
- uploadItem(value) {
99
- const index = this.getIndexOfItem(value);
100
- const item = this.queue[index];
101
- const transport = this.options.isHTML5 ? '_xhrTransport' : '_iframeTransport';
102
- item._prepareToUploading();
103
- if (this.isUploading) {
104
- return;
105
- }
106
- this.isUploading = true;
107
- this[transport](item);
108
- }
109
- cancelItem(value) {
110
- const index = this.getIndexOfItem(value);
111
- const item = this.queue[index];
112
- const prop = this.options.isHTML5 ? item._xhr : item._form;
113
- if (item && item.isUploading) {
114
- prop.abort();
115
- }
116
- }
117
- uploadAll() {
118
- const items = this.getNotUploadedItems().filter((item) => !item.isUploading);
119
- if (!items.length) {
120
- return;
121
- }
122
- items.map((item) => item._prepareToUploading());
123
- items[0].upload();
124
- }
125
- cancelAll() {
126
- const items = this.getNotUploadedItems();
127
- items.map((item) => item.cancel());
128
- }
129
- isFile(value) {
130
- return isFile(value);
131
- }
132
- isFileLikeObject(value) {
133
- return value instanceof FileLikeObject;
134
- }
135
- getIndexOfItem(value) {
136
- return typeof value === 'number' ? value : this.queue.indexOf(value);
137
- }
138
- getNotUploadedItems() {
139
- return this.queue.filter((item) => !item.isUploaded);
140
- }
141
- getReadyItems() {
142
- return this.queue
143
- .filter((item) => (item.isReady && !item.isUploading))
144
- .sort((item1, item2) => item1.index - item2.index);
145
- }
146
- onAfterAddingAll(fileItems) {
147
- return { fileItems };
148
- }
149
- onBuildItemForm(fileItem, form) {
150
- return { fileItem, form };
151
- }
152
- onAfterAddingFile(fileItem) {
153
- return { fileItem };
154
- }
155
- onWhenAddingFileFailed(item, filter, options) {
156
- return { item, filter, options };
157
- }
158
- onBeforeUploadItem(fileItem) {
159
- return { fileItem };
160
- }
161
- onProgressItem(fileItem, progress) {
162
- return { fileItem, progress };
163
- }
164
- onProgressAll(progress) {
165
- return { progress };
166
- }
167
- onSuccessItem(item, response, status, headers) {
168
- return { item, response, status, headers };
169
- }
170
- onErrorItem(item, response, status, headers) {
171
- return { item, response, status, headers };
172
- }
173
- onCancelItem(item, response, status, headers) {
174
- return { item, response, status, headers };
175
- }
176
- onCompleteItem(item, response, status, headers) {
177
- return { item, response, status, headers };
178
- }
179
- onCompleteAll() {
180
- return void 0;
181
- }
182
- _mimeTypeFilter(item) {
183
- var _a;
184
- return !((item === null || item === void 0 ? void 0 : item.type) && this.options.allowedMimeType && ((_a = this.options.allowedMimeType) === null || _a === void 0 ? void 0 : _a.indexOf(item.type)) === -1);
185
- }
186
- _fileSizeFilter(item) {
187
- return !(this.options.maxFileSize && item.size > this.options.maxFileSize);
188
- }
189
- _fileTypeFilter(item) {
190
- return !(this.options.allowedFileType &&
191
- this.options.allowedFileType.indexOf(FileType.getMimeClass(item)) === -1);
192
- }
193
- _onErrorItem(item, response, status, headers) {
194
- item._onError(response, status, headers);
195
- this.onErrorItem(item, response, status, headers);
196
- }
197
- _onCompleteItem(item, response, status, headers) {
198
- item._onComplete(response, status, headers);
199
- this.onCompleteItem(item, response, status, headers);
200
- const nextItem = this.getReadyItems()[0];
201
- this.isUploading = false;
202
- if (nextItem) {
203
- nextItem.upload();
204
- return;
205
- }
206
- this.onCompleteAll();
207
- this.progress = this._getTotalProgress();
208
- this._render();
209
- }
210
- _headersGetter(parsedHeaders) {
211
- return (name) => {
212
- if (name) {
213
- return parsedHeaders[name.toLowerCase()] || undefined;
214
- }
215
- return parsedHeaders;
216
- };
217
- }
218
- _xhrTransport(item) {
219
- // tslint:disable-next-line:no-this-assignment
220
- // eslint-disable-next-line @typescript-eslint/no-this-alias
221
- const that = this;
222
- const xhr = item._xhr = new XMLHttpRequest();
223
- let sendable;
224
- this._onBeforeUploadItem(item);
225
- if (typeof item._file.size !== 'number') {
226
- throw new TypeError('The file specified is no longer valid');
227
- }
228
- if (!this.options.disableMultipart) {
229
- sendable = new FormData();
230
- this._onBuildItemForm(item, sendable);
231
- const appendFile = () => sendable.append(item.alias, item._file, item.file.name);
232
- if (!this.options.parametersBeforeFiles) {
233
- appendFile();
234
- }
235
- // For AWS, Additional Parameters must come BEFORE Files
236
- if (this.options.additionalParameter !== undefined) {
237
- Object.keys(this.options.additionalParameter).forEach((key) => {
238
- var _a, _b;
239
- let paramVal = (_a = this.options.additionalParameter) === null || _a === void 0 ? void 0 : _a[key];
240
- // Allow an additional parameter to include the filename
241
- if (typeof paramVal === 'string' && paramVal.indexOf('{{file_name}}') >= 0 && ((_b = item.file) === null || _b === void 0 ? void 0 : _b.name)) {
242
- paramVal = paramVal.replace('{{file_name}}', item.file.name);
243
- }
244
- sendable.append(key, paramVal);
245
- });
246
- }
247
- if (appendFile && this.options.parametersBeforeFiles) {
248
- appendFile();
249
- }
250
- }
251
- else {
252
- if (this.options.formatDataFunction) {
253
- sendable = this.options.formatDataFunction(item);
254
- }
255
- }
256
- xhr.upload.onprogress = (event) => {
257
- const progress = Math.round(event.lengthComputable ? event.loaded * 100 / event.total : 0);
258
- this._onProgressItem(item, progress);
259
- };
260
- xhr.onload = () => {
261
- const headers = this._parseHeaders(xhr.getAllResponseHeaders());
262
- const response = this._transformResponse(xhr.response, headers);
263
- const gist = this._isSuccessCode(xhr.status) ? 'Success' : 'Error';
264
- const method = `_on${gist}Item`;
265
- this[method](item, response, xhr.status, headers);
266
- this._onCompleteItem(item, response, xhr.status, headers);
267
- };
268
- xhr.onerror = () => {
269
- const headers = this._parseHeaders(xhr.getAllResponseHeaders());
270
- const response = this._transformResponse(xhr.response, headers);
271
- this._onErrorItem(item, response, xhr.status, headers);
272
- this._onCompleteItem(item, response, xhr.status, headers);
273
- };
274
- xhr.onabort = () => {
275
- const headers = this._parseHeaders(xhr.getAllResponseHeaders());
276
- const response = this._transformResponse(xhr.response, headers);
277
- this._onCancelItem(item, response, xhr.status, headers);
278
- this._onCompleteItem(item, response, xhr.status, headers);
279
- };
280
- if (item.method && item.url) {
281
- xhr.open(item.method, item.url, true);
282
- }
283
- xhr.withCredentials = item.withCredentials;
284
- if (this.options.headers) {
285
- for (const header of this.options.headers) {
286
- xhr.setRequestHeader(header.name, header.value);
287
- }
288
- }
289
- if (item.headers.length) {
290
- for (const header of item.headers) {
291
- xhr.setRequestHeader(header.name, header.value);
292
- }
293
- }
294
- if (this.authToken && this.authTokenHeader) {
295
- xhr.setRequestHeader(this.authTokenHeader, this.authToken);
296
- }
297
- xhr.onreadystatechange = function () {
298
- if (xhr.readyState == XMLHttpRequest.DONE) {
299
- that.response.emit(xhr.responseText);
300
- }
301
- };
302
- if (this.options.formatDataFunctionIsAsync) {
303
- sendable.then((result) => xhr.send(JSON.stringify(result)));
304
- }
305
- else {
306
- xhr.send(sendable);
307
- }
308
- this._render();
309
- }
310
- _getTotalProgress(value = 0) {
311
- if (this.options.removeAfterUpload) {
312
- return value;
313
- }
314
- const notUploaded = this.getNotUploadedItems().length;
315
- const uploaded = notUploaded ? this.queue.length - notUploaded : this.queue.length;
316
- const ratio = 100 / this.queue.length;
317
- const current = value * ratio / 100;
318
- return Math.round(uploaded * ratio + current);
319
- }
320
- _getFilters(filters) {
321
- var _a, _b, _c;
322
- if (!filters) {
323
- return ((_a = this.options) === null || _a === void 0 ? void 0 : _a.filters) || [];
324
- }
325
- if (Array.isArray(filters)) {
326
- return filters;
327
- }
328
- if (typeof filters === 'string') {
329
- const names = filters.match(/[^\s,]+/g);
330
- return ((_b = this.options) === null || _b === void 0 ? void 0 : _b.filters) || []
331
- .filter((filter) => (names === null || names === void 0 ? void 0 : names.indexOf(filter.name)) !== -1);
332
- }
333
- return ((_c = this.options) === null || _c === void 0 ? void 0 : _c.filters) || [];
334
- }
335
- _render() {
336
- return void 0;
337
- }
338
- _queueLimitFilter() {
339
- return this.options.queueLimit === undefined || this.queue.length < this.options.queueLimit;
340
- }
341
- _isValidFile(file, filters, options) {
342
- this._failFilterIndex = -1;
343
- return !filters.length ? true : filters.every((filter) => {
344
- if (this._failFilterIndex) {
345
- this._failFilterIndex++;
346
- }
347
- return filter.fn.call(this, file, options);
348
- });
349
- }
350
- _isSuccessCode(status) {
351
- return (status >= 200 && status < 300) || status === 304;
352
- }
353
- _transformResponse(response, headers) {
354
- return response;
355
- }
356
- _parseHeaders(headers) {
357
- const parsed = {};
358
- let key;
359
- let val;
360
- let i;
361
- if (!headers) {
362
- return parsed;
363
- }
364
- headers.split('\n').map((line) => {
365
- i = line.indexOf(':');
366
- key = line.slice(0, i).trim().toLowerCase();
367
- val = line.slice(i + 1).trim();
368
- if (key) {
369
- parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;
370
- }
371
- });
372
- return parsed;
373
- }
374
- _onWhenAddingFileFailed(item, filter, options) {
375
- this.onWhenAddingFileFailed(item, filter, options);
376
- }
377
- _onAfterAddingFile(item) {
378
- this.onAfterAddingFile(item);
379
- }
380
- _onAfterAddingAll(items) {
381
- this.onAfterAddingAll(items);
382
- }
383
- _onBeforeUploadItem(item) {
384
- item._onBeforeUpload();
385
- this.onBeforeUploadItem(item);
386
- }
387
- _onBuildItemForm(item, form) {
388
- item._onBuildForm(form);
389
- this.onBuildItemForm(item, form);
390
- }
391
- _onProgressItem(item, progress) {
392
- const total = this._getTotalProgress(progress);
393
- this.progress = total;
394
- item._onProgress(progress);
395
- this.onProgressItem(item, progress);
396
- this.onProgressAll(total);
397
- this._render();
398
- }
399
- _onSuccessItem(item, response, status, headers) {
400
- item._onSuccess(response, status, headers);
401
- this.onSuccessItem(item, response, status, headers);
402
- }
403
- _onCancelItem(item, response, status, headers) {
404
- item._onCancel(response, status, headers);
405
- this.onCancelItem(item, response, status, headers);
406
- }
407
- }
408
- //# sourceMappingURL=file-uploader.class.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-uploader.class.js","sourceRoot":"","sources":["../../../../../libs/ng2-file-upload/file-upload/file-uploader.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,SAAS,MAAM,CAAC,KAAU;IACxB,OAAO,CAAC,IAAI,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC;AACzC,CAAC;AAqCD,MAAM,OAAO,YAAY;IAwBvB,YAAY,OAA4B;QArBxC,gBAAW,GAAG,KAAK,CAAC;QACpB,UAAK,GAAe,EAAE,CAAC;QACvB,aAAQ,GAAG,CAAC,CAAC;QACb,eAAU,GAAG,CAAC,CAAC;QAKf,YAAO,GAAwB;YAC7B,UAAU,EAAE,KAAK;YACjB,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,EAAE;YACX,iBAAiB,EAAE,KAAK;YACxB,gBAAgB,EAAE,KAAK;YACvB,kBAAkB,EAAE,CAAC,IAAc,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK;YAClD,yBAAyB,EAAE,KAAK;YAChC,GAAG,EAAE,EAAE;SACR,CAAC;QAKA,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,EAAU,CAAC;IAC7C,CAAC;IAED,UAAU,CAAC,OAA4B;;QACrC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAEpD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;QACxC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,eAAe,CAAC;QACvE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;QAC1C,MAAA,IAAI,CAAC,OAAO,CAAC,OAAO,0CAAE,OAAO,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,CAAC,iBAAiB,EAAE,EAAE;QAElF,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;YAC5B,MAAA,IAAI,CAAC,OAAO,CAAC,OAAO,0CAAE,OAAO,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,CAAC,eAAe,EAAE,EAAE;SAC/E;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;YAChC,MAAA,IAAI,CAAC,OAAO,CAAC,OAAO,0CAAE,OAAO,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,CAAC,eAAe,EAAE,EAAE;SAC/E;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;YAChC,MAAA,IAAI,CAAC,OAAO,CAAC,OAAO,0CAAE,OAAO,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,CAAC,eAAe,EAAE,EAAE;SAC/E;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC1C,IAAI,CAAC,KAAK,CAAE,CAAC,CAAE,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;SACxC;IACH,CAAC;IAED,UAAU,CAAC,KAAa,EAAE,QAA8B,EAAE,OAAqB;QAC7E,IAAI,OAAO,GAAG,QAAQ,CAAC;QACvB,MAAM,IAAI,GAAW,EAAE,CAAC;QACxB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACxB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACjB;QACD,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAChC,MAAM,cAAc,GAAe,EAAE,CAAC;QACtC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAU,EAAE,EAAE;YACtB,IAAI,CAAC,OAAO,EAAE;gBACZ,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;aACxB;YAED,MAAM,IAAI,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE;gBACpD,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;gBACnD,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC9B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC1B,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;aACnC;iBAAM;gBACL,IAAI,IAAI,CAAC,gBAAgB,EAAE;oBACzB,MAAM,MAAM,GAAG,cAAc,CAAE,IAAI,CAAC,gBAAgB,CAAE,CAAC;oBACvD,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;iBACrD;aACF;QACH,CAAC,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,KAAK,EAAE;YAC/B,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;YACvC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAC1C;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YAC3B,IAAI,CAAC,SAAS,EAAE,CAAC;SAClB;IACH,CAAC;IAED,eAAe,CAAC,KAAe;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAE,KAAK,CAAE,CAAC;QACjC,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,MAAM,EAAE,CAAC;SACf;QACD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3C,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACxB,IAAI,CAAC,KAAK,CAAE,CAAC,CAAE,CAAC,MAAM,EAAE,CAAC;SAC1B;QACD,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;IACpB,CAAC;IAED,UAAU,CAAC,KAAe;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAE,KAAK,CAAE,CAAC;QACjC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,kBAAkB,CAAC;QAC9E,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,OAAO;SACR;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACvB,IAAY,CAAE,SAAS,CAAE,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,UAAU,CAAC,KAAe;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAE,KAAK,CAAE,CAAC;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QAC3D,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE;YAC5B,IAAI,CAAC,KAAK,EAAE,CAAC;SACd;IACH,CAAC;IAED,SAAS;QACP,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC,MAAM,CAAC,CAAC,IAAc,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACvF,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACjB,OAAO;SACR;QACD,KAAK,CAAC,GAAG,CAAC,CAAC,IAAc,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAC1D,KAAK,CAAE,CAAC,CAAE,CAAC,MAAM,EAAE,CAAC;IACtB,CAAC;IAED,SAAS;QACP,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAc,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,CAAC,KAAU;QACf,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,gBAAgB,CAAC,KAAU;QACzB,OAAO,KAAK,YAAY,cAAc,CAAC;IACzC,CAAC;IAED,cAAc,CAAC,KAAU;QACvB,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACvE,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAc,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACjE,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,KAAK;aACd,MAAM,CAAC,CAAC,IAAc,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;aAC/D,IAAI,CAAC,CAAC,KAAU,EAAE,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IACjE,CAAC;IAED,gBAAgB,CAAC,SAAc;QAC7B,OAAO,EAAE,SAAS,EAAE,CAAC;IACvB,CAAC;IAED,eAAe,CAAC,QAAkB,EAAE,IAAS;QAC3C,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5B,CAAC;IAED,iBAAiB,CAAC,QAAkB;QAClC,OAAO,EAAE,QAAQ,EAAE,CAAC;IACtB,CAAC;IAED,sBAAsB,CAAC,IAAoB,EAAE,MAAW,EAAE,OAAY;QACpE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IACnC,CAAC;IAED,kBAAkB,CAAC,QAAkB;QACnC,OAAO,EAAE,QAAQ,EAAE,CAAC;IACtB,CAAC;IAED,cAAc,CAAC,QAAkB,EAAE,QAAa;QAC9C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;IAChC,CAAC;IAED,aAAa,CAAC,QAAa;QACzB,OAAO,EAAE,QAAQ,EAAE,CAAC;IACtB,CAAC;IAED,aAAa,CAAC,IAAc,EAAE,QAAgB,EAAE,MAAc,EAAE,OAA8B;QAC5F,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAC7C,CAAC;IAED,WAAW,CAAC,IAAc,EAAE,QAAgB,EAAE,MAAc,EAAE,OAA8B;QAC1F,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAC7C,CAAC;IAED,YAAY,CAAC,IAAc,EAAE,QAAgB,EAAE,MAAc,EAAE,OAA8B;QAC3F,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAC7C,CAAC;IAED,cAAc,CAAC,IAAc,EAAE,QAAgB,EAAE,MAAc,EAAE,OAA8B;QAC7F,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAC7C,CAAC;IAED,aAAa;QACX,OAAO,KAAK,CAAC,CAAC;IAChB,CAAC;IAED,eAAe,CAAC,IAAoB;;QAClC,OAAO,CAAC,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,KAAI,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,OAAA,IAAI,CAAC,OAAO,CAAC,eAAe,0CAAE,OAAO,CAAC,IAAI,CAAC,IAAI,OAAM,CAAC,CAAC,CAAC,CAAC;IAClH,CAAC;IAED,eAAe,CAAC,IAAoB;QAClC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7E,CAAC;IAED,eAAe,CAAC,IAAoB;QAClC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe;YACnC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,YAAY,CAAC,IAAc,EAAE,QAAgB,EAAE,MAAc,EAAE,OAA8B;QAC3F,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAED,eAAe,CAAC,IAAc,EAAE,QAAgB,EAAE,MAAc,EAAE,OAA8B;QAC9F,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC5C,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,CAAE,CAAC,CAAE,CAAC;QAC3C,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,QAAQ,EAAE;YACZ,QAAQ,CAAC,MAAM,EAAE,CAAC;YAElB,OAAO;SACR;QACD,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzC,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAES,cAAc,CAAC,aAAoC;QAC3D,OAAO,CAAC,IAAS,EAAO,EAAE;YACxB,IAAI,IAAI,EAAE;gBACR,OAAO,aAAa,CAAE,IAAI,CAAC,WAAW,EAAE,CAAE,IAAI,SAAS,CAAC;aACzD;YAED,OAAO,aAAa,CAAC;QACvB,CAAC,CAAC;IACJ,CAAC;IAES,aAAa,CAAC,IAAc;QACpC,8CAA8C;QAC9C,4DAA4D;QAC5D,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,cAAc,EAAE,CAAC;QAC7C,IAAI,QAAa,CAAC;QAClB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE/B,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;YACvC,MAAM,IAAI,SAAS,CAAC,uCAAuC,CAAC,CAAC;SAC9D;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE;YAClC,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC1B,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACtC,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjF,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE;gBACvC,UAAU,EAAE,CAAC;aACd;YAED,wDAAwD;YACxD,IAAI,IAAI,CAAC,OAAO,CAAC,mBAAmB,KAAK,SAAS,EAAE;gBAClD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,CAAC,GAAW,EAAE,EAAE;;oBACpE,IAAI,QAAQ,SAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,0CAAI,GAAG,CAAE,CAAC;oBACzD,wDAAwD;oBACxD,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,WAAI,IAAI,CAAC,IAAI,0CAAE,IAAI,CAAA,EAAE;wBAC7F,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBAC9D;oBACD,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;gBACjC,CAAC,CAAC,CAAC;aACJ;YAED,IAAI,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE;gBACpD,UAAU,EAAE,CAAC;aACd;SACF;aAAM;YACL,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE;gBACnC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;aAClD;SACF;QAED,GAAG,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,KAAU,EAAE,EAAE;YACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3F,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACvC,CAAC,CAAC;QACF,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE;YAChB,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC,CAAC;YAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAChE,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;YACnE,MAAM,MAAM,GAAG,MAAM,IAAI,MAAM,CAAC;YAC/B,IAAY,CAAE,MAAM,CAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAC7D,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC5D,CAAC,CAAC;QACF,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE;YACjB,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC,CAAC;YAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAChE,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACvD,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC5D,CAAC,CAAC;QACF,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE;YACjB,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC,CAAC;YAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAChE,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACxD,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC5D,CAAC,CAAC;QACF,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE;YAC3B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;SACvC;QACD,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QAC3C,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;YACxB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;gBACzC,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;aACjD;SACF;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACvB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;gBACjC,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;aACjD;SACF;QACD,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,eAAe,EAAE;YAC1C,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;SAC5D;QACD,GAAG,CAAC,kBAAkB,GAAG;YACvB,IAAI,GAAG,CAAC,UAAU,IAAI,cAAc,CAAC,IAAI,EAAE;gBACzC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;aACtC;QACH,CAAC,CAAC;QACF,IAAI,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE;YAC1C,QAAQ,CAAC,IAAI,CACX,CAAC,MAAW,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAClD,CAAC;SACH;aAAM;YACL,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACpB;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAES,iBAAiB,CAAC,KAAK,GAAG,CAAC;QACnC,IAAI,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE;YAClC,OAAO,KAAK,CAAC;SACd;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC,MAAM,CAAC;QACtD,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QACnF,MAAM,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QACtC,MAAM,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC;QACpC,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,GAAG,OAAO,CAAC,CAAC;IAChD,CAAC;IAES,WAAW,CAAC,OAAmC;;QACvD,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,OAAA,IAAI,CAAC,OAAO,0CAAE,OAAO,KAAI,EAAE,CAAC;SACpC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC1B,OAAO,OAAO,CAAC;SAChB;QACD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAExC,OAAO,OAAA,IAAI,CAAC,OAAO,0CAAE,OAAO,KAAI,EAAE;iBAC/B,MAAM,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,CAAC,MAAM,CAAC,IAAI,OAAM,CAAC,CAAC,CAAC,CAAC;SAChE;QAED,OAAO,OAAA,IAAI,CAAC,OAAO,0CAAE,OAAO,KAAI,EAAE,CAAC;IACrC,CAAC;IAES,OAAO;QACf,OAAO,KAAK,CAAC,CAAC;IAChB,CAAC;IAES,iBAAiB;QACzB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;IAC9F,CAAC;IAES,YAAY,CAAC,IAAoB,EAAE,OAAyB,EAAE,OAA4B;QAClG,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC;QAE3B,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAsB,EAAE,EAAE;YACvE,IAAI,IAAI,CAAC,gBAAgB,EAAE;gBACzB,IAAI,CAAC,gBAAgB,EAAE,CAAC;aACzB;YAED,OAAO,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC;IAES,cAAc,CAAC,MAAc;QACrC,OAAO,CAAC,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG,CAAC,IAAI,MAAM,KAAK,GAAG,CAAC;IAC3D,CAAC;IAES,kBAAkB,CAAC,QAAgB,EAAE,OAA8B;QAC3E,OAAO,QAAQ,CAAC;IAClB,CAAC;IAES,aAAa,CAAC,OAAe;QACrC,MAAM,MAAM,GAAQ,EAAE,CAAC;QACvB,IAAI,GAAQ,CAAC;QACb,IAAI,GAAQ,CAAC;QACb,IAAI,CAAM,CAAC;QACX,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,MAAM,CAAC;SACf;QACD,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE;YACpC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACtB,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC5C,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/B,IAAI,GAAG,EAAE;gBACP,MAAM,CAAE,GAAG,CAAE,GAAG,MAAM,CAAE,GAAG,CAAE,CAAC,CAAC,CAAC,MAAM,CAAE,GAAG,CAAE,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;aAClE;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;IAES,uBAAuB,CAAC,IAAoB,EAAE,MAAW,EAAE,OAAY;QAC/E,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IAES,kBAAkB,CAAC,IAAc;QACzC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAES,iBAAiB,CAAC,KAAU;QACpC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAES,mBAAmB,CAAC,IAAc;QAC1C,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAES,gBAAgB,CAAC,IAAc,EAAE,IAAS;QAClD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAES,eAAe,CAAC,IAAc,EAAE,QAAa;QACrD,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC3B,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACpC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAES,cAAc,CAAC,IAAc,EAAE,QAAgB,EAAE,MAAc,EAAE,OAA8B;QACvG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAES,aAAa,CAAC,IAAc,EAAE,QAAgB,EAAE,MAAc,EAAE,OAA8B;QACtG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC1C,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;CACF","sourcesContent":["import { EventEmitter } from '@angular/core';\nimport { FileLikeObject } from './file-like-object.class';\nimport { FileItem } from './file-item.class';\nimport { FileType } from './file-type.class';\n\nfunction isFile(value: any): boolean {\n return (File && value instanceof File);\n}\n\nexport interface Headers {\n name: string;\n value: string;\n}\n\nexport interface ParsedResponseHeaders { [ headerFieldName: string ]: string }\n\nexport interface FilterFunction {\n name: string;\n fn(item: FileLikeObject, options?: FileUploaderOptions): boolean;\n}\n\nexport interface FileUploaderOptions {\n allowedMimeType?: string[];\n allowedFileType?: string[];\n autoUpload?: boolean;\n isHTML5?: boolean;\n filters?: FilterFunction[];\n headers?: Headers[];\n method?: string;\n authToken?: string;\n maxFileSize?: number;\n queueLimit?: number;\n removeAfterUpload?: boolean;\n url: string;\n disableMultipart?: boolean;\n itemAlias?: string;\n authTokenHeader?: string;\n additionalParameter?: { [ key: string ]: any };\n parametersBeforeFiles?: boolean;\n // eslint-disable-next-line @typescript-eslint/ban-types\n formatDataFunction?: Function;\n formatDataFunctionIsAsync?: boolean;\n}\n\nexport class FileUploader {\n\n authToken?: string;\n isUploading = false;\n queue: FileItem[] = [];\n progress = 0;\n _nextIndex = 0;\n autoUpload: any;\n authTokenHeader?: string;\n response: EventEmitter<any>;\n\n options: FileUploaderOptions = {\n autoUpload: false,\n isHTML5: true,\n filters: [],\n removeAfterUpload: false,\n disableMultipart: false,\n formatDataFunction: (item: FileItem) => item._file,\n formatDataFunctionIsAsync: false,\n url: ''\n };\n\n protected _failFilterIndex?: number;\n\n constructor(options: FileUploaderOptions) {\n this.setOptions(options);\n this.response = new EventEmitter<string>();\n }\n\n setOptions(options: FileUploaderOptions): void {\n this.options = Object.assign(this.options, options);\n\n this.authToken = this.options.authToken;\n this.authTokenHeader = this.options.authTokenHeader || 'Authorization';\n this.autoUpload = this.options.autoUpload;\n this.options.filters?.unshift({ name: 'queueLimit', fn: this._queueLimitFilter });\n\n if (this.options.maxFileSize) {\n this.options.filters?.unshift({ name: 'fileSize', fn: this._fileSizeFilter });\n }\n\n if (this.options.allowedFileType) {\n this.options.filters?.unshift({ name: 'fileType', fn: this._fileTypeFilter });\n }\n\n if (this.options.allowedMimeType) {\n this.options.filters?.unshift({ name: 'mimeType', fn: this._mimeTypeFilter });\n }\n\n for (let i = 0; i < this.queue.length; i++) {\n this.queue[ i ].url = this.options.url;\n }\n }\n\n addToQueue(files: File[], _options?: FileUploaderOptions, filters?: [] | string): void {\n let options = _options;\n const list: File[] = [];\n for (const file of files) {\n list.push(file);\n }\n const arrayOfFilters = this._getFilters(filters);\n const count = this.queue.length;\n const addedFileItems: FileItem[] = [];\n list.map((some: File) => {\n if (!options) {\n options = this.options;\n }\n\n const temp = new FileLikeObject(some);\n if (this._isValidFile(temp, arrayOfFilters, options)) {\n const fileItem = new FileItem(this, some, options);\n addedFileItems.push(fileItem);\n this.queue.push(fileItem);\n this._onAfterAddingFile(fileItem);\n } else {\n if (this._failFilterIndex) {\n const filter = arrayOfFilters[ this._failFilterIndex ];\n this._onWhenAddingFileFailed(temp, filter, options);\n }\n }\n });\n if (this.queue.length !== count) {\n this._onAfterAddingAll(addedFileItems);\n this.progress = this._getTotalProgress();\n }\n this._render();\n if (this.options.autoUpload) {\n this.uploadAll();\n }\n }\n\n removeFromQueue(value: FileItem): void {\n const index = this.getIndexOfItem(value);\n const item = this.queue[ index ];\n if (item.isUploading) {\n item.cancel();\n }\n this.queue.splice(index, 1);\n this.progress = this._getTotalProgress();\n }\n\n clearQueue(): void {\n while (this.queue.length) {\n this.queue[ 0 ].remove();\n }\n this.progress = 0;\n }\n\n uploadItem(value: FileItem): void {\n const index = this.getIndexOfItem(value);\n const item = this.queue[ index ];\n const transport = this.options.isHTML5 ? '_xhrTransport' : '_iframeTransport';\n item._prepareToUploading();\n if (this.isUploading) {\n return;\n }\n this.isUploading = true;\n (this as any)[ transport ](item);\n }\n\n cancelItem(value: FileItem): void {\n const index = this.getIndexOfItem(value);\n const item = this.queue[ index ];\n const prop = this.options.isHTML5 ? item._xhr : item._form;\n if (item && item.isUploading) {\n prop.abort();\n }\n }\n\n uploadAll(): void {\n const items = this.getNotUploadedItems().filter((item: FileItem) => !item.isUploading);\n if (!items.length) {\n return;\n }\n items.map((item: FileItem) => item._prepareToUploading());\n items[ 0 ].upload();\n }\n\n cancelAll(): void {\n const items = this.getNotUploadedItems();\n items.map((item: FileItem) => item.cancel());\n }\n\n isFile(value: any): boolean {\n return isFile(value);\n }\n\n isFileLikeObject(value: any): boolean {\n return value instanceof FileLikeObject;\n }\n\n getIndexOfItem(value: any): number {\n return typeof value === 'number' ? value : this.queue.indexOf(value);\n }\n\n getNotUploadedItems(): any[] {\n return this.queue.filter((item: FileItem) => !item.isUploaded);\n }\n\n getReadyItems(): any[] {\n return this.queue\n .filter((item: FileItem) => (item.isReady && !item.isUploading))\n .sort((item1: any, item2: any) => item1.index - item2.index);\n }\n\n onAfterAddingAll(fileItems: any): any {\n return { fileItems };\n }\n\n onBuildItemForm(fileItem: FileItem, form: any): any {\n return { fileItem, form };\n }\n\n onAfterAddingFile(fileItem: FileItem): any {\n return { fileItem };\n }\n\n onWhenAddingFileFailed(item: FileLikeObject, filter: any, options: any): any {\n return { item, filter, options };\n }\n\n onBeforeUploadItem(fileItem: FileItem): any {\n return { fileItem };\n }\n\n onProgressItem(fileItem: FileItem, progress: any): any {\n return { fileItem, progress };\n }\n\n onProgressAll(progress: any): any {\n return { progress };\n }\n\n onSuccessItem(item: FileItem, response: string, status: number, headers: ParsedResponseHeaders): any {\n return { item, response, status, headers };\n }\n\n onErrorItem(item: FileItem, response: string, status: number, headers: ParsedResponseHeaders): any {\n return { item, response, status, headers };\n }\n\n onCancelItem(item: FileItem, response: string, status: number, headers: ParsedResponseHeaders): any {\n return { item, response, status, headers };\n }\n\n onCompleteItem(item: FileItem, response: string, status: number, headers: ParsedResponseHeaders): any {\n return { item, response, status, headers };\n }\n\n onCompleteAll(): any {\n return void 0;\n }\n\n _mimeTypeFilter(item: FileLikeObject): boolean {\n return !(item?.type && this.options.allowedMimeType && this.options.allowedMimeType?.indexOf(item.type) === -1);\n }\n\n _fileSizeFilter(item: FileLikeObject): boolean {\n return !(this.options.maxFileSize && item.size > this.options.maxFileSize);\n }\n\n _fileTypeFilter(item: FileLikeObject): boolean {\n return !(this.options.allowedFileType &&\n this.options.allowedFileType.indexOf(FileType.getMimeClass(item)) === -1);\n }\n\n _onErrorItem(item: FileItem, response: string, status: number, headers: ParsedResponseHeaders): void {\n item._onError(response, status, headers);\n this.onErrorItem(item, response, status, headers);\n }\n\n _onCompleteItem(item: FileItem, response: string, status: number, headers: ParsedResponseHeaders): void {\n item._onComplete(response, status, headers);\n this.onCompleteItem(item, response, status, headers);\n const nextItem = this.getReadyItems()[ 0 ];\n this.isUploading = false;\n if (nextItem) {\n nextItem.upload();\n\n return;\n }\n this.onCompleteAll();\n this.progress = this._getTotalProgress();\n this._render();\n }\n\n protected _headersGetter(parsedHeaders: ParsedResponseHeaders): any {\n return (name: any): any => {\n if (name) {\n return parsedHeaders[ name.toLowerCase() ] || undefined;\n }\n\n return parsedHeaders;\n };\n }\n\n protected _xhrTransport(item: FileItem): any {\n // tslint:disable-next-line:no-this-assignment\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const that = this;\n const xhr = item._xhr = new XMLHttpRequest();\n let sendable: any;\n this._onBeforeUploadItem(item);\n\n if (typeof item._file.size !== 'number') {\n throw new TypeError('The file specified is no longer valid');\n }\n if (!this.options.disableMultipart) {\n sendable = new FormData();\n this._onBuildItemForm(item, sendable);\n const appendFile = () => sendable.append(item.alias, item._file, item.file.name);\n if (!this.options.parametersBeforeFiles) {\n appendFile();\n }\n\n // For AWS, Additional Parameters must come BEFORE Files\n if (this.options.additionalParameter !== undefined) {\n Object.keys(this.options.additionalParameter).forEach((key: string) => {\n let paramVal = this.options.additionalParameter?.[ key ];\n // Allow an additional parameter to include the filename\n if (typeof paramVal === 'string' && paramVal.indexOf('{{file_name}}') >= 0 && item.file?.name) {\n paramVal = paramVal.replace('{{file_name}}', item.file.name);\n }\n sendable.append(key, paramVal);\n });\n }\n\n if (appendFile && this.options.parametersBeforeFiles) {\n appendFile();\n }\n } else {\n if (this.options.formatDataFunction) {\n sendable = this.options.formatDataFunction(item);\n }\n }\n\n xhr.upload.onprogress = (event: any) => {\n const progress = Math.round(event.lengthComputable ? event.loaded * 100 / event.total : 0);\n this._onProgressItem(item, progress);\n };\n xhr.onload = () => {\n const headers = this._parseHeaders(xhr.getAllResponseHeaders());\n const response = this._transformResponse(xhr.response, headers);\n const gist = this._isSuccessCode(xhr.status) ? 'Success' : 'Error';\n const method = `_on${gist}Item`;\n (this as any)[ method ](item, response, xhr.status, headers);\n this._onCompleteItem(item, response, xhr.status, headers);\n };\n xhr.onerror = () => {\n const headers = this._parseHeaders(xhr.getAllResponseHeaders());\n const response = this._transformResponse(xhr.response, headers);\n this._onErrorItem(item, response, xhr.status, headers);\n this._onCompleteItem(item, response, xhr.status, headers);\n };\n xhr.onabort = () => {\n const headers = this._parseHeaders(xhr.getAllResponseHeaders());\n const response = this._transformResponse(xhr.response, headers);\n this._onCancelItem(item, response, xhr.status, headers);\n this._onCompleteItem(item, response, xhr.status, headers);\n };\n if (item.method && item.url) {\n xhr.open(item.method, item.url, true);\n }\n xhr.withCredentials = item.withCredentials;\n if (this.options.headers) {\n for (const header of this.options.headers) {\n xhr.setRequestHeader(header.name, header.value);\n }\n }\n if (item.headers.length) {\n for (const header of item.headers) {\n xhr.setRequestHeader(header.name, header.value);\n }\n }\n if (this.authToken && this.authTokenHeader) {\n xhr.setRequestHeader(this.authTokenHeader, this.authToken);\n }\n xhr.onreadystatechange = function () {\n if (xhr.readyState == XMLHttpRequest.DONE) {\n that.response.emit(xhr.responseText);\n }\n };\n if (this.options.formatDataFunctionIsAsync) {\n sendable.then(\n (result: any) => xhr.send(JSON.stringify(result))\n );\n } else {\n xhr.send(sendable);\n }\n this._render();\n }\n\n protected _getTotalProgress(value = 0): number {\n if (this.options.removeAfterUpload) {\n return value;\n }\n const notUploaded = this.getNotUploadedItems().length;\n const uploaded = notUploaded ? this.queue.length - notUploaded : this.queue.length;\n const ratio = 100 / this.queue.length;\n const current = value * ratio / 100;\n return Math.round(uploaded * ratio + current);\n }\n\n protected _getFilters(filters?: FilterFunction[] | string): FilterFunction[] | [] {\n if (!filters) {\n return this.options?.filters || [];\n }\n if (Array.isArray(filters)) {\n return filters;\n }\n if (typeof filters === 'string') {\n const names = filters.match(/[^\\s,]+/g);\n\n return this.options?.filters || []\n .filter((filter: any) => names?.indexOf(filter.name) !== -1);\n }\n\n return this.options?.filters || [];\n }\n\n protected _render(): any {\n return void 0;\n }\n\n protected _queueLimitFilter(): boolean {\n return this.options.queueLimit === undefined || this.queue.length < this.options.queueLimit;\n }\n\n protected _isValidFile(file: FileLikeObject, filters: FilterFunction[], options: FileUploaderOptions): boolean {\n this._failFilterIndex = -1;\n\n return !filters.length ? true : filters.every((filter: FilterFunction) => {\n if (this._failFilterIndex) {\n this._failFilterIndex++;\n }\n\n return filter.fn.call(this, file, options);\n });\n }\n\n protected _isSuccessCode(status: number): boolean {\n return (status >= 200 && status < 300) || status === 304;\n }\n\n protected _transformResponse(response: string, headers: ParsedResponseHeaders): string {\n return response;\n }\n\n protected _parseHeaders(headers: string): ParsedResponseHeaders {\n const parsed: any = {};\n let key: any;\n let val: any;\n let i: any;\n if (!headers) {\n return parsed;\n }\n headers.split('\\n').map((line: any) => {\n i = line.indexOf(':');\n key = line.slice(0, i).trim().toLowerCase();\n val = line.slice(i + 1).trim();\n if (key) {\n parsed[ key ] = parsed[ key ] ? parsed[ key ] + ', ' + val : val;\n }\n });\n\n return parsed;\n }\n\n protected _onWhenAddingFileFailed(item: FileLikeObject, filter: any, options: any): void {\n this.onWhenAddingFileFailed(item, filter, options);\n }\n\n protected _onAfterAddingFile(item: FileItem): void {\n this.onAfterAddingFile(item);\n }\n\n protected _onAfterAddingAll(items: any): void {\n this.onAfterAddingAll(items);\n }\n\n protected _onBeforeUploadItem(item: FileItem): void {\n item._onBeforeUpload();\n this.onBeforeUploadItem(item);\n }\n\n protected _onBuildItemForm(item: FileItem, form: any): void {\n item._onBuildForm(form);\n this.onBuildItemForm(item, form);\n }\n\n protected _onProgressItem(item: FileItem, progress: any): void {\n const total = this._getTotalProgress(progress);\n this.progress = total;\n item._onProgress(progress);\n this.onProgressItem(item, progress);\n this.onProgressAll(total);\n this._render();\n }\n\n protected _onSuccessItem(item: FileItem, response: string, status: number, headers: ParsedResponseHeaders): void {\n item._onSuccess(response, status, headers);\n this.onSuccessItem(item, response, status, headers);\n }\n\n protected _onCancelItem(item: FileItem, response: string, status: number, headers: ParsedResponseHeaders): void {\n item._onCancel(response, status, headers);\n this.onCancelItem(item, response, status, headers);\n }\n}\n"]}
@@ -1 +0,0 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"Headers":{"__symbolic":"interface"},"ParsedResponseHeaders":{"__symbolic":"interface"},"FilterFunction":{"__symbolic":"interface"},"FileUploaderOptions":{"__symbolic":"interface"},"FileUploader":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"}]}],"setOptions":[{"__symbolic":"method"}],"addToQueue":[{"__symbolic":"method"}],"removeFromQueue":[{"__symbolic":"method"}],"clearQueue":[{"__symbolic":"method"}],"uploadItem":[{"__symbolic":"method"}],"cancelItem":[{"__symbolic":"method"}],"uploadAll":[{"__symbolic":"method"}],"cancelAll":[{"__symbolic":"method"}],"isFile":[{"__symbolic":"method"}],"isFileLikeObject":[{"__symbolic":"method"}],"getIndexOfItem":[{"__symbolic":"method"}],"getNotUploadedItems":[{"__symbolic":"method"}],"getReadyItems":[{"__symbolic":"method"}],"onAfterAddingAll":[{"__symbolic":"method"}],"onBuildItemForm":[{"__symbolic":"method"}],"onAfterAddingFile":[{"__symbolic":"method"}],"onWhenAddingFileFailed":[{"__symbolic":"method"}],"onBeforeUploadItem":[{"__symbolic":"method"}],"onProgressItem":[{"__symbolic":"method"}],"onProgressAll":[{"__symbolic":"method"}],"onSuccessItem":[{"__symbolic":"method"}],"onErrorItem":[{"__symbolic":"method"}],"onCancelItem":[{"__symbolic":"method"}],"onCompleteItem":[{"__symbolic":"method"}],"onCompleteAll":[{"__symbolic":"method"}],"_mimeTypeFilter":[{"__symbolic":"method"}],"_fileSizeFilter":[{"__symbolic":"method"}],"_fileTypeFilter":[{"__symbolic":"method"}],"_onErrorItem":[{"__symbolic":"method"}],"_onCompleteItem":[{"__symbolic":"method"}],"_headersGetter":[{"__symbolic":"method"}],"_xhrTransport":[{"__symbolic":"method"}],"_getTotalProgress":[{"__symbolic":"method"}],"_getFilters":[{"__symbolic":"method"}],"_render":[{"__symbolic":"method"}],"_queueLimitFilter":[{"__symbolic":"method"}],"_isValidFile":[{"__symbolic":"method"}],"_isSuccessCode":[{"__symbolic":"method"}],"_transformResponse":[{"__symbolic":"method"}],"_parseHeaders":[{"__symbolic":"method"}],"_onWhenAddingFileFailed":[{"__symbolic":"method"}],"_onAfterAddingFile":[{"__symbolic":"method"}],"_onAfterAddingAll":[{"__symbolic":"method"}],"_onBeforeUploadItem":[{"__symbolic":"method"}],"_onBuildItemForm":[{"__symbolic":"method"}],"_onProgressItem":[{"__symbolic":"method"}],"_onSuccessItem":[{"__symbolic":"method"}],"_onCancelItem":[{"__symbolic":"method"}]}}}}]
package/esm2015/index.js DELETED
@@ -1,8 +0,0 @@
1
- export * from './file-upload/file-drop.directive';
2
- export * from './file-upload/file-uploader.class';
3
- export * from './file-upload/file-item.class';
4
- export * from './file-upload/file-like-object.class';
5
- export * from './file-upload/file-like-object.class';
6
- export { FileUploadModule } from './file-upload/file-upload.module';
7
- export { FileSelectDirective } from './file-upload/file-select.directive';
8
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/ng2-file-upload/index.ts"],"names":[],"mappings":"AAAA,cAAe,mCAAmC,CAAC;AACnD,cAAe,mCAAmC,CAAC;AACnD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sCAAsC,CAAC;AACrD,cAAc,sCAAsC,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC","sourcesContent":["export * from './file-upload/file-drop.directive';\nexport * from './file-upload/file-uploader.class';\nexport * from './file-upload/file-item.class';\nexport * from './file-upload/file-like-object.class';\nexport * from './file-upload/file-like-object.class';\n\nexport { FileUploadModule } from './file-upload/file-upload.module';\nexport { FileSelectDirective } from './file-upload/file-select.directive';\n"]}
@@ -1 +0,0 @@
1
- [{"__symbolic":"module","version":4,"metadata":{},"exports":[{"from":"./file-upload/file-drop.directive"},{"from":"./file-upload/file-uploader.class"},{"from":"./file-upload/file-item.class"},{"from":"./file-upload/file-like-object.class"},{"from":"./file-upload/file-like-object.class"},{"from":"./file-upload/file-upload.module","export":["FileUploadModule"]},{"from":"./file-upload/file-select.directive","export":["FileSelectDirective"]}]}]
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=ng2-file-upload.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ng2-file-upload.js","sourceRoot":"","sources":["../../../../libs/ng2-file-upload/ng2-file-upload.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,SAAS,CAAC","sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"]}
@@ -1 +0,0 @@
1
- [{"__symbolic":"module","version":4,"metadata":{},"exports":[{"from":"./index"}]}]