UNPKG

fil-obj

Version:

Filter an object by keys or a function.

76 lines (74 loc) 2.18 kB
"use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // source/main.ts var main_exports = {}; __export(main_exports, { dropKeys: () => dropKeys, excludeKeys: () => excludeKeys, filter: () => filter, includeKeys: () => includeKeys, keepKeys: () => keepKeys, toFiltered: () => toFiltered }); module.exports = __toCommonJS(main_exports); 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; } // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { dropKeys, excludeKeys, filter, includeKeys, keepKeys, toFiltered });