mirror of
https://github.com/electron/electron.git
synced 2026-04-10 03:01:51 -04:00
refactor: use type enum in file stats for asar archive (#39968)
refactor: use type enum in file stats for asar archive (#39889) Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com> Co-authored-by: Milan Burda <milan.burda@gmail.com>
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user