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
collectoperation. Much likereduce, but for filling items into a mutablecollection. No need to return a value from the functor. - Added predefined
collectvariants:collectArray,collectMap,collectObject, andcollectSet. - Added Coroutine utilities.
- Added new
delayandrethrowutilities. - An ability of
composeOperationsto 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/clipackage for using in a shell for processing strings with JavaScript.pullValueandpushValuecore functions running the pipeline and returning a single item orundefinedfrom it. Basically, it's apull/pushwith target implicitly set totoValue().- Added Iterable utilities back to the
utilspackage. - Additional language utilities:
hasOwnProps,isArrayBuffer,isCoroutine,isDate,isError,isMap,isNegative,isNegativeOrZero,isNumberValue,isPlainObject,isPositive,isPositiveOrZero,isRegExp,isSet,isWeakMap,isWeakSet. - Added
flatMaprecursive operation andgetRecursiveMapperiterable utility for working with nested data. - Added predefined
flattenArraysoperation for convenience. - Added back
peekIterableutility. - Added
bufferandbufferAlloperations. - Added
composeComparatorsutility.
Changed
- [BREAKING] Deprecate
undercutpackage in favor of scoped versions@undercut/*. - [BREAKING] Renamed
makeReiterableintocreateIterable. - [BREAKING] Renamed
makeUnclosableintoasUnclosable. - [BREAKING] Renamed the old
delayintowait. - [BREAKING] Renamed
unwrapintounwrapPromise. - [BREAKING] Renamed
pullItemsandpushItemsintopullArrayandpushArray. - [BREAKING] Unified pull targets so all of them should be called first, like
toConsumerdid and push targets too. - [BREAKING] Changed
toValueto not throw on empty sequences or >1 item. It just returns the first item orundefined. - [BREAKING] Replaced
closeIterator,closeObserver,initializeObserverwith generic Coroutine utilities. - [BREAKING] Changed
flattento acceptpredicateanddepthinstead of justdepthto be able to flatten different types of iterables. - [BREAKING] Renamed
toPushLinepull target intotoObserver. - [BREAKING] Renamed
negateintonotandnegateSignintonegate, they now work with values instead of functions. - [BREAKING] Refactored
ascanddescfunctions to return a Comparator instead of an array.
Removed
- [BREAKING] Removed utilities from
pullandpushpackage exports.
Fixed
takeoperations 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:
delayandunwrap. toPushLinepull target.
Changed
- [BREAKING]
toValuepull target now throws on 0 items (you've expected a value, but got an empty sequence). - [BREAKING] Removed Iterable utilities from
utilsentry. - [BREAKING] Renamed back
createPullLineinto justpullLine. - [BREAKING] Renamed
isNilutility toisNullish(better consistency with ES naming like "Nullish Coalescing Operator"). - [BREAKING] Replaced
isReverseparameter of thesortoperation withorderparameter acceptingasc/descfunctions. - [BREAKING] Replaced
tryCloseIteratorhelper withcloseIterator. - Optimized
interleaveoperation.
Removed
- [BREAKING] Removed
reverseComparatorutility.
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/nullanalogue.
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 aselectoras the first argument.flattenIterables()pull operation. Classicflatten()operates only on arrays. Both now supportdepthparameter.getIterator()helper.interleave()pull operation. Joins sequences by alternating their values.intersectionBy()pull operation. Same asintersection(), but with aselectoras 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 aselectoras the first argument.tryCloseIterator()helper.unionBy()pull operation. Same asunion(), but with aselectoras the first argument.uniqueBy()pull operation. Same asunique(), but with aselectoras 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.