1 line
2.2 KiB
Plaintext
1 line
2.2 KiB
Plaintext
{"version":3,"file":"compileInputs.mjs","sources":["../../../../../src/rendering/high-shader/compiler/utils/compileInputs.ts"],"sourcesContent":["function extractInputs(fragmentSource: string, out: string[])\n{\n let match;\n const regex = /@in\\s+([^;]+);/g;\n\n while ((match = regex.exec(fragmentSource)) !== null)\n {\n out.push(match[1]);\n }\n}\n\nexport function compileInputs(fragments: any[], template: string, sort = false)\n{\n // get all the inputs from the fragments..\n const results: string[] = [];\n\n extractInputs(template, results);\n\n fragments.forEach((fragment) =>\n {\n if (fragment.header)\n {\n extractInputs(fragment.header, results);\n }\n });\n\n // build the input:\n const mainInput = results;\n\n if (sort)\n {\n mainInput.sort();\n }\n\n const finalString = mainInput\n .map((inValue, i) => ` @location(${i}) ${inValue},`)\n .join('\\n');\n\n // Remove lines from original string\n let cleanedString = template.replace(/@in\\s+[^;]+;\\s*/g, '');\n\n cleanedString = cleanedString.replace('{{in}}', `\\n${finalString}\\n`);\n\n return cleanedString;\n}\n"],"names":[],"mappings":";AAAA,SAAS,aAAA,CAAc,gBAAwB,GAC/C,EAAA;AACI,EAAI,IAAA,KAAA,CAAA;AACJ,EAAA,MAAM,KAAQ,GAAA,iBAAA,CAAA;AAEd,EAAA,OAAA,CAAQ,KAAQ,GAAA,KAAA,CAAM,IAAK,CAAA,cAAc,OAAO,IAChD,EAAA;AACI,IAAI,GAAA,CAAA,IAAA,CAAK,KAAM,CAAA,CAAC,CAAC,CAAA,CAAA;AAAA,GACrB;AACJ,CAAA;AAEO,SAAS,aAAc,CAAA,SAAA,EAAkB,QAAkB,EAAA,IAAA,GAAO,KACzE,EAAA;AAEI,EAAA,MAAM,UAAoB,EAAC,CAAA;AAE3B,EAAA,aAAA,CAAc,UAAU,OAAO,CAAA,CAAA;AAE/B,EAAU,SAAA,CAAA,OAAA,CAAQ,CAAC,QACnB,KAAA;AACI,IAAA,IAAI,SAAS,MACb,EAAA;AACI,MAAc,aAAA,CAAA,QAAA,CAAS,QAAQ,OAAO,CAAA,CAAA;AAAA,KAC1C;AAAA,GACH,CAAA,CAAA;AAGD,EAAA,MAAM,SAAY,GAAA,OAAA,CAAA;AAElB,EAAA,IAAI,IACJ,EAAA;AACI,IAAA,SAAA,CAAU,IAAK,EAAA,CAAA;AAAA,GACnB;AAEA,EAAA,MAAM,WAAc,GAAA,SAAA,CACf,GAAI,CAAA,CAAC,OAAS,EAAA,CAAA,KAAM,CAAoB,iBAAA,EAAA,CAAC,CAAK,EAAA,EAAA,OAAO,CAAG,CAAA,CAAA,CAAA,CACxD,KAAK,IAAI,CAAA,CAAA;AAGd,EAAA,IAAI,aAAgB,GAAA,QAAA,CAAS,OAAQ,CAAA,kBAAA,EAAoB,EAAE,CAAA,CAAA;AAE3D,EAAgB,aAAA,GAAA,aAAA,CAAc,QAAQ,QAAU,EAAA,CAAA;AAAA,EAAK,WAAW,CAAA;AAAA,CAAI,CAAA,CAAA;AAEpE,EAAO,OAAA,aAAA,CAAA;AACX;;;;"} |