/**
 * Compares two sets of string IDs and checks if they are identical.
 *
 * Two sets are considered identical if they have the same size and
 * contain exactly the same elements, regardless of order.
 *
 * @param {Set<string>} a - The first set of string IDs.
 * @param {Set<string>} b - The second set of string IDs.
 * @returns {boolean} True if both sets are identical, false otherwise.
 */
const areSetsEqual = (r, s) => {
  if (r.size !== s.size) return false;
  for (const t of r) {
    if (!s.has(t)) return false;
  }
  return true;
};

/**
 * WA: Ignored objects must always remain unchecked.
 * Because `tabular-grid` selects all rows when the checkbox column is toggled,
 * we need to manually unselect the ignored IDs.
 *
 * @param ignoredIds - Row IDs that must never be selected.
 * @param tabularGridRef - Reference to the tabular-grid instance.
 *
 * TODO: Use the tabular grid render once available, and hopefully do not
 * add a checkbox to the ignored objects rows.
 */ const uncheckIgnoredObjects = async (r, s) => {
  for (const t of r) {
    await s.markRow(t, false);
  }
};

export { areSetsEqual as a, uncheckIgnoredObjects as u };
//# sourceMappingURL=p-c9b9e260.js.map