validatePath method
Implementation
ValidationResult validatePath(List<dynamic> path, String contextPath) {
if (path.isEmpty) {
return ValidationResult.invalid(
contextPath: contextPath,
errors: ['Claim path cannot be empty.'],
);
}
for (var k = 0; k < path.length; k++) {
final pathElement = path[k];
final isInt = pathElement is int;
final isString = pathElement is String;
final isNull = pathElement == null;
if (!isInt && !isString && !isNull) {
return ValidationResult.invalid(
contextPath: '$contextPath[$k]',
errors: ['Claim path elements must be String, int (>=0), or null.'],
);
}
if (isInt && pathElement < 0) {
return ValidationResult.invalid(
contextPath: '$contextPath[$k]',
errors: ['Claim path elements must be int (>=0).'],
);
}
}
return ValidationResult.valid();
}