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()*TODOhintidentity()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 | ListCreates 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 | ListCreates 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 | ListThis 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 | ListThis 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.ListCreates an slice of data with n elements dropped from the beginning.
dropRight(
data: Array | Immutable.List,
n: number
): Array | Immutable.ListCreates 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.ListCreates 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.ListCreates 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
): anyIterates 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 | ObjectIterates 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 | ObjectThis 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
): booleanChecks 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
): booleanThis 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 | ObjectCreates 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) => anyUsed to compose multiple functions together in to a single function
isArray(
data: any
): booleanReturns true if value is an Array. Otherwise false.
isArrayLike(
data: any
): booleanReturns 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
): booleanReturns true if value is classified as a boolean primitive or object. Otherwise false.
isFunction(
data: any
): booleanReturns true if data is classified as a function. Otherwise false.
aliases: isIm
isImmutable(
data: any
): booleanReturns true if data is an immutable data type from immutable js. Otherwise false.
aliases: isImIndexedSeq
isImmutableIndexedSeq(
data: any
): booleanReturns true if data is of type Immutable.Seq.Indexed. Otherwise false.
aliases: isImIterable
isImmutableIterable(
data: any
): booleanReturns true if data is of type Immutable.Iterable. Otherwise false.
aliases: isImKeyedSeq
isImmutableKeyedSeq(
data: any
): booleanReturns true if data is of type Immutable.Seq.Keyed. Otherwise false.
aliases: isImList
isImmutableList(
data: any
): booleanReturns true if data is of type Immutable.List. Otherwise false.
aliases: isImMap
isImmutableMap(
data: any
): booleanReturns true if data is of type Immutable.Map. Otherwise false.
aliases: isImOrderedMap
isImmutableOrderedMap(
data: any
): booleanReturns true if data is of type Immutable.OrderedMap. Otherwise false.
aliases: isImOrderedSet
isImmutableOrderedSet(
data: any
): booleanReturns true if data is of type Immutable.OrderedSet. Otherwise false.
aliases: isImSeq
isImmutableSeq(
data: any
): booleanReturns true if data is of type Immutable.Seq. Otherwise false.
aliases: isImSet
isImmutableSet(
data: any
): booleanReturns true if data is of type Immutable.Set. Otherwise false.
aliases: isImSetSeq
isImmutableSetSeq(
data: any
): booleanReturns true if data is of type Immutable.Seq.Set. Otherwise false.
aliases: isImStack
isImmutableStack(
data: any
): booleanReturns true if data is of type Immutable.Stack. Otherwise false.
isLength(
data: any
): booleanReturns true if value is a valid array-like length. Otherwise false.
isNil(
data: any
): booleanReturns true if value is null or undefined. Otherwise false.
isNumber(
data: any
): booleanReturns true if value is classified as a Number primitive or object. Otherwise false.
isObject(
data: any
): booleanReturns true if value is the language type of Object. Otherwise false.
isString(
data: any
): booleanReturns true if value is classified as a String primitive or object. Otherwise false.
isSymbol(
data: any
): booleanReturns true if value is classified as a Symbol primitive or object. Otherwise false.
toFinite(
data: any
): numberConverts value to a finite number.
toInteger(
data: any
): numberConverts value to an integer.
toNumber(
data: any
): numberConverts 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 | ObjectSets 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 | ObjectThis 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 | ObjectRemoves 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 | ObjectThis 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 | ObjectThis 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.