333
schangxiang@126.com
2025-09-19 18966e02fb573c7e2bb0c6426ed792b38b910940
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
'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 };
};