UNPKG

@playkit-js/playkit-js-ui

Version:

[![Build Status](https://github.com/kaltura/playkit-js-ui/actions/workflows/run_canary_full_flow.yaml/badge.svg)](https://github.com/kaltura/playkit-js-ui/actions/workflows/run_canary_full_flow.yaml) [![code style: prettier](https://img.shields.io/badge/c

46 lines (39 loc) 1.22 kB
import * as humanizeDuration from 'humanize-duration'; import getLogger from './logger'; let logger; const getDurationAsText = (seconds: number, locale: string, round: boolean = false): string | undefined => { try { const durationHumanizer = getDurationHumanizer(locale); if (durationHumanizer) { try { return seconds ? durationHumanizer(seconds * 1000, {round: round}) : '0'; } catch (e: any) { return `${seconds}`; } } } catch (e: any) { if (!logger) { logger = getLogger('DurationHumanizer'); } logger.log(e); } }; const getDurationHumanizer = (locale: string): any => { const languages = ['en']; if (locale) { if (locale.match('_')) { languages.unshift(locale.split('_')[0]); } languages.unshift(locale); } const supportedLanguages = new Map(humanizeDuration.getSupportedLanguages().map((language: string) => [language.toLowerCase(), language])); for (const language of languages) { try { if (supportedLanguages.has(language)) { return humanizeDuration.humanizer({language: supportedLanguages.get(language)}); } } catch (e: any) {} } return null; }; export {getDurationAsText};