# object-create-x

> Sham for Object.create

Latest version **3.1.2** (published 2019-08-28) · MIT license · 0 weekly downloads

## Install

```sh
npm install object-create-x
pnpm add object-create-x
yarn add object-create-x
bun add object-create-x
```

## Health

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

Positive: esm support; no vulnerabilities.

Warnings: low downloads; no types.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 3.1.2 |
| Published | 2019-08-28 |
| First published | 2017-04-02 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | ESM + CommonJS |
| Node | >=8.11.4 |
| Dependencies | 4 |
| Unpacked size | 524.4 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | Graham Fairweather |
| Maintainers | xotic750 |
| Keywords | Object, create, module, javascript, nodejs, browser |

## Links

- npm: https://www.npmjs.com/package/object-create-x
- Repository: https://github.com/Xotic750/object-create-x
- Issues: https://github.com/Xotic750/object-create-x/issues
- npm.io page: https://npm.io/package/object-create-x

## Dependencies (4)

- [attempt-x](https://npm.io/package/attempt-x.md) ^2.1.2
- [to-boolean-x](https://npm.io/package/to-boolean-x.md) ^2.1.1
- [is-primitive-x](https://npm.io/package/is-primitive-x.md) ^1.0.1
- [object-define-properties-x](https://npm.io/package/object-define-properties-x.md) ^5.1.2

## Alternatives

- [@opentelemetry/exporter-zipkin](https://npm.io/package/@opentelemetry/exporter-zipkin.md) — 14.8M weekly downloads
- [pusher-js](https://npm.io/package/pusher-js.md) — 2.0M weekly downloads
- [browserify](https://npm.io/package/browserify.md) — 1.7M weekly downloads
- [sqs-consumer](https://npm.io/package/sqs-consumer.md) — 1.7M weekly downloads
- [@sanity/eventsource](https://npm.io/package/@sanity/eventsource.md) — 930.8K weekly downloads

## Recent versions

- 3.1.2 (latest) — 2019-08-28
- 3.1.1 — 2019-08-20
- 3.1.0 — 2019-08-14
- 3.0.16 — 2019-08-05
- 3.0.15 — 2019-08-05
- 3.0.14 — 2019-08-05
- 3.0.13 — 2019-07-31
- 3.0.12 — 2019-07-27
- 3.0.11 — 2019-07-27
- 3.0.10 — 2019-07-26
- 3.0.9 — 2019-07-25
- 3.0.8 — 2019-07-24
- 3.0.7 — 2019-07-24
- 3.0.6 — 2019-07-22
- 3.0.5 — 2019-07-21
- … 10 more at https://npm.io/package/object-create-x/versions

## README

<a
  href="https://travis-ci.org/Xotic750/object-create-x"
  title="Travis status">
<img
  src="https://travis-ci.org/Xotic750/object-create-x.svg?branch=master"
  alt="Travis status" height="18">
</a>
<a
  href="https://david-dm.org/Xotic750/object-create-x"
  title="Dependency status">
<img src="https://david-dm.org/Xotic750/object-create-x/status.svg"
  alt="Dependency status" height="18"/>
</a>
<a
  href="https://david-dm.org/Xotic750/object-create-x?type=dev"
  title="devDependency status">
<img src="https://david-dm.org/Xotic750/object-create-x/dev-status.svg"
  alt="devDependency status" height="18"/>
</a>
<a
  href="https://badge.fury.io/js/object-create-x"
  title="npm version">
<img src="https://badge.fury.io/js/object-create-x.svg"
  alt="npm version" height="18">
</a>
<a
  href="https://www.jsdelivr.com/package/npm/object-create-x"
  title="jsDelivr hits">
<img src="https://data.jsdelivr.com/v1/package/npm/object-create-x/badge?style=rounded"
  alt="jsDelivr hits" height="18">
</a>
<a
  href="https://bettercodehub.com/results/Xotic750/object-create-x"
  title="bettercodehub score">
<img src="https://bettercodehub.com/edge/badge/Xotic750/object-create-x?branch=master"
  alt="bettercodehub score" height="18">
</a>
<a
  href="https://coveralls.io/github/Xotic750/object-create-x?branch=master"
  title="Coverage Status">
<img src="https://coveralls.io/repos/github/Xotic750/object-create-x/badge.svg?branch=master"
  alt="Coverage Status" height="18">
</a>

<a name="module_object-create-x"></a>

## object-create-x

Sham for Object.create

<a name="exp_module_object-create-x--module.exports"></a>

### `module.exports` ⇒ <code>boolean</code> ⏏

This method method creates a new object with the specified prototype object and properties.

**Kind**: Exported member  
**Returns**: <code>boolean</code> - A new object with the specified prototype object and properties.  
**Throws**:

- <code>TypeError</code> If the properties parameter isn't null or an object.

| Param        | Type            | Description                                                                                                                                                                                                                                                                                    |
| ------------ | --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| prototype    | <code>\*</code> | The object which should be the prototype of the newly-created object.                                                                                                                                                                                                                          |
| [properties] | <code>\*</code> | If specified and not undefined, an object whose enumerable own properties (that is, those properties defined upon itself and not enumerable properties along its prototype chain) specify property descriptors to be added to the newly-created object, with the corresponding property names. |

**Example**

```js
import create from 'object-create-x';

// Shape - superclass
function Shape() {
  this.x = 0;
  this.y = 0;
}

// superclass method
Shape.prototype.move = function(x, y) {
  this.x += x;
  this.y += y;
  console.info('Shape moved.');
};

// Rectangle - subclass
function Rectangle() {
  Shape.call(this); // call super constructor.
}

// subclass extends superclass
Rectangle.prototype = create(Shape.prototype);
Rectangle.prototype.constructor = Rectangle;

const rect = new Rectangle();

console.log('Is rect an instance of Rectangle?', rect instanceof Rectangle); // true
console.log('Is rect an instance of Shape?', rect instanceof Shape); // true
rect.move(1, 1); // Outputs, 'Shape moved.'
```

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