You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.3 KiB
JavaScript
52 lines
1.3 KiB
JavaScript
'use strict';
|
|
|
|
const Promise = require("bluebird");
|
|
const streamToPromise = require("stream-to-promise");
|
|
const fs = require("fs");
|
|
const memoizee = require("memoizee");
|
|
const archy = require("archy");
|
|
|
|
const httpSeekable = require("./lib/seekable/http");
|
|
const fsSeekable = require("./lib/seekable/fs");
|
|
const iso9660 = require("./lib/iso9660");
|
|
|
|
|
|
let imagePath = process.argv[2];
|
|
|
|
Promise.try(() => {
|
|
if (imagePath.match(/^https?:\/\//)) {
|
|
return httpSeekable(imagePath);
|
|
} else {
|
|
return fsSeekable(imagePath);
|
|
}
|
|
}).then((seekable) => {
|
|
let image = iso9660(seekable);
|
|
|
|
return Promise.try(() => {
|
|
return image.getRootDirectory();
|
|
}).then((rootDirectory) => {
|
|
return rootDirectory.getTree();
|
|
}).then((tree) => {
|
|
|
|
});
|
|
|
|
/*
|
|
let image = iso9660(seekable);
|
|
|
|
return Promise.try(() => {
|
|
return image.getPathTable();
|
|
}).then((paths) => {
|
|
//console.log(paths);
|
|
return image.getPrimaryVolumeDescriptor();
|
|
}).then((primaryVolumeDescriptor) => {
|
|
console.log(JSON.stringify(primaryVolumeDescriptor, (key, value) => {
|
|
if (value != null && value.type === "Buffer") {
|
|
return require("util").inspect(Buffer.from(value));
|
|
} else {
|
|
return value;
|
|
}
|
|
}, "\t"));
|
|
})
|
|
*/
|
|
});
|