diff options
author | 2023-10-17 14:10:25 -0700 | |
---|---|---|
committer | 2023-10-17 14:10:25 -0700 | |
commit | 7458b969c5d9971e89d187b687e1924e78da427e (patch) | |
tree | ee3dbf95c728cf407bf49a27826b541e9264a8bd /src/js/node/fs.promises.ts | |
parent | d4a2c29131ec154f5e4db897d4deedab2002cbc4 (diff) | |
parent | e91436e5248d947b50f90b4a7402690be8a41f39 (diff) | |
download | bun-7458b969c5d9971e89d187b687e1924e78da427e.tar.gz bun-7458b969c5d9971e89d187b687e1924e78da427e.tar.zst bun-7458b969c5d9971e89d187b687e1924e78da427e.zip |
Merge branch 'main' into postinstall_3
Diffstat (limited to 'src/js/node/fs.promises.ts')
-rw-r--r-- | src/js/node/fs.promises.ts | 107 |
1 files changed, 42 insertions, 65 deletions
diff --git a/src/js/node/fs.promises.ts b/src/js/node/fs.promises.ts index 8921e42d3..91566d155 100644 --- a/src/js/node/fs.promises.ts +++ b/src/js/node/fs.promises.ts @@ -9,14 +9,6 @@ var fs = Bun.fs(); // in some cases, node swaps around arguments or makes small tweaks to the return type // this is just better than nothing. const notrace = "::bunternal::"; -var promisify = { - [notrace]: fsFunction => { - return async function (...args) { - await 1; - return fsFunction.apply(fs, args); - }; - }, -}[notrace]; function watch( filename: string | Buffer | URL, @@ -139,72 +131,57 @@ async function opendir(dir: string) { } export default { - access: promisify(fs.accessSync), - appendFile: promisify(fs.appendFileSync), - close: promisify(fs.closeSync), + access: fs.access.bind(fs), + appendFile: fs.appendFile.bind(fs), + close: fs.close.bind(fs), copyFile: fs.copyFile.bind(fs), cp, - exists: promisify(fs.existsSync), - chown: promisify(fs.chownSync), - chmod: promisify(fs.chmodSync), - fchmod: promisify(fs.fchmodSync), - fchown: promisify(fs.fchownSync), - fstat: promisify(fs.fstatSync), - fsync: promisify(fs.fsyncSync), - ftruncate: promisify(fs.ftruncateSync), - futimes: promisify(fs.futimesSync), - lchmod: promisify(fs.lchmodSync), - lchown: promisify(fs.lchownSync), - link: promisify(fs.linkSync), + exists: fs.exists.bind(fs), + chown: fs.chown.bind(fs), + chmod: fs.chmod.bind(fs), + fchmod: fs.fchmod.bind(fs), + fchown: fs.fchown.bind(fs), + fstat: fs.fstat.bind(fs), + fsync: fs.fsync.bind(fs), + ftruncate: fs.ftruncate.bind(fs), + futimes: fs.futimes.bind(fs), + lchmod: fs.lchmod.bind(fs), + lchown: fs.lchown.bind(fs), + link: fs.link.bind(fs), lstat: fs.lstat.bind(fs), - mkdir: promisify(fs.mkdirSync), - mkdtemp: promisify(fs.mkdtempSync), - open: promisify(fs.openSync), - read: promisify(fs.readSync), - write: promisify(fs.writeSync), + mkdir: fs.mkdir.bind(fs), + mkdtemp: fs.mkdtemp.bind(fs), + open: fs.open.bind(fs), + read: fs.read.bind(fs), + write: fs.write.bind(fs), readdir: fs.readdir.bind(fs), readFile: fs.readFile.bind(fs), - writeFile: promisify(fs.writeFileSync), - readlink: promisify(fs.readlinkSync), + writeFile: fs.writeFile.bind(fs), + readlink: fs.readlink.bind(fs), realpath: fs.realpath.bind(fs), - rename: promisify(fs.renameSync), + rename: fs.rename.bind(fs), stat: fs.stat.bind(fs), - symlink: promisify(fs.symlinkSync), - truncate: promisify(fs.truncateSync), - unlink: promisify(fs.unlinkSync), - utimes: promisify(fs.utimesSync), - lutimes: promisify(fs.lutimesSync), - rm: promisify(fs.rmSync), - rmdir: promisify(fs.rmdirSync), - writev: (fd, buffers, position) => { - return new Promise((resolve, reject) => { - try { - var bytesWritten = fs.writevSync(fd, buffers, position); - } catch (err) { - reject(err); - return; - } - - resolve({ - bytesWritten, - buffers, - }); - }); + symlink: fs.symlink.bind(fs), + truncate: fs.truncate.bind(fs), + unlink: fs.unlink.bind(fs), + utimes: fs.utimes.bind(fs), + lutimes: fs.lutimes.bind(fs), + rm: fs.rm.bind(fs), + rmdir: fs.rmdir.bind(fs), + writev: async (fd, buffers, position) => { + var bytesWritten = await fs.writev(fd, buffers, position); + return { + bytesWritten, + buffers, + }; }, - readv: (fd, buffers, position) => { - return new Promise((resolve, reject) => { - try { - var bytesRead = fs.readvSync(fd, buffers, position); - } catch (err) { - reject(err); - return; - } + readv: async (fd, buffers, position) => { + var bytesRead = await fs.readv(fd, buffers, position); - resolve({ - bytesRead, - buffers, - }); - }); + return { + bytesRead, + buffers, + }; }, constants, watch, |