core/converters/base.converter.ts
core/converters/base.converter.ts is a file in Bane's Lab Build Scripts. 19 lines of code and 5 definitions.
export const groupedBy = function groupedBy<T>(
items: readonly T[],
keyOf: (item: T) => string,
): ReadonlyMap<string, T[]> {
const groups = new Map<string, T[]>();
for (const item of items) {
const key = keyOf(item);
const held = groups.get(key);
if (held === undefined) {
groups.set(key, [item]);
} else {
held.push(item);
}
}
return new Map([...groups.entries()].sort(([left], [right]) => left.localeCompare(right)));
};
export const orNull = function orNull(value?: string): string | null {
return value === undefined || value.length === 0 ? null : value;
};