Releases: the-spyke/undercut
Releases · the-spyke/undercut
v0.6.1
v0.6.1 (2020-12-18)
🚀 New Feature
💅 Polish
📝 Documentation
- Add CLI example to packages page (11851a3)
- Fix broken links (61b3bd0)
- Fix broken links (e338c07)
- Improve pull docs (f81366a)
- Improve pull sources docs (bf14786)
- Improve push docs (52fd5e2)
- Improve utils docs (bfd18b0)
- Mention blog in tutorials (31893ca)
- Remove excess variable in CLI examples (7a15716)
- Remove excess word (f60ae74)
- Remove question about logo from faq (c005a28)
- Rewrite all package descriptions and readmes (c38ff1a)
- Update core functions docs (4e06f8e)
- Update package descriptions (11ef1b1)
- Update text about package format and mention RMS (715b82e)
🏠 Internal
- ci: Add build matrix for tests step (6a0dd5f)
- ci: Add version to build artifacts (80185d6)
- ci: Allow online for Yarn only if there is no cache (ef289c1)
- ci: Bump cache version (d336858)
- ci: Extract changelog tests into a separate job (1e2976e)
- ci: Fix build and remove build matrix (c8290bc)
- ci: Fix env variable for cache (ef642e0)
- ci: Fix mising env variable interpolation (76fb528)
- ci: Fix release package name (be28c4c)
- ci: Fix release version generation (bff11f9)
- ci: Label all node executors (1a124a5)
- ci: Remove gh-pages filter (09ac4d8)
- ci: Remove test step from build command (1f5e156)
- ci: Remove unused coverage parameter from build job (43cece6)
- ci: Rename check_all and packages job (0d1d316)
- ci: Update Codecov orb to 1.1.1 (b8d4315)
- ci: Use RAM disk for jobs (6d14ad0)
- ci: Use workspace for storing release version (b588d0e)
- collections: Fix entry exports test (d35774a)
- deps: Add json to root deps (4c5caaf)
- deps: Fix Terser issues with Docusaurus (aa5069c)
- deps: Replace "babel-eslint" with "@babel/eslint-parser" (f682ddb)
- deps: Update all deps (49e94aa)
- deps: Update deps (9c4019d)
- deps: Update primary dependencies (f9c2640)
- eslint: Fix JSX parsing for website (c5483b3)
- website: Add Babel config just in case (9d53d19)
- website: Reformat sidebar (d0b27c5)
- website: Remove support page (e15b706)
- website: Update Docusaurus to 2.0.0-alpha.59 (73573d5)
- Add RMS Compliant badge (15f07de)
- Clear dep version specifiers in private packages (e61241c)
- Remove S from broken change title in changelog (38826b8)
- Update license date (a94eec0)
v0.6.0
v0.6.0 (2020-07-21)
⚠️ BREAKING CHANGES
- utils: Add head/headTail/tail Iterable utils, replace peekIterable
🚀 New Feature
- utils: Add "getObjectType" utility (7674b9a)
- utils: Add "isPromise" utility (327de60)
- utils: Add Random utilities (b0c345d)
- utils: Add head/headTail/tail Iterable utils, replace peekIterable (4d927c0)
- object propetries filter/map utilities (cf52b30)
💅 Polish
- utils: simplify some language utilities (c3b9820)
📝 Documentation
- Document getObjectType and isPromise utilities (3357b0a)
- Improve docs for createIterable and getIterator utilities (5c03584)
- Improve language utilities page layout (e17d311)
- add faq page (54b7528)
- add object utilities docs (460704c)
- improve commit type docs (48c28f8)
- sort commit types, add release to types (2f9fd82)
🏠 Internal
- ci: Allow overriding script name for tests on CircleCI (dbe55dc)
- deps: Add "promise-mock" to Utils dev deps (a13fb98)
- deps: Update @spyke/eslint-config to 1.1.0 (535b569)
- deps: Update all deps (653c8de)
- deps: remove jest-unit from workspaces (ceea185)
- utils: Add tests for createIterable and getIterator (8c02d7b)
- utils: Remove noop usage from language tests (7efab45)
- utils: Use "promise-mock" for Promise tests (cd560e8)
- utils: Use real temp folder for Git tests (98ed164)
- utils: polish language tests (426c781)
- utils: simplify language tests (09eb656)
- website: Remove excess Docusaurus settings for Netlify deployment (c05829b)
- website: Replace references to GitHub Pages with Netlify (d7853df)
- website: add a link for object utils (b54dc6e)
- website: add netify bage (df066b0)
- website: fix target blank links (22b0a56)
- website: improve support page links (bc54245)
- website: update docusaurus (d81cc9c)
- website: use latest for the link to dev.to (901f868)
- Add code of conduct document (974b993)
- Add junit.xml to gitignore (d94c862)
- Allow to run integration tests independently (8cbc74c)
- Fix JUnit crash by restoring correct CWD after tests (70e607c)
- Replace warning sign in changelog template (b08804c)
- Set YAML indentation to 2 spaces (9ad833d)
- add conventional commits flag to the release script (961160f)
- add custom changelog preset (1d4d9ae)
- remove first release link (9e7a936)
- remove trailing slash from homepage address (7a8649a)
v0.5.1
v0.5.0
Undercut
moved away from a single package to a set of independent scoped packages:
@undercut/pull
@undercut/push
@undercut/utils
There're also 3 new precompiled packages for browsers and Node:
@undercut/cli
@undercut/node-10
@undercut/web-2019
Added
- Added
collect
operation. Much likereduce
, but for filling items into a mutablecollection
. No need to return a value from the functor. - Added predefined
collect
variants:collectArray
,collectMap
,collectObject
, andcollectSet
. - Added Coroutine utilities.
- Added new
delay
andrethrow
utilities. - An ability of
composeOperations
to take a function instead of an array:() => Array<Operation>
. This allows dynamic composition and having some shared state in a closure. - Precompiled packages for browsers and Node.
@undercut/cli
package for using in a shell for processing strings with JavaScript.pullValue
andpushValue
core functions running the pipeline and returning a single item orundefined
from it. Basically, it's apull/push
with target implicitly set totoValue()
.- Added Iterable utilities back to the
utils
package. - Additional language utilities:
hasOwnProps
,isArrayBuffer
,isCoroutine
,isDate
,isError
,isMap
,isNegative
,isNegativeOrZero
,isNumberValue
,isPlainObject
,isPositive
,isPositiveOrZero
,isRegExp
,isSet
,isWeakMap
,isWeakSet
. - Added
flatMap
recursive operation andgetRecursiveMapper
iterable utility for working with nested data. - Added predefined
flattenArrays
operation for convenience. - Added back
peekIterable
utility. - Added
buffer
andbufferAll
operations. - Added
composeComparators
utility.
Changed
- [BREAKING] Deprecate
undercut
package in favor of scoped versions@undercut/*
. - [BREAKING] Renamed
makeReiterable
intocreateIterable
. - [BREAKING] Renamed
makeUnclosable
intoasUnclosable
. - [BREAKING] Renamed the old
delay
intowait
. - [BREAKING] Renamed
unwrap
intounwrapPromise
. - [BREAKING] Renamed
pullItems
andpushItems
intopullArray
andpushArray
. - [BREAKING] Unified pull targets so all of them should be called first, like
toConsumer
did and push targets too. - [BREAKING] Changed
toValue
to not throw on empty sequences or >1 item. It just returns the first item orundefined
. - [BREAKING] Replaced
closeIterator
,closeObserver
,initializeObserver
with generic Coroutine utilities. - [BREAKING] Changed
flatten
to acceptpredicate
anddepth
instead of justdepth
to be able to flatten different types of iterables. - [BREAKING] Renamed
toPushLine
pull target intotoObserver
. - [BREAKING] Renamed
negate
intonot
andnegateSign
intonegate
, they now work with values instead of functions. - [BREAKING] Refactored
asc
anddesc
functions to return a Comparator instead of an array.
Removed
- [BREAKING] Removed utilities from
pull
andpush
package exports.
Fixed
take
operations iteraited/observed a one excess item before exiting.
v0.4.0
This release adds Push Lines
and makes API more consistent in general.
Added
- Push Lines!
- Array utility
filterInPlace
. - Iterable utility
makeReiterable
. - Language utilities:
isIterator
,isObjectValue
,isObserver
. - Observer utilities:
closeObserver
,initializeObserver
,makeUnclosable
. - Promise utilities:
delay
andunwrap
. toPushLine
pull target.
Changed
- [BREAKING]
toValue
pull target now throws on 0 items (you've expected a value, but got an empty sequence). - [BREAKING] Removed Iterable utilities from
utils
entry. - [BREAKING] Renamed back
createPullLine
into justpullLine
. - [BREAKING] Renamed
isNil
utility toisNullish
(better consistency with ES naming like "Nullish Coalescing Operator"). - [BREAKING] Replaced
isReverse
parameter of thesort
operation withorder
parameter acceptingasc/desc
functions. - [BREAKING] Replaced
tryCloseIterator
helper withcloseIterator
. - Optimized
interleave
operation.
Removed
- [BREAKING] Removed
reverseComparator
utility.
v0.3.0
Dependencies were updated to resolve GitHub security alerts.
Added
toConsumer()
pull target. Sends items to a consumer function.toNull()
pull target. A/dev/null
analogue.
Changed
- [BREAKING] Relaxed requirements for number arguments in
chunk()
,flatten()
,nth()
,skip()
, andtake()
. Now they may take a fractional number.flatten()
behavior is also more inline withArray.prototype.flat()
.
v0.2.0
Added
chunk()
pull operation. Splits a sequence into arrays of N items.composeOperations()
helper. Allows to compose a new operation from several existing.differenceBy()
pull operation. Same asdifference()
, but with aselector
as the first argument.flattenIterables()
pull operation. Classicflatten()
operates only on arrays. Both now supportdepth
parameter.getIterator()
helper.interleave()
pull operation. Joins sequences by alternating their values.intersectionBy()
pull operation. Same asintersection()
, but with aselector
as the first argument.join()
pull operation. Works the same way asArray.prototype.join()
.range()
pull source. Creates an iterable of numbers in range[start, end)
with optional step.remove()
pull operation. It's an opposite to thefilter()
operation.symmetricDifferenceBy()
pull operation. Same assymmetricDifference()
by accepts aselector
as the first argument.tryCloseIterator()
helper.unionBy()
pull operation. Same asunion()
, but with aselector
as the first argument.uniqueBy()
pull operation. Same asunique()
, but with aselector
as the first argument.
Changed
- [BREAKING] Renamed
pullLine()
intocreatePullLine()
.
Removed
- [BREAKING] Removed
isArray()
lang utility. UseArray.isArray()
instead. - [BREAKING] Removed
peekIterable()
helper.
v0.1.1
v0.1.0
Initial release.
Added
- Pull pipelines through
pull()
andpullLine()
. - Pull operations: append, average, compact, concatEnd, concatStart, count, difference, every, filter, find, findIndex, first, flatten, forEach, groupBy, includes, intersection, last, map, max, min, nth, orderBy, prepend, reduce, reverse, skip, skipWhile, some, sort, sortNumbers, sortStrings, sum, symmetricDifference, take, takeWhile, union, unique, unzip, unzipWith, zip, zipWith.
- Pull targets: toArray, toMap, toObject, toSet, toValue.
- Function utilities: identity, negate, negateSign, noop.
- Language utilities: isArray, isBoolean, isDefined, isFalsy, isFunction, isIterable, isNil, isNull, isNumber, isObject, isString, isSymbol, isTruthy, isUndefined.