lingxixue-new-web/.pnpm-store/v11/files/3c/46e885f5bd5b3b897bbc8df613c7287c2a457e6bd7aa4d9459d0b45672010524bf51e66fc6ab868e0a4ebf119c00e71a13eeaa4b79985c632be5dc1f4f4e97

23 lines
539 B
Plaintext

#include "Glob.hh"
#ifdef __wasm32__
extern "C" bool wasm_regex_match(const char *s, const char *regex);
#endif
Glob::Glob(std::string raw) {
mRaw = raw;
mHash = std::hash<std::string>()(raw);
#ifndef __wasm32__
mRegex = std::regex(raw);
#endif
}
bool Glob::isIgnored(std::string relative_path) const {
// Use native JS regex engine for wasm to reduce binary size.
#ifdef __wasm32__
return wasm_regex_match(relative_path.c_str(), mRaw.c_str());
#else
return std::regex_match(relative_path, mRegex);
#endif
}