zlwu dd667101ef first commit 1 year ago
..
.github dd667101ef first commit 1 year ago
test dd667101ef first commit 1 year ago
.eslintrc dd667101ef first commit 1 year ago
.nycrc dd667101ef first commit 1 year ago
CHANGELOG.md dd667101ef first commit 1 year ago
LICENSE dd667101ef first commit 1 year ago
Object.setPrototypeOf.d.ts dd667101ef first commit 1 year ago
Object.setPrototypeOf.js dd667101ef first commit 1 year ago
README.md dd667101ef first commit 1 year ago
Reflect.setPrototypeOf.d.ts dd667101ef first commit 1 year ago
Reflect.setPrototypeOf.js dd667101ef first commit 1 year ago
index.d.ts dd667101ef first commit 1 year ago
index.js dd667101ef first commit 1 year ago
package.json dd667101ef first commit 1 year ago
tsconfig.json dd667101ef first commit 1 year ago

README.md

set-proto Version Badge

github actions coverage License Downloads

npm badge

Robustly set the [[Prototype]] of an object. Uses the best available method.

Getting started

npm install --save set-proto

Usage/Examples

const assert = require('assert');
const setProto = require('set-proto');

const a = { a: 1, b: 2, [Symbol.toStringTag]: 'foo' };
const b = { c: 3 };

assert.ok(!('c' in a));

setProto(a, b);

assert.ok('c' in a);

Tests

Clone the repo, npm install, and run npm test