Skip to content

Commit

Permalink
Fix bug in JS MultiSpan (#1801)
Browse files Browse the repository at this point in the history
Fixes #1790.
  • Loading branch information
jathak authored Sep 15, 2022
1 parent 5466dd7 commit db1e126
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 8 deletions.
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
18 changes: 11 additions & 7 deletions lib/src/node/source_span.dart
Original file line number Diff line number Diff line change
Expand Up @@ -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';
Expand All @@ -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({
'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,
});
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.
Expand Down
2 changes: 1 addition & 1 deletion pubspec.yaml
Original file line number Diff line number Diff line change
@@ -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

Expand Down

0 comments on commit db1e126

Please sign in to comment.