diff --git a/lib/instance-set.js b/lib/instance-set.js index d426ea2..953c5a5 100644 --- a/lib/instance-set.js +++ b/lib/instance-set.js @@ -36,14 +36,14 @@ class InstanceSet { for (let inst of this.set) { let match = true; for (let k in instance) { - if (inst[k] !== instance[k]) { - match = false; - break; - } + if (inst[k] !== instance[k]) { + match = false; + break; + } } if (match) - res.push(inst); + res.push(inst); } res.sort(function(a, b) { @@ -51,20 +51,20 @@ class InstanceSet { let keysB = Object.keys(b); if (keysA.length != keysB.length) - return keysB.length - keysA.length; + return keysB.length - keysA.length; keysA.sort(); keysB.sort(); for (let i = 0; i < keysA.length; ++ i) { - if (keysA[i] > keysB[i]) - return 1; - else if (keysA[i] < keysB[i]) - return -1; - else if (a[keysA[i]] > b[keysB[i]]) - return 1; - else if (a[keysA[i]] < b[keysB[i]]) - return -1; + if (keysA[i] > keysB[i]) + return 1; + else if (keysA[i] < keysB[i]) + return -1; + else if (a[keysA[i]] > b[keysB[i]]) + return 1; + else if (a[keysA[i]] < b[keysB[i]]) + return -1; } return 0; @@ -75,18 +75,18 @@ class InstanceSet { subset(instance) { let res = []; - + for (let inst of this.set) { let match = true; for (let k in inst) { - if (inst[k] !== instance[k]) { - match = false; - break; - } + if (inst[k] !== instance[k]) { + match = false; + break; + } } if (match) - res.push(inst); + res.push(inst); } res.sort(function(a, b) { @@ -94,31 +94,35 @@ class InstanceSet { let keysB = Object.keys(b); if (keysA.length != keysB.length) - return keysA.length - keysB.length; + return keysA.length - keysB.length; keysA.sort(); keysB.sort(); for (let i = 0; i < keysA.length; ++ i) { - if (keysA[i] > keysB[i]) - return 1; - else if (keysA[i] < keysB[i]) - return -1; - else if (a[keysA[i]] > b[keysB[i]]) - return 1; - else if (a[keysA[i]] < b[keysB[i]]) - return -1; + if (keysA[i] > keysB[i]) + return 1; + else if (keysA[i] < keysB[i]) + return -1; + else if (a[keysA[i]] > b[keysB[i]]) + return 1; + else if (a[keysA[i]] < b[keysB[i]]) + return -1; } return 0; }); - return res; + return res; } forEach(callback) { return this.set.forEach(callback); } + + values() { + return this.set.values(); + } } module.exports = InstanceSet;