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

@dan.olinski/lotide

v1.1.1

Published

A mini clone of the [Lodash](https://lodash.com) library

Readme

Lotide

A mini clone of the Lodash library.

Purpose

BEWARE: This library was published for learning purposes. It is not intended for use in production-grade software.

This project was created and published by me as part of my learnings at Lighthouse Labs.

Usage

Install it:

npm install @dan.olinski/lotide

Require it:

const _ = require('@dan.olinski/lotide');

Call it:

const results = _.tail([1, 2, 3]) // => [2, 3]

Documentation

The following functions are currently implemented:

  • head: This function takes in an array and returns the first value of that array.
  • tail: This function takes in an arry and returns all values except for the first value of the given array.
  • middle: This function takes in an arry and returns the values in the middle of that array.
  • assertArraysEqual: This function takes in a function(that outputs an array) and an array. the 'expected' value an array that you expect the function will output, assertArraysEqual will then tell you if your function passed the test or not.
  • assertEqual: This function takes in a function and a primative value. the 'expected' value is what you expect the function will output, assertEqual will then tell you if your function passed the test or not.
  • assertObjectsEqual: This function takes in a function(that outputs an object) and an object. the 'expected' object is what you expect the function will output, assertObjectEqual will then tell you if your function passed the test or not.
  • countLetters: This function takes in a string and informs the amount of times each character occurs within the given string.
  • countOnly: This takes in an object and an item, it will then check if the given item is in the object and it will return the amount of times, that item occurs in the given object.
  • eqArrays: Compairs two arrays and returns true of false (if they are equal or not).
  • eqObjects: Compairs two objects and returns true of false (if they are equal or not).
  • findKey: //This function takes in two arguments (an object and a function). The function determines what value it is looking for from within the object, and findKey returns the key that holds the value it is looking for.
  • findKeyByValue: This function takes in two arguments (an object and a value). The object is searched (checking if it countains a key equal to the given value), findKeyByValue then returns the key that contains an entry equal to the value argument. If the value is not within the object, findKeyByValue returns undefined.
  • flatten: Converts nested arrays into a single array.
  • letterPositions: This function takes in a string and returns an object with the word divided into letters(each letter is a key), and the value of each letter corresponds to the index position of each letter within the string.
  • map: //this function takes in a function and an array. The function will analize each item in the given array. when map is called the callback function will determines what aspect of the array items you want to visualize. Some options are: array length, first letter of each word in the array or simply print out each item of the given array.
  • takeUntil: This function takes in two arguments; an array and a function, the function arguments determines what value it will recognize from the array. takeUntill will then return all of the values of the given array but will stop returning the array items when it finds the value informed in the function argument.
  • without: This function takes in a source array and an itemsToRemove array, it then returns only the items from the source array that are not in the itemsToRemove array.