function duplicateObject()

in lib/ddb-utils.js [25:44]


function duplicateObject(value) {
  if(value === null) {
    return null;
  } else if (((typeof value) == "string") || ((typeof value) == "number") || ((typeof value) == "boolean")) {
    return value;
  } else if (Array.isArray(value)) {
    return value.map(duplicateObject);
  } else if (value instanceof Date) {
    return value;
  } else if ((typeof value) == "object") {
    var result = Object.create(Object.getPrototypeOf(value));
    var properties = Object.keys(value);
    properties.forEach(function(propertyName) {
      result[propertyName] = duplicateObject(value[propertyName]);
    });
    return result;
  } else {
    throw new Error("Unsupported value type");
  }
}