UNPKG

@jsenv/util

Version:

Set of functions often needed when using Node.js.

21 lines (18 loc) 764 B
import { assertAndNormalizeFileUrl } from "./assertAndNormalizeFileUrl.js" import { readFileSystemNodePermissions } from "./readFileSystemNodePermissions.js" import { writeFileSystemNodePermissions } from "./writeFileSystemNodePermissions.js" export const grantPermissionsOnFileSystemNode = async ( source, { read = false, write = false, execute = false }, ) => { const sourceUrl = assertAndNormalizeFileUrl(source) const filePermissions = await readFileSystemNodePermissions(sourceUrl) await writeFileSystemNodePermissions(sourceUrl, { owner: { read, write, execute }, group: { read, write, execute }, others: { read, write, execute }, }) return async () => { await writeFileSystemNodePermissions(sourceUrl, filePermissions) } }