Files
meteor/lib/util/executors/sets.js
Dominik Ferber 0b9622dedd fix(internal): Add locus resloving capabilities
Resolve all Meteor.isClient, Meteor.isServer and Meteor.isCordova LogicalExpressions
2015-10-13 18:42:31 +02:00

27 lines
677 B
JavaScript

import invariant from 'invariant'
// Set -> Set -> Set
export function difference (a, b) {
invariant(!!a, 'difference: Set a is not defined')
invariant(!!b, 'difference: Set b is not defined')
return new Set(
[...a].filter(x => !b.has(x))
)
}
// Set -> Set -> Set
export function union (a, b) {
invariant(!!a, 'union: Set a is not defined')
invariant(!!b, 'union: Set b is not defined')
return new Set([...a, ...b])
}
// Set -> Set -> Set
export function intersection (a, b) {
invariant(!!a, 'intersection: Set a is not defined')
invariant(!!b, 'intersection: Set b is not defined')
return new Set(
[...a].filter(element => b.has(element))
)
}