All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Iterator.indices()to simplify iterating over indices of an array.Iterator.last()to return last value of this iterator or provideddefaultValue.Iterator.firstNonNullable()to find first non-nullable value or provideddefaultValue.
common.shuffle()having non-uniform distribution.
2.2.0 - 2020-07-10
- A way to limit the internal buffer size of
MemoryWritablestream. common.mkdirpPromise()function.Iterator#apply()andIterator#chainApply()to improve iterator interaction with chained calls.captureMaxStack()utility to get maximum available stack trace.- Table of contents to documentation.
- Get random element from array:
sample(array). - ECMAScript Modules named exports support.
Iterator#min(),Iterator#max(), andIterator#findCompare()to simplify consumption of iterator in common use-cases (finding minimum, maximum, or using a custom condition appropriately).Iterator#partition()to allow splitting iterator values into multiple arrays.Iterator.zip()- static method for zipping iterators.Iterator#groupBy()to group iterator value into Map by specific keys.
cryptoPrefetcher()to throw whenbufSizeis not a multiple ofvalueSize.MemoryWritableinternal buffer size is now limited to 8 MB by default.- Signature of
callerFilepath()to allow passingRegExpas depth to be used for filtering of stack frames. - Return value of
cryptoPrefetcher()now implements the Iterable interface.
common.subst()behavior for @.value@ variables.common.callerFilepath()working incorrectly on paths with colon in them.
2.1.0 - 2019-06-18
rmRecursive()andrmRecursivePromise()functions.Iterator#filterMap()to enable more efficient filter+map. It will only return values from mapper function that do not match the passed filterValue (undefinedby default).Iterator#skipWhile()to enable skipping elements while predicate holds.MemoryWritablestream implementation.
- Documentation by marking some methods as private and regenerating with a newer
version of
@metarhia/doc(changelog).
2.0.0 - 2019-04-26
- This CHANGELOG.md file.
Iterator#collectWith()now returns the provided object.Iterator#toObject()to collect iterable into an Object similar toObject.fromEntries().common.iterEntries(),common.iterKeys(),common.iterValues()utility methods.
- Expose
AuthenticationStrength'scompliancenumber property instead ofstrengthstring. - Replaced ES5-style classes and inheritance with ES6 classes for
CacheandEnhancedEmitter. - Signature of
merger()inmergeObjects()to also contain the merging key.
- Dropped support for Node.js 6.
- Outdated
inherits()method (in favor ofutil.inherits()available in Node.js). - Multiple deprecated functions:
common.ip2int()- replace withcommon.ipToInt()common.cb()- replace withcommon.once()common.extractCallback()- replace withcommon.unsafeCallback()common.cbUnsafe()- replace withcommon.unsafeCallback()common.cbExtract()- replace withcommon.safeCallback()common.crcSID()- replace withcommon.crcToken()common.generateSID()- replace withcommon.generateToken()common.validateSID()- replace withcommon.validateToken()
- Functions that can be replaced with
util.deprecate()available in Node.js:common.deprecate()common.alias()
- Functions
common.clone(),common.deleteByPath(), andcommon.mergeObjects()throwing when used on objects without prototype.
1.5.0 - 2019-04-12
Symbol.toStringTagproperty toIterator.- All of the missing methods' documentation.
1.4.2 - 2019-03-28
- Issue with circular dependency on
metasyncpackage.
1.4.1 - 2019-03-27
- Unsuccessful attempt at fixing an issue with circular dependency on
metasyncpackage.
1.4.0 - 2019-03-27
- Password authentication test functions accounting for password topologies and popular passwords.
- Recursive
rmdirimplementationrmdirp().
Iterator#includes()working incorrectly for non-number values.
1.3.1 - 2019-03-26
- Browser build.
1.3.0 - 2019-03-22
- Recursive
mkdirimplementationmkdirp(). - Implementation of
pushSame()for arrays. - Simple
Poolimplementation.
duplicate()throwing when used with objects that have no prototype.- Deprecation warnings when using
duplicate()onBuffers.
1.2.1 - 2018-12-11
- Iterating over inherited properties in
mergeObjects(). duplicate()andclone()regression.
1.2.0 - 2018-12-07
Iterator.range()method.crcToken(),generateToken(), andvalidateToken()functions.
crcSID()function in favor ofcrcToken().generateSID()function in favor ofgenerateToken().validateSID()function in favor ofvalidateToken().
- Argument name collision in
validateHash().
1.1.1 - 2018-11-23
Int64Postgres serialization.
1.1.0 - 2018-11-23
- JSON and Postgres serialization to Uint64 and Int64 via methods
toJSON()andtoPostgres(). - Ability to construct
Uint64fromInt64.
1.0.0 - 2018-11-21
- The first stable version of the
@metarhia/commonpackage.