From 5d309ff52cd399a6b71968a6b9a70c8ac0b98981 Mon Sep 17 00:00:00 2001 From: Joel Kronqvist Date: Sat, 5 Mar 2022 19:02:27 +0200 Subject: Added node_modules for the updating to work properly. --- .../@sinonjs/commons/lib/order-by-first-call.js | 36 ++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 node_modules/@sinonjs/commons/lib/order-by-first-call.js (limited to 'node_modules/@sinonjs/commons/lib/order-by-first-call.js') diff --git a/node_modules/@sinonjs/commons/lib/order-by-first-call.js b/node_modules/@sinonjs/commons/lib/order-by-first-call.js new file mode 100644 index 0000000..c3d47ed --- /dev/null +++ b/node_modules/@sinonjs/commons/lib/order-by-first-call.js @@ -0,0 +1,36 @@ +"use strict"; + +var sort = require("./prototypes/array").sort; +var slice = require("./prototypes/array").slice; + +/** + * @private + */ +function comparator(a, b) { + // uuid, won't ever be equal + var aCall = a.getCall(0); + var bCall = b.getCall(0); + var aId = (aCall && aCall.callId) || -1; + var bId = (bCall && bCall.callId) || -1; + + return aId < bId ? -1 : 1; +} + +/** + * A Sinon proxy object (fake, spy, stub) + * + * @typedef {object} SinonProxy + * @property {Function} getCall - A method that can return the first call + */ + +/** + * Sorts an array of SinonProxy instances (fake, spy, stub) by their first call + * + * @param {SinonProxy[] | SinonProxy} spies + * @returns {SinonProxy[]} + */ +function orderByFirstCall(spies) { + return sort(slice(spies), comparator); +} + +module.exports = orderByFirstCall; -- cgit v1.2.3