UNPKG

@fleetbase/ember-core

Version:

Provides all the core services, decorators and utilities for building a Fleetbase extension for the Console.

22 lines (18 loc) 670 B
import { isArray } from '@ember/array'; export default function sameIds(a, b, { key = 'id', orderMatters = false } = {}) { if (a === b) return true; if (!isArray(a) || !isArray(b)) return false; if (a.length !== b.length) return false; if (orderMatters) { for (let i = 0; i < a.length; i++) { if ((a[i] && a[i][key]) !== (b[i] && b[i][key])) return false; } return true; } // order-insensitive: compare sets const setA = new Set(a.map((x) => (x ? x[key] : undefined))); for (let i = 0; i < b.length; i++) { if (!setA.has(b[i] ? b[i][key] : undefined)) return false; } return true; }