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.
- (nothing yet)
sample
addsundefined
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 withoutmaxRetries
memoize
method
- every regexp now uses
u
flag, which could positively affect these functions: escapeRegExp, formatDate and isNumericString - small docs improvements
replaceDeep
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 cases
serialize
custom serializers now allow things likeDate
(that defines .toJSON) to be supported as the user would expect
replaceDeepByFn
method for more granular control over replacing values.replaceDeep
is a simplified wrapper over the new functiontrim
,trimStart
, andtrimEnd
methods
- upgraded some jsdocs
waitFor
method was upgraded:- now it supports Promises
- the check fails only if
undefined
,null
orfalse
is given - function signature is changed (object options)
maxTries
option is added to have a limit of tries unrelated to time- no wait before the initial check
toggle
methodsample
methodsamples
methodshuffle
method
- added
waitFor
unit tests - added missing build files to repo (missing since 2.0.0)
round
method
- code is compiled to es2020 due to
bigint
usage, if you are not usingserialize
ordeserialize
you can still transpile this lib yourself
serialize
methoddeserialize
methodreplaceDeep
method
removeCommonProperties
method
replace
method replacing everything with bunch ofundefined
when empty map is given
formatDate
method
- deps update
later
method
compareProps
method
compareArrays
methodunique
method
escapeRegExp
methodreplace
methodsortProps
method
safe
method
- upgraded some jsdocs
- upgraded deps
ensureDate
methodensurePrefix
methodensureSuffix
methodensureTimestamp
methodstripPrefix
methodstripSuffix
method
isNumericString
methodoccurrences
method
isEmpty
throwsTypeError
instead ofError
on primitives
isPlainObject
method
- changed
isEmpty
to throw on primitives makeArray
is renamed toensureArray
wait.sync
is extracted aswaitSync
- removed
pack
method - removed
pages
method - replaced
merge.UNSET
withmergeUNSET
- replaced
mapValues.REMOVE
withmapValuesUNSET
- added some examples to docs
- in jsdoc added a warning to get/set and family about using them with TS
- added missing docs
- fixed some jsdoc strings (so they contain types for non-ts users)
- fixed typedoc warnings
- README update, preparing to rename library
- exported some typings
- library template bump
pull
method
throttle
with multiple timeouts working more as intended withopts.leading
= true
- first timeout of
throttle
with multiple timeouts repeated two times
throttle
with trailing call not respecting multiple timeoutstruthy
typings
- missing
mostFrequent
export
mostFrequent
method
capitalize
method
throttle
reset not resetting array of times
throttle
method
ensureError
method
- new methods not exported
scale
,truthy
,waitFor
,cap
methods
- improved types for
insertSeparator
- added/improved jsdoc to
mapAsync
,match
,merge
,noop
,rethrow
seq
no longer uses nor exports custom error
wait
methodmapAsync
method
- missing
merge
export
merge
method
REMOVE
special property inmapValues
now uses Symbols if available
noop
andrethrow
methods
seq
with early break mode
- upgraded typings for
last
- upgraded typings for
pick
,omit
,pack
,sortBy
- upgraded typings for sortBy
seq
method
- upgraded typings for pick, omit, get, getMultiple, mapValues, set, setImmutable, sortBy
- upgraded typings for mapValues
- fixed invalid name in
types
package.json field - bumped some deps
- added missing testcase for mapValues
match
methodpack
methodsortBy
method
makeArray
method
- add basic TypeScript support
- replaced mocha with jest
- replaced jsdoc with typedoc
- small README update
pages
export
pages
method
remove
method
- CommonJS code still not working properly
REMOVE
enum from mapValues attached to the function instead of extra export- better native ESM support
- CommonJS code not working properly
- native ESM support
- upgraded deps
- support for deep imports like:
bottom-line-utils/get
, usebottom-line-utils/src/get
orbottom-line-utils/dist/get
for now
- dev deps audit issues
- deps audit issue, related to development (eslint), not the code (0.6.2 is not released to npm as a result)
- deps audit issue, related to docs generating, not the code (0.6.1 is not released to npm as a result)
pick
andomit
methods
- babel config for
dist
transpiled code upgraded, to transpile less features
coalesce
method
setImmutable
not allowing number as path and allowing other incorrect/unexpected values as paths
insertSeparator
method
- added missing export of
setImmutable
to index
- missing labels in
set
tests - disabled removing unused labels in tests
- improved one
set
test
setImmutable
method
set
function- @todo for get/set methods, that should test and support correctly Sets, Maps, etc.
- dev stuff: linter, editorconfig
- upgraded library template
- switched code to es modules
- linted code
- fixed
mapValues
calling the method twice
- README update
get
functiongetMultiple
functionisEmpty
functionlast
functionmapValues
function