UNPKG

resolve-lygia

Version:

This package helps to resolve the #includes in a lygia shader, glsl or hlsl

28 lines (24 loc) 697 B
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; };