resolve-lygia
Version:
This package helps to resolve the #includes in a lygia shader, glsl or hlsl
28 lines (24 loc) • 697 B
JavaScript
function getFile(url) {
let httpRequest = new XMLHttpRequest();
httpRequest.open("GET", url, false);
httpRequest.send();
if (httpRequest.status == 200) return httpRequest.responseText;
else return "";
}
exports.resolveLygia = function (lines) {
if (!Array.isArray(lines)) {
lines = lines.split(/\r?\n/);
}
let src = "";
lines.forEach((line, i) => {
let line_trim = line.trim();
if (line_trim.startsWith('#include "lygia')) {
let include_url = line_trim.substring(15);
include_url = "https://lygia.xyz" + include_url.replace(/\"|\;|\s/g, "");
src += getFile(include_url) + "\n";
} else {
src += line + "\n";
}
});
return src;
};