// Sass.@use'sass:list';@use'sass:meta';// Status: DONE// The `list.type()` function returns the type of all or selected `$n` indexes of `$list`.// @param `$list` The list to check type of all or given `$n`.// @arbitrary `$n...` Indexes of number type to check their types in `$list`.// @return The list with the types of the given `$n` indexes.@functiontype($list, $n...) { $result:if(list.length($n) > 0, $n, $list);@for $i from1through list.length($result) { $result: list.set-nth($result, $i, meta.type-of(list.nth($list, if(list.length($n) > 0, list.nth($result, $i), $i))));
}@returnif(list.length($result) > 0,if(list.length($n) == 1, list.nth($result,1), $result), null);}// Alias function name.@functionnth-type($list, $n...) {@returntype($list, $n...);}// Examples.// $-list: ('a', 2, (a: 231), 'b', 7, null, 'c', 5, 'd', 231);// @debug type($-list); // string, number, map, bool, string, number, null, string, number, string, number// @debug type($-list, 4, 1, 3, 6); // string, string, map, null// @debug type($-list, 4, 1, 3, 6, 9); // string, string, map, null, string// not in range.// @debug type($-list, 4, 1, 3, 6, 11); // ! Error not in range