aboutsummaryrefslogtreecommitdiff
path: root/src/js/node/fs.promises.ts
diff options
context:
space:
mode:
authorGravatar Dylan Conway <dylan.conway567@gmail.com> 2023-10-17 14:10:25 -0700
committerGravatar Dylan Conway <dylan.conway567@gmail.com> 2023-10-17 14:10:25 -0700
commit7458b969c5d9971e89d187b687e1924e78da427e (patch)
treeee3dbf95c728cf407bf49a27826b541e9264a8bd /src/js/node/fs.promises.ts
parentd4a2c29131ec154f5e4db897d4deedab2002cbc4 (diff)
parente91436e5248d947b50f90b4a7402690be8a41f39 (diff)
downloadbun-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.ts107
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,