Initial commit of 001code-html Scratch frontend project.
Includes scratch-gui, scratch-vm, scratch-blocks, scratch-render, scratch-l10n, and deployment config. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
20
scratch-vm/src/compiler/environment.js
Normal file
20
scratch-vm/src/compiler/environment.js
Normal file
@@ -0,0 +1,20 @@
|
||||
/* eslint-disable no-eval */
|
||||
|
||||
/**
|
||||
* @returns {boolean} true if the nullish coalescing operator (x ?? y) is supported.
|
||||
* See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing_operator
|
||||
*/
|
||||
const supportsNullishCoalescing = () => {
|
||||
try {
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
const fn = new Function('undefined ?? 3');
|
||||
// if function construction succeeds, the browser understood the syntax.
|
||||
return true;
|
||||
} catch (e) {
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
supportsNullishCoalescing: supportsNullishCoalescing()
|
||||
};
|
||||
Reference in New Issue
Block a user