All notable changes to this project will be documented in this file.
The format is based on EZEZ Changelog and this project adheres to Semantic Versioning.
sortByMultiple
methodrace
JSDocrace
methodretry
methodsample
adds undefined
to the result type unless the input is a tuplemerge
return type was a basic intersection, which is not a correct way to represent mergingwaitFor
will reject but call the callback indefinitely if timeout is set without maxRetries
memoize
methodu
flag, which could positively affect these functions: escapeRegExp, formatDate and isNumericStringreplaceDeep
will not mutate anything by default anymore — previously it was wrongly documented as always mutating,
but it was not mutating objects. Mutating behavior can now be enabled and additionally controlled by defining if
instances properties are allowed to be mutated.serialize
] to avoid excessive calls to serializer functions - they are now only called with non-plain objects or
unknown data types, this breaks some rare use casesserialize
custom serializers now allow things like Date
(that defines .toJSON) to be supported as the user would
expectreplaceDeepByFn
method for more granular control over replacing values. replaceDeep
is a simplified wrapper over
the new functiontrim
, trimStart
, and trimEnd
methodswaitFor
method was upgraded:
undefined
, null
or false
is givenmaxTries
option is added to have a limit of tries unrelated to timetoggle
methodsample
methodsamples
methodshuffle
methodwaitFor
unit testsround
methodbigint
usage, if you are not using serialize
or deserialize
you can still
transpile this lib yourselfserialize
methoddeserialize
methodreplaceDeep
methodremoveCommonProperties
methodreplace
method replacing everything with bunch of undefined
when empty map is givenformatDate
methodlater
methodcompareProps
methodcompareArrays
methodunique
methodescapeRegExp
methodreplace
methodsortProps
methodsafe
methodensureDate
methodensurePrefix
methodensureSuffix
methodensureTimestamp
methodstripPrefix
methodstripSuffix
methodisNumericString
methodoccurrences
methodisEmpty
throws TypeError
instead of Error
on primitivesisPlainObject
methodisEmpty
to throw on primitivesmakeArray
is renamed to ensureArray
wait.sync
is extracted as waitSync
pack
methodpages
methodmerge.UNSET
with mergeUNSET
mapValues.REMOVE
with mapValuesUNSET
pull
methodthrottle
with multiple timeouts working more as intended with opts.leading
= truethrottle
with multiple timeouts repeated two timesthrottle
with trailing call not respecting multiple timeoutstruthy
typingsmostFrequent
exportmostFrequent
methodcapitalize
methodthrottle
reset not resetting array of timesthrottle
methodensureError
methodscale
, truthy
, waitFor
, cap
methodsinsertSeparator
mapAsync
, match
, merge
, noop
, rethrow
seq
no longer uses nor exports custom errorwait
methodmapAsync
methodmerge
exportmerge
methodREMOVE
special property in mapValues
now uses Symbols if availablenoop
and rethrow
methodsseq
with early break modelast
pick
, omit
, pack
, sortBy
seq
methodtypes
package.json fieldmatch
methodpack
methodsortBy
methodmakeArray
methodpages
exportpages
methodremove
methodREMOVE
enum from mapValues attached to the function instead of extra exportbottom-line-utils/get
, use bottom-line-utils/src/get
or
bottom-line-utils/dist/get
for nowpick
and omit
methodsdist
transpiled code upgraded, to transpile less featurescoalesce
methodsetImmutable
not allowing number as path and allowing other incorrect/unexpected values as pathsinsertSeparator
methodsetImmutable
to indexset
testsset
testsetImmutable
methodset
functionmapValues
calling the method twiceget
functiongetMultiple
functionisEmpty
functionlast
functionmapValues
function