UNPKG

@assertive-ts/sinon

Version:

Assertive.ts plugin for Sinon assertions

42 lines 1.28 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SinonPlugin = void 0; const SinonSpyAssertion_1 = require("./lib/SinonSpyAssertion"); const SinonSpyCallAssertion_1 = require("./lib/SinonSpyCallAssertion"); function isSinonSpy(actual) { return typeof actual === "function" && "getCall" in actual && typeof actual.getCall === "function"; } function isSinonSpyCall(actual) { if (typeof actual === "object" && actual !== null) { const hasProxy = "proxy" in actual && typeof actual.proxy === "object" && actual.proxy !== null && "isSinonProxy" in actual.proxy && actual.proxy.isSinonProxy; return hasProxy ? isSinonSpyCall(actual.proxy) : isSinonSpy(actual); } return false; } function sinonSpyPlugin() { return { Assertion: SinonSpyAssertion_1.SinonSpyAssertion, insertAt: "top", predicate: isSinonSpy, }; } function sinonSpyCallPlugin() { return { Assertion: SinonSpyCallAssertion_1.SinonSpyCallAssertion, insertAt: "top", predicate: isSinonSpyCall, }; } exports.SinonPlugin = [ sinonSpyPlugin(), sinonSpyCallPlugin(), ]; //# sourceMappingURL=main.js.map