UNPKG

touhou-tagger

Version:

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

65 lines (64 loc) 2.58 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.runTagger = void 0; const readline_1 = require("../core/readline"); const default_album_name_1 = require("./default-album-name"); const options_1 = require("./options"); const runTagger = async () => { let spinner; const cliOptions = (0, options_1.getCliOptions)(); const start = async (album) => { const { default: ora } = await Promise.resolve().then(() => __importStar(require('ora'))); if (!spinner) { spinner = ora({ text: '搜索中', spinner: { interval: 500, frames: ['. ', '.. ', '...'], }, }).start(); } const { CliTagger } = await Promise.resolve().then(() => __importStar(require('./tagger'))); const tagger = new CliTagger(spinner); await tagger.run(album); process.exit(); }; const defaultAlbumName = await (0, default_album_name_1.getDefaultAlbumName)(); if (cliOptions.batch) { Promise.resolve().then(() => __importStar(require('./batch'))).then(({ runBatchTagger }) => { runBatchTagger(cliOptions.batch, cliOptions.batchDepth); }); } else if (cliOptions['no-interactive']) { start(defaultAlbumName); } else { (0, readline_1.readline)(`请输入专辑名称(${defaultAlbumName}): `).then(album => { start(album || defaultAlbumName); }); } }; exports.runTagger = runTagger;