check static method Null safety
- @Since("2.19")
Check that index
is a valid index into an indexable object.
Throws if index
is not a valid index.
An indexable object is one that has a length
and an index-operator
[]
that accepts an index if 0 <= index < length
.
The length
is the length of the indexable object.
The indexable
, if provided, is the indexable object.
The name
is the parameter name of the index value. Defaults to "index",
and can be set to null to omit a name from the error string,
if the invalid index was not a parameter.
The message
, if provided, is included in the error string.
Returns index
if it is a valid index.
Implementation
@Since("2.19")
static int check(int index, int length,
{Object? indexable, String? name, String? message}) {
// Comparing with `0` as receiver produces better dart2js type inference.
if (0 > index || index >= length) {
name ??= "index";
throw IndexError.withLength(index, length,
indexable: indexable, name: name, message: message);
}
return index;
}