UNPKG

rc-js-util

Version:

A collection of TS and C++ utilities to help writing performant and correct applications, achieved through strict typing and (removable) invariant checking.

34 lines (31 loc) 594 B
/** * @public * Returns a map with keys in A not in B, and keys in B not in A. * * @remarks * See {@link mapSymmetricDifference}. */ export function mapSymmetricDifference<TKey, TIem> ( a: ReadonlyMap<TKey, TIem>, b: ReadonlyMap<TKey, TIem>, ) : Map<TKey, TIem> { const result = new Map<TKey, TIem>(); a.forEach((item, key) => { if (!b.has(key)) { result.set(key, item); } }); b.forEach((item, key) => { if (!a.has(key)) { result.set(key, item); } }); return result; }