Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cirbuk/litedash
A lightweight version of lodash
https://github.com/cirbuk/litedash
Last synced: 1 day ago
JSON representation
A lightweight version of lodash
- Host: GitHub
- URL: https://github.com/cirbuk/litedash
- Owner: cirbuk
- License: mit
- Created: 2019-08-03T17:42:39.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-01-07T05:14:20.000Z (almost 2 years ago)
- Last Synced: 2024-10-29T12:58:38.777Z (10 days ago)
- Language: JavaScript
- Size: 1 MB
- Stars: 4
- Watchers: 4
- Forks: 0
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# litedash
litedash is a light weight version of some most commonly used functions from lodash
## Installation
```Javascript
yarn add litedash
```## Usage
```Javascript
import {isUndefined, get, mapValues} from "litedash";
```## Functions
### Type checks
* `isNull(val)`: returns `true` if val is `null`
* `isUndefined(val)`: returns `true` if val is `undefined`
* `isNullOrUndefined(val)`: returns `true` if val is `null` or `undefined`
* `isFunction(val)`: returns `true` if val is a function
* `isString(val)`: returns `true` if val is a string
* `isValidString(val)`: returns `true` if val is a non-empty string
* `isObjectLike(val)`: returns `true` if val is not `null` and is of type `object`
* `isObject(val)`: returns `true` if val is object-like or is a function
* `isPlainObject(val)`: returns `true` if val is an object created by the `Object` constructor or one with a `[[Prototype]]` of `null`.### JSON
* `get(object, path, defaultValue)`: returns value from `object` at `path`. If the value at `path` is found to be `undefined`, the `defaultValue`(is any) is returned
* `set(object, path, value, options)`: Sets `value` in `object` in the `path` specified. If `options.create` is `true`, all objects along the path will be created### String
* `capitalize(str)`: Capitalizes `str` i.e. makes the first letter capital
* `getStringHash(str)`: Returns a number hash for `str`
* `getJSONHash(json)`: Returns a number hash for the `json` object### Object
* `mapValues(object, func)`: Creates an object with the same keys as `object` and values generated by running each of it's properies through `func`. `func` is invoked with 2 arguments `value` and `key`.
* `filterObject(object, func)`: Returns a new object with keys and corresponding values from `object`, for every key/value that returns `true` when `func` is invoked with that value and key as arguments.### Function
* `debounce(func, wait)`: Creates a debounced function that delays invoking `func` until after `wait` milliseconds have elapsed since the last time the debounced function was invoked.
* `throttle(func, wait, options)`: Creates a throttled function that only invokes `func` at most once per `wait` milliseconds. Provide `options.leading` and `options.trailing` to indicate whether `func` should be invoked on the leading and/or trailing edge of the `wait` timeout. The `func` is invoked with the last arguments provided to the throttled function. Subsequent calls to the throttled function return the result of the last `func` invocation. If `options.leading` and `options.trailing` options are both `true`, `func` is invoked on the trailing edge of the timeout only if the throttled function is invoked more than once during the `wait` timeout. If `wait` is 0 and `options.leading` is `false`, `func` invocation is deferred until to the next tick, similar to setTimeout with a timeout of 0.
* `bindFunctions(funcMap, bindBefore, bindAfter)`: Creates an object with the same keys as `funcMap` whose values are obtained by binding the corresponding functions with values from the arrays `bindBefore` and `bindAfter`. If any of the functions from the resultant map is called with say `arg1` and `arg2`, the function's `arguments` object will be have the value `[...bindBefore, arg1, arg2, ...bindAfter]`
* `pipeline(funcArray, initialState)`: Returns a function that invokes every function in an array of functions starting with the first one, passing results of the previous invocation to the next function in the array.### Promise
* `resolvePromises(promises)`: If provided with an array of promises, it returns a promise that resolves when all the promises in the array has resolved. The returned promise will resolve with an array of results with the result in index i corresponding to promise i in the input array. If provided with a map of promises, it returns a promise that resolves when all the promises in the object has resolved. The returned promise will resolve with a map of results with the result in key i corresponding to promise at the key i in the input object. If anything else is provided, the input value is returned as such.