1.0.0 • Published 2 years ago

@amal.botan/lotide v1.0.0

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 @Amal-botan/lotide

Require it:

const _ = require('@amal.botan/lotide');

Call it:

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

Documentation

The following functions are currently implemented:

  • head: a function head which returns the first item in the array
  • tail: a function tail which returns the "tail" of an array: everything except for the first item (head) of the provided array.
  • middle: which will take in an array and return the middle-most element(s) of the given array.
  • assertArraysEqual: take in two arrays and console.log an appropriate message to the console.
  • assertEqual: Compare the two values it takes in and print out a message telling us if they match or not.
  • assertObjectsEqual: will take in two objects and console.log an appropriate message to the console.
  • countLetters: will take in a sentence (as a string) and then return a count of each of the letters in that sentence. For example, countLetters('LHL') should return results indicating that L appears twice, and H once.

  • countOnly: will take 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, it 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: takes in two arrays and returns true or false, based on a perfect match.
  • eqObjects: will take in two objects and returns true or false, based on a perfect match.
  • findKey: Takes in an object and a callback. It should 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: 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: Will take in an array containing elements including nested arrays of elements, and return a "flattened" version of the array.
  • letterPositions: will return all the indices (zero-based positions) in the string where each character is found. For each letter, instead of returning just one number to represent its number of occurrences, multiple numbers may be needed to represent all the places in the string that it shows up.
  • map: An array to map A callback function. The map function will return a new array based on the results of the callback function.
  • takeUntil: Will take in two parameters: The array to work with and the callback. The function will return a "slice of the array with elements taken from the beginning." It should keep going until the callback/predicate returns a truthy value.
  • without: will return a subset of a given array, removing unwanted elements.