From bcd639672db757437ff73de632b78faf2b40610f Mon Sep 17 00:00:00 2001 From: Sebastian McKenzie Date: Sun, 8 Nov 2015 05:33:42 -0800 Subject: [PATCH] add defineEnumerableProperties helper --- packages/babel-helpers/src/helpers.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/packages/babel-helpers/src/helpers.js b/packages/babel-helpers/src/helpers.js index ae464bc581..be06788e83 100644 --- a/packages/babel-helpers/src/helpers.js +++ b/packages/babel-helpers/src/helpers.js @@ -84,6 +84,18 @@ export let defaultProps = template(` `); +export let defineEnumerableProperties = template(` + (function (obj, descs) { + for (var key in descs) { + var desc = descs[key]; + desc.configurable = desc.enumerable = true; + if ("value" in desc) desc.writable = true; + Object.defineProperty(obj, key, desc); + } + return obj; + }) +`); + export let defaults = template(` (function (obj, defaults) { var keys = Object.getOwnPropertyNames(defaults);