Files
30-seconds-of-code/node_modules/relay-runtime/lib/simpleClone.js
2019-08-20 15:52:05 +02:00

27 lines
662 B
JavaScript

/**
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
*
* @format
*/
'use strict';
/**
* A helper to create a deep clone of a value, plain Object, or array of such.
*
* Does not support RegExp, Date, other classes, or self-referential values.
*/
function simpleClone(value) {
if (Array.isArray(value)) {
return value.map(simpleClone);
} else if (value && typeof value === 'object') {
return require("fbjs/lib/mapObject")(value, simpleClone);
} else {
return value;
}
}
module.exports = simpleClone;