merge-jpg
Version:
A privacy-first client-side image merging library powered by TLDraw Canvas
96 lines (94 loc) • 2.19 kB
JavaScript
import {
DEFAULT_MERGE_SETTINGS,
ImageMerger,
PDFGenerator,
TldrawMerger,
VALIDATION_CONSTRAINTS,
blobToFile,
calculateLayout,
cleanupImageFiles,
createMergeError,
downloadBlob,
estimateMemoryUsage,
fileToDataUrl,
formatFileSize,
generateImageId,
getImageDimensions,
isValidHexColor,
processFiles,
validateEnvironment,
validateImageFile,
validateImages,
validateLayout,
validateSettings
} from "./chunk-HM6AG3S4.mjs";
// src/index.ts
async function mergeFiles(files, settings, onProgress) {
const merger = new (await import("./ImageMerger-WBFLP5HR.mjs")).ImageMerger();
try {
await merger.initialize();
return await merger.mergeFiles(files, settings, onProgress);
} finally {
merger.destroy();
}
}
async function mergeImages(images, settings, onProgress) {
const merger = new (await import("./ImageMerger-WBFLP5HR.mjs")).ImageMerger();
try {
await merger.initialize();
return await merger.mergeImages(images, settings, onProgress);
} finally {
merger.destroy();
}
}
async function validateFiles(files) {
const merger = new (await import("./ImageMerger-WBFLP5HR.mjs")).ImageMerger();
try {
await merger.initialize();
return await merger.validateFiles(files);
} finally {
merger.destroy();
}
}
function getCapabilities() {
return {
supportedInputFormats: ["image/jpeg", "image/jpg", "image/png"],
supportedOutputFormats: ["jpeg", "png", "pdf"],
maxFileSize: 100 * 1024 * 1024,
// 100MB
maxFileCount: 50,
pdfPageSizes: ["a4", "letter", "a3"],
qualityRange: { min: 10, max: 100 },
spacingRange: { min: 0, max: 200 }
};
}
var version = "1.0.0";
export {
DEFAULT_MERGE_SETTINGS,
ImageMerger,
PDFGenerator,
TldrawMerger,
VALIDATION_CONSTRAINTS,
blobToFile,
calculateLayout,
cleanupImageFiles,
createMergeError,
downloadBlob,
estimateMemoryUsage,
fileToDataUrl,
formatFileSize,
generateImageId,
getCapabilities,
getImageDimensions,
isValidHexColor,
mergeFiles,
mergeImages,
processFiles,
validateEnvironment,
validateFiles,
validateImageFile,
validateImages,
validateLayout,
validateSettings,
version
};