# shallow-copy

make a shallow copy of an object or array

[![testling badge](https://ci.testling.com/substack/shallow-copy.png)](https://ci.testling.com/substack/shallow-copy)

[![build status](https://secure.travis-ci.org/substack/shallow-copy.png)](http://travis-ci.org/substack/shallow-copy)

# example

you can copy objects shallowly:

``` js
var copy = require('shallow-copy');

var obj = { a: 3, b: 4, c: [5,6] };
var dup = copy(obj);
dup.b *= 111;
dup.c.push(7);

console.log('original: ', obj);
console.log('copy: ', dup);
```

and you can copy arrays shallowly:

``` js
var copy = require('shallow-copy');

var xs = [ 3, 4, 5, { f: 6, g: 7 } ];
var dup = copy(xs);
dup.unshift(1, 2);
dup[5].g += 100;

console.log('original: ', xs);
console.log('copy: ', dup);
```

# methods

``` js
var copy = require('shallow-copy')
```

## copy(obj)

Return a copy of the enumerable properties of the object `obj` without making
copies of nested objects inside of `obj`.

If `obj` is an array, the result will be an array.
If `obj` is an object, the result will be an object.
If `obj` is not an object, its value is returned.

# install

With [npm](https://npmjs.org) do:

```
npm install shallow-copy
```

# license

MIT