sass 1.62.1 → 1.63.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,17 +3,17 @@ import {LegacyImporter} from './importer';
3
3
  import {LegacyFunction} from './function';
4
4
 
5
5
  /**
6
- * Options for [[render]] and [[renderSync]] that are shared between
7
- * [[LegacyFileOptions]] and [[LegacyStringOptions]].
6
+ * Options for {@link render} and {@link renderSync} that are shared between
7
+ * {@link LegacyFileOptions} and {@link LegacyStringOptions}.
8
8
  *
9
- * @typeParam sync - This lets the TypeScript checker verify that
10
- * [[LegacyAsyncImporter]]s and [[LegacyAsyncFunction]]s aren't passed to
11
- * [[renderSync]].
9
+ * @typeParam sync - This lets the TypeScript checker verify that {@link
10
+ * LegacyAsyncImporter}s and {@link LegacyAsyncFunction}s aren't passed to
11
+ * {@link renderSync}.
12
12
  *
13
13
  * @category Legacy
14
- * @deprecated This only works with the legacy [[render]] and [[renderSync]]
15
- * APIs. Use [[Options]] with [[compile]], [[compileString]], [[compileAsync]],
16
- * and [[compileStringAsync]] instead.
14
+ * @deprecated This only works with the legacy {@link render} and {@link
15
+ * renderSync} APIs. Use {@link Options} with {@link compile}, {@link
16
+ * compileString}, {@link compileAsync}, and {@link compileStringAsync} instead.
17
17
  */
