mock-property

Given an object and a property, replaces a property descriptor (or deletes it), and returns a thunk to restore it.

MIT 7 个版本
安装
npm install mock-property
yarn add mock-property
pnpm add mock-property
bun add mock-property
README

mock-property Version Badge

github actions coverage dependency status dev dependency status License Downloads

npm badge

Given an object and a property, replaces a property descriptor (or deletes it), and returns a thunk to restore it.

Example

var mockProperty = require('mock-property');
var assert = require('assert');

var i = 0;
var object = {
	a: 1,
	get b() {
		i += 1;
		return 'b ' + i;
	}
};

assert.equal(object.a, 1);
assert.equal(object.b, 'b 1');
assert.equal(object.b, 'b 2');

var restoreA = mockProperty(object, 'a', { 'delete': true });
assert.equal('a' in object, false);

var restoreB = mockProperty(object, 'b', { value: 42 });
assert.equal(object.b, 42);

restoreA();
assert.equal('a' in object, true);

restoreB();
assert.equal(object.b, 'b 3');

Tests

Simply clone the repo, npm install, and run npm test

Security

Please email @ljharb or see https://tidelift.com/security if you have a potential security vulnerability to report.

版本列表
1.1.2 2026-06-20
1.1.1 2026-06-19
1.1.0 2024-08-06
1.0.3 2023-10-21
1.0.2 2023-10-11
1.0.1 2023-10-11
1.0.0 2022-04-16