@ciri/ngx-countdown
Version:
An angular countdown component.
105 lines • 8.81 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: lib/utils.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* @param {?} num
* @param {?=} n
* @return {?}
*/
function padZero(num, n) {
if (n === void 0) { n = 2; }
/** @type {?} */
var str = num + '';
if (str.length >= n) {
return str;
}
return (Array(n).join('0') + str).slice(-n);
}
/** @type {?} */
var SECOND = 1000;
/** @type {?} */
var MINUTE = 60 * SECOND;
/** @type {?} */
var HOUR = 60 * MINUTE;
/** @type {?} */
var DAY = 24 * HOUR;
/**
* @param {?} time
* @return {?}
*/
export function parseTimeData(time) {
/** @type {?} */
var days = Math.floor(time / DAY);
/** @type {?} */
var hours = Math.floor((time % DAY) / HOUR);
/** @type {?} */
var minutes = Math.floor((time % HOUR) / MINUTE);
/** @type {?} */
var seconds = Math.floor((time % MINUTE) / SECOND);
/** @type {?} */
var milliseconds = Math.floor(time % SECOND);
return {
days: days,
hours: hours,
minutes: minutes,
seconds: seconds,
milliseconds: milliseconds
};
}
/**
* @param {?} format
* @param {?} timeData
* @return {?}
*/
export function parseFormat(format, timeData) {
var days = timeData.days, hours = timeData.hours, minutes = timeData.minutes, seconds = timeData.seconds, milliseconds = timeData.milliseconds;
if (format.indexOf('DD') === -1) {
hours += days * 24;
}
else {
format = format.replace('DD', padZero(days));
}
if (format.indexOf('HH') === -1) {
minutes += hours * 60;
}
else {
format = format.replace('HH', padZero(hours));
}
if (format.indexOf('mm') === -1) {
seconds += minutes * 60;
}
else {
format = format.replace('mm', padZero(minutes));
}
if (format.indexOf('ss') === -1) {
milliseconds += seconds * 1000;
}
else {
format = format.replace('ss', padZero(seconds));
}
if (format.indexOf('S') !== -1) {
/** @type {?} */
var ms = padZero(milliseconds, 3);
if (format.indexOf('SSS') !== -1) {
format = format.replace('SSS', ms);
}
else if (format.indexOf('SS') !== -1) {
format = format.replace('SS', ms.slice(0, 2));
}
else {
format = format.replace('S', ms.charAt(0));
}
}
return format;
}
/**
* @param {?} time1
* @param {?} time2
* @return {?}
*/
export function isSameSecond(time1, time2) {
return Math.floor(time1 / 1000) === Math.floor(time2 / 1000);
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY2lyaS9uZ3gtY291bnRkb3duLyIsInNvdXJjZXMiOlsibGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSxTQUFTLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBSztJQUFMLGtCQUFBLEVBQUEsS0FBSzs7UUFDbkIsR0FBRyxHQUFHLEdBQUcsR0FBRyxFQUFFO0lBQ3BCLElBQUcsR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7UUFDbEIsT0FBTyxHQUFHLENBQUE7S0FDWDtJQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQzdDLENBQUM7O0lBVUssTUFBTSxHQUFHLElBQUk7O0lBQ2IsTUFBTSxHQUFHLEVBQUUsR0FBRyxNQUFNOztJQUNwQixJQUFJLEdBQUcsRUFBRSxHQUFHLE1BQU07O0lBQ2xCLEdBQUcsR0FBRyxFQUFFLEdBQUcsSUFBSTs7Ozs7QUFFckIsTUFBTSxVQUFVLGFBQWEsQ0FBQyxJQUFZOztRQUNsQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDOztRQUM3QixLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUM7O1FBQ3ZDLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQzs7UUFDNUMsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDOztRQUM5QyxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO0lBRTlDLE9BQU87UUFDTCxJQUFJLE1BQUE7UUFDSixLQUFLLE9BQUE7UUFDTCxPQUFPLFNBQUE7UUFDUCxPQUFPLFNBQUE7UUFDUCxZQUFZLGNBQUE7S0FDYixDQUFBO0FBQ0gsQ0FBQzs7Ozs7O0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxNQUFjLEVBQUUsUUFBa0I7SUFDdEQsSUFBQSxvQkFBSSxFQUFFLHNCQUFLLEVBQUUsMEJBQU8sRUFBRSwwQkFBTyxFQUFFLG9DQUFZO0lBRWpELElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtRQUMvQixLQUFLLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQTtLQUNuQjtTQUFNO1FBQ0wsTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0tBQzdDO0lBRUQsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO1FBQy9CLE9BQU8sSUFBSSxLQUFLLEdBQUcsRUFBRSxDQUFBO0tBQ3RCO1NBQU07UUFDTCxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7S0FDOUM7SUFFRCxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7UUFDL0IsT0FBTyxJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUE7S0FDeEI7U0FBTTtRQUNMLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQTtLQUNoRDtJQUVELElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtRQUMvQixZQUFZLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQTtLQUMvQjtTQUFNO1FBQ0wsTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBO0tBQ2hEO0lBRUQsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFOztZQUN4QixFQUFFLEdBQUcsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7UUFFbkMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO1lBQ2hDLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQTtTQUNuQzthQUFNLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtZQUN0QyxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtTQUM5QzthQUFNO1lBQ0wsTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtTQUMzQztLQUNGO0lBRUQsT0FBTyxNQUFNLENBQUE7QUFDZixDQUFDOzs7Ozs7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLEtBQWEsRUFBRSxLQUFhO0lBQ3ZELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUE7QUFDOUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIHBhZFplcm8obnVtLCBuID0gMikge1xuICBjb25zdCBzdHIgPSBudW0gKyAnJ1xuICBpZihzdHIubGVuZ3RoID49IG4pIHtcbiAgICByZXR1cm4gc3RyXG4gIH1cbiAgcmV0dXJuIChBcnJheShuKS5qb2luKCcwJykgKyBzdHIpLnNsaWNlKC1uKVxufVxuXG5leHBvcnQgdHlwZSBUaW1lRGF0YSA9IHtcbiAgZGF5czogbnVtYmVyXG4gIGhvdXJzOiBudW1iZXJcbiAgbWludXRlczogbnVtYmVyXG4gIHNlY29uZHM6IG51bWJlclxuICBtaWxsaXNlY29uZHM6IG51bWJlclxufVxuXG5jb25zdCBTRUNPTkQgPSAxMDAwXG5jb25zdCBNSU5VVEUgPSA2MCAqIFNFQ09ORFxuY29uc3QgSE9VUiA9IDYwICogTUlOVVRFXG5jb25zdCBEQVkgPSAyNCAqIEhPVVJcblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlVGltZURhdGEodGltZTogbnVtYmVyKTogVGltZURhdGEge1xuICBjb25zdCBkYXlzID0gTWF0aC5mbG9vcih0aW1lIC8gREFZKVxuICBjb25zdCBob3VycyA9IE1hdGguZmxvb3IoKHRpbWUgJSBEQVkpIC8gSE9VUilcbiAgY29uc3QgbWludXRlcyA9IE1hdGguZmxvb3IoKHRpbWUgJSBIT1VSKSAvIE1JTlVURSlcbiAgY29uc3Qgc2Vjb25kcyA9IE1hdGguZmxvb3IoKHRpbWUgJSBNSU5VVEUpIC8gU0VDT05EKVxuICBjb25zdCBtaWxsaXNlY29uZHMgPSBNYXRoLmZsb29yKHRpbWUgJSBTRUNPTkQpXG5cbiAgcmV0dXJuIHtcbiAgICBkYXlzLFxuICAgIGhvdXJzLFxuICAgIG1pbnV0ZXMsXG4gICAgc2Vjb25kcyxcbiAgICBtaWxsaXNlY29uZHNcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VGb3JtYXQoZm9ybWF0OiBzdHJpbmcsIHRpbWVEYXRhOiBUaW1lRGF0YSk6IHN0cmluZyB7XG4gIGxldCB7IGRheXMsIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzLCBtaWxsaXNlY29uZHMgfSA9IHRpbWVEYXRhXG5cbiAgaWYgKGZvcm1hdC5pbmRleE9mKCdERCcpID09PSAtMSkge1xuICAgIGhvdXJzICs9IGRheXMgKiAyNFxuICB9IGVsc2Uge1xuICAgIGZvcm1hdCA9IGZvcm1hdC5yZXBsYWNlKCdERCcsIHBhZFplcm8oZGF5cykpXG4gIH1cblxuICBpZiAoZm9ybWF0LmluZGV4T2YoJ0hIJykgPT09IC0xKSB7XG4gICAgbWludXRlcyArPSBob3VycyAqIDYwXG4gIH0gZWxzZSB7XG4gICAgZm9ybWF0ID0gZm9ybWF0LnJlcGxhY2UoJ0hIJywgcGFkWmVybyhob3VycykpXG4gIH1cblxuICBpZiAoZm9ybWF0LmluZGV4T2YoJ21tJykgPT09IC0xKSB7XG4gICAgc2Vjb25kcyArPSBtaW51dGVzICogNjBcbiAgfSBlbHNlIHtcbiAgICBmb3JtYXQgPSBmb3JtYXQucmVwbGFjZSgnbW0nLCBwYWRaZXJvKG1pbnV0ZXMpKVxuICB9XG5cbiAgaWYgKGZvcm1hdC5pbmRleE9mKCdzcycpID09PSAtMSkge1xuICAgIG1pbGxpc2Vjb25kcyArPSBzZWNvbmRzICogMTAwMFxuICB9IGVsc2Uge1xuICAgIGZvcm1hdCA9IGZvcm1hdC5yZXBsYWNlKCdzcycsIHBhZFplcm8oc2Vjb25kcykpXG4gIH1cblxuICBpZiAoZm9ybWF0LmluZGV4T2YoJ1MnKSAhPT0gLTEpIHtcbiAgICBjb25zdCBtcyA9IHBhZFplcm8obWlsbGlzZWNvbmRzLCAzKVxuXG4gICAgaWYgKGZvcm1hdC5pbmRleE9mKCdTU1MnKSAhPT0gLTEpIHtcbiAgICAgIGZvcm1hdCA9IGZvcm1hdC5yZXBsYWNlKCdTU1MnLCBtcylcbiAgICB9IGVsc2UgaWYgKGZvcm1hdC5pbmRleE9mKCdTUycpICE9PSAtMSkge1xuICAgICAgZm9ybWF0ID0gZm9ybWF0LnJlcGxhY2UoJ1NTJywgbXMuc2xpY2UoMCwgMikpXG4gICAgfSBlbHNlIHtcbiAgICAgIGZvcm1hdCA9IGZvcm1hdC5yZXBsYWNlKCdTJywgbXMuY2hhckF0KDApKVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmb3JtYXRcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzU2FtZVNlY29uZCh0aW1lMTogbnVtYmVyLCB0aW1lMjogbnVtYmVyKTogYm9vbGVhbiB7XG4gIHJldHVybiBNYXRoLmZsb29yKHRpbWUxIC8gMTAwMCkgPT09IE1hdGguZmxvb3IodGltZTIgLyAxMDAwKVxufVxuIl19