# bloodline

> Proper inheritance in JavaScript

Latest version **1.0.1** (published 2017-01-31) · MIT license · 0 weekly downloads

## Install

```sh
npm install bloodline
pnpm add bloodline
yarn add bloodline
bun add bloodline
```

## Health

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

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.1 |
| Published | 2017-01-31 |
| First published | 2014-09-12 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Jonas Hermsmeier |
| Maintainers | jhermsmeier |
| Keywords | inheritance, inherit, inherits, util, derive, prototype, chain |

## Links

- npm: https://www.npmjs.com/package/bloodline
- Repository: https://github.com/jhermsmeier/node-bloodline
- Issues: https://github.com/jhermsmeier/node-bloodline/issues
- npm.io page: https://npm.io/package/bloodline

## Alternatives

- [lodash.assign](https://npm.io/package/lodash.assign.md) — 2.3M weekly downloads
- [lodash.chunk](https://npm.io/package/lodash.chunk.md) — 1.8M weekly downloads
- [react-native-ios-utilities](https://npm.io/package/react-native-ios-utilities.md) — 138.5K weekly downloads
- [@technically/lodash](https://npm.io/package/@technically/lodash.md) — 50.9K weekly downloads
- [@fluid-topics/ft-icon](https://npm.io/package/@fluid-topics/ft-icon.md) — 20.6K weekly downloads

## Recent versions

- 1.0.1 (latest) — 2017-01-31
- 1.0.0 — 2014-09-12

## README

# Bloodline
[![npm](https://img.shields.io/npm/v/bloodline.svg?style=flat-square)](https://npmjs.com/package/bloodline)
[![npm license](https://img.shields.io/npm/l/bloodline.svg?style=flat-square)](https://npmjs.com/package/bloodline)
[![npm downloads](https://img.shields.io/npm/dm/bloodline.svg?style=flat-square)](https://npmjs.com/package/bloodline)
[![build status](https://img.shields.io/travis/jhermsmeier/node-bloodline.svg?style=flat-square)](https://travis-ci.org/jhermsmeier/node-bloodline)

Proper inheritance in JavaScript

## Install via [npm](https://npmjs.com)

```sh
$ npm install --save bloodline
```

## Usage

```js
var inherit = require( 'bloodline' )
```

```js
inherit( Constructor, SuperConstructor )
```

## Notes

### **ES6 / ES2015 / ESNext**

ES6 classes cannot be subclassed by ES5 classes (ES5 classes cannot inherit from ES6 classes);
there will be a `TypeError: Class constructor SuperConstructor cannot be invoked without 'new'`.
This is not a limitation of this module, but of the ECMAScript specification.

The other way around also has issues; ES6 classes don't preserve the prototype chain
when extending ES5 classes (for an example, see https://gist.github.com/jhermsmeier/e6fb16fab193c0aa4220c98de64fe546).

So much for backwards compatibility.

### util.inherits

Usage of Node core's of `util.inherits()` is discouraged (see [nodejs.org/api/util#util_inherits](https://nodejs.org/api/util.html#util_util_inherits_constructor_superconstructor)), because of its [semantic incompatibility](https://github.com/nodejs/node/issues/4179).
**NOTE:** This module *does not* exhibit these semantic incompatibilities.

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