LarpixClient/electron/node_modules/lzma-native/src/liblzma-functions.cpp
olcxja cca8b02fea
Some checks failed
Android Build / publish (push) Successful in 33s
Linux Build / publish (push) Failing after 25s
Update gitignore (sorry)
2026-05-10 14:02:17 +02:00

84 lines
2.4 KiB
C++

#include "liblzma-node.hpp"
namespace lzma {
Value lzmaVersionNumber(const CallbackInfo& info) {
return Number::New(info.Env(), lzma_version_number());
}
Value lzmaVersionString(const CallbackInfo& info) {
return String::New(info.Env(), lzma_version_string());
}
Value lzmaCheckIsSupported(const CallbackInfo& info) {
lzma_check arg = (lzma_check) info[0].ToNumber().Int64Value();
return Boolean::New(info.Env(), lzma_check_is_supported(arg));
}
Value lzmaCheckSize(const CallbackInfo& info) {
lzma_check arg = (lzma_check) info[0].ToNumber().Int64Value();
return Number::New(info.Env(), lzma_check_size(arg));
}
Value lzmaFilterEncoderIsSupported(const CallbackInfo& info) {
uint64_t arg = FilterByName(info[0]);
return Boolean::New(info.Env(), lzma_filter_encoder_is_supported(arg));
}
Value lzmaFilterDecoderIsSupported(const CallbackInfo& info) {
uint64_t arg = FilterByName(info[0]);
return Boolean::New(info.Env(), lzma_filter_decoder_is_supported(arg));
}
Value lzmaMfIsSupported(const CallbackInfo& info) {
lzma_match_finder arg = (lzma_match_finder) info[0].ToNumber().Int64Value();
return Boolean::New(info.Env(), lzma_mf_is_supported(arg));
}
Value lzmaModeIsSupported(const CallbackInfo& info) {
lzma_mode arg = (lzma_mode) info[0].ToNumber().Int64Value();
return Boolean::New(info.Env(), lzma_mode_is_supported(arg));
}
Value lzmaEasyEncoderMemusage(const CallbackInfo& info) {
int64_t arg = info[0].ToNumber();
return Uint64ToNumberMaxNull(info.Env(), lzma_easy_encoder_memusage(arg));
}
Value lzmaEasyDecoderMemusage(const CallbackInfo& info) {
int64_t arg = info[0].ToNumber();
return Uint64ToNumberMaxNull(info.Env(), lzma_easy_decoder_memusage(arg));
}
Value lzmaCRC32(const CallbackInfo& info) {
int64_t arg = info[1].ToNumber();
std::vector<uint8_t> data;
if (!readBufferFromObj(info[0], &data))
throw TypeError::New(info.Env(), "CRC32 expects Buffer as input");
return Number::New(info.Env(), lzma_crc32(data.data(), data.size(), arg));
}
Value lzmaRawEncoderMemusage(const CallbackInfo& info) {
const FilterArray filters(info[0]);
return Uint64ToNumberMaxNull(info.Env(), lzma_raw_encoder_memusage(filters.array()));
}
Value lzmaRawDecoderMemusage(const CallbackInfo& info) {
const FilterArray filters(info[0]);
return Uint64ToNumberMaxNull(info.Env(), lzma_raw_decoder_memusage(filters.array()));
}
}