aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2026-09-16 23:08:58 +0100
committerMichael Williamson <mike@zwobble.org>2026-09-16 23:09:31 +0100
commit36d98ebbd6463899737008eaa5147449c9d8e7f2 (patch)
tree80adf97bc0394495432aae6d31f805dd8c2f2b3e /lib
parent0d13c71b3b8d4adb8d59e5e586f6e5f1a284107d (diff)
Prefer fs.promises to promisfying fs functions
Diffstat (limited to 'lib')
-rw-r--r--lib/docx/files.js7
-rw-r--r--lib/fs.js16
-rw-r--r--lib/main.js8
-rw-r--r--lib/unzip.js7
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) {