diff options
| author | Michael Williamson <mike@zwobble.org> | 2026-09-16 23:08:58 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2026-09-16 23:09:31 +0100 |
| commit | 36d98ebbd6463899737008eaa5147449c9d8e7f2 (patch) | |
| tree | 80adf97bc0394495432aae6d31f805dd8c2f2b3e /lib | |
| parent | 0d13c71b3b8d4adb8d59e5e586f6e5f1a284107d (diff) | |
Prefer fs.promises to promisfying fs functions
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/docx/files.js | 7 | ||||
| -rw-r--r-- | lib/fs.js | 16 | ||||
| -rw-r--r-- | lib/main.js | 8 | ||||
| -rw-r--r-- | lib/unzip.js | 7 |
4 files changed, 24 insertions, 14 deletions
diff --git a/lib/docx/files.js b/lib/docx/files.js index 0d1adb9..255cad4 100644 --- a/lib/docx/files.js +++ b/lib/docx/files.js @@ -1,10 +1,10 @@ -var fs = require("fs"); var url = require("url"); var os = require("os"); var dirname = require("path").dirname; var resolvePath = require("path").resolve; var isAbsolutePath = require('path-is-absolute'); +var fs = require("../fs"); var promises = require("../promises"); @@ -26,7 +26,7 @@ function Files(options) { function read(uri, encoding) { return resolveUri(uri).then(function(path) { - return readFile(path, encoding).catch(function(error) { + return fs.readFile(path, encoding).catch(function(error) { var message = "could not open external image: '" + uri + "' (document directory: '" + base + "')\n" + error.message; return promises.reject(new Error(message)); }); @@ -50,9 +50,6 @@ function Files(options) { } -var readFile = promises.promisify(fs.readFile.bind(fs)); - - function uriToPath(uriString, platform) { if (!platform) { platform = os.platform(); diff --git a/lib/fs.js b/lib/fs.js new file mode 100644 index 0000000..5e2e583 --- /dev/null +++ b/lib/fs.js @@ -0,0 +1,16 @@ +var fs = require("fs"); + +var promises = require("./promises"); + +function readFile(path, options) { + return promises.when(fs.promises.readFile(path, options)); +} + +function writeFile(path, data, options) { + return promises.when(fs.promises.writeFile(path, data, options)); +} + +exports.createWriteStream = fs.createWriteStream.bind(fs); +exports.readFile = readFile; +exports.readFileSync = fs.readFileSync.bind(fs); +exports.writeFile = writeFile; diff --git a/lib/main.js b/lib/main.js index 54aeebb..9cc8196 100644 --- a/lib/main.js +++ b/lib/main.js @@ -1,11 +1,11 @@ /* global process */ -var fs = require("fs"); var path = require("path"); var mammoth = require("./"); -var promises = require("./promises"); +var fs = require("./fs"); var images = require("./images"); +var promises = require("./promises"); function main(argv) { var docxPath = argv["docx-path"]; @@ -31,7 +31,7 @@ function main(argv) { return element.read().then(function(imageBuffer) { var imagePath = path.join(outputDir, filename); - return promises.nfcall(fs.writeFile, imagePath, imageBuffer); + return fs.writeFile(imagePath, imageBuffer); }).then(function() { return {src: filename}; }); @@ -54,7 +54,7 @@ function main(argv) { function readStyleMap(styleMapPath) { if (styleMapPath) { - return promises.nfcall(fs.readFile, styleMapPath, "utf8"); + return fs.readFile(styleMapPath, "utf8"); } else { return promises.resolve(null); } diff --git a/lib/unzip.js b/lib/unzip.js index 75f486f..45bd8bc 100644 --- a/lib/unzip.js +++ b/lib/unzip.js @@ -1,15 +1,12 @@ -var fs = require("fs"); - +var fs = require("./fs"); var promises = require("./promises"); var zipfile = require("./zipfile"); exports.openZip = openZip; -var readFile = promises.promisify(fs.readFile); - function openZip(options) { if (options.path) { - return readFile(options.path).then(zipfile.openArrayBuffer); + return fs.readFile(options.path).then(zipfile.openArrayBuffer); } else if (options.buffer) { return promises.resolve(zipfile.openArrayBuffer(options.buffer)); } else if (options.file) { |
