CustomFunction<sync>
Typenparameter
-
sync extends "sync" | "async"
Typdeklaration
-
- (args: Value[]): PromiseOr<Value, sync>
-
Ein Callback, der eine benutzerdefinierte Sass-Funktion implementiert. Dieser kann an functions übergeben werden.
const result = sass.compile('style.scss', {
functions: {
"sum($arg1, $arg2)": (args) => {
const arg1 = args[0].assertNumber('arg1');
const value1 = arg1.value;
const value2 = args[1].assertNumber('arg2')
.convertValueToMatch(arg1, 'arg2', 'arg1');
return new sass.SassNumber(value1 + value2).coerceToMatch(arg1);
}
}
});Wirft
any - Diese Funktion kann einen Fehler auslösen, den der Sass-Compiler als fehlgeschlagenen Funktionsaufruf behandelt. Wenn das Ausnahmeobjekt eine
message-Eigenschaft hat, wird diese als Nachricht der umschlossenen Ausnahme verwendet; andernfalls wird dietoString()-Methode des Ausnahmeobjekts verwendet. Das bedeutet, dass benutzerdefinierte Funktionen auch einfach nur Strings auslösen können.Parameter
-
args: Value[]
Ein Array von Argumenten, die vom Aufrufer der Funktion übergeben werden. Wenn die Funktion beliebige Argumente akzeptiert, ist das letzte Element eine SassArgumentList.
Gibt PromiseOr<Value, sync> zurück.
Das Ergebnis der Funktion. Dies kann in Form eines
Promisevorliegen, aber wenn dies der Fall ist, kann die Funktion nur an compileAsync und compileStringAsync übergeben werden, nicht an compile oder compileString. -
Eine
CustomFunction<'sync'>muss synchron zurückgeben, aber dafür kann sie zusätzlich zu compileAsync und compileStringAsync auch an compile und compileString übergeben werden.Eine
CustomFunction<'async'>kann entweder synchron oder asynchron zurückgeben, aber sie kann nur mit compileAsync und compileStringAsync verwendet werden.