'use strict'; var keys = require('object-keys'); var forEach = require('foreach'); module.exports = function diffOperations(actual, expected, expectedMissing) { var actualKeys = keys(actual); var expectedKeys = keys(expected); var extra = []; var missing = []; forEach(actualKeys, function (op) { if (!(op in expected)) { extra.push(op); } else if (expectedMissing.indexOf(op) !== -1) { extra.push(op); } }); forEach(expectedKeys, function (op) { if (typeof actual[op] !== 'function' && expectedMissing.indexOf(op) === -1) { missing.push(op); } }); return { missing: missing, extra: extra }; };