1 | import type { PresentArray } from '@glimmer/interfaces';
|
2 | import type { LocatedWithOptionalSpan, LocatedWithSpan } from './location';
|
3 | import type { SourceOffset } from './span';
|
4 | import { SourceSpan } from './span';
|
5 | export type HasSpan = SourceSpan | LocatedWithSpan | PresentArray<LocatedWithSpan>;
|
6 | export type MaybeHasSpan = SourceSpan | LocatedWithOptionalSpan | LocatedWithOptionalSpan[] | null;
|
7 | export type ToSourceOffset = number | SourceOffset;
|
8 | export declare class SpanList {
|
9 | static range(span: PresentArray<HasSourceSpan>): SourceSpan;
|
10 | static range(span: HasSourceSpan[], fallback: SourceSpan): SourceSpan;
|
11 | _span: SourceSpan[];
|
12 | constructor(span?: SourceSpan[]);
|
13 | add(offset: SourceSpan): void;
|
14 | getRangeOffset(fallback: SourceSpan): SourceSpan;
|
15 | }
|
16 | export type HasSourceSpan = {
|
17 | loc: SourceSpan;
|
18 | } | SourceSpan | [HasSourceSpan, ...HasSourceSpan[]];
|
19 | export declare function loc(span: HasSourceSpan): SourceSpan;
|
20 | export type MaybeHasSourceSpan = {
|
21 | loc: SourceSpan;
|
22 | } | SourceSpan | MaybeHasSourceSpan[];
|
23 | export declare function hasSpan(span: MaybeHasSourceSpan): span is HasSourceSpan;
|
24 | export declare function maybeLoc(location: MaybeHasSourceSpan, fallback: SourceSpan): SourceSpan;
|