Fix bug in JS MultiSpan (#1801)

Fixes #1790.
This commit is contained in:
Jennifer Thakar 2022-09-14 17:08:57 -07:00 committed by GitHub
parent 5466dd76a2
commit db1e1261bd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 17 additions and 8 deletions

View File

@ -5,6 +5,11 @@
* Add an optional `argumentName` parameter to `SassScriptException()` to make it
easier to throw exceptions associated with particular argument names.
### JS API
* Fix a bug in which certain warning spans would not have their properties
accessible by the JS API.
## 1.54.9
* Fix an incorrect span in certain `@media` query deprecation warnings.

View File

@ -4,6 +4,7 @@
import 'package:source_span/source_span.dart';
import '../util/multi_span.dart';
import '../util/nullable.dart';
import 'reflection.dart';
import 'utils.dart';
@ -12,14 +13,17 @@ import 'utils.dart';
/// that they match the JS API.
void updateSourceSpanPrototype() {
var span = SourceFile.fromString('').span(0);
var multiSpan = MultiSpan(span, '', {});
getJSClass(span).defineGetters({
for (var item in [span, multiSpan]) {
getJSClass(item).defineGetters({
'start': (FileSpan span) => span.start,
'end': (FileSpan span) => span.end,
'url': (FileSpan span) => span.sourceUrl.andThen(dartToJSUrl),
'text': (FileSpan span) => span.text,
'context': (FileSpan span) => span.context,
});
}
// Offset is already accessible from JS because it's defined as a field rather
// than a getter.

View File

@ -1,5 +1,5 @@
name: sass
version: 1.55.0
version: 1.55.0-dev
description: A Sass implementation in Dart.
homepage: https://github.com/sass/dart-sass