UNPKG

@ciri/ngx-countdown

Version:
104 lines 8.65 kB
/** * @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 = 2) { /** @type {?} */ const str = num + ''; if (str.length >= n) { return str; } return (Array(n).join('0') + str).slice(-n); } /** @type {?} */ const SECOND = 1000; /** @type {?} */ const MINUTE = 60 * SECOND; /** @type {?} */ const HOUR = 60 * MINUTE; /** @type {?} */ const DAY = 24 * HOUR; /** * @param {?} time * @return {?} */ export function parseTimeData(time) { /** @type {?} */ const days = Math.floor(time / DAY); /** @type {?} */ const hours = Math.floor((time % DAY) / HOUR); /** @type {?} */ const minutes = Math.floor((time % HOUR) / MINUTE); /** @type {?} */ const seconds = Math.floor((time % MINUTE) / SECOND); /** @type {?} */ const milliseconds = Math.floor(time % SECOND); return { days, hours, minutes, seconds, milliseconds }; } /** * @param {?} format * @param {?} timeData * @return {?} */ export function parseFormat(format, timeData) { let { days, hours, minutes, seconds, milliseconds } = timeData; 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 {?} */ const 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY2lyaS9uZ3gtY291bnRkb3duLyIsInNvdXJjZXMiOlsibGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSxTQUFTLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUM7O1VBQ25CLEdBQUcsR0FBRyxHQUFHLEdBQUcsRUFBRTtJQUNwQixJQUFHLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFO1FBQ2xCLE9BQU8sR0FBRyxDQUFBO0tBQ1g7SUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUM3QyxDQUFDOztNQVVLLE1BQU0sR0FBRyxJQUFJOztNQUNiLE1BQU0sR0FBRyxFQUFFLEdBQUcsTUFBTTs7TUFDcEIsSUFBSSxHQUFHLEVBQUUsR0FBRyxNQUFNOztNQUNsQixHQUFHLEdBQUcsRUFBRSxHQUFHLElBQUk7Ozs7O0FBRXJCLE1BQU0sVUFBVSxhQUFhLENBQUMsSUFBWTs7VUFDbEMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQzs7VUFDN0IsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDOztVQUN2QyxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUM7O1VBQzVDLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQzs7VUFDOUMsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQztJQUU5QyxPQUFPO1FBQ0wsSUFBSTtRQUNKLEtBQUs7UUFDTCxPQUFPO1FBQ1AsT0FBTztRQUNQLFlBQVk7S0FDYixDQUFBO0FBQ0gsQ0FBQzs7Ozs7O0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxNQUFjLEVBQUUsUUFBa0I7UUFDeEQsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLEdBQUcsUUFBUTtJQUU5RCxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7UUFDL0IsS0FBSyxJQUFJLElBQUksR0FBRyxFQUFFLENBQUE7S0FDbkI7U0FBTTtRQUNMLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtLQUM3QztJQUVELElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtRQUMvQixPQUFPLElBQUksS0FBSyxHQUFHLEVBQUUsQ0FBQTtLQUN0QjtTQUFNO1FBQ0wsTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO0tBQzlDO0lBRUQsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO1FBQy9CLE9BQU8sSUFBSSxPQUFPLEdBQUcsRUFBRSxDQUFBO0tBQ3hCO1NBQU07UUFDTCxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7S0FDaEQ7SUFFRCxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7UUFDL0IsWUFBWSxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUE7S0FDL0I7U0FBTTtRQUNMLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQTtLQUNoRDtJQUVELElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTs7Y0FDeEIsRUFBRSxHQUFHLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBRW5DLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtZQUNoQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUE7U0FDbkM7YUFBTSxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7WUFDdEMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7U0FDOUM7YUFBTTtZQUNMLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7U0FDM0M7S0FDRjtJQUVELE9BQU8sTUFBTSxDQUFBO0FBQ2YsQ0FBQzs7Ozs7O0FBRUQsTUFBTSxVQUFVLFlBQVksQ0FBQyxLQUFhLEVBQUUsS0FBYTtJQUN2RCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxDQUFBO0FBQzlELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBwYWRaZXJvKG51bSwgbiA9IDIpIHtcbiAgY29uc3Qgc3RyID0gbnVtICsgJydcbiAgaWYoc3RyLmxlbmd0aCA+PSBuKSB7XG4gICAgcmV0dXJuIHN0clxuICB9XG4gIHJldHVybiAoQXJyYXkobikuam9pbignMCcpICsgc3RyKS5zbGljZSgtbilcbn1cblxuZXhwb3J0IHR5cGUgVGltZURhdGEgPSB7XG4gIGRheXM6IG51bWJlclxuICBob3VyczogbnVtYmVyXG4gIG1pbnV0ZXM6IG51bWJlclxuICBzZWNvbmRzOiBudW1iZXJcbiAgbWlsbGlzZWNvbmRzOiBudW1iZXJcbn1cblxuY29uc3QgU0VDT05EID0gMTAwMFxuY29uc3QgTUlOVVRFID0gNjAgKiBTRUNPTkRcbmNvbnN0IEhPVVIgPSA2MCAqIE1JTlVURVxuY29uc3QgREFZID0gMjQgKiBIT1VSXG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVRpbWVEYXRhKHRpbWU6IG51bWJlcik6IFRpbWVEYXRhIHtcbiAgY29uc3QgZGF5cyA9IE1hdGguZmxvb3IodGltZSAvIERBWSlcbiAgY29uc3QgaG91cnMgPSBNYXRoLmZsb29yKCh0aW1lICUgREFZKSAvIEhPVVIpXG4gIGNvbnN0IG1pbnV0ZXMgPSBNYXRoLmZsb29yKCh0aW1lICUgSE9VUikgLyBNSU5VVEUpXG4gIGNvbnN0IHNlY29uZHMgPSBNYXRoLmZsb29yKCh0aW1lICUgTUlOVVRFKSAvIFNFQ09ORClcbiAgY29uc3QgbWlsbGlzZWNvbmRzID0gTWF0aC5mbG9vcih0aW1lICUgU0VDT05EKVxuXG4gIHJldHVybiB7XG4gICAgZGF5cyxcbiAgICBob3VycyxcbiAgICBtaW51dGVzLFxuICAgIHNlY29uZHMsXG4gICAgbWlsbGlzZWNvbmRzXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlRm9ybWF0KGZvcm1hdDogc3RyaW5nLCB0aW1lRGF0YTogVGltZURhdGEpOiBzdHJpbmcge1xuICBsZXQgeyBkYXlzLCBob3VycywgbWludXRlcywgc2Vjb25kcywgbWlsbGlzZWNvbmRzIH0gPSB0aW1lRGF0YVxuXG4gIGlmIChmb3JtYXQuaW5kZXhPZignREQnKSA9PT0gLTEpIHtcbiAgICBob3VycyArPSBkYXlzICogMjRcbiAgfSBlbHNlIHtcbiAgICBmb3JtYXQgPSBmb3JtYXQucmVwbGFjZSgnREQnLCBwYWRaZXJvKGRheXMpKVxuICB9XG5cbiAgaWYgKGZvcm1hdC5pbmRleE9mKCdISCcpID09PSAtMSkge1xuICAgIG1pbnV0ZXMgKz0gaG91cnMgKiA2MFxuICB9IGVsc2Uge1xuICAgIGZvcm1hdCA9IGZvcm1hdC5yZXBsYWNlKCdISCcsIHBhZFplcm8oaG91cnMpKVxuICB9XG5cbiAgaWYgKGZvcm1hdC5pbmRleE9mKCdtbScpID09PSAtMSkge1xuICAgIHNlY29uZHMgKz0gbWludXRlcyAqIDYwXG4gIH0gZWxzZSB7XG4gICAgZm9ybWF0ID0gZm9ybWF0LnJlcGxhY2UoJ21tJywgcGFkWmVybyhtaW51dGVzKSlcbiAgfVxuXG4gIGlmIChmb3JtYXQuaW5kZXhPZignc3MnKSA9PT0gLTEpIHtcbiAgICBtaWxsaXNlY29uZHMgKz0gc2Vjb25kcyAqIDEwMDBcbiAgfSBlbHNlIHtcbiAgICBmb3JtYXQgPSBmb3JtYXQucmVwbGFjZSgnc3MnLCBwYWRaZXJvKHNlY29uZHMpKVxuICB9XG5cbiAgaWYgKGZvcm1hdC5pbmRleE9mKCdTJykgIT09IC0xKSB7XG4gICAgY29uc3QgbXMgPSBwYWRaZXJvKG1pbGxpc2Vjb25kcywgMylcblxuICAgIGlmIChmb3JtYXQuaW5kZXhPZignU1NTJykgIT09IC0xKSB7XG4gICAgICBmb3JtYXQgPSBmb3JtYXQucmVwbGFjZSgnU1NTJywgbXMpXG4gICAgfSBlbHNlIGlmIChmb3JtYXQuaW5kZXhPZignU1MnKSAhPT0gLTEpIHtcbiAgICAgIGZvcm1hdCA9IGZvcm1hdC5yZXBsYWNlKCdTUycsIG1zLnNsaWNlKDAsIDIpKVxuICAgIH0gZWxzZSB7XG4gICAgICBmb3JtYXQgPSBmb3JtYXQucmVwbGFjZSgnUycsIG1zLmNoYXJBdCgwKSlcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZm9ybWF0XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1NhbWVTZWNvbmQodGltZTE6IG51bWJlciwgdGltZTI6IG51bWJlcik6IGJvb2xlYW4ge1xuICByZXR1cm4gTWF0aC5mbG9vcih0aW1lMSAvIDEwMDApID09PSBNYXRoLmZsb29yKHRpbWUyIC8gMTAwMClcbn1cbiJdfQ==