We could provide some conditional helpers :
Instead of:
if (prop.unwrap() != null) prop { // this: Validatable<SomeClass?>
constrain { it?.someBool == true }
}
we could write:
prop.ifNotNull { // this: Validatable<SomeClass>
constrain { it.someBool }
}
We avoid calling unwrap, the receiver is automatically defined, and it's no longer nullable.
Some helpers unrelated to type casting could be useful too:
ifNotEmpty (CharSequence and iterables)
ifNotBlank
ifNotNullOrEmpty
ifNotNullOrBlank
We could provide some conditional helpers :
ifNotNullifInstanceOfInstead of:
we could write:
prop.ifNotNull { // this: Validatable<SomeClass> constrain { it.someBool } }We avoid calling
unwrap, the receiver is automatically defined, and it's no longer nullable.Some helpers unrelated to type casting could be useful too:
ifNotEmpty(CharSequenceand iterables)ifNotBlankifNotNullOrEmptyifNotNullOrBlank