1.0.0 • Published 5 years ago
@kubric/litedash v1.0.0
litedash
litedash is a light weight version of some most commonly used functions from lodash
Installation
yarn add litedashUsage
import {isUndefined, get, mapValues} from "litedash";Functions
Type checks
isNull(val): returnstrueif val isnullisUndefined(val): returnstrueif val isundefinedisNullOrUndefined(val): returnstrueif val isnullorundefinedisFunction(val): returnstrueif val is a functionisString(val): returnstrueif val is a stringisValidString(val): returnstrueif val is a non-empty stringisObjectLike(val): returnstrueif val is notnulland is of typeobjectisObject(val): returnstrueif val is object-like or is a functionisPlainObject(val): returnstrueif val is an object created by theObjectconstructor or one with a[[Prototype]]ofnull.
JSON
get(object, path, defaultValue): returns value fromobjectatpath. If the value atpathis found to beundefined, thedefaultValue(is any) is returnedset(object, path, value, options): Setsvalueinobjectin thepathspecified. Ifoptions.createistrue, all objects along the path will be created
String
capitalize(str): Capitalizesstri.e. makes the first letter capitalgetStringHash(str): Returns a number hash forstrgetJSONHash(json): Returns a number hash for thejsonobject
Object
mapValues(object, func): Creates an object with the same keys asobjectand values generated by running each of it's properies throughfunc.funcis invoked with 2 argumentsvalueandkey.filterObject(object, func): Returns a new object with keys and corresponding values fromobject, for every key/value that returnstruewhenfuncis invoked with that value and key as arguments.
Function
debounce(func, wait): Creates a debounced function that delays invokingfuncuntil afterwaitmilliseconds have elapsed since the last time the debounced function was invoked.throttle(func, wait, options): Creates a throttled function that only invokesfuncat most once perwaitmilliseconds. Provideoptions.leadingandoptions.trailingto indicate whetherfuncshould be invoked on the leading and/or trailing edge of thewaittimeout. Thefuncis invoked with the last arguments provided to the throttled function. Subsequent calls to the throttled function return the result of the lastfuncinvocation. Ifoptions.leadingandoptions.trailingoptions are bothtrue,funcis invoked on the trailing edge of the timeout only if the throttled function is invoked more than once during thewaittimeout. Ifwaitis 0 andoptions.leadingisfalse,funcinvocation 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 asfuncMapwhose values are obtained by binding the corresponding functions with values from the arraysbindBeforeandbindAfter. If any of the functions from the resultant map is called with sayarg1andarg2, the function'sargumentsobject 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.