KC's Workspace
    Preparing search index...

    Type Alias CustomFunction<sync>

    CustomFunction: (args: Value[]) => PromiseOr<Value, sync>

    A callback that implements a custom Sass function. This can be passed to Options.functions.

    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);
    }
    }
    });

    Type Parameters

    • sync extends "sync" | "async"

      A CustomFunction<'sync'> must return synchronously, but in return it can be passed to compile and compileString in addition to compileAsync and compileStringAsync.

      A CustomFunction<'async'> may either return synchronously or asynchronously, but it can only be used with compileAsync and compileStringAsync.

    Type Declaration

      • (args: Value[]): PromiseOr<Value, sync>
      • Parameters

        • args: Value[]

          An array of arguments passed by the function's caller. If the function takes arbitrary arguments, the last element will be a SassArgumentList.

        Returns PromiseOr<Value, sync>

        The function's result. This may be in the form of a Promise, but if it is the function may only be passed to compileAsync and compileStringAsync, not compile or compileString.

    any - This function may throw an error, which the Sass compiler will treat as the function call failing. If the exception object has a message property, it will be used as the wrapped exception's message; otherwise, the exception object's toString() will be used. This means it's safe for custom functions to throw plain strings.