Preserve null in babel-types' clone and deepClone. (#4853)

* Preserve null in babel-types' clone and deepClone.
* Also respect undefined when cloning.
* Updating last test to reflect original test case "[,0]"
This commit is contained in:
Nikolai Tillmann
2016-11-17 05:52:04 -08:00
committed by Henry Zhu
parent e6901792a1
commit efefe828f9
2 changed files with 71 additions and 0 deletions

View File

@@ -259,6 +259,7 @@ export function ensureBlock(node: Object, key: string = "body"): Object {
*/
export function clone(node: Object): Object {
if (!node) return node;
let newNode = {};
for (let key in node) {
if (key[0] === "_") continue;
@@ -283,6 +284,7 @@ export function cloneWithoutLoc(node: Object): Object {
*/
export function cloneDeep(node: Object): Object {
if (!node) return node;
let newNode = {};
for (let key in node) {