Files
aza/APP/nexus-remote/node_modules/lzma-native/src/mt-options.cpp

29 lines
793 B
C++
Raw Normal View History

2026-03-25 14:14:07 +01:00
#include "liblzma-node.hpp"
namespace lzma {
MTOptions::MTOptions(Value val) {
Object opt = val.IsUndefined() || val.IsNull() ?
Object::New(val.Env()) : val.ToObject();
opts_.flags = 0;
opts_.filters = nullptr;
opts_.block_size = Value(opt["blockSize"]).ToNumber().Int64Value();
opts_.timeout = Value(opt["timeout"]).ToNumber().Uint32Value();
opts_.preset = Value(opt["preset"]).ToNumber().Uint32Value();
opts_.check = (lzma_check)Value(opt["check"]).ToNumber().Int32Value();
opts_.threads = Value(opt["threads"]).ToNumber().Uint32Value();
if (opts_.threads == 0) {
opts_.threads = lzma_cputhreads();
}
Value filters = opt["filters"];
if (filters.IsArray()) {
filters_.reset(new FilterArray(filters));
opts_.filters = filters_->array();
}
}
}