Releases: dhershman1/kyanite
Releases · dhershman1/kyanite
v0.14.0
With v0.14.0 out the door I think it's time to seriously look into and start considering a 1.0 launch.
BREAKING CHANGES
- Removed
memoizeWith
since it was more of a POC from ramda's code base- I will most likely look into re adding it with my own code if the need is there right now I just don't see it
New
- Added
startsWith
function, which should work just likeendsWith
but with the beginning of a list.
Fixed
isPrime
should handle edge cases like 0 a correctly now and return false instead of 0 (#121)endsWith
signature to reflect list instead of Array
v0.13.0
BREAKING CHANGES
find
has gone back to returningundefined
instead ofnull
for not found values
New
- Added
fold
function which runs areduce
without an initial accumulator - Added the
propOr
Function which returns the value of a property from an object or the provided default value - CircleCI will now handle publishing the documentation to the
gh-pages
branch
Fixed
- Documentation for functions showing up
deprecated
when they were actually not - Documentation for
join
moved it to theArray
Category, and fixed a typo in it's example - Documentation for
apply
showed incorrect curry examples
Improved
min
is now using thefold
function- Finally improved the documentation process so now documentation changes won't flood the PRs!
v0.12.2
Click Here to view the milestone
New
- Added
propEq
function which takes a object property value and compares it against a given value to see if it's equal - Added
notEq
function which checks if the provided values are not equal to each other
Fixed
- The documentation for
and
should now reflect correctly on the return and params
v0.12.1
Fixed
pathOr
andpath
breaking onnull
value
v0.12.0
Breaking Changes
ascend
anddescend
are no longer curried since they're meant to be sort based functionality and will always be called with their 2 params- The reasoning behind this is primarily performance, when using the function as intended there is a significant drop in performance
- Note:
ascendBy
anddescendBy
have kept their curried status
New
- Added a
median
function which gets the median of an array of numbers - Added a
mod
function which behaves like a modulo would in actual mathematics - Added
somePass
function which takes an array of functions and passes a value through them until one passes or the end is reached - Added
everyPass
function which takes an array of functions and passes a value through until one fails or the end is reached - Added
chunk
function which chunks an array of data into smaller arrays
Improved
pipe
&pipeP
are now using the Kyanitereduce
giving them a small performance boost
Fixed
- Fixed a lot of signature displays through out the docs
- Documentation Fixes:
addIndex
description tweaksmemoizeWith
added RamdaJs credit since it's based mostly off their versionlt
,lte
,gt
, andgte
all had invalid examples in their documentation. This is addressed nowfind
anddeepEq
examples were incorrect
v0.11.3
New
- Added
sum
function which takes an array of numbers and adds them together- TS type added
- Added
product
function which takes an array of numbers and multiplies them together- TS type added
- Switched over to Circleci and Codecov
Fixed
- TS types
- Added
addIndex
type - Added
memoizeWith
type
- Added
addIndex
Documentationslice
Documentation
v0.11.2
New
- Added a
addIndex
function which can be used onmap
,filter
, orreduce
like functions to have them return the index and full list back to your callback function - Re added the
amend
function (for now?) - Added
memoizeWith
function
Fixed
- Some slight documentation tweaks and fixes
v0.11.0 (0.11.1)
Note: Had to release as 0.11.1 because I was a dumb with the beta version
Breaking Changes
factors
output has changed to be inclusive, it also works with negative numbers now- Example:
factors(-36) // => [1, 2, 3, 4, 6, 9, 12, 18, 36]
- You can easily get negative factors with
negate
andmap
- e.g:
map(negate, factors(-36)) // => [-1, -2, -3, -4, -6, -9, -12, -18, -36]
- e.g:
- Example:
isEmpty
will now throw a type error for unsupported typesisEmpty
supports the same types ascount
as well asnull
andundefined
- e.g:
isEmpty(1) // => TypeError: Unsupported type: Number
juxt
functionality changes. It's now a 2 param curried function that takes arrays for data- e.g:
juxt([Math.min, Math.max], [3, 4, 9, -3]) // => [-3, 9]
- Also moved it to be in the array category
- e.g:
ap
re written to be a proper S combinator function- e.g:
ap(x => y => x + y, z => z * 2, 2) // => 6
- e.g:
- Removed
amend
function since it's really just a limitedObject.assign
no real use for it
New
reduce
now supports iterable types likeMap
andSet
- Added
inc
Function which increases a number by 1 - Added
dec
Function which decreases a number by 1 - Added
isZero
Function which checks if the number passed in is equal to the number zero - Added
size
Function which takes a map or set data type and returns its size- Note: It is currently categorized under
Function
which may change in the future as I add more Map|Set friendly functions
- Note: It is currently categorized under
- Added
count
Function which takes any collection based data and counts the values within - Added
reduced
Function which should be used withreduce
orreduceRight
as a short circuit for the function (see improved) has
is now generic forArray
,String
,Object
,Map
, andSet
data types- Added
within
Function which acts likebetween
but is exclusive of the numbers provided
Improved
isEmpty
now supportsMaps
andSets
- Slight increase in
partition
performance - Slight increase in
omit
performance - Added import example onto each function, so it's visible within the examples
factors
had some typos in its docs- Cleaned up
always
documentation - Cleaned up
identity
documentation examples - Cleaned up
type
to be more lightweight - Completely re wrote
reduce
andreduceRight
- No breaking changes
- Both functions now support
reduced
which will short circuit out of the iteration and return the value - This is a good strategy for performance boosts
reduce
,reduceRight
, andreduced
are all using the@@transducer
protocol- Moved
every
,some
,reject
,filter
, andfind
to use this new flow giving them decent performance improvements - Tweaked
height
function for a tiny performance boost
v0.11.0-beta.6
important: The documentation at https://kyanite.dusty.codes is not reflective of beta changes
You can install the beta with npm i kyanite@beta
New
- Added
within
Function which acts likebetween
but is exclusive of the numbers provided
Improved
has
is now generic forArray
,String
,Object
,Map
, andSet
data types- Tweaked
height
function for a tiny performance boost
v0.11.0-beta.5
Introduced a transducer setup for the reduce functions, allowing the use of reduced
to help improve performance across the board.
important: The documentation at https://kyanite.dusty.codes is not reflective of beta changes
You can install the beta with npm i kyanite@beta
New
- Added
reduced
Function which should be used withreduce
orreduceRight
as a short circuit for the function (see improved)
Improved
- Cleaned up
type
to be more lightweight - Completely re wrote
reduce
andreduceRight
- No breaking changes
- Both functions now support
reduced
which will short circuit out of the iteration and return the value - This is a good strategy for performance boosts
reduce
,reduceRight
, andreduced
are all using the@@transducer
protocol- Moved
every
,some
,reject
,filter
, andfind
to use this new flow giving them decent performance improvements