1.0.0 • Published 3 years ago

@vvncheung/lotide v1.0.0

Weekly downloads
-
License
ISC
Repository
github
Last release
3 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 @vvncheung/lotide

Require it:

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

Call it:

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

Documentation

The following functions are currently implemented:

  • assertArraysEqual(array1, array2): takes in two arrays and returns a boolean to confirm if they are a perfect match.
  • assertEqual(actual, expected): takes in two values and returns a boolean to confirm they are a perfect match.
  • assertObjectsEqual(actual, expected): takes in two objects and returns a boolean to confirm if they are a perfect match.
  • countLetters(string): takes in a sentence as a string and returns a count of each of the letters in that sentence.
  • countOnly(allItems, itemsToCount): allitems takes in a collection of items and return counts for a specific subset of those items. It won't count everything. In order to decide what to count, itemsToCount will also be given an idea of which items we care about and it will only count those, ignoring the others. Items in our case will be limited to Strings.
  • eqArrays(actual, expected)): takes in two arrays and returns true or false, based on a perfect match
  • eqObjects(object1, object2): takes in two objects and returns true or false, based on a perfect match
  • findKey(object, callback): takes in an object and a callback. It will scan the object and return the first key for which the callback returns a truthy value. If no key is found, then it should return undefined.
  • findKeyByValue(object, value): takes in an object and a value. It should scan the object and return the first key which contains the given value. If no key with that given value is found, then it should return undefined.
  • flatten(array): if given an array with other arrays inside, it will flatten it into a single-level array.
  • head(array): returns the first item in the array.
  • letterPositions(sentence): returns all the indices (zero-based positions) in the string where each character is found.
  • map(array, callback): returns a new array based on the conditions of the callback function.
  • middle(array)): take in an array and return the middle-most element(s) of the given array.
  • tail(array): returns the "tail" of an array: everything except for the first item (head) of the provided array.
  • takeUntil(array, callback): returns a "slice of the array with elements taken from the beginning." It should keep going until the callback/predicate returns a truthy value.
  • without(source, itemsToRemove): takes in a source array and a itemsToRemove array. It should return a new array with only those elements from source that are not present in the itemsToRemove array.