diff options
Diffstat (limited to 'src/javascript/jsc/fs_promises.exports.js')
-rw-r--r-- | src/javascript/jsc/fs_promises.exports.js | 108 |
1 files changed, 0 insertions, 108 deletions
diff --git a/src/javascript/jsc/fs_promises.exports.js b/src/javascript/jsc/fs_promises.exports.js deleted file mode 100644 index c1dce2291..000000000 --- a/src/javascript/jsc/fs_promises.exports.js +++ /dev/null @@ -1,108 +0,0 @@ -var fs = Bun.fs(); - -// note: this is not quite the same as how node does it -// in some cases, node swaps around arguments or makes small tweaks to the return type -// this is just better than nothing. -function promisify(fsFunction) { - // TODO: remove variadic arguments - // we can use new Function() here instead - // based on fsFucntion.length - var obj = { - [fsFunction.name]: function (resolve, reject, args) { - var result; - try { - result = fsFunction.apply(fs, args); - args = undefined; - } catch (err) { - args = undefined; - reject(err); - return; - } - - resolve(result); - }, - }; - - var func = obj[fsFunction.name]; - - // TODO: consider @createPromiseCapabiilty intrinsic - return (...args) => { - return new Promise((resolve, reject) => { - func(resolve, reject, args); - }); - }; -} - -export var access = promisify(fs.accessSync); -export var appendFile = promisify(fs.appendFileSync); -export var close = promisify(fs.closeSync); -export var copyFile = promisify(fs.copyFileSync); -export var exists = promisify(fs.existsSync); -export var chown = promisify(fs.chownSync); -export var chmod = promisify(fs.chmodSync); -export var fchmod = promisify(fs.fchmodSync); -export var fchown = promisify(fs.fchownSync); -export var fstat = promisify(fs.fstatSync); -export var fsync = promisify(fs.fsyncSync); -export var ftruncate = promisify(fs.ftruncateSync); -export var futimes = promisify(fs.futimesSync); -export var lchmod = promisify(fs.lchmodSync); -export var lchown = promisify(fs.lchownSync); -export var link = promisify(fs.linkSync); -export var lstat = promisify(fs.lstatSync); -export var mkdir = promisify(fs.mkdirSync); -export var mkdtemp = promisify(fs.mkdtempSync); -export var open = promisify(fs.openSync); -export var read = promisify(fs.readSync); -export var write = promisify(fs.writeSync); -export var readdir = promisify(fs.readdirSync); -export var readFile = promisify(fs.readFileSync); -export var readfile = readFile; -export var writeFile = promisify(fs.writeFileSync); -export var readlink = promisify(fs.readlinkSync); -export var realpath = promisify(fs.realpathSync); -export var rename = promisify(fs.renameSync); -export var stat = promisify(fs.statSync); -export var symlink = promisify(fs.symlinkSync); -export var truncate = promisify(fs.truncateSync); -export var unlink = promisify(fs.unlinkSync); -export var utimes = promisify(fs.utimesSync); -export var lutimes = promisify(fs.lutimesSync); - -export default { - access, - appendFile, - close, - copyFile, - exists, - chown, - chmod, - fchmod, - fchown, - fstat, - readfile, - fsync, - ftruncate, - futimes, - lchmod, - lchown, - link, - lstat, - mkdir, - mkdtemp, - open, - read, - write, - readdir, - readFile, - writeFile, - readlink, - realpath, - rename, - stat, - symlink, - truncate, - unlink, - utimes, - lutimes, -}; |