hianimez-api / src /helper /getKey.helper.js
S VIVEGANANDAN
fix: resolve 403 error and clean repo
5769f09
class ErrorLoadingException extends Error {
constructor(message) {
super(message);
this.name = "ErrorLoadingException";
}
}
function matchingKey(value, script) {
const regex = new RegExp(`,${value}=((?:0x)?([0-9a-fA-F]+))`);
const match = script.match(regex);
if (match) {
return match[2];
} else {
throw new ErrorLoadingException("Failed to match the key");
}
}
function getKeys(script) {
const regex =
/case\s*0x[0-9a-f]+:(?![^;]*=partKey)\s*\w+\s*=\s*(\w+)\s*,\s*\w+\s*=\s*(\w+);/g;
const matches = script.matchAll(regex);
return Array.from(matches, (match) => {
const matchKey1 = matchingKey(match[1], script);
const matchKey2 = matchingKey(match[2], script);
try {
return [parseInt(matchKey1, 16), parseInt(matchKey2, 16)];
} catch (e) {
return [];
}
}).filter((pair) => pair.length > 0);
}
export default getKeys;