UNPKG

@adaptabletools/adaptable

Version:

Powerful AG Grid extension which provides advanced, cutting-edge functionality to meet all DataGrid requirements

30 lines (29 loc) 947 B
function createOnlyResult(distinctValues) { const value = distinctValues.size === 1 ? distinctValues.values().next().value : null; return { distinctValues, value, toString() { return value != null ? String(value) : ''; }, }; } export const only = (params) => { const { values } = params; const distinctValues = new Set(); for (let i = 0; i < values.length; i++) { const value = values[i]; if (typeof value === 'number' || typeof value === 'string') { distinctValues.add(value); } else if (value != null && typeof value === 'object' && 'distinctValues' in value) { for (const v of value.distinctValues) { distinctValues.add(v); } } if (distinctValues.size > 1) { return createOnlyResult(distinctValues); } } return createOnlyResult(distinctValues); };