fctrlx-angular-file-reader
Version:
Angular library that helps convert file (from input[type=file]) to base64/arrayBuffer/text using FileReader API.
73 lines • 5.14 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import * as tslib_1 from "tslib";
import { Directive, ElementRef, EventEmitter, Input, Output, } from '@angular/core';
import { Base } from './Base';
var FileToBase64 = /** @class */ (function (_super) {
tslib_1.__extends(FileToBase64, _super);
function FileToBase64(element) {
var _this = _super.call(this, FileToBase64.config.name, element) || this;
_this.filesChange = new EventEmitter();
_this.onProgress = new EventEmitter();
_this.onError = new EventEmitter();
_this.onAbort = new EventEmitter();
return _this;
}
/**
* @param {?} event
* @return {?}
*/
FileToBase64.prototype.filesChanged = /**
* @param {?} event
* @return {?}
*/
function (event) {
_super.prototype.filesChanged.call(this, event, FileToBase64.config.method, FileToBase64.config.storeKey);
};
FileToBase64.config = {
name: 'fileToBase64',
method: 'readAsDataURL',
storeKey: 'base64',
};
FileToBase64.decorators = [
{ type: Directive, args: [{
selector: '[fileToBase64]',
},] }
];
/** @nocollapse */
FileToBase64.ctorParameters = function () { return [
{ type: ElementRef }
]; };
FileToBase64.propDecorators = {
files: [{ type: Input }],
type: [{ type: Input }],
multiple: [{ type: Input }],
filesChange: [{ type: Output }],
onProgress: [{ type: Output }],
onError: [{ type: Output }],
onAbort: [{ type: Output }]
};
return FileToBase64;
}(Base));
export { FileToBase64 };
if (false) {
/** @type {?} */
FileToBase64.config;
/** @type {?} */
FileToBase64.prototype.files;
/** @type {?} */
FileToBase64.prototype.type;
/** @type {?} */
FileToBase64.prototype.multiple;
/** @type {?} */
FileToBase64.prototype.filesChange;
/** @type {?} */
FileToBase64.prototype.onProgress;
/** @type {?} */
FileToBase64.prototype.onError;
/** @type {?} */
FileToBase64.prototype.onAbort;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS10by1iYXNlNjQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9mY3RybHgtYW5ndWxhci1maWxlLXJlYWRlci8iLCJzb3VyY2VzIjpbImxpYi9kaXJlY3RpdmVzL2ZpbGUtdG8tYmFzZTY0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUc5QjtJQUdrQyx3Q0FBSTtJQWdCcEMsc0JBQVksT0FBbUI7UUFBL0IsWUFDRSxrQkFBTSxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsU0FDekM7UUFiUyxpQkFBVyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3BELGdCQUFVLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbkQsYUFBTyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2hELGFBQU8sR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQzs7SUFVMUQsQ0FBQzs7Ozs7SUFFRCxtQ0FBWTs7OztJQUFaLFVBQWEsS0FBWTtRQUN2QixpQkFBTSxZQUFZLFlBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdEYsQ0FBQztJQVplLG1CQUFNLEdBQW9CO1FBQ3hDLElBQUksRUFBRSxjQUFjO1FBQ3BCLE1BQU0sRUFBRSxlQUFlO1FBQ3ZCLFFBQVEsRUFBRSxRQUFRO0tBQ25CLENBQUM7O2dCQWpCSCxTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtpQkFDM0I7Ozs7Z0JBVkMsVUFBVTs7O3dCQVlULEtBQUs7dUJBQ0wsS0FBSzsyQkFDTCxLQUFLOzhCQUVMLE1BQU07NkJBQ04sTUFBTTswQkFDTixNQUFNOzBCQUNOLE1BQU07O0lBZVQsbUJBQUM7Q0FBQSxBQTFCRCxDQUdrQyxJQUFJLEdBdUJyQztTQXZCWSxZQUFZOzs7SUFVdkIsb0JBSUU7O0lBYkYsNkJBQW9COztJQUNwQiw0QkFBc0I7O0lBQ3RCLGdDQUF1RDs7SUFFdkQsbUNBQThEOztJQUM5RCxrQ0FBNkQ7O0lBQzdELCtCQUEwRDs7SUFDMUQsK0JBQTBEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFzZSB9IGZyb20gJy4vQmFzZSc7XG5pbXBvcnQgeyBEaXJlY3RpdmVDb25maWcgfSBmcm9tICcuLi9tb2RlbHMvZGlyZWN0aXZlLWNvbmZpZyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tmaWxlVG9CYXNlNjRdJyxcbn0pXG5leHBvcnQgY2xhc3MgRmlsZVRvQmFzZTY0IGV4dGVuZHMgQmFzZSB7XG4gIEBJbnB1dCgpIGZpbGVzOiBhbnk7XG4gIEBJbnB1dCgpIHR5cGU6IHN0cmluZztcbiAgQElucHV0KCkgbXVsdGlwbGU6IHVuZGVmaW5lZCB8IG51bGwgfCBzdHJpbmcgfCBib29sZWFuO1xuXG4gIEBPdXRwdXQoKSBmaWxlc0NoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBvblByb2dyZXNzOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIG9uRXJyb3I6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgb25BYm9ydDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgc3RhdGljIHJlYWRvbmx5IGNvbmZpZzogRGlyZWN0aXZlQ29uZmlnID0ge1xuICAgIG5hbWU6ICdmaWxlVG9CYXNlNjQnLFxuICAgIG1ldGhvZDogJ3JlYWRBc0RhdGFVUkwnLFxuICAgIHN0b3JlS2V5OiAnYmFzZTY0JyxcbiAgfTtcblxuICBjb25zdHJ1Y3RvcihlbGVtZW50OiBFbGVtZW50UmVmKSB7XG4gICAgc3VwZXIoRmlsZVRvQmFzZTY0LmNvbmZpZy5uYW1lLCBlbGVtZW50KTtcbiAgfVxuXG4gIGZpbGVzQ2hhbmdlZChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBzdXBlci5maWxlc0NoYW5nZWQoZXZlbnQsIEZpbGVUb0Jhc2U2NC5jb25maWcubWV0aG9kLCBGaWxlVG9CYXNlNjQuY29uZmlnLnN0b3JlS2V5KTtcbiAgfVxufVxuIl19