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

@hibaqw/lotide

v1.0.3

Published

Lotide 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 @hibaqw/lotide

Require it:

const _ = require('@hibaqw/lotide');

Call it:

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

Documentation

The following functions are currently implemented:

  • assertEqual(actual,expected): Takes primitive types as parameters, checks their equality and returns boolean value
  • assertArraysEqual(arr1,arr2): Takes two arrays as arguments, checks their equality, returns and pass or failure message
  • eqArrays(arr1,arr2): Takes two arrays as arguments, checks their equality, returns a boolean value
  • assertObjectsEqual(obj1,obj2): Takes two objects as agruments, checks their equality, and returns a pass or failure message
  • eqObjects(object1,object2): Takes two objects as arguments, checks their equality, returns a boolean message.
  • findKey(object,callback): Takes a object and callback function as arguments, and uses the condition in callback to "find" key- returns key itself or undefined (if key does not exist)
  • findKeyByValue(object,value): Takes a object and value function as arguments, finds key by specified value and returns either the key found or undefined (if key does not exist)
  • head(arr): Takes an array as an argument, and returns the first element or head of array or undefined if array is empty
  • middle(arr): Takes an array as an argument, and returns the middle element of the array (odd) or the two middle elements of an array (even). Returns an empty array if input array is empty or contains < 2 elements
  • tail(arr): Takes an array as an rgument, and returns the all array elements except its first element or or an empty array if the input array is empty
  • letterPositions(arr): Takes an string as an argument, and returns an object containing the letters of the string passed as its keys and their positions in the string as its values. Returned object is empty if passed string is empty
  • map: Takes an array and callback function as arguments, and returns an array populated by elements that were mapped from the original based on the callback. Returned array is empty if no value satisfies the condition(s) of the callback or if the original array is empty
  • takeUntil: Takes an array and callback function as arguments, and returns an array populated by elements before the pivot element (pivot element is determined by the condition in callback). If no such element meets the condition, takeUntil returns an array populated by all the orginal elements. Returns empty array if input array is empty.
  • without: Takes an array and callback function as arguments. Callback function identifies element(s) that need to be removed from array. Returns an array populated by all elements except those identified by the callback to be removed. Returns array filled with all original elements if non of the values match those identified by the callback or an empty array if the original array was empty.