compileStringToResult function Null safety Compile

CompileResult compileStringToResult(
  1. String source,
  2. {Syntax? syntax,
  3. bool color = false,
  4. Logger? logger,
  5. Iterable<Importer>? importers,
  6. PackageConfig? packageConfig,
  7. Iterable<String>? loadPaths,
  8. Iterable<Callable>? functions,
  9. OutputStyle? style,
  10. Importer? importer,
  11. Object? url,
  12. bool quietDeps = false,
  13. bool verbose = false,
  14. bool sourceMap = false,
  15. bool charset = true}

Compiles source to CSS and returns a CompileResult containing the CSS and additional metadata about the compilation..

This parses the stylesheet as syntax, which defaults to Syntax.scss.

If color is true, this will use terminal colors in warnings. It's ignored if logger is passed.

If logger is passed, it's used to emit all messages that are generated by Sass code. Users may pass custom subclasses of Logger.

Imports are resolved by trying, in order:

  • The given importer, with the imported URL resolved relative to url.

  • Each importer in importers.

  • Each load path in loadPaths. Note that this is a shorthand for adding FilesystemImporters to importers.

  • Each load path specified in the SASS_PATH environment variable, which should be semicolon-separated on Windows and colon-separated elsewhere.

  • package: resolution using packageConfig, which is a PackageConfig from the package_resolver package. Note that this is a shorthand for adding a PackageImporter to importers.

Dart functions that can be called from Sass may be passed using functions. Each Callable defines a top-level function that will be invoked when the given name is called from Sass.

The style parameter controls the style of the resulting CSS.

The url indicates the location from which source was loaded. It may be a String or a Uri. If importer is passed, url must be passed as well and importer.load(url) should return source.

If quietDeps is true, this will silence compiler warnings emitted for stylesheets loaded through importers, loadPaths, or packageConfig.

By default, once a deprecation warning for a given feature is printed five times, further warnings for that feature are silenced. If verbose is true, all deprecation warnings are printed instead.

If sourceMap is true, CompileResult.sourceMap will be set to a SingleMapping that indicates which sections of the source file(s) correspond to which in the resulting CSS. SingleMapping.targetUrl will be null. It's up to the caller to save this mapping to disk and add a source map comment to CompileResult.css pointing to it. Users using the SingleMapping API should be sure to add the source_maps package to their pubspec.

If charset is true, this will include a @charset declaration or a UTF-8 byte-order mark if the stylesheet contains any non-ASCII characters. Otherwise, it will never include a @charset declaration or a byte-order mark.

Throws a SassException if conversion fails.


CompileResult compileStringToResult(String source,
        {Syntax? syntax,
        bool color = false,
        Logger? logger,
        Iterable<Importer>? importers,
        PackageConfig? packageConfig,
        Iterable<String>? loadPaths,
        Iterable<Callable>? functions,
        OutputStyle? style,
        Importer? importer,
        Object? url,
        bool quietDeps = false,
        bool verbose = false,
        bool sourceMap = false,
        bool charset = true}) =>
        syntax: syntax,
        logger: logger,
        importCache: ImportCache(
            importers: importers,
            logger: logger ?? Logger.stderr(color: color),
            packageConfig: packageConfig,
            loadPaths: loadPaths),
        functions: functions,
        style: style,
        importer: importer,
        url: url,
        quietDeps: quietDeps,
        verbose: verbose,
        sourceMap: sourceMap,
        charset: charset);