# circle-assign

> Simple deep object assign function

Latest version **2.0.0** (published 2018-11-28) · MIT license · 0 weekly downloads

## Install

```sh
npm install circle-assign
pnpm add circle-assign
yarn add circle-assign
bun add circle-assign
```

## Health

**Score 20/100 (F)** — status: abandoned.

Positive: esm support; no vulnerabilities.

Warnings: low downloads; no types.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.0.0 |
| Published | 2018-11-28 |
| First published | 2018-06-12 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | ESM + CommonJS |
| Dependencies | 0 |
| Unpacked size | 25.6 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 5 |
| Author | hammy2899 |
| Maintainers | hammy2899 |
| Keywords | object, assign, extend, deep, recursive, merge |

## Links

- npm: https://www.npmjs.com/package/circle-assign
- Repository: https://github.com/hammy2899/circle-assign
- Homepage: https://github.com/hammy2899/circle-assign#readme
- Issues: https://github.com/hammy2899/circle-assign/issues
- npm.io page: https://npm.io/package/circle-assign

## Recent versions

- 2.0.0 (latest) — 2018-11-28
- 1.0.10 — 2018-10-23
- 1.0.9 — 2018-10-22
- 1.0.8 — 2018-09-03
- 1.0.7 — 2018-08-24
- 1.0.6 — 2018-08-10
- 1.0.5 — 2018-08-10
- 1.0.4 — 2018-06-18
- 1.0.3 — 2018-06-16
- 1.0.2 — 2018-06-13
- 1.0.1 — 2018-06-12
- 1.0.0 — 2018-06-12

## README

![circle-assign logo](logo.png)

# circle-assign
circle-assign is a simple deep object assign function and can be used in [nodejs](https://nodejs.org/en/) and the browser

[![Build Status](https://travis-ci.org/hammy2899/circle-assign.svg?branch=master)](https://travis-ci.org/hammy2899/circle-assign)
[![Coverage Status](https://coveralls.io/repos/github/hammy2899/circle-assign/badge.svg?branch=master)](https://coveralls.io/github/hammy2899/circle-assign?branch=master)
[![npm version](https://img.shields.io/npm/v/circle-assign.svg)](https://www.npmjs.com/package/circle-assign)
[![license](https://img.shields.io/github/license/hammy2899/circle-assign.svg)](https://github.com/hammy2899/circle-assign/blob/master/LICENSE.md)


### Installation  
```  
$ npm install --save circle-assign
```  

### Syntax
```javascript
circleAssign(target, ...sources)
```

### Usage

#### NodeJS
```javascript
const circleAssign = require('circle-assign');
```

#### Browser (ES6)
```javascript
import circleAssign from 'circle-assign';
```

#### Browser (CDN)
```html
<script
  type="application/javascript"
  src="https://cdn.jsdelivr.net/npm/circle-assign@2.0.0/dist/circle-assign.min.js"
/>
```

```javascript
const a = {
  language: 'javascript',
  features: {
    recursive: true,
    size: 'small'
  }
};

const b = {
  language: 'JavaScript',
  opensource: true,
  features: {
    size: '~1.3kb',
    canMergeFunctions: true
  }
};

const c = {
  coolFunc: () => {
    console.log('Much wow');
  }
};

console.log(circleAssign(a, b, c));
```

Output
```
{
  language: "JavaScript",
  opensource: true,
  features: {
    recursive: true,
    size: "~1.3kb",
    canMergeFunctions: true
  },
  coolFunc: () => {
    console.log('Much wow');
  }
}
```

---
_Source: https://npm.io/package/circle-assign · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
