@bespunky/angular-zen
Version:
The Angular tools you always wished were there.
21 lines • 3.46 kB
JavaScript
const DurationMultipliers = { ms: 1, s: 1000, m: 60000 };
export function durationToMs(duration) {
if (typeof duration === 'number')
return duration;
const regex = /(?<value>\d+(.\d+)?)(?<units>\w+)/;
const { value, units } = duration.match(regex)?.groups;
return parseInt(value) * (DurationMultipliers[units] || 1);
}
export function breakdownTime(showingForMs) {
const dummyDate = new Date(showingForMs);
const showingFor = {
m: dummyDate.getMinutes(),
s: dummyDate.getSeconds(),
ms: dummyDate.getMilliseconds(),
totalMinutes: showingForMs / DurationMultipliers.m,
totalSeconds: showingForMs / DurationMultipliers.s,
totalMilliseconds: showingForMs,
};
return showingFor;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci16ZW4vY29yZS9zcmMvcnhqcy9vbi1vYnNlcnZlci91dGlscy90aW1lLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sbUJBQW1CLEdBQWlDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQztBQUV2RixNQUFNLFVBQVUsWUFBWSxDQUFDLFFBQTRCO0lBRXJELElBQUksT0FBTyxRQUFRLEtBQUssUUFBUTtRQUFFLE9BQU8sUUFBUSxDQUFDO0lBRWxELE1BQU0sS0FBSyxHQUFHLG1DQUFtQyxDQUFDO0lBRWxELE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFnRCxDQUFDO0lBRWpHLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDL0QsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsWUFBb0I7SUFFOUMsTUFBTSxTQUFTLEdBQUcsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFFekMsTUFBTSxVQUFVLEdBQXNCO1FBQ2xDLENBQUMsRUFBRSxTQUFTLENBQUMsVUFBVSxFQUFFO1FBQ3pCLENBQUMsRUFBRSxTQUFTLENBQUMsVUFBVSxFQUFFO1FBQ3pCLEVBQUUsRUFBRSxTQUFTLENBQUMsZUFBZSxFQUFFO1FBQy9CLFlBQVksRUFBRSxZQUFZLEdBQUcsbUJBQW1CLENBQUMsQ0FBQztRQUNsRCxZQUFZLEVBQUUsWUFBWSxHQUFHLG1CQUFtQixDQUFDLENBQUM7UUFDbEQsaUJBQWlCLEVBQUUsWUFBWTtLQUNsQyxDQUFDO0lBRUYsT0FBTyxVQUFVLENBQUM7QUFDdEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IER1cmF0aW9uQW5ub3RhdGlvbiwgRHVyYXRpb25Vbml0LCBEdXJhdGlvbkJyZWFrZG93biB9IGZyb20gJy4uL2Fic3RyYWN0aW9uL3R5cGVzL2dlbmVyYWwnO1xuXG5jb25zdCBEdXJhdGlvbk11bHRpcGxpZXJzOiBSZWNvcmQ8RHVyYXRpb25Vbml0LCBudW1iZXI+ID0geyBtczogMSwgczogMTAwMCwgbTogNjAwMDAgfTtcblxuZXhwb3J0IGZ1bmN0aW9uIGR1cmF0aW9uVG9NcyhkdXJhdGlvbjogRHVyYXRpb25Bbm5vdGF0aW9uKTogbnVtYmVyXG57XG4gICAgaWYgKHR5cGVvZiBkdXJhdGlvbiA9PT0gJ251bWJlcicpIHJldHVybiBkdXJhdGlvbjtcblxuICAgIGNvbnN0IHJlZ2V4ID0gLyg/PHZhbHVlPlxcZCsoLlxcZCspPykoPzx1bml0cz5cXHcrKS87XG4gICAgXG4gICAgY29uc3QgeyB2YWx1ZSwgdW5pdHMgfSA9IGR1cmF0aW9uLm1hdGNoKHJlZ2V4KT8uZ3JvdXBzIGFzIHsgdmFsdWU6IHN0cmluZywgdW5pdHM6IER1cmF0aW9uVW5pdCB9O1xuXG4gICAgcmV0dXJuIHBhcnNlSW50KHZhbHVlKSAqIChEdXJhdGlvbk11bHRpcGxpZXJzW3VuaXRzXSB8fCAxKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJyZWFrZG93blRpbWUoc2hvd2luZ0Zvck1zOiBudW1iZXIpXG57XG4gICAgY29uc3QgZHVtbXlEYXRlID0gbmV3IERhdGUoc2hvd2luZ0Zvck1zKTtcblxuICAgIGNvbnN0IHNob3dpbmdGb3I6IER1cmF0aW9uQnJlYWtkb3duID0ge1xuICAgICAgICBtOiBkdW1teURhdGUuZ2V0TWludXRlcygpLFxuICAgICAgICBzOiBkdW1teURhdGUuZ2V0U2Vjb25kcygpLFxuICAgICAgICBtczogZHVtbXlEYXRlLmdldE1pbGxpc2Vjb25kcygpLFxuICAgICAgICB0b3RhbE1pbnV0ZXM6IHNob3dpbmdGb3JNcyAvIER1cmF0aW9uTXVsdGlwbGllcnMubSxcbiAgICAgICAgdG90YWxTZWNvbmRzOiBzaG93aW5nRm9yTXMgLyBEdXJhdGlvbk11bHRpcGxpZXJzLnMsXG4gICAgICAgIHRvdGFsTWlsbGlzZWNvbmRzOiBzaG93aW5nRm9yTXMsXG4gICAgfTtcbiAgICBcbiAgICByZXR1cm4gc2hvd2luZ0Zvcjtcbn1cbiJdfQ==