1.0.1 • Published 5 years ago
@borrisson/lotide v1.0.1
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 @borrisson/lotide
Require it:
const _ = require('@borrisson/lotide');
Call it:
const results = _.tail([1, 2, 3]) // => [2, 3]
Documentation
The following functions are currently implemented:
_.head([1,2,3])
: Will return the element at index 0 of an Array. ==> 1._.tail([1,2,3])
: Will return an array with all the elements within the Array except for the element at index 0 ==> 2,3_.middle([1,2,3,4])
: Will return an array with the middle element(s). If the array is even it will return the two most middle elements. ==> 2,3_.assertArraysEqual([1,2,3,4], [1,2,3,4])
: Will return an assertion for wether or not the arrays are equal. ==> ✅✅✅ Assertion Passed: ${1,2,3,4} === ${1,2,3,4}_.countLetters('my name')
: Will return an object with the number of characters(excluding whitespaces) in the string provided. ==> { 'a': 1, 'e': 1, 'm': 2, 'n': 1, 'y': 1 }_.countOnly(['Jason', 'Karima'], { "Jason": true, "Karima": false, "Fang": true })
: Will return an object of all the occurances of strings that pass the test(provided as an object). ==> { 'Jason' : 1 }_.eqArrays([1,2,3], [1,2,3,4])
: Will return a boolean for wether or not the arrays are equal. ==> false_.eqObjects({ a: 1, b: [2] }, { a: 1, b: [2] })
: Will return a boolean for wether or not the objects are equal. ==> true_.findKey({ a: 1, b: 2 }, (x) => x === 2)
: Will return the key that matches the callback function test. ==> 'b'_.findKeyByValue({ a: 3, b: 4 }, 4)
: Will return the key that matches the search value provided. ==> 'b'_.flatten([1, 2, [[3], 4], 5, [[6]]])
: Will return a flatten array no matter the ammount of nested arrays within it. ==> 1, 2, 3, 4, 5, 6_.letterPositions('hello')
: Will return an object with the characters as keys provided as a string in the function parameter. The keys hold an array with all of the character positions within the string provided. ==> { e:1, h:0, l: 2,3 o:4 }_.map([ 'word', 'anotherWord' ], (x) => x[0])
: Will return an array with the results returned by the callback function provided. ==> 'w', 'a'_.takeUntil([1,2,3,4,5]
, (x) => x === 3) : Will return the all of the elements before the callback function holds true. 1,2_.without([1,2,3], 3)
: Will return an Array without the element provided in the second paramater(assuming it exists within the array). ==> 1,2_.assertEqual('abc', 'abc')
: Will compare primitive types only and will return an assertion. ==> ✅✅✅ Assertion Passed: ${'abc'} === ${'abc'}_.assertObjectsEqual({ a: [1,2,3], b: { c: 'd' } }, { a: [1,2,3], b: { c: 'd' } })
: Will compare the objects and return an assertion of true or false. ==> ✅✅✅ Assertion Passed: ${{ a: 1,2,3, b: { c: 'd' } }} === ${{ a: 1,2,3, b: { c: 'd' } }}