fctrlx-angular-file-reader
Version:
Angular library that helps convert file (from input[type=file]) to base64/arrayBuffer/text using FileReader API.
67 lines • 4.83 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Directive, ElementRef, EventEmitter, Input, Output, } from '@angular/core';
import { Base } from './Base';
export class FileToArrayBuffer extends Base {
/**
* @param {?} element
*/
constructor(element) {
super(FileToArrayBuffer.config.name, element);
this.filesChange = new EventEmitter();
this.onProgress = new EventEmitter();
this.onError = new EventEmitter();
this.onAbort = new EventEmitter();
}
/**
* @param {?} event
* @return {?}
*/
filesChanged(event) {
super.filesChanged(event, FileToArrayBuffer.config.method, FileToArrayBuffer.config.storeKey);
}
}
FileToArrayBuffer.config = {
name: 'fileToArrBuf',
method: 'readAsArrayBuffer',
storeKey: 'arrBuf',
};
FileToArrayBuffer.decorators = [
{ type: Directive, args: [{
selector: '[fileToArrBuf]',
},] }
];
/** @nocollapse */
FileToArrayBuffer.ctorParameters = () => [
{ type: ElementRef }
];
FileToArrayBuffer.propDecorators = {
files: [{ type: Input }],
type: [{ type: Input }],
multiple: [{ type: Input }],
filesChange: [{ type: Output }],
onProgress: [{ type: Output }],
onError: [{ type: Output }],
onAbort: [{ type: Output }]
};
if (false) {
/** @type {?} */
FileToArrayBuffer.config;
/** @type {?} */
FileToArrayBuffer.prototype.files;
/** @type {?} */
FileToArrayBuffer.prototype.type;
/** @type {?} */
FileToArrayBuffer.prototype.multiple;
/** @type {?} */
FileToArrayBuffer.prototype.filesChange;
/** @type {?} */
FileToArrayBuffer.prototype.onProgress;
/** @type {?} */
FileToArrayBuffer.prototype.onError;
/** @type {?} */
FileToArrayBuffer.prototype.onAbort;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS10by1hcnJheS1idWZmZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9mY3RybHgtYW5ndWxhci1maWxlLXJlYWRlci8iLCJzb3VyY2VzIjpbImxpYi9kaXJlY3RpdmVzL2ZpbGUtdG8tYXJyYXktYnVmZmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBTTlCLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxJQUFJOzs7O0lBZ0J6QyxZQUFZLE9BQW1CO1FBQzdCLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBWnRDLGdCQUFXLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDcEQsZUFBVSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ25ELFlBQU8sR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNoRCxZQUFPLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7SUFVMUQsQ0FBQzs7Ozs7SUFFRCxZQUFZLENBQUMsS0FBWTtRQUN2QixLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNoRyxDQUFDOztBQVplLHdCQUFNLEdBQW9CO0lBQ3hDLElBQUksRUFBRSxjQUFjO0lBQ3BCLE1BQU0sRUFBRSxtQkFBbUI7SUFDM0IsUUFBUSxFQUFFLFFBQVE7Q0FDbkIsQ0FBQzs7WUFqQkgsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxnQkFBZ0I7YUFDM0I7Ozs7WUFWRyxVQUFVOzs7b0JBWVgsS0FBSzttQkFDTCxLQUFLO3VCQUNMLEtBQUs7MEJBRUwsTUFBTTt5QkFDTixNQUFNO3NCQUNOLE1BQU07c0JBQ04sTUFBTTs7OztJQUVQLHlCQUlFOztJQWJGLGtDQUFvQjs7SUFDcEIsaUNBQXNCOztJQUN0QixxQ0FBdUQ7O0lBRXZELHdDQUE4RDs7SUFDOUQsdUNBQTZEOztJQUM3RCxvQ0FBMEQ7O0lBQzFELG9DQUEwRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYXNlIH0gZnJvbSAnLi9CYXNlJztcbmltcG9ydCB7IERpcmVjdGl2ZUNvbmZpZyB9IGZyb20gJy4uL21vZGVscy9kaXJlY3RpdmUtY29uZmlnJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2ZpbGVUb0FyckJ1Zl0nLFxufSlcbmV4cG9ydCBjbGFzcyBGaWxlVG9BcnJheUJ1ZmZlciBleHRlbmRzIEJhc2Uge1xuICBASW5wdXQoKSBmaWxlczogYW55O1xuICBASW5wdXQoKSB0eXBlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIG11bHRpcGxlOiB1bmRlZmluZWQgfCBudWxsIHwgc3RyaW5nIHwgYm9vbGVhbjtcblxuICBAT3V0cHV0KCkgZmlsZXNDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgb25Qcm9ncmVzczogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBvbkVycm9yOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIG9uQWJvcnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHN0YXRpYyByZWFkb25seSBjb25maWc6IERpcmVjdGl2ZUNvbmZpZyA9IHtcbiAgICBuYW1lOiAnZmlsZVRvQXJyQnVmJyxcbiAgICBtZXRob2Q6ICdyZWFkQXNBcnJheUJ1ZmZlcicsXG4gICAgc3RvcmVLZXk6ICdhcnJCdWYnLFxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnQ6IEVsZW1lbnRSZWYpIHtcbiAgICBzdXBlcihGaWxlVG9BcnJheUJ1ZmZlci5jb25maWcubmFtZSwgZWxlbWVudCk7XG4gIH1cblxuICBmaWxlc0NoYW5nZWQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgc3VwZXIuZmlsZXNDaGFuZ2VkKGV2ZW50LCBGaWxlVG9BcnJheUJ1ZmZlci5jb25maWcubWV0aG9kLCBGaWxlVG9BcnJheUJ1ZmZlci5jb25maWcuc3RvcmVLZXkpO1xuICB9XG59XG4iXX0=