# @lynwang/lotide

> A mini clone of the [Lodash](https://lodash.com) library.

Latest version **1.0.6** (published 2022-08-14) · ISC license · 0 weekly downloads

## Install

```sh
npm install @lynwang/lotide
pnpm add @lynwang/lotide
yarn add @lynwang/lotide
bun add @lynwang/lotide
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.6 |
| Published | 2022-08-14 |
| First published | 2022-08-07 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 15.5 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | Carolyn Wang |
| Maintainers | lynwang |

## Links

- npm: https://www.npmjs.com/package/@lynwang/lotide
- Repository: https://github.com/lynw/lotide
- Homepage: https://github.com/lynw/lotide#readme
- Issues: https://github.com/lynw/lotide/issues
- npm.io page: https://npm.io/package/@lynwang/lotide

## Recent versions

- 1.0.6 (latest) — 2022-08-14
- 1.0.5 — 2022-08-14
- 1.0.4 — 2022-08-08
- 1.0.3 — 2022-08-07

## README

# Lotide

A mini clone of the [Lodash](https://lodash.com) 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 @lynwang/lotide`

**Require it:**

`const _ = require('@lynwang/lotide');`

**Call it:**

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

## Documentation

The following functions are currently implemented:

*  `head(array)` : takes in an array and returns the first element in the array
*  `tail(array)` : takes in an array and returns everything except the first element of the array
*  `middle(array)` : takes in an array and returns middle most element of the array
*  `assertArraysEqual(arrayOne, arrayTwo)` : takes in 2 arrays and returns true if they are equal and false otherwise
*  `assertEqual(actual, expected)` : takes in 2 values and returns true if they are equal and false otherwise
*  `assertObjectsEqual(objOne, objTwo)` : takes in 2 objects and returns true if they are equal and false otherwise
*  `countLetters(word)` : takes in a sentence and returns a count of each of the letters in the sentence
*  `countOnly(allItems, itemsToCount)` : takes in a collection of items and returns a specific subset of those items
*  `eqArrays(firstArray, secondArray)` : takes in 2 arrays and returns true if the arrays are equal and false otherwise
*  `eqObjects(object1, object2)` : takes in 2 objects and return true if they are equal and false otherwise
*  `findKey(obj, callback)` : takes in an object and callback and returns the first key that meets the criteria specified in callback.
*  `findKeyByValue(keyFind, valu)` : takes in an object and a value and returns the first key that corresponds to that value
*  `flatten(list)` : takes in an array that contains elements including nested array of elements and returns a flattened version of the array.
*  `letterPositions(sentence)` : takes in a string and returns all indices of letter positions in the string
*  `map(array, callback)` : takes in an array and a callback and returns a new array based on the results of the callback on each item in the array
*  `takeUntil(array, callback)` : takes in an array and callback and returns a slice of the array based on the criteria specified in the callback
*  `without(source, itemsToRemove)` : takes in a source array and an itemsToRemove arrays and returns only the items from the source array that are not in the itemsToRemove array

---
_Source: https://npm.io/package/@lynwang/lotide · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
