UNPKG

@stryke/fs

Version:

A package containing various file system utilities that expand the functionality of NodeJs's built-in `fs` module.

49 lines (48 loc) 1.68 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createDirectory = createDirectory; exports.createDirectorySync = createDirectorySync; exports.extractFileFromTar = extractFileFromTar; exports.extractFileFromTarGzip = extractFileFromTarGzip; exports.removeDirectory = removeDirectory; exports.removeDirectorySync = removeDirectorySync; var _exists = require("@stryke/path/exists"); var _nanotar = require("nanotar"); var _nodeFs = require("node:fs"); var _promises = require("node:fs/promises"); function createDirectorySync(r) { if (!(0, _exists.existsSync)(r)) return (0, _nodeFs.mkdirSync)(r, { recursive: !0 }); } async function createDirectory(r) { if (!(await (0, _exists.exists)(r))) return (0, _promises.mkdir)(r, { recursive: !0 }); } function removeDirectorySync(r) { if ((0, _exists.existsSync)(r)) return (0, _nodeFs.rmSync)(r, { recursive: !0 }); } async function removeDirectory(r) { if ((0, _exists.existsSync)(r)) return (0, _promises.rm)(r, { recursive: !0 }); } async function extractFileFromTar(r, i, t) { const e = (0, _nanotar.parseTar)(await (0, _promises.readFile)(r)).find(n => n.name === i); if (!e?.data) return; (await (0, _exists.exists)(t)) || (await (0, _promises.mkdir)(t, { recursive: !0 })), (0, _nodeFs.createWriteStream)(t).write(e.data); } async function extractFileFromTarGzip(r, i, t) { const e = (await (0, _nanotar.parseTarGzip)(await (0, _promises.readFile)(r))).find(n => n.name === i); if (!e?.data) return; (await (0, _exists.exists)(t)) || (await (0, _promises.mkdir)(t, { recursive: !0 })), (0, _nodeFs.createWriteStream)(t).write(e.data); }