UNPKG

fil-obj

Version:

Filter an object by keys or a function.

46 lines (45 loc) 1.02 kB
// source/main.ts function filter(object, fn) { for (const key in object) if (!fn(key, object[key], object)) delete object[key]; } function toFiltered(object, fn) { const result = {}; for (const key in object) if (fn(key, object[key], object)) result[key] = object[key]; return result; } function keepKeys(object, keys) { const list = new Set(keys); for (const key in object) if (!list.has(key)) delete object[key]; } function includeKeys(object, keys) { const result = {}; for (const key of keys) if (key in object) result[key] = object[key]; return result; } function dropKeys(object, keys) { const list = new Set(keys); for (const key in object) if (list.has(key)) delete object[key]; } function excludeKeys(object, keys) { const result = {}; const list = new Set(keys); for (const key in object) if (!list.has(key)) result[key] = object[key]; return result; } export { dropKeys, excludeKeys, filter, includeKeys, keepKeys, toFiltered };