UNPKG

@dicdikshaorg/epub-player-v9

Version:

Contains Epub player library components powered by angular. These components are designed to be used in sunbird consumption platforms *(mobile app, web portal, offline desktop app)* to drive reusability, maintainability hence reducing the redundant develo

63 lines 7.49 kB
import { __awaiter } from "tslib"; import { Injectable } from '@angular/core'; import { epubPlayerConstants } from '../../sunbird-epub.constant'; import * as i0 from "@angular/core"; export class UtilService { constructor() { this.fromConst = epubPlayerConstants; } uniqueId(length = 32) { let result = ''; const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; const charactersLength = characters.length; for (let i = 0; i < length; i++) { result += characters.charAt(Math.floor(Math.random() * charactersLength)); } return result; } getTimeSpentText(pdfPlayerStartTime) { const duration = new Date().getTime() - pdfPlayerStartTime; const minutes = Math.floor(duration / 60000); const seconds = Number(((duration % 60000) / 1000).toFixed(0)); return (minutes + ':' + (seconds < 10 ? '0' : '') + seconds); } getCurrentIndex(event, currentPageIndex) { if ((event === null || event === void 0 ? void 0 : event.interaction) === this.fromConst.NEXT) { return currentPageIndex + 1; } if ((event === null || event === void 0 ? void 0 : event.interaction) === this.fromConst.PREVIOUS) { return currentPageIndex - 1 === 0 ? 1 : currentPageIndex - 1; } } fulfillWithTimeLimit(timeLimit, task, failureValue) { return __awaiter(this, void 0, void 0, function* () { let timeout; const timeoutPromise = new Promise((resolve, reject) => { timeout = setTimeout(() => { resolve(failureValue); }, timeLimit); }); const response = yield Promise.race([task, timeoutPromise]); if (timeout) { clearTimeout(timeout); } return response; }); } } /** @nocollapse */ UtilService.ɵprov = i0.ɵɵdefineInjectable({ factory: function UtilService_Factory() { return new UtilService(); }, token: UtilService, providedIn: "root" }); /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */ UtilService.decorators = [ { type: Injectable, args: [{ providedIn: 'root' },] } ]; /** * @type {function(): !Array<(null|{ * type: ?, * decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>), * })>} * @nocollapse */ UtilService.ctorParameters = () => []; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3VuYmlyZC1lcHViLXBsYXllci9zcmMvbGliL3NlcnZpY2VzL3V0aWxTZXJ2aWNlL3V0aWwuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFLbEUsTUFBTSxPQUFPLFdBQVc7SUFHdEI7UUFGQSxjQUFTLEdBQUcsbUJBQW1CLENBQUM7SUFFaEIsQ0FBQztJQUVWLFFBQVEsQ0FBQyxNQUFNLEdBQUcsRUFBRTtRQUN6QixJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDaEIsTUFBTSxVQUFVLEdBQUcsZ0VBQWdFLENBQUM7UUFDcEYsTUFBTSxnQkFBZ0IsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDO1FBQzNDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDL0IsTUFBTSxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1NBQzNFO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVNLGdCQUFnQixDQUFDLGtCQUFrQjtRQUN4QyxNQUFNLFFBQVEsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFHLGtCQUFrQixDQUFDO1FBQzNELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxDQUFDO1FBQzdDLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9ELE9BQU8sQ0FBQyxPQUFPLEdBQUcsR0FBRyxHQUFHLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQUssRUFBRyxnQkFBZ0I7UUFDdEMsSUFBSSxDQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxXQUFXLE1BQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUU7WUFDOUMsT0FBTyxnQkFBZ0IsR0FBRyxDQUFDLENBQUM7U0FDN0I7UUFDRCxJQUFJLENBQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLFdBQVcsTUFBSyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRTtZQUNsRCxPQUFPLGdCQUFnQixHQUFHLENBQUMsS0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO1NBQy9EO0lBQ0gsQ0FBQztJQUVLLG9CQUFvQixDQUFDLFNBQWlCLEVBQUUsSUFBa0IsRUFBRSxZQUFpQjs7WUFDakYsSUFBSSxPQUFPLENBQUM7WUFDWixNQUFNLGNBQWMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtnQkFDckQsT0FBTyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUU7b0JBQ3hCLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDeEIsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQ2hCLENBQUMsQ0FBQyxDQUFDO1lBQ0gsTUFBTSxRQUFRLEdBQUcsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUM7WUFDNUQsSUFBSSxPQUFPLEVBQUU7Z0JBQ1gsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQ3ZCO1lBQ0QsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQztLQUFBOzs7OztZQTlDRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGVwdWJQbGF5ZXJDb25zdGFudHMgfSBmcm9tICcuLi8uLi9zdW5iaXJkLWVwdWIuY29uc3RhbnQnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVXRpbFNlcnZpY2Uge1xyXG4gIGZyb21Db25zdCA9IGVwdWJQbGF5ZXJDb25zdGFudHM7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIHB1YmxpYyB1bmlxdWVJZChsZW5ndGggPSAzMikge1xyXG4gICAgbGV0IHJlc3VsdCA9ICcnO1xyXG4gICAgY29uc3QgY2hhcmFjdGVycyA9ICdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSc7XHJcbiAgICBjb25zdCBjaGFyYWN0ZXJzTGVuZ3RoID0gY2hhcmFjdGVycy5sZW5ndGg7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIHJlc3VsdCArPSBjaGFyYWN0ZXJzLmNoYXJBdChNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBjaGFyYWN0ZXJzTGVuZ3RoKSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFRpbWVTcGVudFRleHQocGRmUGxheWVyU3RhcnRUaW1lKSB7XHJcbiAgICBjb25zdCBkdXJhdGlvbiA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpIC0gcGRmUGxheWVyU3RhcnRUaW1lO1xyXG4gICAgY29uc3QgbWludXRlcyA9IE1hdGguZmxvb3IoZHVyYXRpb24gLyA2MDAwMCk7XHJcbiAgICBjb25zdCBzZWNvbmRzID0gTnVtYmVyKCgoZHVyYXRpb24gJSA2MDAwMCkgLyAxMDAwKS50b0ZpeGVkKDApKTtcclxuICAgIHJldHVybiAobWludXRlcyArICc6JyArIChzZWNvbmRzIDwgMTAgPyAnMCcgOiAnJykgKyBzZWNvbmRzKTtcclxuICB9XHJcblxyXG4gIGdldEN1cnJlbnRJbmRleChldmVudCAsIGN1cnJlbnRQYWdlSW5kZXgpIHtcclxuICAgIGlmIChldmVudD8uaW50ZXJhY3Rpb24gPT09IHRoaXMuZnJvbUNvbnN0Lk5FWFQpIHtcclxuICAgICAgcmV0dXJuIGN1cnJlbnRQYWdlSW5kZXggKyAxO1xyXG4gICAgfVxyXG4gICAgaWYgKGV2ZW50Py5pbnRlcmFjdGlvbiA9PT0gdGhpcy5mcm9tQ29uc3QuUFJFVklPVVMpIHtcclxuICAgICAgcmV0dXJuIGN1cnJlbnRQYWdlSW5kZXggLSAxID09PSAgMCA/IDEgOiBjdXJyZW50UGFnZUluZGV4IC0gMTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFzeW5jIGZ1bGZpbGxXaXRoVGltZUxpbWl0KHRpbWVMaW1pdDogbnVtYmVyLCB0YXNrOiBQcm9taXNlPGFueT4sIGZhaWx1cmVWYWx1ZTogYW55KTogUHJvbWlzZTxhbnk+IHtcclxuICAgIGxldCB0aW1lb3V0O1xyXG4gICAgY29uc3QgdGltZW91dFByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIHRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICByZXNvbHZlKGZhaWx1cmVWYWx1ZSk7XHJcbiAgICAgIH0sIHRpbWVMaW1pdCk7XHJcbiAgICB9KTtcclxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgUHJvbWlzZS5yYWNlKFt0YXNrLCB0aW1lb3V0UHJvbWlzZV0pO1xyXG4gICAgaWYgKHRpbWVvdXQpIHtcclxuICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXQpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc3BvbnNlO1xyXG4gIH1cclxufVxyXG4iXX0=