You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Interesting idea! Not quite general enough for my taste though.
Your proposed or is not general, because some developers want it to work for empty strings, some for blank strings, some for blank strings and dashes "-", .... There are too many ways to get it right.
Let me show you an alternative
In Dart, you can use the ?? operator for a fallback for nullable types. This is commonly known and you'd use it too here if it would also work for an empty string.
What we can do is convert all empty strings to null and then use the ?? operator.
someNullOrEmptyStr.emptyAsNull() ??'not null or empty string';
This would also work for any other concept of "emptyness" that should be replaced with a placeholder and can be chained
someNullOrEmptyStr.blankAsNull().emptyAsNull().dashAsNull() ??'not null or empty string';
Another benefit of ?? is that it works lazyly. If the fallback is not required, the function is not called.
"".emptyAsNull() ??expensiveFunction(); // expensiveFunction is not called"".or(expensiveFunction()) // expensiveFunction is called but not used
I often come across cases where I have this code:
I feel like that should be more simplified for example adding
or
extension or something, like:Thanks in advance, your package is so helpful!
The text was updated successfully, but these errors were encountered: