UNPKG

@miracledevs/paradigm-web-angular

Version:

An angular wrapper with base functionality and helper services.

206 lines 15.6 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; /*! * Paradigm Framework - Angular Wrapper * Copyright (c) 2017 Miracle Devs, Inc * Licensed under MIT (https://github.com/MiracleDevs/Paradigm.Web.Shared/blob/master/LICENSE) */ import { Injectable } from '@angular/core'; import { ServiceBase } from './base.service'; import * as i0 from "@angular/core"; var FileService = /** @class */ (function (_super) { tslib_1.__extends(FileService, _super); function FileService() { return _super !== null && _super.apply(this, arguments) || this; } /** * Reads a file as a blog. * @param file the file that needs to be read. * @param onProgress A progress handler to receive progress reports. */ /** * Reads a file as a blog. * @param {?} file the file that needs to be read. * @param {?=} onProgress A progress handler to receive progress reports. * @return {?} */ FileService.prototype.readAsBlob = /** * Reads a file as a blog. * @param {?} file the file that needs to be read. * @param {?=} onProgress A progress handler to receive progress reports. * @return {?} */ function (file, onProgress) { return tslib_1.__awaiter(this, void 0, void 0, function () { var _a; return tslib_1.__generator(this, function (_b) { switch (_b.label) { case 0: _a = Blob.bind; return [4 /*yield*/, this.read(file, (/** * @param {?} fileReader * @return {?} */ function (fileReader) { return fileReader.readAsArrayBuffer(file); }), onProgress)]; case 1: return [2 /*return*/, new (_a.apply(Blob, [void 0, [_b.sent()], { type: file.type }]))()]; } }); }); }; /** * Reads a file as text. * @param file the file that needs to be read. * @param onProgress A progress handler to receive progress reports. */ /** * Reads a file as text. * @param {?} file the file that needs to be read. * @param {?=} onProgress A progress handler to receive progress reports. * @return {?} */ FileService.prototype.readAsText = /** * Reads a file as text. * @param {?} file the file that needs to be read. * @param {?=} onProgress A progress handler to receive progress reports. * @return {?} */ function (file, onProgress) { return tslib_1.__awaiter(this, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, this.read(file, (/** * @param {?} fileReader * @return {?} */ function (fileReader) { return fileReader.readAsText(file); }), onProgress)]; case 1: return [2 /*return*/, (/** @type {?} */ (_a.sent()))]; } }); }); }; /** * Reads a file as binary text. * @param file the file that needs to be read. * @param onProgress A progress handler to receive progress reports. */ /** * Reads a file as binary text. * @param {?} file the file that needs to be read. * @param {?=} onProgress A progress handler to receive progress reports. * @return {?} */ FileService.prototype.readAsBinaryString = /** * Reads a file as binary text. * @param {?} file the file that needs to be read. * @param {?=} onProgress A progress handler to receive progress reports. * @return {?} */ function (file, onProgress) { return tslib_1.__awaiter(this, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, this.read(file, (/** * @param {?} fileReader * @return {?} */ function (fileReader) { return fileReader.readAsBinaryString(file); }), onProgress)]; case 1: return [2 /*return*/, (/** @type {?} */ (_a.sent()))]; } }); }); }; /** * Reads a file and handles all the events and event removing. * @param file the file to read. * @param action the reading action. * @param progress a progress handler to report progress. */ /** * Reads a file and handles all the events and event removing. * @private * @param {?} file the file to read. * @param {?} action the reading action. * @param {?=} progress a progress handler to report progress. * @return {?} */ FileService.prototype.read = /** * Reads a file and handles all the events and event removing. * @private * @param {?} file the file to read. * @param {?} action the reading action. * @param {?=} progress a progress handler to report progress. * @return {?} */ function (file, action, progress) { return new Promise((/** * @param {?} resolve * @param {?} reject * @return {?} */ function (resolve, reject) { /** @type {?} */ var fileReader = new FileReader(); /** * @return {?} */ function addEventListeners() { fileReader.addEventListener('progress', onProgress); fileReader.addEventListener('loadend', onLoadEnd); fileReader.addEventListener('error', onError); } /** * @return {?} */ function removeEventListeners() { fileReader.removeEventListener('progress', onProgress); fileReader.removeEventListener('loadend', onLoadEnd); fileReader.removeEventListener('error', onError); } /** * @param {?} e * @return {?} */ function onProgress(e) { if (e.lengthComputable) { /** @type {?} */ var percentLoaded = Math.round((e.loaded / e.total) * 100); progress(percentLoaded); } } /** * @return {?} */ function onLoadEnd() { removeEventListeners(); resolve(fileReader.result); } /** * @param {?} e * @return {?} */ function onError(e) { removeEventListeners(); reject(e); } addEventListeners(); try { action(fileReader); } catch (error) { onError(error); } })); }; FileService.decorators = [ { type: Injectable, args: [{ providedIn: 'root' },] } ]; /** @nocollapse */ FileService.ngInjectableDef = i0.defineInjectable({ factory: function FileService_Factory() { return new FileService(); }, token: FileService, providedIn: "root" }); return FileService; }(ServiceBase)); export { FileService }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG1pcmFjbGVkZXZzL3BhcmFkaWdtLXdlYi1hbmd1bGFyLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2ZpbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBTUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBRTdDO0lBR2lDLHVDQUFXO0lBSDVDOztLQThGQztJQXpGRzs7OztPQUlHOzs7Ozs7O0lBQ0csZ0NBQVU7Ozs7OztJQUFoQixVQUFpQixJQUFVLEVBQUUsVUFBeUM7Ozs7Ozs2QkFFdkQsSUFBSTt3QkFBRSxxQkFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7Ozs7NEJBQUUsVUFBQSxVQUFVLElBQUksT0FBQSxVQUFVLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQWxDLENBQWtDLEdBQUUsVUFBVSxDQUFDLEVBQUE7NEJBQXBHLHNCQUFPLGNBQUksSUFBSSxZQUFFLFNBQW1GLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFDLEVBQUM7Ozs7S0FDL0g7SUFFRDs7OztPQUlHOzs7Ozs7O0lBQ0csZ0NBQVU7Ozs7OztJQUFoQixVQUFpQixJQUFVLEVBQUUsVUFBeUM7Ozs7NEJBRTNELHFCQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTs7Ozt3QkFBRSxVQUFBLFVBQVUsSUFBSSxPQUFBLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQTNCLENBQTJCLEdBQUUsVUFBVSxDQUFDLEVBQUE7NEJBQW5GLHNCQUFPLG1CQUFBLFNBQTRFLEVBQVUsRUFBQzs7OztLQUNqRztJQUVEOzs7O09BSUc7Ozs7Ozs7SUFDRyx3Q0FBa0I7Ozs7OztJQUF4QixVQUF5QixJQUFVLEVBQUUsVUFBeUM7Ozs7NEJBRW5FLHFCQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTs7Ozt3QkFBRSxVQUFBLFVBQVUsSUFBSSxPQUFBLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBbkMsQ0FBbUMsR0FBRSxVQUFVLENBQUMsRUFBQTs0QkFBM0Ysc0JBQU8sbUJBQUEsU0FBb0YsRUFBVSxFQUFDOzs7O0tBQ3pHO0lBRUQ7Ozs7O09BS0c7Ozs7Ozs7OztJQUNLLDBCQUFJOzs7Ozs7OztJQUFaLFVBQWEsSUFBVSxFQUFFLE1BQXdDLEVBQUUsUUFBdUM7UUFFdEcsT0FBTyxJQUFJLE9BQU87Ozs7O1FBQXVCLFVBQUMsT0FBTyxFQUFFLE1BQU07O2dCQUUvQyxVQUFVLEdBQUcsSUFBSSxVQUFVLEVBQUU7Ozs7WUFFbkMsU0FBUyxpQkFBaUI7Z0JBRXRCLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQ3BELFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7Z0JBQ2xELFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDbEQsQ0FBQzs7OztZQUVELFNBQVMsb0JBQW9CO2dCQUV6QixVQUFVLENBQUMsbUJBQW1CLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUN2RCxVQUFVLENBQUMsbUJBQW1CLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUNyRCxVQUFVLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3JELENBQUM7Ozs7O1lBRUQsU0FBUyxVQUFVLENBQUMsQ0FBZ0I7Z0JBRWhDLElBQUksQ0FBQyxDQUFDLGdCQUFnQixFQUN0Qjs7d0JBQ1UsYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLENBQUM7b0JBQzVELFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztpQkFDM0I7WUFDTCxDQUFDOzs7O1lBRUQsU0FBUyxTQUFTO2dCQUVkLG9CQUFvQixFQUFFLENBQUM7Z0JBQ3ZCLE9BQU8sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDL0IsQ0FBQzs7Ozs7WUFFRCxTQUFTLE9BQU8sQ0FBQyxDQUFNO2dCQUVuQixvQkFBb0IsRUFBRSxDQUFDO2dCQUN2QixNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDZCxDQUFDO1lBRUQsaUJBQWlCLEVBQUUsQ0FBQztZQUVwQixJQUNBO2dCQUNJLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUN0QjtZQUNELE9BQU8sS0FBSyxFQUNaO2dCQUNJLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNsQjtRQUNMLENBQUMsRUFBQyxDQUFDO0lBQ1AsQ0FBQzs7Z0JBN0ZKLFVBQVUsU0FBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OztzQkFYRDtDQXVHQyxBQTlGRCxDQUdpQyxXQUFXLEdBMkYzQztTQTNGWSxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBQYXJhZGlnbSBGcmFtZXdvcmsgLSBBbmd1bGFyIFdyYXBwZXJcbiAqIENvcHlyaWdodCAoYykgMjAxNyBNaXJhY2xlIERldnMsIEluY1xuICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vTWlyYWNsZURldnMvUGFyYWRpZ20uV2ViLlNoYXJlZC9ibG9iL21hc3Rlci9MSUNFTlNFKVxuICovXG5cbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNlcnZpY2VCYXNlIH0gZnJvbSAnLi9iYXNlLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVTZXJ2aWNlIGV4dGVuZHMgU2VydmljZUJhc2VcbntcbiAgICAvKipcbiAgICAgKiBSZWFkcyBhIGZpbGUgYXMgYSBibG9nLlxuICAgICAqIEBwYXJhbSBmaWxlIHRoZSBmaWxlIHRoYXQgbmVlZHMgdG8gYmUgcmVhZC5cbiAgICAgKiBAcGFyYW0gb25Qcm9ncmVzcyBBIHByb2dyZXNzIGhhbmRsZXIgdG8gcmVjZWl2ZSBwcm9ncmVzcyByZXBvcnRzLlxuICAgICAqL1xuICAgIGFzeW5jIHJlYWRBc0Jsb2IoZmlsZTogRmlsZSwgb25Qcm9ncmVzcz86IChwZXJjZW50YWdlOiBudW1iZXIpID0+IHZvaWQpOiBQcm9taXNlPEJsb2I+XG4gICAge1xuICAgICAgICByZXR1cm4gbmV3IEJsb2IoW2F3YWl0IHRoaXMucmVhZChmaWxlLCBmaWxlUmVhZGVyID0+IGZpbGVSZWFkZXIucmVhZEFzQXJyYXlCdWZmZXIoZmlsZSksIG9uUHJvZ3Jlc3MpXSwgeyB0eXBlOiBmaWxlLnR5cGUgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVhZHMgYSBmaWxlIGFzIHRleHQuXG4gICAgICogQHBhcmFtIGZpbGUgdGhlIGZpbGUgdGhhdCBuZWVkcyB0byBiZSByZWFkLlxuICAgICAqIEBwYXJhbSBvblByb2dyZXNzIEEgcHJvZ3Jlc3MgaGFuZGxlciB0byByZWNlaXZlIHByb2dyZXNzIHJlcG9ydHMuXG4gICAgICovXG4gICAgYXN5bmMgcmVhZEFzVGV4dChmaWxlOiBGaWxlLCBvblByb2dyZXNzPzogKHBlcmNlbnRhZ2U6IG51bWJlcikgPT4gdm9pZCk6IFByb21pc2U8c3RyaW5nPlxuICAgIHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMucmVhZChmaWxlLCBmaWxlUmVhZGVyID0+IGZpbGVSZWFkZXIucmVhZEFzVGV4dChmaWxlKSwgb25Qcm9ncmVzcykgYXMgc3RyaW5nO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlYWRzIGEgZmlsZSBhcyBiaW5hcnkgdGV4dC5cbiAgICAgKiBAcGFyYW0gZmlsZSB0aGUgZmlsZSB0aGF0IG5lZWRzIHRvIGJlIHJlYWQuXG4gICAgICogQHBhcmFtIG9uUHJvZ3Jlc3MgQSBwcm9ncmVzcyBoYW5kbGVyIHRvIHJlY2VpdmUgcHJvZ3Jlc3MgcmVwb3J0cy5cbiAgICAgKi9cbiAgICBhc3luYyByZWFkQXNCaW5hcnlTdHJpbmcoZmlsZTogRmlsZSwgb25Qcm9ncmVzcz86IChwZXJjZW50YWdlOiBudW1iZXIpID0+IHZvaWQpOiBQcm9taXNlPHN0cmluZz5cbiAgICB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLnJlYWQoZmlsZSwgZmlsZVJlYWRlciA9PiBmaWxlUmVhZGVyLnJlYWRBc0JpbmFyeVN0cmluZyhmaWxlKSwgb25Qcm9ncmVzcykgYXMgc3RyaW5nO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlYWRzIGEgZmlsZSBhbmQgaGFuZGxlcyBhbGwgdGhlIGV2ZW50cyBhbmQgZXZlbnQgcmVtb3ZpbmcuXG4gICAgICogQHBhcmFtIGZpbGUgdGhlIGZpbGUgdG8gcmVhZC5cbiAgICAgKiBAcGFyYW0gYWN0aW9uIHRoZSByZWFkaW5nIGFjdGlvbi5cbiAgICAgKiBAcGFyYW0gcHJvZ3Jlc3MgYSBwcm9ncmVzcyBoYW5kbGVyIHRvIHJlcG9ydCBwcm9ncmVzcy5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWQoZmlsZTogRmlsZSwgYWN0aW9uOiAoZmlsZVJlYWRlcjogRmlsZVJlYWRlcikgPT4gdm9pZCwgcHJvZ3Jlc3M/OiAocGVyY2VudGFnZTogbnVtYmVyKSA9PiB2b2lkKTogUHJvbWlzZTxzdHJpbmcgfCBBcnJheUJ1ZmZlcj5cbiAgICB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZTxzdHJpbmcgfCBBcnJheUJ1ZmZlcj4oKHJlc29sdmUsIHJlamVjdCkgPT5cbiAgICAgICAge1xuICAgICAgICAgICAgY29uc3QgZmlsZVJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG5cbiAgICAgICAgICAgIGZ1bmN0aW9uIGFkZEV2ZW50TGlzdGVuZXJzKCk6IHZvaWRcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBmaWxlUmVhZGVyLmFkZEV2ZW50TGlzdGVuZXIoJ3Byb2dyZXNzJywgb25Qcm9ncmVzcyk7XG4gICAgICAgICAgICAgICAgZmlsZVJlYWRlci5hZGRFdmVudExpc3RlbmVyKCdsb2FkZW5kJywgb25Mb2FkRW5kKTtcbiAgICAgICAgICAgICAgICBmaWxlUmVhZGVyLmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgb25FcnJvcik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGZ1bmN0aW9uIHJlbW92ZUV2ZW50TGlzdGVuZXJzKCk6IHZvaWRcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBmaWxlUmVhZGVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Byb2dyZXNzJywgb25Qcm9ncmVzcyk7XG4gICAgICAgICAgICAgICAgZmlsZVJlYWRlci5yZW1vdmVFdmVudExpc3RlbmVyKCdsb2FkZW5kJywgb25Mb2FkRW5kKTtcbiAgICAgICAgICAgICAgICBmaWxlUmVhZGVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgb25FcnJvcik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGZ1bmN0aW9uIG9uUHJvZ3Jlc3MoZTogUHJvZ3Jlc3NFdmVudCk6IHZvaWRcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZiAoZS5sZW5ndGhDb21wdXRhYmxlKVxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcGVyY2VudExvYWRlZCA9IE1hdGgucm91bmQoKGUubG9hZGVkIC8gZS50b3RhbCkgKiAxMDApO1xuICAgICAgICAgICAgICAgICAgICBwcm9ncmVzcyhwZXJjZW50TG9hZGVkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGZ1bmN0aW9uIG9uTG9hZEVuZCgpXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcmVtb3ZlRXZlbnRMaXN0ZW5lcnMoKTtcbiAgICAgICAgICAgICAgICByZXNvbHZlKGZpbGVSZWFkZXIucmVzdWx0KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZnVuY3Rpb24gb25FcnJvcihlOiBhbnkpXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcmVtb3ZlRXZlbnRMaXN0ZW5lcnMoKTtcbiAgICAgICAgICAgICAgICByZWplY3QoZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGFkZEV2ZW50TGlzdGVuZXJzKCk7XG5cbiAgICAgICAgICAgIHRyeVxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGFjdGlvbihmaWxlUmVhZGVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChlcnJvcilcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBvbkVycm9yKGVycm9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19