UNPKG

cspell

Version:
45 lines 1.13 kB
// alias for uniqueFilterFnGenerator export const uniqueFn = uniqueFilterFnGenerator; export function uniqueFilterFnGenerator(extractFn) { const values = new Set(); const extractor = extractFn || ((a) => a); return (v) => { const vv = extractor(v); const ret = !values.has(vv); values.add(vv); return ret; }; } export function unique(src) { return [...new Set(src)]; } export function clean(src) { const r = src; for (const key of Object.keys(r)) { if (r[key] === undefined) { delete r[key]; } } return r; } export function padWidth(s, target) { const sWidth = width(s); return Math.max(target - sWidth, 0); } export function pad(s, w) { const p = padWidth(s, w); if (!p) return s; return s + ' '.repeat(p); } export function padLeft(s, w) { const p = padWidth(s, w); if (!p) return s; return ' '.repeat(p) + s; } export function width(s) { // eslint-disable-next-line no-control-regex return s.replace(/[\u0300-\u036f\x00-\x1f]/g, '').length; } //# sourceMappingURL=util.mjs.map