الدالة ()feature_exists
في Sass
< Sass
تتحقَّق الدالة feature_exists()
ما إذا كانت ميزة معيَّنةٌ موجودةٌ في وقت تشغيل Sass.
الميزات المدعومة هي:
global-variable-shadowing
: تشير إلى أنّ متغيرًا محليًا سيحجب متغيرًا عامًّا ما لم تُستخدم!global
.
extend-selector-pseudoclass
: تشير إلى أنّ @extend
ستصل إلى محدِّدات الأصناف الزائفة (pseudoclasses) مثل:not
.
units-level-3
: تشير إلى الدعم الكامل للعمليات الحسابيَّة على الواحدات (unit arithmetic) باستخدام الواحدات المُعرّفة في المواصفة Values and Units Level 3.
at-error
: تشير إلى أنّ التعليمة @error
مدعومة.
custom-property
: تشير إلى أن مواصفات الخاصِّيَّات المُخصّصة مدعومة. هذا يعني أن الخاصيات المُخصّصة تُحلّل بشكل ثابت (parsed statically) مع معالجة الاستيفاء مثل SassScript.
البنية العامة
feature_exists($feature)
المعاملات
$feature
اسم الميزة التي نريد التحقُّق من وجودها.
القيم المعادة
تُعاد القيمة المنطقيَّة TRUE
إذا كانت الميزة مدعومة في النسخة الحاليَّة للغة Sass. خلا ذلك، تُعاد القيمة FALSE
.
الأخطاء والاستثناءات
سيُرمى الخطأ ArgumentError
إن لم يكن $feature
سلسلة نصيةً.
أمثلة
مثال عن استخدام الدالة feature_exists()
. لمعرفة إن كانت الميزة @error
متوافرةً أم لا؛ لاحظ استخدام @if
مع الدالة unitless()
:
@mixin adjust-location($x, $y) {
@if unitless($x) and feature-exists(at-error) { // اختبار وجود الميزة
@error "$x may not be unitless, was #{$x}.";
}
@if unitless($y) and feature-exists(at-error) { // اختبار وجود الميزة
@error "$y may not be unitless, was #{y}.";
}
// اختبار أنَّ القيم المُمرَّرة إلى الدالة لها قيمة
// فعلنا ذلك تجنبًا للمشاكل في حال لم يكن المصرّف يدعم @error
@if not unitless($x) and not unitless($y) {
position: relative; left: $x; top: $y;
}
}
.selector {
@include adjust-location(1em, 2em); // لن يظهر خطأ
}
.selector_2 {
@include adjust-location(1, 2em); // سيظهر خطأ إن كان مصرّف اللغة يدعم إظهار الأخطاء من طرف المستخدم
}
ستخرج الشيفرة السابقة الناتج الآتي عند تصريفها بمصرّف Sass حديث:
Error: $x may not be unitless, was 1.
on line 3 of stlye.scss, in `adjust-location'
from line 18 of stlye.scss
Use --trace for backtrace.
وستخرج الناتج الآتي عند تصريفها بمصرِّف Sass قديم:
.selector {
position: relative;
left: 1em;
top: 2em; }
انظر أيضًا
- الدالة
function_exists()
: تتحقَّق ما إذا كانت دالة ما موجودة. - الدالة
global_variable_exists()
: تتحقَّق ما إذا كان متغيِّر ما موجود في النطاق العام. - الدالة
variable_exists()
: تتحقَّق ما إذا كان متغير ما موجود في النطاق الحالي. - الدالة
mixin_exists()
: تتحقَّق ما إذا كان مخلوط ما موجودًا.