Skip to content

Latest commit

 

History

History
37 lines (27 loc) · 1.25 KB

File metadata and controls

37 lines (27 loc) · 1.25 KB

🐢 Node.js

🌟 Les différents modules core

Zlib

Le module zlib fournit des fonctionnalités de compression mises en œuvre à l'aide de Gzip, Deflate/Inflate et Brotli. Vous aurez à l’utiliser le plus souvent si vous manipulez des archives sur votre système.

import path from "node:path";
import { createReadStream, createWriteStream, promises as fs } from "node:fs";
import { pipeline } from "node:stream/promises";
import zlib from "node:zlib";

for await (const [file, fileLocation] of getFilesRecursive(tempLocation)) {
    const rel = path.dirname(path.relative(tempLocation, fileLocation));
    if (rel !== "." && !memcache.has(rel)) {
        await fs.mkdir(path.join(destination, rel), { recursive: true });
        memcache.add(rel);
    }

    await pipeline(
        createReadStream(fileLocation),
        zlib.createBrotliDecompress(), // <--
        createWriteStream(join(destination, rel, file));
    );
}

Si vous avez à gérer des archives en .tar ou .zip je vous recommande les packages suivants :


⬅️ 🌟 Les différents modules core: Assert | ➡️ 🌟 Les différents modules core: Readline