Tags: metarhia/common
Tags
Version 2.2.0 Release summary: Applied fixes and improvements to the API, added multiple utility methods to the Iterator API and several utility functions, added table of contents to the documentation. Changelog: Added - A way to limit the internal buffer size of `MemoryWritable` stream. - `common.mkdirpPromise()` function. - `Iterator#apply()` and `Iterator#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()`, and `Iterator#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. Changed - `cryptoPrefetcher()` to throw when `bufSize` is not a multiple of `valueSize`. - `MemoryWritable` internal buffer size is now limited to 8 MB by default. - Signature of `callerFilepath()` to allow passing `RegExp` as depth to be used for filtering of stack frames. - Return value of `cryptoPrefetcher()` now implements the Iterable interface. Fixed - `common.subst()` behavior for @.value@ variables. - `common.callerFilepath()` working incorrectly on paths with colon in them. PR-URL: #343
Version 2.1.0 Release summary: Fixed documentation, added utility methods for Iterator class and filesystem, implemented `MemoryWritable` stream. Changelog: Added: - `rmRecursive()` and `rmRecursivePromise()` functions. - `Iterator#filterMap()` to enable more efficient filter+map. It will only return values from mapper function that do not match the passed filterValue (`undefined` by default). - `Iterator#skipWhile()` to enable skipping elements while predicate holds. - `MemoryWritable` stream implementation. Fixed: - Documentation by marking some methods as private and regenerating with a newer version of `@metarhia/doc`. PR-URL: #296
Version 2.0.0 Release summary: Dropped support for Node.js 6, removed a bunch of deprecated and outdated methods, replaced remaining ES5-style classes with ES6 classes, and added changelog and utility methods for `Iterator`. Changelog: Added: - CHANGELOG.md file. - `Iterator#collectWith()` now returns the provided object. - `Iterator#toObject()` to collect iterable into an Object similar to `Object.fromEntries()`. - `common.iterEntries()`, `common.iterKeys()`, `common.iterValues()` utility methods. Changed: - Expose `AuthenticationStrength`'s `compliance` number property instead of `strength` string. - Replaced ES5-style classes and iheritance with ES6 classes for `Cache` and `EnhancedEmitter`. - Signature of `merger()` in `mergeObjects()` to also contain the merging key. Removed: - Dropped support for Node.js 6. - Outdated `inherits()` method (in favor of `util.inherits()` available in Node.js). - Multiple deprecated functions: - `common.ip2int()` - replace with `common.ipToInt()` - `common.cb()` - replace with `common.once()` - `common.extractCallback()` - replace with `common.unsafeCallback()` - `common.cbUnsafe()` - replace with `common.unsafeCallback()` - `common.cbExtract()` - replace with `common.safeCallback()` - `common.crcSID()` - replace with `common.crcToken()` - `common.generateSID()` - replace with `common.generateToken()` - `common.validateSID()` - replace with `common.validateToken()` - Functions that can be replaced with `util.deprecate()` available in Node.js: - `common.deprecate()` - `common.alias()` Fixed: - Functions `common.clone()`, `common.deleteByPath()`, and `common.mergeObjects()` throwing when used on objects without prototype. PR-URL: #281
PreviousNext