# @tablesalt/lotide

> A mini clone of Lodash library

Latest version **1.0.0** (published 2022-10-25) · ISC license · 0 weekly downloads

## Install

```sh
npm install @tablesalt/lotide
pnpm add @tablesalt/lotide
yarn add @tablesalt/lotide
bun add @tablesalt/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.0 |
| Published | 2022-10-25 |
| First published | 2022-10-25 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 82 |
| Unpacked size | 22 KB |
| Known vulnerabilities | 0 (+2 in 1 direct dependencies) |
| Install scripts | no |
| GitHub stars | 0 |
| Author | Darren Lin |
| Maintainers | tablesalt |

## Links

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

## Dependencies (82)

- [he](https://npm.io/package/he.md) ^1.2.0
- [ms](https://npm.io/package/ms.md) ^2.1.3
- [diff](https://npm.io/package/diff.md) ^5.0.0
- [flat](https://npm.io/package/flat.md) ^5.0.2
- [glob](https://npm.io/package/glob.md) ^7.2.0
- [once](https://npm.io/package/once.md) ^1.4.0
- [y18n](https://npm.io/package/y18n.md) ^5.0.8
- [chalk](https://npm.io/package/chalk.md) ^4.1.2
- [cliui](https://npm.io/package/cliui.md) ^7.0.4
- [debug](https://npm.io/package/debug.md) ^4.3.3
- [growl](https://npm.io/package/growl.md) ^1.10.5
- [isexe](https://npm.io/package/isexe.md) ^2.0.0
- [loupe](https://npm.io/package/loupe.md) ^2.3.4
- [which](https://npm.io/package/which.md) ^2.0.2
- [yargs](https://npm.io/package/yargs.md) ^16.2.0
- [braces](https://npm.io/package/braces.md) ^3.0.2
- [nanoid](https://npm.io/package/nanoid.md) ^3.3.1
- [wrappy](https://npm.io/package/wrappy.md) ^1.0.2
- [find-up](https://npm.io/package/find-up.md) ^5.0.0
- [is-glob](https://npm.io/package/is-glob.md) ^4.0.3
- [js-yaml](https://npm.io/package/js-yaml.md) ^4.1.0
- [p-limit](https://npm.io/package/p-limit.md) ^3.1.0
- [pathval](https://npm.io/package/pathval.md) ^1.1.1
- [anymatch](https://npm.io/package/anymatch.md) ^3.1.2
- [argparse](https://npm.io/package/argparse.md) ^2.0.1
- [chokidar](https://npm.io/package/chokidar.md) ^3.5.3
- [deep-eql](https://npm.io/package/deep-eql.md) ^3.0.1
- [escalade](https://npm.io/package/escalade.md) ^3.1.1
- [has-flag](https://npm.io/package/has-flag.md) ^4.0.0
- [inflight](https://npm.io/package/inflight.md) ^1.0.6
- [inherits](https://npm.io/package/inherits.md) ^2.0.4
- [p-locate](https://npm.io/package/p-locate.md) ^5.0.0
- [readdirp](https://npm.io/package/readdirp.md) ^3.6.0
- [camelcase](https://npm.io/package/camelcase.md) ^6.3.0
- [is-number](https://npm.io/package/is-number.md) ^7.0.0
- [minimatch](https://npm.io/package/minimatch.md) ^4.2.1
- [picomatch](https://npm.io/package/picomatch.md) ^2.3.1
- [wrap-ansi](https://npm.io/package/wrap-ansi.md) ^7.0.0
- [ansi-regex](https://npm.io/package/ansi-regex.md) ^5.0.1
- [color-name](https://npm.io/package/color-name.md) ^1.1.4
- [concat-map](https://npm.io/package/concat-map.md) ^0.0.1
- [decamelize](https://npm.io/package/decamelize.md) ^4.0.0
- [fill-range](https://npm.io/package/fill-range.md) ^7.0.1
- [is-extglob](https://npm.io/package/is-extglob.md) ^2.1.1
- [strip-ansi](https://npm.io/package/strip-ansi.md) ^6.0.1
- [workerpool](https://npm.io/package/workerpool.md) ^6.2.0
- [ansi-colors](https://npm.io/package/ansi-colors.md) ^4.1.1
- [ansi-styles](https://npm.io/package/ansi-styles.md) ^4.3.0
- [check-error](https://npm.io/package/check-error.md) ^1.0.2
- [emoji-regex](https://npm.io/package/emoji-regex.md) ^8.0.0
- [fs.realpath](https://npm.io/package/fs.realpath.md) ^1.0.0
- [glob-parent](https://npm.io/package/glob-parent.md) ^5.1.2
- [locate-path](https://npm.io/package/locate-path.md) ^6.0.0
- [log-symbols](https://npm.io/package/log-symbols.md) ^4.1.0
- [path-exists](https://npm.io/package/path-exists.md) ^4.0.0
- [randombytes](https://npm.io/package/randombytes.md) ^2.1.0
- [safe-buffer](https://npm.io/package/safe-buffer.md) ^5.2.1
- [type-detect](https://npm.io/package/type-detect.md) ^4.0.8
- [yocto-queue](https://npm.io/package/yocto-queue.md) ^0.1.0
- [is-plain-obj](https://npm.io/package/is-plain-obj.md) ^2.1.0
- [string-width](https://npm.io/package/string-width.md) ^4.2.3
- [yargs-parser](https://npm.io/package/yargs-parser.md) ^20.2.4
- [color-convert](https://npm.io/package/color-convert.md) ^2.0.1
- [get-func-name](https://npm.io/package/get-func-name.md) ^2.0.0
- [balanced-match](https://npm.io/package/balanced-match.md) ^1.0.2
- [browser-stdout](https://npm.io/package/browser-stdout.md) ^1.3.1
- [is-binary-path](https://npm.io/package/is-binary-path.md) ^2.1.0
- [normalize-path](https://npm.io/package/normalize-path.md) ^3.0.0
- [supports-color](https://npm.io/package/supports-color.md) ^8.1.1
- [to-regex-range](https://npm.io/package/to-regex-range.md) ^5.0.1
- [yargs-unparser](https://npm.io/package/yargs-unparser.md) ^2.0.0
- [assertion-error](https://npm.io/package/assertion-error.md) ^1.1.0
- [brace-expansion](https://npm.io/package/brace-expansion.md) ^1.1.11
- [get-caller-file](https://npm.io/package/get-caller-file.md) ^2.0.5
- [path-is-absolute](https://npm.io/package/path-is-absolute.md) ^1.0.1
- [binary-extensions](https://npm.io/package/binary-extensions.md) ^2.2.0
- [require-directory](https://npm.io/package/require-directory.md) ^2.1.1
- [strip-json-comments](https://npm.io/package/strip-json-comments.md) ^3.1.1
- [escape-string-regexp](https://npm.io/package/escape-string-regexp.md) ^4.0.0
- [is-unicode-supported](https://npm.io/package/is-unicode-supported.md) ^0.1.0
- [serialize-javascript](https://npm.io/package/serialize-javascript.md) ^6.0.0
- [is-fullwidth-code-point](https://npm.io/package/is-fullwidth-code-point.md) ^3.0.0

## Recent versions

- 1.0.0 (latest) — 2022-10-25

## 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 @tablesalt/lotide`

