UNPKG

@xuanqikai/one-click-upload

Version:

A CLI tool for one-click file upload to cloud storage services (OSS, TOS)

95 lines 4.25 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 __exportStar = (this && this.__exportStar) || function(m, exports) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.OneClickUpload = exports.UploadCommand = exports.ConfigCommand = exports.UploaderFactory = exports.TOSUploader = exports.OSSUploader = exports.BaseUploader = exports.ConfigManager = void 0; // 导出主要的类和接口 var ConfigManager_1 = require("./config/ConfigManager"); Object.defineProperty(exports, "ConfigManager", { enumerable: true, get: function () { return ConfigManager_1.ConfigManager; } }); var BaseUploader_1 = require("./uploaders/BaseUploader"); Object.defineProperty(exports, "BaseUploader", { enumerable: true, get: function () { return BaseUploader_1.BaseUploader; } }); var OSSUploader_1 = require("./uploaders/OSSUploader"); Object.defineProperty(exports, "OSSUploader", { enumerable: true, get: function () { return OSSUploader_1.OSSUploader; } }); var TOSUploader_1 = require("./uploaders/TOSUploader"); Object.defineProperty(exports, "TOSUploader", { enumerable: true, get: function () { return TOSUploader_1.TOSUploader; } }); var UploaderFactory_1 = require("./uploaders/UploaderFactory"); Object.defineProperty(exports, "UploaderFactory", { enumerable: true, get: function () { return UploaderFactory_1.UploaderFactory; } }); // 导出类型定义 __exportStar(require("./types"), exports); // 导出工具函数 __exportStar(require("./utils/fileUtils"), exports); // 导出命令 var ConfigCommand_1 = require("./commands/ConfigCommand"); Object.defineProperty(exports, "ConfigCommand", { enumerable: true, get: function () { return ConfigCommand_1.ConfigCommand; } }); var UploadCommand_1 = require("./commands/UploadCommand"); Object.defineProperty(exports, "UploadCommand", { enumerable: true, get: function () { return UploadCommand_1.UploadCommand; } }); // 主要的上传功能 const ConfigManager_2 = require("./config/ConfigManager"); const UploaderFactory_2 = require("./uploaders/UploaderFactory"); /** * 一键上传功能的主要接口 */ class OneClickUpload { constructor() { this.configManager = new ConfigManager_2.ConfigManager(); } /** * 上传文件或目录 */ async upload(options) { const service = this.configManager.getService(options.serviceName); if (!service) { throw new Error(`Service '${options.serviceName}' not found`); } const uploader = UploaderFactory_2.UploaderFactory.createUploader(service); return await uploader.upload(options.localPath, options.remotePath, { overwrite: options.overwrite, enableResume: options.enableResume, maxRetries: options.maxRetries, chunkSize: options.chunkSize }); } /** * 批量上传文件 */ async uploadBatch(files, serviceName, options) { const service = this.configManager.getService(serviceName); if (!service) { throw new Error(`Service '${serviceName}' not found`); } const uploader = UploaderFactory_2.UploaderFactory.createUploader(service); return await uploader.uploadBatch(files, options); } /** * 获取配置管理器 */ getConfigManager() { return this.configManager; } /** * 获取所有可用的服务 */ getAvailableServices() { return this.configManager.getAllServices(); } /** * 获取默认服务 */ getDefaultService() { return this.configManager.getDefaultService(); } } exports.OneClickUpload = OneClickUpload; //# sourceMappingURL=index.js.map