@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
JavaScript
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=