NOTES
- These API docs are still being written. However, we have attempted to stick to the Lodash signature as much as possible. So, in most cases, the lodash documentation is a good point of reference.
- All mudash methods are immutable. The signatures of a few methods are different from Lodash.
- mudash uses data type hinting to determine return type. In most cases if a method receives an Immutable data type it will return the result in an Immutable form and equivalent for mutable data.
- A few additional methods exist beyond what is provided by Lodash. These have been documented here.
Legend
- *TODO - Immutable.JS support still needs to be implemented
- *Lo - No changes from Lodash method required (passthrough to Lodash)
- Array and Immutable.List
butLast()
chunk()
circularShift()
compact()
concat()
difference()
differenceBy()
differenceWith()
drop()
dropRight()
dropRightWhile()
dropWhile()
fill()
*TODOfindIndex()
findLastIndex()
flatten()
flattenDeep()
flattenDepth()
fromPairs()
*TODOhead()
indexOf()
initial()
*TODOintersection()
*TODOintersectionBy()
*TODOintersectionWith()
*TODOjoin()
last()
lastIndexOf()
nth()
*TODOpop()
pull()
pullAll()
pullAllBy()
pullAllRight()
pullAllWith()
pullAt()
pullRight()
push()
pushAt()
remove()
*TODOreverse()
shift()
slice()
sortedIndex()
*TODOsortedIndexBy()
*TODOsortedIndexOf()
*TODOsortedLastIndex()
*TODOsortedLastIndexBy()
*TODOsortedLastIndexOf()
*TODOsortedUniq()
*TODOsortedUniqueBy()
*TODOtail()
take()
takeRight()
takeRightWhile()
takeWhile()
union()
*TODOunionBy()
*TODOunionWith()
*TODOuniq()
uniqBy()
uniqWith()
unzip()
*TODOunzipWith()
*TODOwithout()
*TODOxor()
*TODOxorBy()
*TODOxorPartition()
*TODOxorWith()
*TODOzip()
*TODOzipObject()
*TODOzipObjectDeep()
*TODOzipWith()
*TODO
- Collection and Immutable.Iterable
contains()
count()
countBy()
*TODOeach()
every()
filter()
filterNot()
find()
findLast()
*TODOfirst()
flatMap()
*TODOflatMapDeep()
*TODOflatMapDepth()
*TODOforEach()
forEachRight()
groupBy()
includes()
includesWith()
invokeMap()
*TODOkeyBy()
*TODOmap()
orderBy()
*TODOpartition()
*TODOreduce()
reduceReducers()
reduceReducersRight()
reduceRight()
reject()
sample()
*TODOsampleSize()
*TODOshuffle()
*TODOsize()
slice()
some()
sortBy()
*TODOwalk()
- Date
now()
*Lo
- Function
after()
*Loapply()
ary()
*Lobefore()
bind()
*LobindKey()
*Locall()
circ()
compose()
curry()
*LocurryRight()
*Lodebounce()
*Lodefer()
*Lodelay()
*Loflip()
*Lomemoize()
negate()
*Loonce()
*LooverArg()
overArgs()
*Lopartial()
*LopartialRight()
*Lorearg()
*Lorest()
*Loselect()
spread()
*Lothrottle()
*Lounary()
*Lowrap()
*Lo
- Lang
castArray()
*TODOclone()
cloneDeep()
cloneDeepWith()
cloneWith()
conformsTo()
*TODOeq()
gt()
*Logte()
*LoisArguments()
*LoisArray()
isArrayBuffer()
*LoisArrayLike()
isArrayLikeObject()
*LoisAssociative()
isBatchable()
isBoolean()
isBuffer()
*LoisDate()
*LoisElement()
*LoisEmpty()
isEqual()
isEqualWith()
isError()
*LoisFinite()
*LoisFunction()
isGenerator()
isGeneratorFunction()
isIm()
isImIndexedSeq()
isimiterable()
isImKeyedSeq()
isImList()
isImMap()
isImmutable()
isImmutableIndexedSeq()
isImmutableIterable()
isImmutableKeyedSeq()
isImmutableList()
isImmutableMap()
isImmutableOrderedMap()
isImmutableOrderedSet()
isImmutableSeq()
isImmutableSet()
isImmutableSetSeq()
isImmutableStack()
isImOrderedMap()
isImOrderedSet()
isImSeq()
isImSet()
isImSetSeq()
isImStack()
isIndex()
isIndexed()
isInteger()
*LoisIterable()
isIterateeCall()
isKey()
isKeyable()
isKeyed()
isLength()
isMap()
*LoisMatch()
isMatchWith()
*TODOisMutable()
isNaN()
*LoisNative()
*LoisNil()
isNull()
*LoisNumber()
isObject()
isObjectLike()
isPlainObject()
*LoisPrototype()
isRegExp()
*LoisSafeInteger()
*LoisSet()
*LoisShallowEqual()
isString()
isSymbol()
isTypedArray()
*LoisUndefined()
*LoisWeakMap()
*LoisWeakSet()
*Loiterable()
iterator()
isImSet()
lt()
*Lolte()
*LotoArray()
toFinite()
toIm()
toImIndexedSeq()
toImIterable()
toImKeyedSeq()
toImList()
toImMap()
toImmutable()
toImmutableIndexedSeq()
toImmutableIterable()
toImmutableKeyedSeq()
toImmutableList()
toImmutableMap()
toImmutableOrderedMap()
toImmutableOrderedSet()
toImmutableSeq()
toImmutableSet()
toImmutableSetSeq()
toImmutableStack()
toImOrderedMap)
toImOrderedSet()
toImSeq()
toImSet()
toImSetSeq()
toImStack()
toIndexed()
toInteger()
toIterable()
toLength()
*LotoMutable()
toNumber()
toObject()
toPlainObject()
*LotoSageInteger()
*LotoSource()
toString()
*Lo
- Math
- Number
- Object and Immutable.Map
assign()
assignIn()
*TODOassignInWith()
*TODOassignWith()
*TODOassoc()
assocWith()
at()
create()
*TODOdelete()
defaults()
*TODOdefaultsDeep()
*TODOdissoc()
findKey()
*TODOfindLastKey()
*TODOforIn()
*TODOforInRight()
*TODOforOwn()
*TODOforOwnRight()
*TODOfunctions()
*LofunctionsIn()
*TODOget()
getPrototype()
has()
hasIn()
*TODOinvert()
*TODOinvertBy()
*TODOinvoke()
*TODOkeys()
keysIn()
*TODOmapKeys()
*TODOmapValues()
*TODOmerge()
mergeAt()
mergeWith()
*TODOomit()
omitBy()
pick()
pickBy()
*TODOresult()
*TODOset()
setWith()
toPairs()
*TODOtoPairsIn()
*TODOtransform()
*TODOunset()
update()
updateWith()
values()
valuesIn()
*TODO
- Seq
- String
camelCase()
*Locapitalize()
*Lodeburr()
*LoendsWith()
*Loescape()
*LoescapeRegExp()
*LokebabCase()
*LolowerCase()
*LolowerFirst()
*Lopad()
*LopadEnd()
*LopadStart()
*LoparseInt()
*Lorepeat()
*Loreplace()
*LosnakeCase()
*Losplit()
*LostartCase()
*LostartsWith()
*Lotemplate()
*LotoLower()
*LotoUpper()
*Lotrim()
*LotrimEnd()
*LotrimStart()
*Lotruncate()
*Lounescape()
*LoupperCase()
*LoupperFirst()
*Lowords()
*Lo
- Util
attempt()
*LobindAll()
*TODOcond()
*TODOconforms()
*TODOconstant()
*LodefaultTo()
*Loflow()
*TODOflowRight()
*TODOhint
identity()
iteratee()
matches()
matchesProperty()
method()
*TODOmethodOf()
*TODOmixin()
*LonoConflict()
*Lonoop()
*LonthArg()
*Loover()
*TODOoverEvery()
*TODOoverSome()
*TODOproperty()
propertyOf()
range()
*LorangeRight()
*LorunInContext()
*LostubArray()
stubFalse()
stubImmutableIndexedSeq()
stubImmutableIterable()
stubImmutableKeyedSeq()
stubImmutableList()
stubImmutableMap()
stubImmutableOrderedMap()
stubImmutableOrderedSet()
stubImmutableSeq()
stubImmutableSet()
stubImmutableSetSeq()
stubImmutableStack()
stubObject()
stubString()
stubTrue()
sym()
symbol()
times()
toPath()
*TODOuniqueId()
*Lotimes()
chunk(
data: Array | List,
size: number
): Array | List
Creates an array or list of elements split into groups the length of size
. If data
can't be split evenly, the final chunk will be the remaining elements.
difference(
data: Array | List,
...values: Array<Array | List>
): Array | List
Creates an Indexed instance of values not included in the other given Indexed instances using SameValueZeroOrImmutableEqual for equality comparisons. The order and references of result values are determined by the first Indexed instance.
differenceBy(
data: Array | List,
...values: Array<Array | List>,
iteratee=_.identity: (
value: any
) => any
): Array | List
This method is like difference
except that it accepts iteratee
which is invoked for each element of data
and values
to generate the criterion by which they're compared. The order and references of result values are determined by the first Indexed instance.
differenceWith(
data: Array | List,
...values: Array<Array | List>,
comparator=_.identity: (
dataValue: any,
otherValue: any
) => boolean
): Array | List
This method is like difference
except that it accepts comparator
which is invoked to compare elements of data
to values
. The order and references of result values are determined by the first Indexed instance.
drop(
data: Array | Immutable.List,
n: number
): Array | Immutable.List
Creates an slice of data
with n
elements dropped from the beginning.
dropRight(
data: Array | Immutable.List,
n: number
): Array | Immutable.List
Creates an slice of data
excluding n
elements dropped from the end.
dropRightWhile(
data: Array | List,
predicate: (
value: any,
index: number,
data: Array | Immutable.List
) => any
): Array | Immutable.List
Creates a slice of data
excluding elements dropped from the end.
Elements are dropped until predicate
returns falsey.
dropWhile(
data: Array | List,
predicate: (
value: any,
index: number,
data: Array | Immutable.List
) => any
): Array | Immutable.List
Creates a slice of data
excluding elements dropped from the beginning.
Elements are dropped until predicate
returns falsey.
find(
data: Array | Immutable.Iterable | Object,
?predicate=_.identity: (
value: any,
key: string | number,
collection: Array | Immutable.Iterable | Object
) => boolean,
?fromIndex=0: number
): any
Iterates over elements of collection, returning the first element predicate returns truthy for.
forEach(
data: Array | Immutable.Iterable | Object,
?iteratee=_.identity: (
value: any,
key: string | number,
data: Array | Immutable.Iterable | Object
) => boolean
): Array | Immutable.Iterable | Object
Iterates over elements of data
and invokes iteratee
for each element. Iteratee functions may exit iteration early by explicitly returning false
.
forEachRight(
data: Array | Immutable.Iterable | Object,
?iteratee=_.identity: (
value: any,
key: string | number,
data: Array | Immutable.Iterable | Object
) => boolean
): Array | Immutable.Iterable | Object
This method is like forEach
except that it iterates over elements of data
from right to left.
includes(
data: Array | Immutable.Iterable | Object | String,
value: any,
?fromIndex=0: number
): boolean
Checks if value
is in data
. If data
is a string, it's checked for a substring of value, otherwise SameValueZeroOrImmutableEqual is used for equality comparisons. If fromIndex is negative, it's used as the offset from the end of collection.
includes(
data: Array | Immutable.Iterable | Object | String,
value: any,
comparator: (
dataValue: any,
value: any
) => boolean,
?fromIndex=0: number
): boolean
This method is like includes
except that it accepts comparator which is invoked to compare elements of the data to the value.
slice(
): Array | Immutable.Iterable | Object
Creates a slice of an Indexed value from start up to, but not including, end.
If the requested slice is equivalent to the current Indexed, then it will return itself.
compose(
...functions: Array<any => any>
): (...args:any) => any
Used to compose multiple functions together in to a single function
isArray(
data: any
): boolean
Returns true
if value is an Array
. Otherwise false
.
isArrayLike(
data: any
): boolean
Returns true
if value is array-like. Otherwise false
.
A value is considered array-like if it's not a function and has a value.length
that's an integer greater than or equal to 0 and less than or equal to Number.MAX_SAFE_INTEGER
.
isBoolean(
data: any
): boolean
Returns true
if value is classified as a boolean primitive or object. Otherwise false
.
isFunction(
data: any
): boolean
Returns true
if data is classified as a function. Otherwise false
.
aliases: isIm
isImmutable(
data: any
): boolean
Returns true
if data is an immutable data type from immutable js. Otherwise false
.
aliases: isImIndexedSeq
isImmutableIndexedSeq(
data: any
): boolean
Returns true
if data is of type Immutable.Seq.Indexed
. Otherwise false
.
aliases: isImIterable
isImmutableIterable(
data: any
): boolean
Returns true
if data is of type Immutable.Iterable
. Otherwise false
.
aliases: isImKeyedSeq
isImmutableKeyedSeq(
data: any
): boolean
Returns true
if data is of type Immutable.Seq.Keyed
. Otherwise false
.
aliases: isImList
isImmutableList(
data: any
): boolean
Returns true
if data is of type Immutable.List
. Otherwise false
.
aliases: isImMap
isImmutableMap(
data: any
): boolean
Returns true
if data is of type Immutable.Map
. Otherwise false
.
aliases: isImOrderedMap
isImmutableOrderedMap(
data: any
): boolean
Returns true
if data is of type Immutable.OrderedMap
. Otherwise false
.
aliases: isImOrderedSet
isImmutableOrderedSet(
data: any
): boolean
Returns true
if data is of type Immutable.OrderedSet
. Otherwise false
.
aliases: isImSeq
isImmutableSeq(
data: any
): boolean
Returns true
if data is of type Immutable.Seq
. Otherwise false
.
aliases: isImSet
isImmutableSet(
data: any
): boolean
Returns true
if data is of type Immutable.Set
. Otherwise false
.
aliases: isImSetSeq
isImmutableSetSeq(
data: any
): boolean
Returns true
if data is of type Immutable.Seq.Set
. Otherwise false
.
aliases: isImStack
isImmutableStack(
data: any
): boolean
Returns true
if data is of type Immutable.Stack
. Otherwise false
.
isLength(
data: any
): boolean
Returns true
if value is a valid array-like length. Otherwise false
.
isNil(
data: any
): boolean
Returns true
if value is null
or undefined
. Otherwise false
.
isNumber(
data: any
): boolean
Returns true
if value is classified as a Number
primitive or object. Otherwise false
.
isObject(
data: any
): boolean
Returns true
if value is the language type of Object
. Otherwise false
.
isString(
data: any
): boolean
Returns true
if value is classified as a String
primitive or object. Otherwise false
.
isSymbol(
data: any
): boolean
Returns true
if value is classified as a Symbol
primitive or object. Otherwise false
.
toFinite(
data: any
): number
Converts value to a finite number.
toInteger(
data: any
): number
Converts value to an integer.
toNumber(
data: any
): number
Converts value to a number.
Note: Unlike Lodash, this method is immutable and does NOT mutate data.
set(
data: Array | Immutable.List | Immutable.Map | Object,
path: string,
value: any
): Array | Immutable.List | Immutable.Map | Object
Sets the value at path of data. If a portion of path doesn't exist, it's created. When creating path, this method will preserve the parent data type. Therefore, Immutable instances will be created for Immutable parents and mutable Object/Array instances will be created for mutable parents. Arrays and Lists will be created for index properties while Objects and Maps are created for all other missing properties. Use setWith
to customize path creation.
Note: Unlike Lodash, this method is immutable and does NOT mutate data.
setWith(
data: Array | Immutable.List | Immutable.Map | Object,
path: string,
value: any,
?customizer: (
value: any,
key: string,
data: Array | Immutable.List | Immutable.Map | Object,
) => Array | Immutable.List | Immutable.Map | Object
): Array | Immutable.List | Immutable.Map | Object
This method is like set
except that it accepts customizer which is invoked to produce the objects of path. If customizer returns undefined path creation is handled by the method instead.
Note: Unlike Lodash, this method is immutable and does NOT mutate data.
unset(
data: Array | Immutable.List | Immutable.Map | Object,
path: string
): Array | Immutable.List | Immutable.Map | Object
Removes the property at path of data. This method returns a new instance.
Note: Unlike Lodash, this method is immutable and does NOT mutate data.
update(
data: Array | Immutable.List | Immutable.Map | Object,
path: string,
updater: (value: any) => any
): Array | Immutable.List | Immutable.Map | Object
This method is like set
except that accepts updater to produce the value to set. Use updateWith
to customize path creation. This method returns a new instance.
Note: Unlike Lodash, this method is immutable and does NOT mutate data.
updateWith(
data: Array | Immutable.List | Immutable.Map | Object,
path: string,
updater: (value: any) => any,
?customizer: (
value: any,
key: string,
data: Array | Immutable.List | Immutable.Map | Object,
) => Array | Immutable.List | Immutable.Map | Object
): Array | Immutable.List | Immutable.Map | Object
This method is like update
except that it accepts customizer which is invoked to produce the objects of path. If customizer returns undefined path creation is handled by the method instead. This method returns a new instance.