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

@bwong.yh/lotide

v1.0.2

Published

This is the very first project from the Web Development Flex Program at Lighthouse Labs! It is a simpler and smaller version of the [Lodash](https://github.com/lodash/lodash) library.

Downloads

5

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 @bwong.yh/lotide

Require it:

const _ = require('@bwong.yh/lotide');

Call it:

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

Documentation

The following functions are currently implemented:

  • assertEqual(arg1, arg2) {}: takes two primitive data arguments and does a strict comparsion between them, then logs the assertion result in the console.

  • assertArraysEqual(arr1, arr2) {}: similar to assertEqual, except it takes two arrays, does a strict comparsion of elements in both arrays and logs assertion result in the console.

  • assertObjectsEqual(obj1, obj2) {}: takes two objects and does a strict comparsion of the properties in both objects and logs the assertion result in the console.

  • countLetters(str) {}: takes a string arguement and returns the counts of each letter in the string.

  • countOnly([a, b, b], {a: true, b: false}) {}: takes an array as first arguement and an object as second argument. Then returns the counts for the element in the array that specified in the object.

  • eqArrays(arr1, arr2) {}: takes two arrays and compares their elements. It returns true if the elements are the same, and false if different. This is used for arrays containing the SAME data type. It will NOT work with mixed data types arrays.

  • eqObjects(obj1, obj2) {}: takes two objects and compares the properties in both objects. It returns true if properties are the same in both objects, and false if different. Please see eqArrays if property has an array as value.

  • findKey(obj, callback) {}: takes an object and a callback function and returns the first key for the truthy value that the callback returned. Undefined is returned if no key is found.

  • findKeyByValue(obj, arg) {}: takes in a value of an object and returns the first key that contains the value.

  • flatten(nestedArr) {}: takes in an nested array and returns a "flattened" single-level array.

  • head(arr) {}: takes an array and returns the first element of the array.

  • letterPositions(str) {}: takes a string argument and returns the index position of each letter in the string.

  • map(arr, callback): takes an array and callback function and returns a new array based on the the conditions specified in the callback.

  • middle(arr) {}: takes an array and returns the middle element of the array. If the lenght of array is even, it returns the middle two elements of the array.

  • tail(arr) {}: takes an array and returns a new array with elements start from the first position of the original array.

  • tailUntil(arr, callback) {}: takes an array and a callback function and returns a new array with elements collected from the original array until callback returns truthy.

  • without(arr1, arr2) {}: takes two arrays, source array and exclusion array (elements to be removed) respectively. A new array is returned with elements from the source array that are NOT in the exclusion array.