skir-internal 0.2.5 → 0.2.7

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.
package/dist/types.d.ts CHANGED
@@ -51,6 +51,12 @@ export interface Token {
51
51
  readonly colNumber: number;
52
52
  }
53
53
  export type Casing = "lowerCamel" | "lower_underscore" | "UpperCamel" | "UPPER_UNDERSCORE";
54
+ export interface Range {
55
+ /** Measured in number of characters from the start of the module. */
56
+ readonly start: number;
57
+ /** Measured in number of characters from the start of the module. */
58
+ readonly end: number;
59
+ }
54
60
  /** A user error in a module. */
55
61
  export type SkirError = {
56
62
  readonly token: Token;
@@ -149,8 +155,8 @@ export interface MutableFieldPath<Mutable extends boolean = true> {
149
155
  /** The type used to key every item: either a primitive or an enum. */
150
156
  keyType: PrimitiveType | ResolvedRecordRef;
151
157
  }
152
- export type FieldPath<Mutable extends boolean = boolean> = Mutable extends true ? MutableFieldPath : Readonly<MutableFieldPath<false>>;
153
- export interface ArrayType<Type = ResolvedType, Mutable extends boolean = boolean> {
158
+ export type FieldPath<Mutable extends boolean = false> = Mutable extends true ? MutableFieldPath : Readonly<MutableFieldPath<false>>;
159
+ export interface ArrayType<Type = ResolvedType, Mutable extends boolean = false> {
154
160
  readonly kind: "array";
155
161
  readonly item: Type;
156
162
  /**
@@ -177,7 +183,7 @@ export type UnresolvedType = PrimitiveType | UnresolvedRecordRef | UnresolvedArr
177
183
  * When Mutable is true, the optional field path of an array type can be
178
184
  * modified.
179
185
  */
180
- export type ResolvedType<Mutable extends boolean = boolean> = PrimitiveType | ResolvedRecordRef | ArrayType<ResolvedType, Mutable> | OptionalType<ResolvedType<Mutable>>;
186
+ export type ResolvedType<Mutable extends boolean = false> = PrimitiveType | ResolvedRecordRef | ArrayType<ResolvedType, Mutable> | OptionalType<ResolvedType<Mutable>>;
181
187
  export type MutableResolvedType = ResolvedType<true>;
182
188
  /**
183
189
  * A field in a struct or a variant in an enum.
@@ -223,7 +229,7 @@ export interface MutableField<Mutable extends boolean = true> {
223
229
  * structure, so they are represented using the same interface and we use the
224
230
  * name 'field' for simplicity.
225
231
  */
226
- export type Field<Mutable extends boolean = boolean> = Mutable extends true ? MutableField : Readonly<MutableField<false>>;
232
+ export type Field<Mutable extends boolean = false> = Mutable extends true ? MutableField : Readonly<MutableField<false>>;
227
233
  /** A 'removed' declaration in a struct or enum. */
228
234
  export interface Removed {
229
235
  readonly kind: "removed";
@@ -232,10 +238,10 @@ export interface Removed {
232
238
  readonly numbers: readonly number[];
233
239
  }
234
240
  /** A declaration within a record. */
235
- export type RecordLevelDeclaration<Mutable extends boolean = boolean> = Field | Removed | Record<Mutable>;
241
+ export type RecordLevelDeclaration<Mutable extends boolean = false> = Field<Mutable> | Removed | Record<Mutable>;
236
242
  export type MutableRecordLevelDeclaration = RecordLevelDeclaration<true>;
237
243
  /** Definition of a struct or enum type. */
238
- export interface Record<Mutable extends boolean = boolean> {
244
+ export interface Record<Mutable extends boolean = false> {
239
245
  readonly kind: "record";
240
246
  /** Uniquely identifies the record within the module set. */
241
247
  readonly key: RecordKey;
@@ -277,18 +283,20 @@ export interface MutableImport {
277
283
  readonly importedNames: Token[];
278
284
  /** The token corresponding to the quoted string. */
279
285
  readonly modulePath: Token;
286
+ readonly range: Range | null;
280
287
  resolvedModulePath?: string;
281
288
  }
282
- export type Import<Mutable extends boolean = boolean> = Mutable extends true ? MutableImport : Readonly<MutableImport>;
289
+ export type Import<Mutable extends boolean = false> = Mutable extends true ? MutableImport : Readonly<MutableImport>;
283
290
  export interface MutableImportAlias {
284
291
  readonly kind: "import-alias";
285
292
  /** The alias. */
286
293
  readonly name: Token;
287
294
  /** The token corresponding to the quoted string. */
288
295
  readonly modulePath: Token;
296
+ readonly range: Range | null;
289
297
  resolvedModulePath?: string;
290
298
  }
291
- export type ImportAlias<Mutable extends boolean = boolean> = Mutable extends true ? MutableImportAlias : Readonly<MutableImportAlias>;
299
+ export type ImportAlias<Mutable extends boolean = false> = Mutable extends true ? MutableImportAlias : Readonly<MutableImportAlias>;
292
300
  export interface MutableMethod<Mutable extends boolean = true> {
293
301
  readonly kind: "method";
294
302
  readonly name: Token;
@@ -301,7 +309,7 @@ export interface MutableMethod<Mutable extends boolean = true> {
301
309
  responseType: ResolvedType<Mutable> | undefined;
302
310
  readonly number: number;
303
311
  }
304
- export type Method<Mutable extends boolean = boolean> = Mutable extends true ? MutableMethod : Readonly<MutableMethod<false>>;
312
+ export type Method<Mutable extends boolean = false> = Mutable extends true ? MutableMethod : Readonly<MutableMethod<false>>;
305
313
  export interface BrokenMethod {
306
314
  readonly kind: "broken-method";
307
315
  readonly unresolvedRequestType: UnresolvedType;
@@ -319,7 +327,7 @@ export interface MutableConstant<Mutable extends boolean = true> {
319
327
  readonly value: Value;
320
328
  valueAsDenseJson: DenseJson | undefined;
321
329
  }
322
- export type Constant<Mutable extends boolean = boolean> = Mutable extends true ? MutableConstant : Readonly<MutableConstant<false>>;
330
+ export type Constant<Mutable extends boolean = false> = Mutable extends true ? MutableConstant : Readonly<MutableConstant<false>>;
323
331
  export interface BrokenConstant {
324
332
  readonly kind: "broken-constant";
325
333
  readonly unresolvedType: UnresolvedType;
@@ -334,7 +342,7 @@ export interface MutableObjectEntry<Mutable extends boolean = true> {
334
342
  */
335
343
  fieldDeclaration?: Field;
336
344
  }
337
- export type ObjectEntry<Mutable extends boolean = boolean> = Mutable extends true ? MutableObjectEntry : Readonly<MutableObjectEntry<false>>;
345
+ export type ObjectEntry<Mutable extends boolean = false> = Mutable extends true ? MutableObjectEntry : Readonly<MutableObjectEntry<false>>;
338
346
  /** An object value, for example `{r: 255, g: 0, b: 0}`. */
339
347
  export interface MutableObjectValue<Mutable extends boolean = true> {
340
348
  readonly kind: "object";
@@ -347,7 +355,7 @@ export interface MutableObjectValue<Mutable extends boolean = true> {
347
355
  readonly partial: boolean;
348
356
  record?: Record;
349
357
  }
350
- export type ObjectValue<Mutable extends boolean = boolean> = Mutable extends true ? MutableObjectValue : Readonly<MutableObjectValue<false>>;
358
+ export type ObjectValue<Mutable extends boolean = false> = Mutable extends true ? MutableObjectValue : Readonly<MutableObjectValue<false>>;
351
359
  /** An array value, for example `[0, 1, 2]`. */
352
360
  export interface MutableArrayValue<Mutable extends boolean = true> {
353
361
  readonly kind: "array";
@@ -355,7 +363,7 @@ export interface MutableArrayValue<Mutable extends boolean = true> {
355
363
  readonly items: ReadonlyArray<Value<Mutable>>;
356
364
  key?: FieldPath | undefined;
357
365
  }
358
- export type ArrayValue<Mutable extends boolean = boolean> = Mutable extends true ? MutableArrayValue : Readonly<MutableArrayValue<false>>;
366
+ export type ArrayValue<Mutable extends boolean = false> = Mutable extends true ? MutableArrayValue : Readonly<MutableArrayValue<false>>;
359
367
  /** One of: a quoted string, a number, `true`, `false`. */
360
368
  export interface MutableLiteralValue {
361
369
  readonly kind: "literal";
@@ -367,9 +375,9 @@ export interface MutableLiteralValue {
367
375
  kind: "null";
368
376
  };
369
377
  }
370
- export type LiteralValue<Mutable extends boolean = boolean> = Mutable extends true ? MutableLiteralValue : Readonly<MutableLiteralValue>;
378
+ export type LiteralValue<Mutable extends boolean = false> = Mutable extends true ? MutableLiteralValue : Readonly<MutableLiteralValue>;
371
379
  /** The value on the right side of the `=` symbol of a `const` declaration. */
372
- export type Value<Mutable extends boolean = boolean> = ObjectValue<Mutable> | ArrayValue<Mutable> | LiteralValue<Mutable>;
380
+ export type Value<Mutable extends boolean = false> = ObjectValue<Mutable> | ArrayValue<Mutable> | LiteralValue<Mutable>;
373
381
  export type MutableValue = Value<true>;
374
382
  /** Result of serializing a skir value to dense JSON format. */
375
383
  export type DenseJson = null | boolean | number | string | readonly DenseJson[];
@@ -377,20 +385,20 @@ export type DenseJson = null | boolean | number | string | readonly DenseJson[];
377
385
  * User-written documentation associated with a declaration.
378
386
  * Result of parsing the doc comments.
379
387
  */
380
- export interface Doc<Mutable extends boolean = boolean> {
388
+ export interface Doc<Mutable extends boolean = false> {
381
389
  /** The whole text including references. */
382
390
  text: string;
383
391
  /** The whole text split into pieces. */
384
392
  pieces: readonly DocPiece<Mutable>[];
385
393
  }
386
394
  export type MutableDoc = Doc<true>;
387
- export type DocPiece<Mutable extends boolean = boolean> = {
395
+ export type DocPiece<Mutable extends boolean = false> = {
388
396
  kind: "text";
389
397
  text: string;
390
398
  } | DocReference<Mutable>;
391
399
  export type MutableDocPiece = DocPiece<true>;
392
400
  /** Reference to a field or variant within a record. */
393
- export interface RecordField<Mutable extends boolean = boolean> {
401
+ export interface RecordField<Mutable extends boolean = false> {
394
402
  readonly kind: "field";
395
403
  readonly record: Record;
396
404
  readonly field: Field<Mutable>;
@@ -410,24 +418,24 @@ export interface MutableDocReference<Mutable extends boolean = true> {
410
418
  referee: Record | Method | Constant | RecordField | undefined;
411
419
  }
412
420
  /** Reference to a symbol from a doc comment ( [...] ). */
413
- export type DocReference<Mutable extends boolean = boolean> = Mutable extends true ? MutableDocReference : Readonly<MutableDocReference<boolean>>;
421
+ export type DocReference<Mutable extends boolean = false> = Mutable extends true ? MutableDocReference : Readonly<MutableDocReference<boolean>>;
414
422
  export interface MutableDocReferenceName {
415
423
  readonly token: Token;
416
424
  /** What declaration the name refers to. */
417
425
  declaration: Constant | Field | ImportAlias | Method | Record | undefined;
418
426
  }
419
427
  /** One single name found in a reference in a doc comment ( [...] ). */
420
- export type DocReferenceName<Mutable extends boolean = boolean> = Mutable extends true ? MutableDocReferenceName : Readonly<MutableDocReferenceName>;
428
+ export type DocReferenceName<Mutable extends boolean = false> = Mutable extends true ? MutableDocReferenceName : Readonly<MutableDocReferenceName>;
421
429
  /** A declaration which can appear at the top-level of a module. */
422
- export type ModuleLevelDeclaration<Mutable extends boolean = boolean> = Record<Mutable> | Import<Mutable> | ImportAlias<Mutable> | Method<Mutable> | Constant<Mutable>;
430
+ export type ModuleLevelDeclaration<Mutable extends boolean = false> = Record<Mutable> | Import<Mutable> | ImportAlias<Mutable> | Method<Mutable> | Constant<Mutable>;
423
431
  export type MutableModuleLevelDeclaration = ModuleLevelDeclaration<true>;
424
- export type Declaration<Mutable extends boolean = boolean> = RecordLevelDeclaration<Mutable> | ModuleLevelDeclaration<Mutable>;
432
+ export type Declaration<Mutable extends boolean = false> = RecordLevelDeclaration<Mutable> | ModuleLevelDeclaration<Mutable>;
425
433
  export type MutableDeclaration = Declaration<true>;
426
434
  /**
427
435
  * Contains the definition of a record and information about where the record
428
436
  * was defined.
429
437
  */
430
- export interface RecordLocation<Mutable extends boolean = boolean> {
438
+ export interface RecordLocation<Mutable extends boolean = false> {
431
439
  readonly kind: "record-location";
432
440
  readonly record: Record<Mutable>;
433
441
  /**
@@ -446,7 +454,7 @@ export type ImportedNames = {
446
454
  kind: "some";
447
455
  names: ReadonlySet<string>;
448
456
  };
449
- export interface Module<Mutable extends boolean = boolean> {
457
+ export interface Module<Mutable extends boolean = false> {
450
458
  readonly kind: "module";
451
459
  readonly path: string;
452
460
  readonly sourceCode: string;
@@ -461,6 +469,11 @@ export interface Module<Mutable extends boolean = boolean> {
461
469
  readonly pathToImportedNames: {
462
470
  [path: string]: ImportedNames;
463
471
  };
472
+ /**
473
+ * Smallest range including all import declarations.
474
+ * Null if there is no import declaration.
475
+ */
476
+ readonly importBlockRange: Range | null;
464
477
  /**
465
478
  * All the record declared in the module, at the top-level or not.
466
479
  * Depth-first: "Foo.Bar" will appear before "Foo".
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skir-internal",
3
- "version": "0.2.5",
3
+ "version": "0.2.7",
4
4
  "description": "",
5
5
  "homepage": "https://github.com/gepheum/skir-internal#readme",
6
6
  "bugs": {
package/src/types.ts CHANGED
@@ -71,6 +71,13 @@ export type Casing =
71
71
  | "UpperCamel"
72
72
  | "UPPER_UNDERSCORE";
73
73
 
74
+ export interface Range {
75
+ /** Measured in number of characters from the start of the module. */
76
+ readonly start: number;
77
+ /** Measured in number of characters from the start of the module. */
78
+ readonly end: number;
79
+ }
80
+
74
81
  // -----------------------------------------------------------------------------
75
82
  // ERROR HANDLING
76
83
  // -----------------------------------------------------------------------------
@@ -205,14 +212,14 @@ export interface MutableFieldPath<Mutable extends boolean = true> {
205
212
  keyType: PrimitiveType | ResolvedRecordRef;
206
213
  }
207
214
 
208
- export type FieldPath<Mutable extends boolean = boolean> = //
215
+ export type FieldPath<Mutable extends boolean = false> = //
209
216
  Mutable extends true //
210
217
  ? MutableFieldPath
211
218
  : Readonly<MutableFieldPath<false>>;
212
219
 
213
220
  export interface ArrayType<
214
221
  Type = ResolvedType,
215
- Mutable extends boolean = boolean,
222
+ Mutable extends boolean = false,
216
223
  > {
217
224
  readonly kind: "array";
218
225
  readonly item: Type;
@@ -248,7 +255,7 @@ export type UnresolvedType =
248
255
  * When Mutable is true, the optional field path of an array type can be
249
256
  * modified.
250
257
  */
251
- export type ResolvedType<Mutable extends boolean = boolean> =
258
+ export type ResolvedType<Mutable extends boolean = false> =
252
259
  | PrimitiveType
253
260
  | ResolvedRecordRef
254
261
  | ArrayType<ResolvedType, Mutable>
@@ -301,7 +308,7 @@ export interface MutableField<Mutable extends boolean = true> {
301
308
  * structure, so they are represented using the same interface and we use the
302
309
  * name 'field' for simplicity.
303
310
  */
304
- export type Field<Mutable extends boolean = boolean> = //
311
+ export type Field<Mutable extends boolean = false> = //
305
312
  Mutable extends true ? MutableField : Readonly<MutableField<false>>;
306
313
 
307
314
  /** A 'removed' declaration in a struct or enum. */
@@ -313,15 +320,15 @@ export interface Removed {
313
320
  }
314
321
 
315
322
  /** A declaration within a record. */
316
- export type RecordLevelDeclaration<Mutable extends boolean = boolean> =
317
- | Field
323
+ export type RecordLevelDeclaration<Mutable extends boolean = false> =
324
+ | Field<Mutable>
318
325
  | Removed
319
326
  | Record<Mutable>;
320
327
 
321
328
  export type MutableRecordLevelDeclaration = RecordLevelDeclaration<true>;
322
329
 
323
330
  /** Definition of a struct or enum type. */
324
- export interface Record<Mutable extends boolean = boolean> {
331
+ export interface Record<Mutable extends boolean = false> {
325
332
  readonly kind: "record";
326
333
  /** Uniquely identifies the record within the module set. */
327
334
  readonly key: RecordKey;
@@ -363,10 +370,11 @@ export interface MutableImport {
363
370
  readonly importedNames: Token[];
364
371
  /** The token corresponding to the quoted string. */
365
372
  readonly modulePath: Token;
373
+ readonly range: Range | null;
366
374
  resolvedModulePath?: string;
367
375
  }
368
376
 
369
- export type Import<Mutable extends boolean = boolean> = Mutable extends true
377
+ export type Import<Mutable extends boolean = false> = Mutable extends true
370
378
  ? MutableImport
371
379
  : Readonly<MutableImport>;
372
380
 
@@ -376,11 +384,13 @@ export interface MutableImportAlias {
376
384
  readonly name: Token;
377
385
  /** The token corresponding to the quoted string. */
378
386
  readonly modulePath: Token;
387
+ readonly range: Range | null;
379
388
  resolvedModulePath?: string;
380
389
  }
381
390
 
382
- export type ImportAlias<Mutable extends boolean = boolean> =
383
- Mutable extends true ? MutableImportAlias : Readonly<MutableImportAlias>;
391
+ export type ImportAlias<Mutable extends boolean = false> = Mutable extends true
392
+ ? MutableImportAlias
393
+ : Readonly<MutableImportAlias>;
384
394
 
385
395
  export interface MutableMethod<Mutable extends boolean = true> {
386
396
  readonly kind: "method";
@@ -397,7 +407,7 @@ export interface MutableMethod<Mutable extends boolean = true> {
397
407
  readonly number: number;
398
408
  }
399
409
 
400
- export type Method<Mutable extends boolean = boolean> = //
410
+ export type Method<Mutable extends boolean = false> = //
401
411
  Mutable extends true ? MutableMethod : Readonly<MutableMethod<false>>;
402
412
 
403
413
  export interface BrokenMethod {
@@ -419,7 +429,7 @@ export interface MutableConstant<Mutable extends boolean = true> {
419
429
  valueAsDenseJson: DenseJson | undefined;
420
430
  }
421
431
 
422
- export type Constant<Mutable extends boolean = boolean> = //
432
+ export type Constant<Mutable extends boolean = false> = //
423
433
  Mutable extends true //
424
434
  ? MutableConstant //
425
435
  : Readonly<MutableConstant<false>>;
@@ -440,7 +450,7 @@ export interface MutableObjectEntry<Mutable extends boolean = true> {
440
450
  fieldDeclaration?: Field;
441
451
  }
442
452
 
443
- export type ObjectEntry<Mutable extends boolean = boolean> = //
453
+ export type ObjectEntry<Mutable extends boolean = false> = //
444
454
  Mutable extends true //
445
455
  ? MutableObjectEntry //
446
456
  : Readonly<MutableObjectEntry<false>>;
@@ -456,7 +466,7 @@ export interface MutableObjectValue<Mutable extends boolean = true> {
456
466
  record?: Record;
457
467
  }
458
468
 
459
- export type ObjectValue<Mutable extends boolean = boolean> = //
469
+ export type ObjectValue<Mutable extends boolean = false> = //
460
470
  Mutable extends true //
461
471
  ? MutableObjectValue
462
472
  : Readonly<MutableObjectValue<false>>;
@@ -469,7 +479,7 @@ export interface MutableArrayValue<Mutable extends boolean = true> {
469
479
  key?: FieldPath | undefined;
470
480
  }
471
481
 
472
- export type ArrayValue<Mutable extends boolean = boolean> = //
482
+ export type ArrayValue<Mutable extends boolean = false> = //
473
483
  Mutable extends true //
474
484
  ? MutableArrayValue //
475
485
  : Readonly<MutableArrayValue<false>>;
@@ -481,13 +491,13 @@ export interface MutableLiteralValue {
481
491
  type?: PrimitiveType | { kind: "enum"; key: RecordKey } | { kind: "null" };
482
492
  }
483
493
 
484
- export type LiteralValue<Mutable extends boolean = boolean> = //
494
+ export type LiteralValue<Mutable extends boolean = false> = //
485
495
  Mutable extends true //
486
496
  ? MutableLiteralValue //
487
497
  : Readonly<MutableLiteralValue>;
488
498
 
489
499
  /** The value on the right side of the `=` symbol of a `const` declaration. */
490
- export type Value<Mutable extends boolean = boolean> =
500
+ export type Value<Mutable extends boolean = false> =
491
501
  | ObjectValue<Mutable>
492
502
  | ArrayValue<Mutable>
493
503
  | LiteralValue<Mutable>;
@@ -501,7 +511,7 @@ export type DenseJson = null | boolean | number | string | readonly DenseJson[];
501
511
  * User-written documentation associated with a declaration.
502
512
  * Result of parsing the doc comments.
503
513
  */
504
- export interface Doc<Mutable extends boolean = boolean> {
514
+ export interface Doc<Mutable extends boolean = false> {
505
515
  /** The whole text including references. */
506
516
  text: string;
507
517
  /** The whole text split into pieces. */
@@ -510,7 +520,7 @@ export interface Doc<Mutable extends boolean = boolean> {
510
520
 
511
521
  export type MutableDoc = Doc<true>;
512
522
 
513
- export type DocPiece<Mutable extends boolean = boolean> =
523
+ export type DocPiece<Mutable extends boolean = false> =
514
524
  | {
515
525
  kind: "text";
516
526
  text: string;
@@ -520,7 +530,7 @@ export type DocPiece<Mutable extends boolean = boolean> =
520
530
  export type MutableDocPiece = DocPiece<true>;
521
531
 
522
532
  /** Reference to a field or variant within a record. */
523
- export interface RecordField<Mutable extends boolean = boolean> {
533
+ export interface RecordField<Mutable extends boolean = false> {
524
534
  readonly kind: "field";
525
535
  readonly record: Record;
526
536
  readonly field: Field<Mutable>;
@@ -543,7 +553,7 @@ export interface MutableDocReference<Mutable extends boolean = true> {
543
553
  }
544
554
 
545
555
  /** Reference to a symbol from a doc comment ( [...] ). */
546
- export type DocReference<Mutable extends boolean = boolean> = //
556
+ export type DocReference<Mutable extends boolean = false> = //
547
557
  Mutable extends true //
548
558
  ? MutableDocReference
549
559
  : Readonly<MutableDocReference<boolean>>;
@@ -555,13 +565,13 @@ export interface MutableDocReferenceName {
555
565
  }
556
566
 
557
567
  /** One single name found in a reference in a doc comment ( [...] ). */
558
- export type DocReferenceName<Mutable extends boolean = boolean> =
568
+ export type DocReferenceName<Mutable extends boolean = false> =
559
569
  Mutable extends true
560
570
  ? MutableDocReferenceName
561
571
  : Readonly<MutableDocReferenceName>;
562
572
 
563
573
  /** A declaration which can appear at the top-level of a module. */
564
- export type ModuleLevelDeclaration<Mutable extends boolean = boolean> =
574
+ export type ModuleLevelDeclaration<Mutable extends boolean = false> =
565
575
  | Record<Mutable>
566
576
  | Import<Mutable>
567
577
  | ImportAlias<Mutable>
@@ -570,7 +580,7 @@ export type ModuleLevelDeclaration<Mutable extends boolean = boolean> =
570
580
 
571
581
  export type MutableModuleLevelDeclaration = ModuleLevelDeclaration<true>;
572
582
 
573
- export type Declaration<Mutable extends boolean = boolean> =
583
+ export type Declaration<Mutable extends boolean = false> =
574
584
  | RecordLevelDeclaration<Mutable>
575
585
  | ModuleLevelDeclaration<Mutable>;
576
586
 
@@ -580,7 +590,7 @@ export type MutableDeclaration = Declaration<true>;
580
590
  * Contains the definition of a record and information about where the record
581
591
  * was defined.
582
592
  */
583
- export interface RecordLocation<Mutable extends boolean = boolean> {
593
+ export interface RecordLocation<Mutable extends boolean = false> {
584
594
  readonly kind: "record-location";
585
595
  readonly record: Record<Mutable>;
586
596
  /**
@@ -598,7 +608,7 @@ export type ImportedNames =
598
608
  | { kind: "all"; alias: string }
599
609
  | { kind: "some"; names: ReadonlySet<string> };
600
610
 
601
- export interface Module<Mutable extends boolean = boolean> {
611
+ export interface Module<Mutable extends boolean = false> {
602
612
  readonly kind: "module";
603
613
  readonly path: string;
604
614
  readonly sourceCode: string;
@@ -612,6 +622,12 @@ export interface Module<Mutable extends boolean = boolean> {
612
622
  */
613
623
  readonly pathToImportedNames: { [path: string]: ImportedNames };
614
624
 
625
+ /**
626
+ * Smallest range including all import declarations.
627
+ * Null if there is no import declaration.
628
+ */
629
+ readonly importBlockRange: Range | null;
630
+
615
631
  /**
616
632
  * All the record declared in the module, at the top-level or not.
617
633
  * Depth-first: "Foo.Bar" will appear before "Foo".