2017-07-07 02:36:15 +02:00
|
|
|
// Copyright 2017 Google Inc. Use of this source code is governed by an
|
|
|
|
// MIT-style license that can be found in the LICENSE file or at
|
|
|
|
// https://opensource.org/licenses/MIT.
|
|
|
|
|
|
|
|
/// This library exposes Dart Sass's Node.js API, imported as JavaScript, back
|
|
|
|
/// to Dart. This is kind of convoluted, but it allows us to test the API as it
|
|
|
|
/// will be used in the real world without having to manually write any JS.
|
|
|
|
|
|
|
|
import 'package:sass/src/node/render_error.dart';
|
|
|
|
import 'package:sass/src/node/render_options.dart';
|
|
|
|
import 'package:sass/src/node/render_result.dart';
|
2017-10-21 02:00:53 +02:00
|
|
|
import 'package:sass/src/util/path.dart';
|
2017-07-07 02:36:15 +02:00
|
|
|
|
|
|
|
import 'package:js/js.dart';
|
|
|
|
|
2017-10-21 02:00:53 +02:00
|
|
|
export 'package:sass/src/node/importer_result.dart';
|
|
|
|
export 'package:sass/src/node/render_context.dart';
|
2017-07-07 02:36:15 +02:00
|
|
|
export 'package:sass/src/node/render_error.dart';
|
|
|
|
export 'package:sass/src/node/render_options.dart';
|
|
|
|
export 'package:sass/src/node/render_result.dart';
|
|
|
|
|
|
|
|
/// The Sass module.
|
|
|
|
final sass = _require(p.absolute("build/npm/sass.dart"));
|
|
|
|
|
2017-10-21 02:00:53 +02:00
|
|
|
@JS()
|
|
|
|
external Object get undefined;
|
|
|
|
|
|
|
|
@JS("process.chdir")
|
|
|
|
external void chdir(String directory);
|
|
|
|
|
2017-07-07 02:36:15 +02:00
|
|
|
@JS("require")
|
|
|
|
external Sass _require(String path);
|
|
|
|
|
|
|
|
@JS()
|
|
|
|
class Sass {
|
|
|
|
external RenderResult renderSync(RenderOptions args);
|
|
|
|
external void render(RenderOptions args,
|
|
|
|
void callback(RenderError error, RenderResult result));
|
|
|
|
}
|
2017-10-21 02:00:53 +02:00
|
|
|
|
|
|
|
@JS("Error")
|
|
|
|
class JSError {
|
|
|
|
external JSError(String message);
|
|
|
|
}
|