UNPKG

ultrastar2ass

Version:

Convert Ultrastar karaoke files to ASS files

34 lines 1.32 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.asyncWriteFile = exports.asyncReadFile = exports.asyncExists = void 0; exports.msToAss = msToAss; exports.clone = clone; const util_1 = require("util"); const fs_1 = require("fs"); const passThroughFunction = (fn, args) => { if (!Array.isArray(args)) args = [args]; return (0, util_1.promisify)(fn)(...args); }; const asyncExists = (file) => passThroughFunction(fs_1.exists, file); exports.asyncExists = asyncExists; const asyncReadFile = (...args) => passThroughFunction(fs_1.readFile, args); exports.asyncReadFile = asyncReadFile; const asyncWriteFile = (...args) => passThroughFunction(fs_1.writeFile, args); exports.asyncWriteFile = asyncWriteFile; function msToAss(ms) { const date = new Date(ms); const hour = date.getUTCHours(); const hourStr = `${hour}`.padStart(1, '0'); const min = date.getUTCMinutes(); const minStr = `${min}`.padStart(2, '0'); const sec = date.getUTCSeconds(); const secStr = `${sec}`.padStart(2, '0'); const mil = date.getUTCMilliseconds(); const milStr = `${mil}`.padStart(3, '0'); return `${hourStr}:${minStr}:${secStr}.${milStr.substr(0, 2)}`; } function clone(a) { return JSON.parse(JSON.stringify(a)); } //# sourceMappingURL=utils.js.map