Changelog
Changelog
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.
radashi@12.7.0 - 2025-10-17
Details
Added
- Add
identityfunction in 38e2f37 - Add
isArrayEqualfunction in 095f2b0 - Add
isMapEqualandisSetEqualfunctions in 0fa566a - Add
getOrInsertandgetOrInsertComputedin 4675076 - (objectify) Add
indexparameter to getKey and getValue functions in 1506472 - Add absoluteJitter and proportionalJitter in ebea7d7
Changed
- Preserve tuple type in
min/maxeven with agetterin c72a1c4 - Use
identityas default getter forsortin df55a6e
radashi@12.6.2 - 2025-08-20
Details
Fixed
- (range) Ensure
endparameter works when 0 in 9c8ffa0
radashi@12.6.1 - 2025-08-09
Details
Fixed
- (group) Use
Object.create(null)for the returned object in 5db8c37
radashi@12.6.0 - 2025-06-26
Details
Added
- Add
assertfunction in c318129 - Add
escapeHTMLfunction in 9ad9c0b - Add
queueByKeyfunction in fb30703 - Add
Semaphoreclass in 5f733db - Add
parseDurationandparseQuantityfunctions in 95e1336 - Add
promiseChainfunction in f64fa07
Changed
- (group) Pass array index to callback in 6d66395
Fixed
- (selectFirst) Filter out null from return type when no condition is given in 73cb995
- (isIntString) Prevent incorrect type narrowing in fafd68a
radashi@12.5.1 - 2025-05-23
Details
Fixed
- (set) Avoid mutating nested objects without first cloning them in fc3c7c9
- (set) Prevent prototype pollution in 8147abc
radashi@12.5.0 - 2025-05-15
Details
Added
Changed
- (cluster) Use tuple types for common size constants in ca2abdd
Fixed
- (mapify) Pass the actual array index to callbacks in a83a72d
- (cluster) Avoid infinite loop when size is
0in 214ce5d
Types
- Handle object types in CompatibleProperty in 7f72da3
radashi@12.4.0 - 2025-03-16
Details
Added
- Add
isBigIntfunction in 05ae69a - Add
removefunction in e29c59e - Add
isAsyncIterablefunction in d3c69d7 - Add
memoLastCallfunction in 5848451 - Add
toResultfunction in 66299bd
Types
reduceaccumulator type when no initial value is given in 7a14bf6
radashi@12.3.4 - 2025-01-26
Details
Fixed
- (reduce) Align with native reduce behavior + perf improvements in 1bc47b7
radashi@12.3.3 - 2025-01-11
Details
Types
- Let
mapcallback return aPromiseLikeobject in 1c679b3
radashi@12.3.2 - 2025-01-10
Details
Fixed
- (shuffle) Correction to Fisher-Yates implementation in 5df2dc8
radashi@12.3.1 - 2025-01-07
Details
Fixed
- (parallel) Avoid range error with empty array in f16445d
radashi@12.3.0 - 2024-12-01
Details
Security
- Pin cspell version in a33e5a4
Added
- Add
signaloption toretryandparallelin 73a4e90 - Add
isClassfunction in 2d1b3b2 - Add
isNullishfunction in 7470f9d - Add
cartesianProductfunction in 84dd509 - Add
isUndefinedfunction in d527d98 - Add
timeoutfunction in 6a0ba7e - Add
dedentfunction in 14132e5
Changed
- (parallel) Clamp the limit between 1 and array length in b4854f6
radashi@12.2.3 - 2024-11-12
Details
Fixed
- (all) Be more lenient, reduce memory usage in e6accd8
radashi@12.2.2 - 2024-11-10
Details
Types
- Export
PromiseWithResolverstype in a2a5da1 - Improve
isEmptysignature in b95cb73 - Narrow return type of
firstandlastin 665ba72 - Improve
drawsignature for non-empty arrays in fee290a
radashi@12.2.1 - 2024-11-09
Details
Types
- Improve signature of
shakein 8fe71d8 mapValuesindex signature handling in 2ade9be- Let
zipToObjectreceive readonly arrays in 2c68597
radashi@12.2.0 - 2024-11-01
Details
Added
- Add
isIntStringfunction in fa500d3 - Add
isPlainObjecttype guard in ddae618 - Add
roundfunction in eadf5d0 - Add
mapifyfunction in b82b292 - Add
unzipfunction in dc0a546 - Add
flipfunction in 66a71b0 - Add
oncefunction in 3401240 - Add
lerpfunction in 072778f - Add
isMapfunction in 4f2e48c - Add
isRegExpfunction in 58e7d96 - Add
isSetfunction in 73e70c1 - Add
isWeakSetfunction in aacd5be - Add
isWeakMapfunction in f32cfd5 - Add
traversefunction in 2231c0e - Add
cloneDeepfunction in 46ee7c7 - Add
castMappingfunction in 27382bb - Add
clampfunction in 7f4a449 - Add
castArrayandcastArrayIfExistsin 8758ed7 - Add
castComparatorfunction in ddc114c - Add reverse argument to
castComparatorin 1d7937e - Add
isBooleanfunction in adc419d - Add
noopandalwaysfunctions in eb77c8f - Add
similarityfunction in dac01cc - (throttle) Add
trailingoption in 0480a16 - (throttle) Add
triggermethod to ThrottleFunction in ac3f6d9 - Add
withResolversponyfill in 79f1ac7 - (debounce) Add
leadingoption in 942057e - Add isResult, isResultOk, and isResultErr functions in 08d4329
- Add
isErrorfunction in c772099
Changed
- (intersects) Let
identitycallback return any value in 49a0dc4 - (unique) Let
toKeyreturn any kind of value in 3fd8446 - (select) Let
conditionbe undefined in dc74ace - Replace
matchKeyswithfilterKeyin 3652c3e - (filterKey) Accept null/undefined filter in b10ad10
- Add selectFirst in f792633
- (pick) Accept a callback for advanced picking in b9dc648
- (mapify) Provide an index argument to the callbacks in f010ad4
- Use native AggregateError if available in 5668b85
Fixed
- (retry) Stop using
range()in 5d60893 - (assign) Remove inefficiencies in loop in 99274cc
- (set) Avoid false positive of array index in path in ff0c3cf
- (shake) Stop using
Omiton return type and givefilterparameter a safer type in e6f75aa - (series) Allow
itemsparam to be a readonly array in 5114eb2 - Copy
is-plain-objimplementation in 08a18e2 - Avoid
isObjectfor internal use in 3b6a67c - (isArray) Work with
readonly T[]types in 88c12b6 - (keys) Improve perf by avoiding excessive array allocations in f0e06ba
- Ensure
mapValuesandgroupwork together in 630f9ef - Use typeof in
isFunctionin 6ad96f4 toIntandtoFloatshould not throw on symbols in cafc7fc- (toggle) Handle falsy input as expected in 547c6f3
- (assign) Fix overriding a nested object with null in 30c42e9
- (crush) Fix handling of period-containing property names in a5e5180
- (toggle) Use -1 as index for
toKey()with toggleditemin 10ee12d - (pascal) Handle camel-cased strings correctly in a1c8822
Performance
- Avoid excessive array allocation in
forkin 88807cc - Make
templatefaster in 8e4eb5e - (series) Avoid object spread in loop in d3b6331
- (cluster) Avoid an array allocation in 978789d
- (replace) Avoid creating 2 intermediate arrays in 20daf2a
- (merge) Avoid arrow function in loop and avoid calling user-provided key generator more than once per item in 1437d19
- (replaceOrAppend) Avoid creating 2 intermediate arrays in 26ecbc7
- (shuffle) Use the Fisher-Yates algorithm in 27b1710
- (merge) Improved handling of large arrays in d8f7281
Types
- Let
filterKeyacceptkey: keyof anyin 73ac8bb - Add
TryitResult<T>type in f044364 - Add
MemoOptions<T>type in 877a1e4 - Export
UppercaseKeysandLowercaseKeystypes in 96b28b9 - Let
zipaccept readonly arrays in f7d93cc - Improve the
isArrayreturn type forunknowninput type in ef14440 selectreturn type when no condition is defined in ab76d65- Add
FilteredKeystype in 6a6f899 - Improve the return type of
filterKeyin bc298c6 - Handle tuples in
isArrayreturn type in 9257535 - Make
selectmore option-friendly in c9cfcd0 - Let
shiftaccept a readonly array type in 5e19d66 - Remove type constraint for mapped array passed to
sumin dea0f50 - Make
assignreturn type more accurate + addAssigntype in f1e4957 - Add Ok/Err/Result/ResultPromise types in f5db070
- Align
isPromisereturn type with its logic in d6e0dff - Publicize the
Falsytype in 736d334 - Avoid inferring
memoreturn type fromkeyoption in 7b4656e - Allow readonly array in
omitfunction in a88fa1b