From a740b28a9e3e663a9a801a7491d89fba91064d21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=B2=20Ribaudo?= Date: Wed, 4 Oct 2017 23:43:25 +0200 Subject: [PATCH] Commit the temporalRef runtime helper --- .gitignore | 4 ++++ .../babel-runtime/helpers/builtin/es6/temporalRef.js | 8 ++++++++ packages/babel-runtime/helpers/builtin/temporalRef.js | 11 +++++++++++ packages/babel-runtime/helpers/es6/temporalRef.js | 8 ++++++++ packages/babel-runtime/helpers/temporalRef.js | 11 +++++++++++ 5 files changed, 42 insertions(+) create mode 100644 packages/babel-runtime/helpers/builtin/es6/temporalRef.js create mode 100644 packages/babel-runtime/helpers/builtin/temporalRef.js create mode 100644 packages/babel-runtime/helpers/es6/temporalRef.js create mode 100644 packages/babel-runtime/helpers/temporalRef.js diff --git a/.gitignore b/.gitignore index 7087f6e030..5f5042e700 100644 --- a/.gitignore +++ b/.gitignore @@ -15,12 +15,16 @@ package-lock.json !/packages/babel-runtime/core-js/map.js /packages/babel-runtime/helpers/*.js !/packages/babel-runtime/helpers/toArray.js +!/packages/babel-runtime/helpers/temporalRef.js /packages/babel-runtime/helpers/builtin/*.js !/packages/babel-runtime/helpers/builtin/toArray.js +!/packages/babel-runtime/helpers/builtin/temporalRef.js /packages/babel-runtime/helpers/builtin/es6/*.js !/packages/babel-runtime/helpers/builtin/es6/toArray.js +!/packages/babel-runtime/helpers/builtin/es6/temporalRef.js /packages/babel-runtime/helpers/es6/*.js !/packages/babel-runtime/helpers/es6/toArray.js +!/packages/babel-runtime/helpers/es6/temporalRef.js /packages/babel-register/test/.babel /packages/babel-cli/test/tmp /packages/babel-node/test/tmp diff --git a/packages/babel-runtime/helpers/builtin/es6/temporalRef.js b/packages/babel-runtime/helpers/builtin/es6/temporalRef.js new file mode 100644 index 0000000000..4b0679c64c --- /dev/null +++ b/packages/babel-runtime/helpers/builtin/es6/temporalRef.js @@ -0,0 +1,8 @@ +import undef from "./temporalUndefined"; +export default function _temporalRef(val, name) { + if (val === undef) { + throw new ReferenceError(name + " is not defined - temporal dead zone"); + } else { + return val; + } +} \ No newline at end of file diff --git a/packages/babel-runtime/helpers/builtin/temporalRef.js b/packages/babel-runtime/helpers/builtin/temporalRef.js new file mode 100644 index 0000000000..20b2652a1f --- /dev/null +++ b/packages/babel-runtime/helpers/builtin/temporalRef.js @@ -0,0 +1,11 @@ +var temporalUndefined = require("./temporalUndefined"); + +function _temporalRef(val, name) { + if (val === temporalUndefined) { + throw new ReferenceError(name + " is not defined - temporal dead zone"); + } else { + return val; + } +} + +module.exports = _temporalRef; \ No newline at end of file diff --git a/packages/babel-runtime/helpers/es6/temporalRef.js b/packages/babel-runtime/helpers/es6/temporalRef.js new file mode 100644 index 0000000000..4b0679c64c --- /dev/null +++ b/packages/babel-runtime/helpers/es6/temporalRef.js @@ -0,0 +1,8 @@ +import undef from "./temporalUndefined"; +export default function _temporalRef(val, name) { + if (val === undef) { + throw new ReferenceError(name + " is not defined - temporal dead zone"); + } else { + return val; + } +} \ No newline at end of file diff --git a/packages/babel-runtime/helpers/temporalRef.js b/packages/babel-runtime/helpers/temporalRef.js new file mode 100644 index 0000000000..20b2652a1f --- /dev/null +++ b/packages/babel-runtime/helpers/temporalRef.js @@ -0,0 +1,11 @@ +var temporalUndefined = require("./temporalUndefined"); + +function _temporalRef(val, name) { + if (val === temporalUndefined) { + throw new ReferenceError(name + " is not defined - temporal dead zone"); + } else { + return val; + } +} + +module.exports = _temporalRef; \ No newline at end of file