export default (() => { const initialize = () => { return new Promise(resolve => { Module({ locateFile() { const i = import.meta.url.lastIndexOf('/') return import.meta.url.substring(0, i) + '/glslang.wasm'; }, onRuntimeInitialized() { resolve({ compileGLSLZeroCopy: this.compileGLSLZeroCopy, compileGLSL: this.compileGLSL, }); }, }); }); }; let instance; return () => { if (!instance) { instance = initialize(); } return instance; }; })();