npm package: @railrunner16/raildash
Description: Lodash, but better
Author: Landon Gravat
Latest version: 1.0.2-patch.0

<p align=center>
    <img src="https://img.shields.io/github/repo-size/railrunner16/raildash.svg?style=flat-square" alt="GitHub repo size in bytes">
    <img src="https://img.shields.io/github/last-commit/railrunner16/raildash.svg?style=flat-square" alt="GitHub last commit">
    <img src="https://img.shields.io/npm/v/@railrunner16/raildash.svg?style=flat-square" alt="npm (scoped)">
    <img src="https://img.shields.io/npm/dw/@railrunner16/raildash.svg?style=flat-square" alt="npm">
    <img src="https://img.shields.io/librariesio/github/railrunner16/raildash.svg?style=flat-square" alt="Libraries.io for GitHub">
    <img src="https://img.shields.io/travis/RailRunner16/raildash.svg?style=flat-square" alt="Travis (.org)">
    <img src="https://img.shields.io/coveralls/github/RailRunner16/raildash.svg?style=flat-square" alt="Coveralls github">
    <img src="https://img.shields.io/github/languages/top/RailRunner16/raildash.svg?style=flat-square" alt="GitHub top language"><br>
    <img src="https://img.shields.io/npm/l/@railrunner16/raildash.svg?style=flat-square" alt="NpmLicense">
</p>

---

RailDash is a utility library for JavaScript. It can be used to replace quite a few functions found in Lodash and Underscore. The goal of this project is to replace both projects entirely, and provide JavaScript developers with everything they need to create beautiful applications.

## Installation:
### Node
#### NPM:
```bash
npm i -s @railrunner16/raildash
```

#### Yarn:
```bash
yarn add @railrunner16/raildash
```

#### Bower:
```bash
bower install raildash
```

### Browser
#### UNPKG:
**Put this in your head, before all other scripts:**
```html
<script src="//unpkg.com/@railrunner16/raildash"></script>
```
#### JsDelivr:
**Put this in your head, before all other scripts:**
```html
<script src="//cdn.jsdelivr.net/gh/railrunner16/raildash/dist/raildash.js"></script>
```

### Ruby
#### Rails:
Install the gem `raildash`, then put this in your manifest:
```js
//= require 'raildash'
```

## But, why?
When I first looked at the [Lodash](https://github.com/lodash/lodash) source, I couldn't understand half of what I was reading, just in the `camelCase` source, not to mention other parts of the code. When I looked at [Underscore](https://underscorejs.org), I found functions like `_.eq()` to be way to bulky, especially if you plan to use them for just one use case.

Solution? I wrote my own library, that, instead of overcomplicating things, keeps its source modular, but still readable. Also, instead of doing stupid stuff like having one function to compare equality, it has separate methods, like `_.Iter.arrayEquals()` for array comparison, and `_.Iter.deepEquals()` for object comparison. Another bonus of RailDash is that similar utilities are namespaced together. This also allows for importing just the utilities you need, for example:
```ts
import { String as _.String } from 'raildash';
```

## Donations:
I don't make much money, if any, from projects I create. I would immensely appreciate it if you donated to my liberapay. This always goes towards things like VPS hosting, or other services to further the development of my projects.

<a href="https://liberapay.com/RailRunner16/donate">
    <img alt="Donate using Liberapay" src="https://liberapay.com/assets/widgets/donate.svg">
</a>