HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux ip-10-0-8-47 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:31:58 UTC 2024 aarch64
User: ubuntu (1000)
PHP: 8.1.2-1ubuntu2.22
Disabled: NONE
Upload Files
File: /var/www/api.javaapp.co.uk_old/node_modules/with-open-file/index.js
'use strict'

const fs = require('fs')
const pify = require('pify')
const pTry = require('p-try')
const pFinally = require('p-finally')

const fsP = pify(fs)

module.exports = (...args) => {
  const callback = args.pop()
  return fsP
    .open(...args)
    .then(fd => pFinally(pTry(callback, fd), _ => fsP.close(fd)))
}

module.exports.sync = (...args) => {
  const callback = args.pop()
  const fd = fs.openSync(...args)
  try {
    return callback(fd)
  } finally {
    fs.closeSync(fd)
  }
}