diff options
Diffstat (limited to 'src/js/node/fs.js')
-rw-r--r-- | src/js/node/fs.js | 28 |
1 files changed, 23 insertions, 5 deletions
diff --git a/src/js/node/fs.js b/src/js/node/fs.js index 5e72d6e27..f847cf179 100644 --- a/src/js/node/fs.js +++ b/src/js/node/fs.js @@ -122,9 +122,6 @@ export var access = function access(...args) { link = function link(...args) { callbackify(fs.linkSync, args); }, - lstat = function lstat(...args) { - callbackify(fs.lstatSync, args); - }, mkdir = function mkdir(...args) { callbackify(fs.mkdirSync, args); }, @@ -141,7 +138,13 @@ export var access = function access(...args) { callbackify(fs.writeSync, args); }, readdir = function readdir(...args) { - callbackify(fs.readdirSync, args); + const callback = args[args.length - 1]; + if (typeof callback !== "function") { + // TODO: set code + throw new TypeError("Callback must be a function"); + } + + fs.readdir(...args).then(result => callback(null, result), callback); }, readFile = function readFile(...args) { callbackify(fs.readFileSync, args); @@ -158,8 +161,23 @@ export var access = function access(...args) { rename = function rename(...args) { callbackify(fs.renameSync, args); }, + lstat = function lstat(...args) { + const callback = args[args.length - 1]; + if (typeof callback !== "function") { + // TODO: set code + throw new TypeError("Callback must be a function"); + } + + fs.lstat(...args).then(result => callback(null, result), callback); + }, stat = function stat(...args) { - callbackify(fs.statSync, args); + const callback = args[args.length - 1]; + if (typeof callback !== "function") { + // TODO: set code + throw new TypeError("Callback must be a function"); + } + + fs.stat(...args).then(result => callback(null, result), callback); }, symlink = function symlink(...args) { callbackify(fs.symlinkSync, args); |