// Functions.
@use 'get/get.map.function';
@use 'remove/remove.map.function';
// The `list.type()` function.
@function type($list, $n...) {
$result: if(list.length($n) > 0, $n, $list);
@for $i from 1 through 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))
)
);
}
@return if(list.length($result) > 0, $result, null);
}
// Use.
@use 'angular-package/sass/list';
$-list: ('a', 2, (a: 231), 'b', 7, null, 'c', 5, 'd', 231);
// Examples.
@debug list.type($-list); // string, number, map, bool, string, number, null, string, number, string, number
// Examples.
@debug list.type($-list, 4, 1, 3, 6); // string, string, map, null
@debug list.type($-list, 4, 1, 3, 6, 9); // string, string, map, null, string
// Examples.
@debug list.type($-list, 4, 1, 3, 6, 11); // ! Error not in range