/**
* Copyright Super iPaaS Integration LLC, an IBM Company 2024
*/
import AdmZip from 'adm-zip';
import JSZip from 'jszip';

const convertAdmToJsZip = ( admBuffer: Buffer ): Promise<Buffer> => {
	const admZip = new AdmZip(admBuffer);
	const zipEntries = admZip.getEntries();

	const jszip = new JSZip();

	zipEntries.forEach((entry) => {
		if (!entry.isDirectory) {
			const fileData = admZip.readFile(entry);
			const content = fileData?.toString('utf-8') as string;
			if (fileData) {
				jszip.file(entry.entryName, Buffer.from(content));
			}
		}
	});

	return jszip.generateAsync({ type: 'nodebuffer' });
};

export {convertAdmToJsZip};
