UNPKG

@hirez_io/auto-spies-core

Version:

Create automatic spies from classes in tests, also for promises and observables, used as a common code for jasmine-auto-spies and jest-auto-spies

38 lines 1.45 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createAccessorsSpies = void 0; function createAccessorsSpies( // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types autoSpy, gettersToSpyOn, settersToSpyOn, accessorSpyFactory) { autoSpy.accessorSpies = { setters: {}, getters: {}, }; /* istanbul ignore else */ if (gettersToSpyOn) { gettersToSpyOn.forEach(function (getterName) { defineWithEmptyAccessors(autoSpy, getterName); autoSpy.accessorSpies.getters[getterName] = accessorSpyFactory(autoSpy, getterName, 'getter'); }); } /* istanbul ignore else */ if (settersToSpyOn) { settersToSpyOn.forEach(function (setterName) { if (!Object.prototype.hasOwnProperty.call(autoSpy, setterName)) { defineWithEmptyAccessors(autoSpy, setterName); } autoSpy.accessorSpies.setters[setterName] = accessorSpyFactory(autoSpy, setterName, 'setter'); }); } } exports.createAccessorsSpies = createAccessorsSpies; function defineWithEmptyAccessors(obj, prop) { /* istanbul ignore next */ Object.defineProperty(obj, prop, { get: function () { }, // eslint-disable-next-line @typescript-eslint/no-unused-vars set: function (_) { }, configurable: true, }); } //# sourceMappingURL=create-accessors-spies.js.map