UNPKG

1.34 kBSource Map (JSON)View Raw
1{"version":3,"file":"unsafeEvalSupported.js","sources":["../../../src/shader/utils/unsafeEvalSupported.ts"],"sourcesContent":["// Cache the result to prevent running this over and over\nlet unsafeEval: boolean;\n\n/**\n * Not all platforms allow to generate function code (e.g., `new Function`).\n * this provides the platform-level detection.\n * @private\n * @returns {boolean} `true` if `new Function` is supported.\n */\nexport function unsafeEvalSupported(): boolean\n{\n if (typeof unsafeEval === 'boolean')\n {\n return unsafeEval;\n }\n\n try\n {\n /* eslint-disable no-new-func */\n const func = new Function('param1', 'param2', 'param3', 'return param1[param2] === param3;');\n /* eslint-enable no-new-func */\n\n unsafeEval = func({ a: 'b' }, 'a', 'b') === true;\n }\n catch (e)\n {\n unsafeEval = false;\n }\n\n return unsafeEval;\n}\n"],"names":[],"mappings":";;;;AACA,IAAI,UAAA,CAAA;AASJ,SAAA,mBAAA,GAAA;AACI,EAAI,IAAA,OAAO,eAAe,SAC1B,EAAA;AACI,IAAO,OAAA,UAAA,CAAA;AAAA,GACX;AAEA,EACA,IAAA;AAEI,IAAA,MAAM,OAAO,IAAI,QAAA,CAAS,QAAU,EAAA,QAAA,EAAU,UAAU,mCAAmC,CAAA,CAAA;AAG3F,IAAA,UAAA,GAAa,KAAK,EAAE,CAAA,EAAG,KAAO,EAAA,GAAA,EAAK,GAAG,CAAM,KAAA,IAAA,CAAA;AAAA,WAEzC,CAAP,EAAA;AAEI,IAAa,UAAA,GAAA,KAAA,CAAA;AAAA,GACjB;AAEA,EAAO,OAAA,UAAA,CAAA;AACX;;;;"}
\No newline at end of file