
Security News
Browserslist-rs Gets Major Refactor, Cutting Binary Size by Over 1MB
Browserslist-rs now uses static data to reduce binary size by over 1MB, improving memory use and performance for Rust-based frontend tools.
object-recursive-filter
Advanced tools
Module to recursively filter-in or filter-out object properties based on the provided predicate.
This module can be used to recursively perform filter-in or filter-out operations on object properties based on the provided predicate. The module returns a new copy of the object so the original is not mutated.
The module doesn't have any external dependencies (only tape to run the tests).
You can install with [npm]:
$ npm install --save object-recursive-filter
The module provides two self described functions: filterOutBy and filterInBy. Both require two parameters:
A common use case might be to remove the undefined or null values in an object:
// Example1: Remove the undefined or null values
const orf = require('object-recursive-filter')
const countries = {
Colombia: { code: 'co', area: 1197411 },
Argentina: { code: 'ar', area: 2766890 },
canada: { code: 'ca', area: 9984670 },
NonExistingCountry: undefined,
Brasil: { code: 'br', area: 8511965 },
anotherNonExisting: null,
europe: {
France: {code: 'fr', area: 551394},
NonEuropeanCountry: null
}
}
orf.filterOutBy(countries, x => !x);
// Returns
// { Colombia: { code: 'co', area: 1197411 },
// Argentina: { code: 'ar', area: 2766890 },
// canada: { code: 'ca', area: 9984670 },
// Brasil: { code: 'br', area: 8511965 },
// europe: { France: { code: 'fr', area: 551394 } } }
You can run the tests and check the functionality of this module using:
$ npm install && npm test
Copyright © 2018, Juan Convers. Released under the MIT License.
FAQs
Module to recursively filter-in or filter-out object properties based on the provided predicate.
The npm package object-recursive-filter receives a total of 4 weekly downloads. As such, object-recursive-filter popularity was classified as not popular.
We found that object-recursive-filter demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Browserslist-rs now uses static data to reduce binary size by over 1MB, improving memory use and performance for Rust-based frontend tools.
Research
Security News
Eight new malicious Firefox extensions impersonate games, steal OAuth tokens, hijack sessions, and exploit browser permissions to spy on users.
Security News
The official Go SDK for the Model Context Protocol is in development, with a stable, production-ready release expected by August 2025.