pattern.is()
The pattern.is()
function checks whether the $value
is a map pattern.
// Sass.
@use 'sass:list';
@use 'sass:map';
// The `pattern.is()` function.
@function is($value, $pattern: map.values($pattern)) {
@if type-of($value) == string {
@each $pattern in $pattern {
@if type-of($pattern) == list {
@each $sub-pattern in $pattern {
@if string.index($value, $sub-pattern) {
@return true;
}
}
} @else {
@if string.index($value, $pattern) {
@return true;
}
}
}
}
@return false;
}
https://github.com/angular-package/sass/blob/main/map/pattern/_pattern.is.function.scss
// Sass.
@use 'sass:list';
@use 'sass:map';
// Variables.
@use 'pattern.variables' as *;
// Modules.
@use '../../string';
// Status: DONE
// The `pattern.is()` function checks whether the `$value` is a map pattern.
// @param `$value` A value to check against it's a pattern.
// @param `$pattern` A list of patterns to check.
// @return The return value is a `bool` indicating the `$value` is a pattern of `$pattern`.
@function is($value, $pattern: map.values($pattern)) {
@if type-of($value) == string {
@each $pattern in $pattern {
@if type-of($pattern) == list {
@each $sub-pattern in $pattern {
@if string.index($value, $sub-pattern) {
@return true;
}
}
} @else {
@if string.index($value, $pattern) {
@return true;
}
}
}
}
@return false;
}
// Examples.
// @debug is('*.palette'); // true
// @debug is('value:string'); // true
// @debug is('key:number'); // true
Parameters
$value
$value
A value to check against it's a pattern.
$pattern: map.values($pattern)
$pattern: map.values($pattern)
A list of patterns to check.
Return
The return value is a bool
indicating the $value
is a pattern of $pattern
.
Examples
// Use.
@use '@angular-package/sass/map/pattern';
// Examples.
@debug pattern.is('*.palette'); // true
@debug pattern.is('value:string'); // true
@debug pattern.is('key:number'); // true
Last updated
Was this helpful?