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 🙏

© 2024 – Pkg Stats / Ryan Hefner

@maxedgington/lotide

v1.0.0

Published

This package provides a collection of utility functions for handling and manipulating arrays and objects in JavaScript. Functions include 'head', 'tail', 'middle' to handle arrays; 'countLetters', 'findKey', 'letterPositions' to process strings; 'eqObject

Downloads

4

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 @maxedgington/lotide

Require it:

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

Call it:

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

Documentation

The following functions are currently implemented:

  • head(arr): "This code defines a function 'head' that returns the first element of a given array or 'undefined' if the array is empty."

  • tail(arr): "This code defines a function 'tail' that returns a new array containing all elements of the given array except the first one, or 'undefined' if the array is empty."

  • middle(arr): "This code defines a function 'middle' that returns an array containing the middle elements of a given array, or an empty array if the given array contains two or fewer elements."

  • countLetters(str): "This code defines a function 'countLetters' that takes a string, converts it to lowercase, and returns an object where each key is a letter from the string and its value is an array of indices representing the positions where the letter appears in the string; spaces are ignored."

  • countOnly(allItems, itemsToCount): "This code defines a function 'countOnly' that takes an array of items and an object with items to count, then returns an object representing the count of each item in the 'itemsToCount' object that appears in the 'allItems' array."

  • eqObjects(object1, object2): "This code defines a function 'eqObjects' that compares two objects for equality, including checking for equal numbers of keys, key names, and corresponding key values, even when those values are arrays."

  • eqArrays(a, b): "This code defines a function 'eqArrays' that checks whether two arrays 'a' and 'b' contain the same values in the same order and returns true if they do, false otherwise."

  • findKey(obj, callback): "This code defines a function 'findKey' that takes an object and a callback function as arguments, then returns the first key for which the callback returns a truthy value."

  • findKeyByValue(object, value): "This code defines a function 'findKeyByValue' that takes an object and a value as arguments, and returns the first key which corresponds to the given value."

  • letterPositions(str): "This code defines a function 'letterPositions' that takes a string, converts it to lowercase, and returns an object where each key is a letter from the string and its value is an array of indices representing the positions where the letter appears in the string; spaces are ignored."

  • map(array, callback): "This code defines a function 'map' that takes an array and a callback function, applies the callback function to each element of the array, and returns a new array of the results."

  • takeUntil(array, callback): "This code defines a function 'takeUntil' that takes an array and a callback function, then returns a new array with elements from the start of the original array up to (but not including) the first element for which the callback returns a truthy value."

  • without(source, itemsToRemove): "This code defines a function 'without' that takes a source array and an array of items to remove, then returns a new array that is a copy of the source array with the last item in the items to remove array removed, and specifically checks if any item in the items to remove array is a string."