sandhog
Version:
A virtual Open Source project maintainer
19 lines (18 loc) • 587 B
JavaScript
// src/util/list-format/list-format.ts
function listFormat(elements, andOrOr, mapper = (element) => element) {
const arr = [...elements];
if (arr.length === 0) return "";
else if (arr.length === 1) return mapper(arr[0]);
else if (arr.length === 2) {
const [first, last] = arr;
return `${mapper(first)} ${andOrOr} ${mapper(last)}`;
} else {
const head = arr.slice(0, arr.length - 1).map(mapper);
const last = mapper(arr.slice(-1)[0]);
return `${head.join(", ")}, ${andOrOr} ${last}`;
}
}
export {
listFormat
};
//# sourceMappingURL=chunk-VZLM7UUV.js.map