screwdriver 5.7.0 screwdriver: ^5.7.0 copied to clipboard
A dart package aiming to provide useful extensions and helper functions to ease and speed up development.
5.7.0 #
- Support WASM by removing
dart:html
dependency and replacing it withweb
anddart:js_interop
. - Add
reverseIf
extension forList
. - Add
completer
helper function to useCompleter
api in a more concise way.
5.6.0 #
- Add
byNameOrNull
extension on enum. - Add
toFixedString
extension on int. - [BREAKING] Fix
flatMap
extension to behaving correctly. - Iterable extensions:
- Add
flatMapNotNull
extension. - Add
mapNotNull
extension. - Add
mapNotNullIndexed
extension. - Add 'flattenedNotNull' extension.
- Add
- Add
<<
operator extension for List. randomInt
function improvements:- add
seed
option. - Change default max value to max int value allowed by Random.
- add
- Add
reversed
,findByValue
andfindByValueOrNull
map extensions. - Add
plus
,minus
,multiply
,divide
andmod
extensions for num.
5.5.0 #
- Add
hasExactMatch
extension forPattern
andRegExp
. - Add
matchesExactly
extension forString
. - Add
isBlank
,isNotBlank
, andtoMap
extensions forIterable
. - Add
prefix
andsuffix
extensions forString
. - Add
toBase64
, 'toUint8List', andtoUint16List
extensions forIterable<int>
. - Add
toBytes
,toUtf16Bytes
, andtoUnicodeBytes
extension forString
.
5.4.0 #
- Add
isTruthy
andisFalsy
extensions for generic nullable types. - Add
immediateFirstRun
option forDeBouncer
to run the first call immediately. - Global
debouncer
instance anddebounce
function for easy access to the debouncer. - DeBouncer now allows returning a value from the debounced function in form of a
Future<R>
whereR
is the return type. - Fix
capitalized
extension not working properly for strings with emojis.
5.3.1 #
- Add
Map.where
,Map.whereNot
,Map.removeKeys
, andMap.only
extensions. - Add
double.roundToPrecision
extension. - Allow
Iterable
forMap.except
extension. - Fix lint warnings.
5.3.0 #
- [BREAKING] Remove deprecated global
run
function. - Add
num.inRadians
andnum.inDegrees
extensions for angle unit conversion. - Add
num.clampAtLeast
andnum.clampAtMost
extensions for clamping a number to a minimum or maximum value respectively.
5.2.1 #
- Change return type of
tryJsonDecode
to dynamic. - Add pub topics to package metadata.
- Upgrade dependencies.
5.2.0 #
- Fix
runCaching
function not caching exceptions properly. - Improve
runCaching
function to have aFutureOr<T?>
return type allowing either synchronous or asynchronous execution. - Improve
runCaching
function to cache exceptions even ononError
callback. - Avail list of all the extensions and functions in the package in
EXTENSIONS.md
file. - [BREAKING] Tighten the generic upperbound to
Object
forapply
,run
,takeIf
,takeUnless
andtryCast
extensions for improved type safety. Use null-safe(?.) operator to fix. - [DEPRECATED] Deprecate global
run
function.
5.0.1 #
- Add
T.tryCast()
extension on generics to cast an object to a type if possible. - Add
records
extension forIterable
. - Add
tryJsonDecode
function to safely decode JSON. - Add
closeTo
extension ondouble
. - Add
max
andmin
extensions onnum
. - Add replaceFirstWhere and replaceLastWhere extensions on
List
. - Add
findBy
,findByOrNull
andfindAllBy
extensions onIterable
.
5.0.0 #
- Add
splitMapJoinRegex
andsplitMap
extensions forString
. - Add
records
extension forMap
. - [BREAKING] Remove deprecated
Pair
class. - [BREAKING] Remove deprecated
Triple
class. - [BREAKING] Remove deprecated
to()
andpairWith()
extensions on generic. - [BREAKING] Remove deprecated
previous()
extension onRuneIterator
in favor ofmovePrevious
.
4.1.0 #
- Add
hasContent
andorEmpty
extensions forString?
. - Add missing docs.
- Fix example not showing up in pub.dev.
- Remove unnecessary backslashes from email regex.
- Add
Debouncer.isRunning
getter to check if the debouncer is running. - [DEPRECATED] Deprecate
Pair
class in favor of Records in Dart 3. UseRecord
instead ofPair
in all the APIs.Pair
will be removed in the next major release. - [DEPRECATED] Deprecate
Triple
class in favor of Records in Dart 3. UseRecord
instead ofTriple
in all the APIs.Triple
will be removed in the next major release. - [DEPRECATED] Deprecate
pairWith
andto
extensions on generic in favor of Records in Dart 3. - [BREAKING] Refactor
associate
andassociateTo
extensions onIterable
to use Records instead ofPair
. - [BREAKING] Refactor
+
operator onMap
to use Records instead ofPair
.
4.0.0 #
- Bump up minimum Dart version to
3.0.0
. - Upgrade dependencies.
- Add
DateTime.only
extension to duplicateDateTime
with only specific fields.
3.1.1 #
- Fix
MAX_INT_VALUE
andMIN_INT_VALUE
not compiling for JS. - [BREAKING]: Remove
elementAtOrNull
since it is added in thecollections
package. - Upgrade dependencies.
3.1.0 #
- Added
StreamSubscriptionMixin
to manage stream subscriptions. Supports scoped subscriptions as well. - Replace
BidirectionalIteratorScrewdriver
withRuneIteratorScrewdriver
because of the deprecation ofBidirectionalIterator
.
3.0.0 #
- Added
IntRange
helper class. - Added
rangeTo
,until
anddownTo
extensions forint
to createIntRange
. - Added
coerceAtLeast
,coerceAtMost
, andcoerceIn
extensions forComparable
. - Added
except
extension forMap
. - Added
except
,containsAll
,containsNone
,lastIndex
,elementAtOrNull
, andhasOnlyOneElement
extensions forIterable
. - Added
readBytes
extension forhtml.File
. - Added
roundToPrecision
extension fordouble
andnum
. - Added
JsonMap
,IntList
,StringList
,DoubleList
,IntSet
,StringSet
andDoubleSet
typedefs. - Added
SerializableMixin
mixin. - Added
isNull
andisNotNull
extensions forObject?
. - Added
orZero
,orOne
, andor
extensions fornum?
. - Update hashcode implementation for
IntRange
,Pair
, andTriple
.
2.1.1 #
- Added String extensions
count
,parseJsonArray
,find
,title
,toggledCase
,equalsIgnoreCase
. - Added Duration extension
fromNow
. - Used explicit dynamics where required for strong mode.
2.1.0 #
- Added back
isNullOrEmpty
,isNotNullOrEmpty
extensions forIterable?
. - Added back
isNullOrEmpty
,isNotNullOrEmpty
,isNullOrBlank
,isNotNullOrBlank
extensions forString?
. - Added collection as a part of the package, so it can now be used from screwdriver. No need to explicitly add it.
2.0.0 #
- Migrated to null safety.
- Removed following extensions either because they are redundant in favor of non-nullable types or they are already
available in the null safe version of official dart package collection.
Iterable.firstOrNull
Iterable.firstOrNullWhere
Iterable.lastOrNullWhere
Iterable.singleOrNullWhere
Iterable.isNullOrEmpty
Iterable.isNotNullOrEmpty
Iterable.none
Iterable.whereIndexed
Iterable.mapIndexed
Iterable.forEachIndexed
Iterable.foldIndexed
Iterable.foldIndexed
Iterable.sum
Iterable.average
Iterable.max
Iterable.min
String.isNullOrEmpty
String.isNotNullOrEmpty
String.isNullOrBlank
String.isNotNullOrBlank
- Added some more extensions in favor of null safety:
Iterable.randomOrNull
Iterable.maxByOrNull
Iterable.maxByLastOrNull
Iterable.minByOrNull
Iterable.minByLastOrNull
1.2.2 #
- Fixed email extension & tests.
- upgraded test package dependency.
1.2.1 #
- Upgraded dependencies with specific version bounds.
1.2.0 #
- Add
isNullOrEmpty
andisNotNullOrEmpty
extensions for collections. - Add
isNullOrEmpty
andisNotNullOrEmpty
extensions for string. - Add
isNullOrBlank
andisNotNullOrBlank
extensions for string.
1.1.1 #
- Add extensions
isInYears
andinYears
forDuration
. - Add extension
fromNow()
forDateTime
. - Fix Issue:
DeBouncer
throwing null pointer exception when callingcancel()
.
1.1.0 #
- Added extension format date using
DateFormat
from intl package. - Added debouncer helper class that allows to debounce calls to a method for certain amount of time.
- Added extension
to
for generic to create pairs like it is done in Kotlin.
1.0.1 #
- Fix pub.dev warnings.