npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

lodash-advanced

v1.0.4

Published

Addons for lodash such a where filtering similar to a where filter to a DB

Readme

Lodash Advanced Filters for Node.js


Main Features

  • Adds "where" Filter to lodash which supports similar finders to most good db ORMs

  • Adds Helpful utils to lodash

    • lodash.forceArray ensures that the value is an array or makes it a 1 element array and returns
    • lodash.between Check if a value is between two other values (supports Date's too)
    • lodash.where Filter an array using complex filters on properties, supports "and","or" and nested
    • lodash.allTruthy Check if all values in an array are Truthy or Functions that return Truthy when executed
    • lodash.anyTruthy Check if ANY values in an array are Truty or Functions that return Truthy when executed
    • lodash.uuid Get a UUID value (uuid/v4)
    • lodash.isPromise Check if a value is a Promise or something that has a "then" function as a property
    • lodash.splitUntil Split a string limiting the results and re-joining any remaining items as the last element
    • lodash.isJSON Get the value type of a JSON stringified value, used to detect if a string is a serialized Object or Array or what not
    • lodash.ilike Do a case Insensitive RegEx compare against a value
    • lodash.like Do a case Sensitive RegEx compare against a value
    • lodash.annotate Rekey and object to use its path as the key in a flat object dot separated
    • lodash.deannotate Restore an object to its deep original form which was annotated using lodash.annotate
    • lodash.isDate Check if a value is a Date, a Date String, or a number which can be used as a date, like from Date.getTime()
  • Support for lodash.runInContext

    • Can be loaded onto a clean lodash instance by passing options {isolate: true} when loading

Demo

Sample Complex Samples combining stuff up

 // Get a lodash instance with awesome mixins added
 const _ = require('lodash-advanced')();
 let rows = [{name: 'jon', age: 13}, {name: 'carol', age: 80}, {name: 'men', age: 15}];
 let record = {title: 'blah blah', views: 999, tag: 'people.players.bfc_456.vld'};

// Find items where the age is Greater Than 45
console.log(
  _.where(rows, {age: {gt: 45}})
)
//RESULT [{name: 'carol', age: 80}]

// Find items where name starts with Jo (CASE INSENSITIVE) OR  (age > 70 and name ends with 'ol' CASE SENSITIVE)
console.log(
_.where(rows, {
            or: [
                {age: {gt: 70}, name: {like: 'ol$'} },
                {name: {ilike: '^jo'} }
            ]
           }
  )
)
//RESULT [{name: 'jon', age: 13}, {name: 'carol', age: 80}]

Installation

$ npm install --save lodash-advanced

Usage

Support

Maintainers