@mvp-factory/holy-upload
Version:
File upload processing system extracted from Holy Habit project with security validation and image optimization
91 lines • 4.76 kB
JavaScript
;
/**
* @mvp-factory/holy-upload
*
* File upload processing system extracted from Holy Habit project
* with security validation and image optimization
*/
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.name = exports.version = exports.HolyUpload = exports.FileUtils = exports.ImageOptimizer = exports.FileValidator = exports.UploadConfigManager = exports.ExpressUploadMiddleware = exports.UploadHandler = void 0;
exports.createUploadHandler = createUploadHandler;
exports.createExpressMiddleware = createExpressMiddleware;
// Main classes
var UploadHandler_1 = require("./handlers/UploadHandler");
Object.defineProperty(exports, "UploadHandler", { enumerable: true, get: function () { return UploadHandler_1.UploadHandler; } });
var ExpressUploadMiddleware_1 = require("./handlers/ExpressUploadMiddleware");
Object.defineProperty(exports, "ExpressUploadMiddleware", { enumerable: true, get: function () { return ExpressUploadMiddleware_1.ExpressUploadMiddleware; } });
// Configuration
var UploadConfig_1 = require("./config/UploadConfig");
Object.defineProperty(exports, "UploadConfigManager", { enumerable: true, get: function () { return UploadConfig_1.UploadConfigManager; } });
// Validators
var FileValidator_1 = require("./validators/FileValidator");
Object.defineProperty(exports, "FileValidator", { enumerable: true, get: function () { return FileValidator_1.FileValidator; } });
// Utilities
var ImageOptimizer_1 = require("./utils/ImageOptimizer");
Object.defineProperty(exports, "ImageOptimizer", { enumerable: true, get: function () { return ImageOptimizer_1.ImageOptimizer; } });
var FileUtils_1 = require("./utils/FileUtils");
Object.defineProperty(exports, "FileUtils", { enumerable: true, get: function () { return FileUtils_1.FileUtils; } });
// Types and interfaces
__exportStar(require("./types/Upload"), exports);
// Default exports for convenience
const UploadHandler_2 = require("./handlers/UploadHandler");
const ExpressUploadMiddleware_2 = require("./handlers/ExpressUploadMiddleware");
const UploadConfig_2 = require("./config/UploadConfig");
const FileValidator_2 = require("./validators/FileValidator");
const ImageOptimizer_2 = require("./utils/ImageOptimizer");
const FileUtils_2 = require("./utils/FileUtils");
exports.default = {
UploadHandler: UploadHandler_2.UploadHandler,
ExpressUploadMiddleware: ExpressUploadMiddleware_2.ExpressUploadMiddleware,
UploadConfigManager: UploadConfig_2.UploadConfigManager,
FileValidator: FileValidator_2.FileValidator,
ImageOptimizer: ImageOptimizer_2.ImageOptimizer,
FileUtils: FileUtils_2.FileUtils
};
// Factory function for quick setup
function createUploadHandler(config) {
return new UploadHandler_2.UploadHandler(config);
}
function createExpressMiddleware(config) {
return new ExpressUploadMiddleware_2.ExpressUploadMiddleware(config);
}
// Quick setup for common use cases
exports.HolyUpload = {
// Create handler with default configuration
createHandler: (config) => new UploadHandler_2.UploadHandler(config),
// Create Express middleware with default configuration
createMiddleware: (config) => new ExpressUploadMiddleware_2.ExpressUploadMiddleware(config),
// Create development configuration
createDevConfig: () => UploadConfig_2.UploadConfigManager.createDevelopmentConfig(),
// Create production configuration
createProdConfig: () => UploadConfig_2.UploadConfigManager.createProductionConfig(),
// Validate files quickly
validateFile: FileValidator_2.FileValidator.validate,
// Optimize images
optimizeImage: ImageOptimizer_2.ImageOptimizer.optimize,
// Utility functions
utils: {
generateSecureFilename: FileUtils_2.FileUtils.generateSecureFilename,
sanitizeFilename: FileUtils_2.FileUtils.sanitizeFilename,
formatBytes: FileUtils_2.FileUtils.formatBytes,
ensureDirectory: FileUtils_2.FileUtils.ensureDirectory
}
};
// Version info
exports.version = '1.0.0';
exports.name = '@mvp-factory/holy-upload';
//# sourceMappingURL=index.js.map