Skip to content

Commit 3320a7c

Browse files
committed
fixed binary file support
1 parent d699b53 commit 3320a7c

File tree

2 files changed

+6
-5
lines changed

2 files changed

+6
-5
lines changed

index.js

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
11
var through2 = require('through2');
22
var filesystem = require('fs');
3+
var istextorbinary = require('istextorbinary');
34
var xmlToJs = require('xml2js');
45
var mime = require('mime');
56
var parser = require('qmlweb-parser');
67

78
function dumpResource(root, filepath) {
89
return new Promise(function(resolve, reject) {
9-
filesystem.readFile(root + '/' + filepath, function(err, str) {
10+
filesystem.readFile(root + '/' + filepath, function(err, buffer) {
1011
var data = null;
1112
var mimetype = mime.getType(filepath);
13+
var str = typeof buffer === "object" ? buffer.toString() : buffer;
1214

13-
if (typeof str === "object")
14-
str = str.toString();
1515
if (typeof str === "string") {
1616
try {
1717
if (filepath.match(/\.qml$/) != null)
1818
data = parser.qmlweb_parse(str, parser.qmlweb_parse.QMLDocument);
1919
else if (filepath.match(/\.m?js$/) != null)
2020
data = parser.qmlweb_jsparse(str);
21-
else if (mimetype && mimetype.startsWith("image/"))
22-
data = "data:" + mimetype + ";base64," + Buffer.from(str).toString('base64');
21+
else if (istextorbinary.isBinary(filepath, buffer))
22+
data = "data:" + mimetype + ";base64," + buffer.toString('base64');
2323
else
2424
data = str;
2525
resolve(data);

package.json

+1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
"index.js"
1010
],
1111
"dependencies": {
12+
"istextorbinary": "^6.0.0",
1213
"mime": "^3.0.0",
1314
"qmlweb-parser": "^0.3.0",
1415
"through2": "^4.0.2",

0 commit comments

Comments
 (0)