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

'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"));
})
*/
});