**Require it:**

`const _ = require('@tablesalt/lotide');`

**Call it:**

`const results = _.tail([1, 2, 3]) // => [2, 3]`

## Documentation

The following functions are currently implemented:

*`assertArraysEqual(array1, array2)`: asserts if two arrays are equals
*`assertEqual(value1, value2)`: asserts if two values are equals
*`assertObjectsEqual(object1, object2)`: asserts if two objects are equals
*`eqArrays(array1, array2)`: compares for equality between two arrays. Recursive for arrays within arrays.
*`eqObjects(object1, object2)`: compares for equality between two objects. Recursive for objects within objects.
*`countLetters(string)`: returns the count of each letter within the string
*`countOnly(array, object)`: counts and returns occurrence of object within the array.
*`findKey(object, callback)`: scans the object and return the first key for which the callback returns a truthy
*`findKeyByValue(object, objectValue)`: takes an obeject and returns the key of the object value.
*`flatten(array)`: flattens an array of arrays into a single-level array
*`head(array)`: returns the 1st element of an array
*`letterPositions(string)`: returns all the indices/position of each character in the string
*`map(array, callback)`: returns a new array with the applied callback on the original array
*`middle(array)`: returns the middle element of an array
*`tail(array)`: returns the entire array minus the first element.
*`takeUntil(array, callback)`: returns an array with elements upto the callback provided
*`without(list, filter)`: returns a new array without the filter list

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