18
18
  export interface LegacySharedOptions<sync extends 'sync' | 'async'> {
19
19
  /**
@@ -67,8 +67,8 @@ export interface LegacySharedOptions<sync extends 'sync' | 'async'> {
67
67
  indentType?: 'space' | 'tab';
68
68
 
69
69
  /**
70
- * How many spaces or tabs (depending on [[indentType]]) should be used per
71
- * indentation level in the generated CSS. It must be between 0 and 10
70
+ * How many spaces or tabs (depending on {@link indentType}) should be used
71
+ * per indentation level in the generated CSS. It must be between 0 and 10
72
72
  * (inclusive).
73
73
  *
74
74
  * @defaultValue `2`
@@ -206,19 +206,19 @@ export interface LegacySharedOptions<sync extends 'sync' | 'async'> {
206
206
 
207
207
  /**
208
208
  * Whether or not Sass should generate a source map. If it does, the source
209
- * map will be available as [[LegacyResult.map]] (unless [[sourceMapEmbed]] is
210
- * `true`).
209
+ * map will be available as {@link LegacyResult.map} (unless {@link
210
+ * sourceMapEmbed} is `true`).
211
211
  *
212
212
  * If this option is a string, it’s the path that the source map is expected
213
213
  * to be written to, which is used to link to the source map from the
214
214
  * generated CSS and to link *from* the source map to the Sass source files.
215
- * Note that if `sourceMap` is a string and [[outFile]] isn’t passed, Sass
215
+ * Note that if `sourceMap` is a string and {@link outFile} isn’t passed, Sass
216
216
  * assumes that the CSS will be written to the same directory as the file
217
217
  * option if it’s passed.
218
218
  *
219
- * If this option is `true`, the path is assumed to be [[outFile]] with `.map`
220
- * added to the end. If it’s `true` and [[outFile]] isn’t passed, it has no
221
- * effect.
219
+ * If this option is `true`, the path is assumed to be {@link outFile} with
220
+ * `.map` added to the end. If it’s `true` and {@link outFile} isn’t passed,
221
+ * it has no effect.
222
222
  *
223
223
  * @example
224
224
  *
@@ -302,12 +302,12 @@ export interface LegacySharedOptions<sync extends 'sync' | 'async'> {
302
302
  * Additional handler(s) for loading files when a [`@use`
303
303
  * rule](https://sass-lang.com/documentation/at-rules/use) or an [`@import`
304
304
  * rule](https://sass-lang.com/documentation/at-rules/import) is encountered.
305
- * It can either be a single [[LegacyImporter]] function, or an array of
306
- * [[LegacyImporter]]s.
305
+ * It can either be a single {@link LegacyImporter} function, or an array of
306
+ * {@link LegacyImporter}s.
307
307
  *
308
- * Importers take the URL of the `@import` or `@use` rule and return a
309
- * [[LegacyImporterResult]] indicating how to handle that rule. For more
310
- * details, see [[LegacySyncImporter]] and [[LegacyAsyncImporter]].
308
+ * Importers take the URL of the `@import` or `@use` rule and return a {@link
309
+ * LegacyImporterResult} indicating how to handle that rule. For more details,
310
+ * see {@link LegacySyncImporter} and {@link LegacyAsyncImporter}.
311
311
  *
312
312
  * Loads are resolved by trying, in order:
313
313
  *
@@ -318,7 +318,7 @@ export interface LegacySharedOptions<sync extends 'sync' | 'async'> {
318
318
  *
319
319
  * * Loading a file relative to the current working directory.
320
320
  *
321
- * * Each load path in [[includePaths]].
321
+ * * Each load path in {@link includePaths}.
322
322
  *
323
323
  * * Each load path specified in the `SASS_PATH` environment variable, which
324
324
  * should be semicolon-separated on Windows and colon-separated elsewhere.
@@ -371,7 +371,7 @@ export interface LegacySharedOptions<sync extends 'sync' | 'async'> {
371
371
  * @compatibility feature: "Import order", dart: "1.20.2", node: false
372
372
  *
373
373
  * Versions of Dart Sass before 1.20.2 preferred resolving imports using
374
- * [[includePaths]] before resolving them using custom importers.
374
+ * {@link includePaths} before resolving them using custom importers.
375
375
  *
376
376
  * All versions of Node Sass currently pass imports to importers before
377
377
  * loading them relative to the file in which the `@import` appears. This
@@ -387,8 +387,8 @@ export interface LegacySharedOptions<sync extends 'sync' | 'async'> {
387
387
  /**
388
388
  * Additional built-in Sass functions that are available in all stylesheets.
389
389
  * This option takes an object whose keys are Sass function signatures and
390
- * whose values are [[LegacyFunction]]s. Each function should take the same
391
- * arguments as its signature.
390
+ * whose values are {@link LegacyFunction}s. Each function should take the
391
+ * same arguments as its signature.
392
392
  *
393
393
  * Functions are passed JavaScript representations of [Sass value
394
394
  * types](https://sass-lang.com/documentation/js-api#value-types), and must
@@ -464,18 +464,18 @@ export interface LegacySharedOptions<sync extends 'sync' | 'async'> {
464
464
  /**
465
465
  * If this option is set to `true`, Sass won’t print warnings that are caused
466
466
  * by dependencies. A “dependency” is defined as any file that’s loaded
467
- * through [[loadPaths]] or [[importer]]. Stylesheets that are imported
468
- * relative to the entrypoint are not considered dependencies.
467
+ * through {@link includePaths} or {@link importer}. Stylesheets that are
468
+ * imported relative to the entrypoint are not considered dependencies.
469
469
  *
470
470
  * This is useful for silencing deprecation warnings that you can’t fix on
471
471
  * your own. However, please <em>also</em> notify your dependencies of the deprecations
472
472
  * so that they can get fixed as soon as possible!
473
473
  *
474
- * **Heads up!** If [[render]] or [[renderSync]] is called without
475
- * [[LegacyFileOptions.file]] or [[LegacyStringOptions.file]], <em>all</em>
476
- * stylesheets it loads will be considered dependencies. Since it doesn’t have
477
- * a path of its own, everything it loads is coming from a load path rather
478
- * than a relative import.
474
+ * **Heads up!** If {@link render} or {@link renderSync} is called without
475
+ * {@link LegacyFileOptions.file} or {@link LegacyStringOptions.file},
476
+ * <em>all</em> stylesheets it loads will be considered dependencies. Since it
477
+ * doesn’t have a path of its own, everything it loads is coming from a load
478
+ * path rather than a relative import.
479
479
  *
480
480
  * @defaultValue `false`
481
481
  * @category Messages
@@ -499,10 +499,10 @@ export interface LegacySharedOptions<sync extends 'sync' | 'async'> {
499
499
  * An object to use to handle warnings and/or debug messages from Sass.
500
500
  *
501
501
  * By default, Sass emits warnings and debug messages to standard error, but
502
- * if [[Logger.warn]] or [[Logger.debug]] is set, this will invoke them
503
- * instead.
502
+ * if {@link Logger.warn} or {@link Logger.debug} is set, this will invoke
503
+ * them instead.
504
504
  *
505
- * The special value [[Logger.silent]] can be used to easily silence all
505
+ * The special value {@link Logger.silent} can be used to easily silence all
506
506
  * messages.
507
507
  *
508
508
  * @category Messages
@@ -512,12 +512,12 @@ export interface LegacySharedOptions<sync extends 'sync' | 'async'> {
512
512
  }
513
513
 
514
514
  /**
515
- * If [[file]] is passed without [[data]], Sass will load the stylesheet at
516
- * [[file]] and compile it to CSS.
515
+ * If {@link file} is passed without {@link data}, Sass will load the stylesheet
516
+ * at {@link file} and compile it to CSS.
517
517
  *
518
- * @typeParam sync - This lets the TypeScript checker verify that
519
- * [[LegacyAsyncImporter]]s and [[LegacyAsyncFunction]]s aren't passed to
520
- * [[renderSync]].
518
+ * @typeParam sync - This lets the TypeScript checker verify that {@link
519
+ * LegacyAsyncImporter}s and {@link LegacyAsyncFunction}s aren't passed to
520
+ * {@link renderSync}.
521
521
  */
522
522
  export interface LegacyFileOptions<sync extends 'sync' | 'async'>
523
523
  extends LegacySharedOptions<sync> {
@@ -548,8 +548,8 @@ export interface LegacyFileOptions<sync extends 'sync' | 'async'>
548
548
  file: string;
549
549
 
550
550
  /**
551
- * See [[LegacyStringOptions.file]] for documentation of passing [[file]] along
552
- * with [[data]].
551
+ * See {@link LegacyStringOptions.file} for documentation of passing {@link
552
+ * file} along with {@link data}.
553
553
  *
554
554
  * @category Input
555
555
  */
@@ -557,26 +557,26 @@ export interface LegacyFileOptions<sync extends 'sync' | 'async'>
557
557
  }
558
558
 
559
559
  /**
560
- * If [[data]] is passed, Sass will use it as the contents of the stylesheet to
561
- * compile.
560
+ * If {@link data} is passed, Sass will use it as the contents of the stylesheet
561
+ * to compile.
562
562
  *
563
- * @typeParam sync - This lets the TypeScript checker verify that
564
- * [[LegacyAsyncImporter]]s and [[LegacyAsyncFunction]]s aren't passed to
565
- * [[renderSync]].
563
+ * @typeParam sync - This lets the TypeScript checker verify that {@link
564
+ * LegacyAsyncImporter}s and {@link LegacyAsyncFunction}s aren't passed to
565
+ * {@link renderSync}.
566
566
  *
567
567
  * @category Legacy
568
- * @deprecated This only works with the legacy [[render]] and [[renderSync]]
569
- * APIs. Use [[StringOptions]] with [[compile]], [[compileString]],
570
- * [[compileAsync]], and [[compileStringAsync]] instead.
568
+ * @deprecated This only works with the legacy {@link render} and {@link
569
+ * renderSync} APIs. Use {@link StringOptions} with {@link compile}, {@link
570
+ * compileString}, {@link compileAsync}, and {@link compileStringAsync} instead.
571
571
  */
572
572
  export interface LegacyStringOptions<sync extends 'sync' | 'async'>
573
573
  extends LegacySharedOptions<sync> {
574
574
  /**
575
- * The contents of the stylesheet to compile. Unless [[file]] is passed as
575
+ * The contents of the stylesheet to compile. Unless {@link file} is passed as
576
576
  * well, the stylesheet’s URL is set to `"stdin"`.
577
577
  *
578
578
  * By default, this stylesheet is parsed as SCSS. This can be controlled using
579
- * [[indentedSyntax]].
579
+ * {@link indentedSyntax}.
580
580
  *
581
581
  * @example
582
582
  *
@@ -594,17 +594,17 @@ export interface LegacyStringOptions<sync extends 'sync' | 'async'>
594
594
  data: string;
595
595
 
596
596
  /**
597
- * If `file` and [[data]] are both passed, `file` is used as the path of the
598
- * stylesheet for error reporting, but [[data]] is used as the contents of the
599
- * stylesheet. In this case, `file`’s extension is not used to determine the
600
- * syntax of the stylesheet.
597
+ * If `file` and {@link data} are both passed, `file` is used as the path of
598
+ * the stylesheet for error reporting, but {@link data} is used as the
599
+ * contents of the stylesheet. In this case, `file`’s extension is not used to
600
+ * determine the syntax of the stylesheet.
601
601
  *
602
602
  * @category Input
603
603
  */
604
604
  file?: string;
605
605
 
606
606
  /**
607
- * This flag controls whether [[data]] is parsed as the indented syntax or
607
+ * This flag controls whether {@link data} is parsed as the indented syntax or
608
608
  * not.
609
609
  *
610
610
  * @example
@@ -625,17 +625,17 @@ export interface LegacyStringOptions<sync extends 'sync' | 'async'>
625
625
  }
626
626
 
627
627
  /**
628
- * Options for [[render]] and [[renderSync]]. This can either be
629
- * [[LegacyFileOptions]] to load a file from disk, or [[LegacyStringOptions]] to
630
- * compile a string of Sass code.
628
+ * Options for {@link render} and {@link renderSync}. This can either be {@link
629
+ * LegacyFileOptions} to load a file from disk, or {@link LegacyStringOptions}
630
+ * to compile a string of Sass code.
631
631
  *
632
- * See [[LegacySharedOptions]] for options that are shared across both file and
633
- * string inputs.
632
+ * See {@link LegacySharedOptions} for options that are shared across both file
633
+ * and string inputs.
634
634
  *
635
635
  * @category Legacy
636
- * @deprecated This only works with the legacy [[render]] and [[renderSync]]
637
- * APIs. Use [[Options]] with [[compile]], [[compileString]], [[compileAsync]],
638
- * and [[compileStringAsync]] instead.
636
+ * @deprecated This only works with the legacy {@link render} and {@link
637
+ * renderSync} APIs. Use {@link Options} with {@link compile}, {@link
638
+ * compileString}, {@link compileAsync}, and {@link compileStringAsync} instead.
639
639
  */
640
640
  export type LegacyOptions<sync extends 'sync' | 'async'> =
641
641
  | LegacyFileOptions<sync>
@@ -1,32 +1,32 @@
1
1
  /**
2
- * The value of `this` in the context of a [[LegacyImporter]] or
3
- * [[LegacyFunction]] callback.
2
+ * The value of `this` in the context of a {@link LegacyImporter} or {@link
3
+ * LegacyFunction} callback.
4
4
  *
5
5
  * @category Legacy
6
- * @deprecated This is only used by the legacy [[render]] and [[renderSync]]
7
- * APIs. Use [[compile]], [[compileString]], [[compileAsync]], and
8
- * [[compileStringAsync]] instead.
6
+ * @deprecated This is only used by the legacy {@link render} and {@link
7
+ * renderSync} APIs. Use {@link compile}, {@link compileString}, {@link
8
+ * compileAsync}, and {@link compileStringAsync} instead.
9
9
  */
10
10
  export interface LegacyPluginThis {
11
11
  /**
12
- * A partial representation of the options passed to [[render]] or
13
- * [[renderSync]].
12
+ * A partial representation of the options passed to {@link render} or {@link
13
+ * renderSync}.
14
14
  */
15
15
  options: {
16
- /** The same [[LegacyPluginThis]] instance that contains this object. */
16
+ /** The same {@link LegacyPluginThis} instance that contains this object. */
17
17
  context: LegacyPluginThis;
18
18
 
19
19
  /**
20
- * The value passed to [[LegacyFileOptions.file]] or
21
- * [[LegacyStringOptions.file]].
20
+ * The value passed to {@link LegacyFileOptions.file} or {@link
21
+ * LegacyStringOptions.file}.
22
22
  */
23
23
  file?: string;
24
24
 
25
- /** The value passed to [[LegacyStringOptions.data]]. */
25
+ /** The value passed to {@link LegacyStringOptions.data}. */
26
26
  data?: string;
27
27
 
28
28
  /**
29
- * The value passed to [[LegacySharedOptions.includePaths]] separated by
29
+ * The value passed to {@link LegacySharedOptions.includePaths} separated by
30
30
  * `";"` on Windows or `":"` on other operating systems. This always
31
31
  * includes the current working directory as the first entry.
32
32
  */
@@ -38,21 +38,22 @@ export interface LegacyPluginThis {
38
38
  /** Always the number 1. */
39
39
  style: 1;
40
40
 
41
- /** 1 if [[LegacySharedOptions.indentType]] was `"tab"`, 0 otherwise. */
41
+ /** 1 if {@link LegacySharedOptions.indentType} was `"tab"`, 0 otherwise. */
42
42
  indentType: 1 | 0;
43
43
 
44
44
  /**
45
- * The value passed to [[LegacySharedOptions.indentWidth]], or `2` otherwise.
45
+ * The value passed to {@link LegacySharedOptions.indentWidth}, or `2`
46
+ * otherwise.
46
47
  */
47
48
  indentWidth: number;
48
49
 
49
50
  /**
50
- * The value passed to [[LegacySharedOptions.linefeed]], or `"\n"`
51
+ * The value passed to {@link LegacySharedOptions.linefeed}, or `"\n"`
51
52
  * otherwise.
52
53
  */
53
54
  linefeed: '\r' | '\r\n' | '\n' | '\n\r';
54
55
 
55
- /** A partially-constructed [[LegacyResult]] object. */
56
+ /** A partially-constructed {@link LegacyResult} object. */
56
57
  result: {
57
58
  /** Partial information about the compilation in progress. */
58
59
  stats: {
@@ -63,7 +64,7 @@ export interface LegacyPluginThis {
63
64
  start: number;
64
65
 
65
66
  /**
66
- * [[LegacyFileOptions.file]] if it was passed, otherwise the string
67
+ * {@link LegacyFileOptions.file} if it was passed, otherwise the string
67
68
  * `"data"`.
68
69
  */
69
70
  entry: string;
@@ -2,13 +2,13 @@ import {LegacyException} from './exception';
2
2
  import {LegacyOptions} from './options';
3
3
 
4
4
  /**
5
- * The object returned by [[render]] and [[renderSync]] after a successful
6
- * compilation.
5
+ * The object returned by {@link render} and {@link renderSync} after a
6
+ * successful compilation.
7
7
  *
8
8
  * @category Legacy
9
- * @deprecated This is only used by the legacy [[render]] and [[renderSync]]
10
- * APIs. Use [[compile]], [[compileString]], [[compileAsync]], and
11
- * [[compileStringAsync]] instead.
9
+ * @deprecated This is only used by the legacy {@link render} and {@link
10
+ * renderSync} APIs. Use {@link compile}, {@link compileString}, {@link
11
+ * compileAsync}, and {@link compileStringAsync} instead.
12
12
  */
13
13
  export interface LegacyResult {
14
14
  /**
@@ -32,14 +32,14 @@ export interface LegacyResult {
32
32
  *
33
33
  * This is `undefined` unless either
34
34
  *
35
- * * [[LegacySharedOptions.sourceMap]] is a string; or
36
- * * [[LegacySharedOptions.sourceMap]] is `true` and
37
- * [[LegacySharedOptions.outFile]] is set.
35
+ * * {@link LegacySharedOptions.sourceMap} is a string; or
36
+ * * {@link LegacySharedOptions.sourceMap} is `true` and
37
+ * {@link LegacySharedOptions.outFile} is set.
38
38
  *
39
39
  * The source map uses absolute [`file:`
40
40
  * URLs](https://en.wikipedia.org/wiki/File_URI_scheme) to link to the Sass
41
- * source files, except if the source file comes from
42
- * [[LegacyStringOptions.data]] in which case it lists its URL as `"stdin"`.
41
+ * source files, except if the source file comes from {@link
42
+ * LegacyStringOptions.data} in which case it lists its URL as `"stdin"`.
43
43
  *
44
44
  * @example
45
45
  *
@@ -58,9 +58,9 @@ export interface LegacyResult {
58
58
  /** Additional information about the compilation. */
59
59
  stats: {
60
60
  /**
61
- * The absolute path of [[LegacyFileOptions.file]] or
62
- * [[LegacyStringOptions.file]], or `"data"` if [[LegacyStringOptions.file]]
63
- * wasn't set.
61
+ * The absolute path of {@link LegacyFileOptions.file} or {@link
62
+ * LegacyStringOptions.file}, or `"data"` if {@link
63
+ * LegacyStringOptions.file} wasn't set.
64
64
  */
65
65
  entry: string;
66
66
 
@@ -84,8 +84,8 @@ export interface LegacyResult {
84
84
 
85
85
  /**
86
86
  * An array of the absolute paths of all Sass files loaded during
87
- * compilation. If a stylesheet was loaded from a [[LegacyImporter]] that
88
- * returned the stylesheet’s contents, the raw string of the `@use` or
87
+ * compilation. If a stylesheet was loaded from a {@link LegacyImporter}
88
+ * that returned the stylesheet’s contents, the raw string of the `@use` or
89
89
  * `@import` that loaded that stylesheet included in this array.
90
90
  */
91
91
  includedFiles: string[];
@@ -106,18 +106,18 @@ export interface LegacyResult {
106
106
  * ```
107
107
  *
108
108
  * @category Legacy
109
- * @deprecated Use [[compile]] or [[compileString]] instead.
109
+ * @deprecated Use {@link compile} or {@link compileString} instead.
110
110
  */
111
111
  export function renderSync(options: LegacyOptions<'sync'>): LegacyResult;
112
112
 
113
113
  /**
114
114
 
115
115
  * This function asynchronously compiles a Sass file to CSS, and calls
116
- * `callback` with a [[LegacyResult]] if compilation succeeds or
117
- * [[LegacyException]] if it fails.
116
+ * `callback` with a {@link LegacyResult} if compilation succeeds or {@link
117
+ * LegacyException} if it fails.
118
118
  *
119
- * **Heads up!** When using Dart Sass, **[[renderSync]] is almost twice as fast
120
- * as [[render]]** by default, due to the overhead of making the entire
119
+ * **Heads up!** When using Dart Sass, **{@link renderSync} is almost twice as
120
+ * fast as {@link render}** by default, due to the overhead of making the entire
121
121
  * evaluation process asynchronous.
122
122
  *
123
123
  * ```js
@@ -131,7 +131,7 @@ export function renderSync(options: LegacyOptions<'sync'>): LegacyResult;
131
131
  * ```
132
132
  *
133
133
  * @category Legacy
134
- * @deprecated Use [[compileAsync]] or [[compileStringAsync]] instead.
134
+ * @deprecated Use {@link compileAsync} or {@link compileStringAsync} instead.
135
135
  */
136
136
  export function render(
137
137
  options: LegacyOptions<'async'>,
@@ -4,8 +4,8 @@ export {SourceLocation} from './source_location';
4
4
  export {SourceSpan} from './source_span';
5
5
 
6
6
  /**
7
- * An object that can be passed to [[LegacySharedOptions.logger]] to control how
8
- * Sass emits warnings and debug messages.
7
+ * An object that can be passed to {@link LegacySharedOptions.logger} to control
8
+ * how Sass emits warnings and debug messages.
9
9
  *
10
10
  * @example
11
11
  *
@@ -70,14 +70,14 @@ export interface Logger {
70
70
  }
71
71
 
72
72
  /**
73
- * A namespace for built-in [[Logger]]s.
73
+ * A namespace for built-in {@link Logger}s.
74
74
  *
75
75
  * @category Logger
76
76
  * @compatibility dart: "1.43.0", node: false
77
77
  */
78
78
  export namespace Logger {
79
79
  /**
80
- * A [[Logger]] that silently ignores all warnings and debug messages.
80
+ * A {@link Logger} that silently ignores all warnings and debug messages.
81
81
  *
82
82
  * @example
83
83
  *
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * A specific location within a source file.
3
3
  *
4
- * This is always associated with a [[SourceSpan]] which indicates *which* file
5
- * it refers to.
4
+ * This is always associated with a {@link SourceSpan} which indicates *which*
5
+ * file it refers to.
6
6
  *
7
7
  * @category Logger
8
8
  */
@@ -12,9 +12,9 @@ export interface SourceSpan {
12
12
  /**
13
13
  * The end of this span, exclusive.
14
14
  *
15
- * If [[start]] and [[end]] refer to the same location, the span has zero
16
- * length and refers to the point immediately after [[start]] and before the
17
- * next character.
15
+ * If {@link start} and {@link end} refer to the same location, the span has
16
+ * zero length and refers to the point immediately after {@link start} and
17
+ * before the next character.
18
18
  */
19
19
  end: SourceLocation;
20
20