UNPKG

touhou-tagger

Version:

从 THBWiki 自动填写东方 Project CD 曲目信息.

43 lines (42 loc) 1.35 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getDefaultAlbumName = void 0; const path_1 = require("path"); const album_options_1 = require("./album-options"); const debug_1 = require("../core/debug"); const specialFormats = [ { name: 'TlmcWithDiscId', regex: /\[.+?\]$/, resolve: match => match[1], }, { name: 'Tlmc', regex: /^[\d]{4}\.[\d]{2}\.[\d]{2} (.+?) \[.+?\]$/, resolve: match => match[1], }, { name: 'Default', regex: /.+/, resolve: match => match[0], }, ]; const getDefaultAlbumName = async (workingDir = process.cwd()) => { const albumOptions = await (0, album_options_1.getAlbumOptions)(workingDir); if (albumOptions.defaultAlbumHint) { (0, debug_1.log)('defaultAlbumHint:', albumOptions.defaultAlbumHint); return albumOptions.defaultAlbumHint; } const currentFolder = (0, path_1.basename)((0, path_1.resolve)(workingDir)); const [formatMatch] = specialFormats .map(f => { const match = currentFolder.match(f.regex); if (match) { return f.resolve(match); } return null; }) .filter((it) => it !== null); return formatMatch || currentFolder; }; exports.getDefaultAlbumName = getDefaultAlbumName;