1.0.1 • Published 2 years ago

@mikedalton/lotide v1.0.1

Weekly downloads
-
License
ISC
Repository
github
Last release
2 years ago

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

Require it:

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

Call it:

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

Documentation

The following functions are currently implemented:

  • assertArraysEqual(arrA, arrB): prints (passed / failed) whether 2 given arrays (not nested) are identical.

  • assertEqual(actual, expected): prints (passed / failed) whether 2 given values (of primitive data types) are identical.

  • assertObjectsEqual(actual, expected): prints (passed / failed) whether 2 given objects (not nested) are identical.

  • countLetters(string): returns an object containing the number of instances of each letter that exists in the given string.

  • countOnly(allItems, itemsToCount): returns an object containing the number of instances of each string marked 'true' (in the itemsToCount object) found in the allItems array.

  • eqArrays(arrA, arrB): returns true if 2 given arrays (cannot be nested) are identical, false if not.

  • eqArraysRefactor(array1, array2): returns true if given arrays (which may contain nested arrays) are identical, false if not.

  • eqObjects(object1, object2): returns true if given objects (which do not contain nested objects) have identical key / value pairs, otherwaise returns false.

  • eqObjectsRefactor(object1, object2): returns true if both given objects have identical key value pairs, otherwise returns false. Given objects may contain nested objects.

  • findKey(object, callback): returns the first key in the given object for which the callback function returns a truthy value. If no key is found, then it will return undefined.

  • findKeyByValue(object, value): returns the first key in the given object which contains the given value. If no key with the given value is found, it will return undefined.

  • flatten(packed): will 'flatten' an array containing one level of nested arrays. Returns a non-nested array containing all of the elements from the given array.

  • head(array): returns the value of the first element in a given array.

  • letterPositions(sentence): returns an objects containing all of the indices (zero-based positions) in the given string at which each character is found.

  • map(array, callback): returns a new array based on results of the callback function on each element of the given array. The given array is not modified.

  • middle(array): returns the middle-most element of a given array. If the given array has an even number of elements, an array of the two 'middle-most' elements will be returned. If the given array has fewer than 3 elements, an empty array will be returned.

  • tail(array): returns copy of given array excluding the first element (array0). If the given array is empty, or only contains one element, an empty array is returned.

  • takeUntil(array, callback): beginning at the start of the given array (element0), function will return a slice of the array containing all of the elements found up until the element which returns a truthy value from the given callback function.

  • without(source, itemsToRemove): return new array of elements from the given source array, minus the elements specified in the itemsToRemove array.