# @coding-made-simple/lotide2

> An assortment of functions in an object that apply to primitive datatypes, arrays and objects.

Latest version **1.0.0** (published 2023-07-04) · ISC license · 0 weekly downloads

## Install

```sh
npm install @coding-made-simple/lotide2
pnpm add @coding-made-simple/lotide2
yarn add @coding-made-simple/lotide2
bun add @coding-made-simple/lotide2
```

## 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.0 |
| Published | 2023-07-04 |
| First published | 2023-07-04 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 1 |
| Unpacked size | 19.6 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Colin Spangelo |
| Maintainers | coding-made-simple |

## Links

- npm: https://www.npmjs.com/package/@coding-made-simple/lotide2
- Repository: https://github.com/codingMadeSimple/lotide2
- Homepage: https://github.com/codingMadeSimple/lotide2#readme
- Issues: https://github.com/codingMadeSimple/lotide2/issues
- npm.io page: https://npm.io/package/@coding-made-simple/lotide2

## Dependencies (1)

- [chai](https://npm.io/package/chai.md) ^4.3.7

## Recent versions

- 1.0.0 (latest) — 2023-07-04

## 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 @coding-made-simple/lotide`

**Require it:**

`const _ = require('@coding-made-simple/lotide');`

**Call it:**

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

## Documentation

The following functions are currently implemented:

* `assertArraysEqual(...)`: Will check if two arrays are equal and output a readable comparison.
* `assertEqual(...)`: Will check if two primitive datatype values are equal and output a readable comparison.
* `assertObjectsEqual(...)`: Will check if two objects are equal and output a readable comparison.
* `countLetters(...)`: Will count the amount of occurences of a letter.
* `countOnly(...)`:  Will take in a collection of items and return counts for a specific subset of those items. It will only count the items that will be counted must have an attached true value.
* `eqArrays(...)`: Will check if two arrays are equal.
* `eqObjects(...)`: Will check if two objects are equal.
* `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. (Description from LHL)
* `findKeyByValue(...)`: Checks for a key on an object where its value matches a given value.
* `head(...)`: Returns the first element in an array.
* `letterPositions(...)`: Returns all indices in a string where each character is found. (Description from LHL)
* `map(...)`: Applies a callback to all elements in an array and return a new array with those new values.
* `middle(...)`: Returns the middle element in an array. If the array length is uneven it will return the two middle values in a new array.
* `tail(...)`: Returns an array with everything except the first element
* `takeUntil(...)`: Returns all values in an array that has passed the callbacks conditional statement
* `without(...)`: Takes in an array and scans the array for specififed values and returns an array without those values.

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