refactor: use type enum in file stats for asar archive (#39889)
This commit is contained in:
parent
18f517d8a6
commit
d75a852743
5 changed files with 31 additions and 40 deletions
|
@ -121,9 +121,7 @@ class Archive : public node::ObjectWrap {
|
|||
gin_helper::Dictionary dict(isolate, v8::Object::New(isolate));
|
||||
dict.Set("size", stats.size);
|
||||
dict.Set("offset", stats.offset);
|
||||
dict.Set("isFile", stats.is_file);
|
||||
dict.Set("isDirectory", stats.is_directory);
|
||||
dict.Set("isLink", stats.is_link);
|
||||
dict.Set("type", static_cast<int>(stats.type));
|
||||
args.GetReturnValue().Set(dict.GetHandle());
|
||||
}
|
||||
|
||||
|
|
|
@ -311,14 +311,12 @@ bool Archive::Stat(const base::FilePath& path, Stats* stats) const {
|
|||
return false;
|
||||
|
||||
if (node->Find("link")) {
|
||||
stats->is_file = false;
|
||||
stats->is_link = true;
|
||||
stats->type = FileType::kLink;
|
||||
return true;
|
||||
}
|
||||
|
||||
if (node->Find("files")) {
|
||||
stats->is_file = false;
|
||||
stats->is_directory = true;
|
||||
stats->type = FileType::kDirectory;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -10,6 +10,8 @@
|
|||
#include <unordered_map>
|
||||
#include <vector>
|
||||
|
||||
#include <uv.h>
|
||||
|
||||
#include "base/files/file.h"
|
||||
#include "base/files/file_path.h"
|
||||
#include "base/synchronization/lock.h"
|
||||
|
@ -49,11 +51,14 @@ class Archive {
|
|||
absl::optional<IntegrityPayload> integrity;
|
||||
};
|
||||
|
||||
enum class FileType {
|
||||
kFile = UV_DIRENT_FILE,
|
||||
kDirectory = UV_DIRENT_DIR,
|
||||
kLink = UV_DIRENT_LINK,
|
||||
};
|
||||
|
||||
struct Stats : public FileInfo {
|
||||
Stats() : is_file(true), is_directory(false), is_link(false) {}
|
||||
bool is_file;
|
||||
bool is_directory;
|
||||
bool is_link;
|
||||
FileType type = FileType::kFile;
|
||||
};
|
||||
|
||||
explicit Archive(const base::FilePath& path);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue