File size: 790 Bytes
4e23b01
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import type { UnitState } from '#/_base/di/cascadeEngine';
import { createDecorator } from '#/_base/di/instantiation';
import type { LedgerEntryInfo } from '#/_base/lifecycle/ledger';

export interface DebugUnit {
  readonly token: string;
  readonly uid: number;
  readonly state?: UnitState;
  readonly error?: string;
  readonly everActive?: boolean;
  readonly inFlight?: boolean;
}

export interface DebugLedgerNode {
  readonly path: string;
  readonly label: string;
  readonly units: DebugUnit[];
  readonly ledger: LedgerEntryInfo[];
  readonly children: DebugLedgerNode[];
}

export interface IDebugLedgerService {
  readonly _serviceBrand: undefined;

  tree(): DebugLedgerNode;
}

export const IDebugLedgerService =
  createDecorator<IDebugLedgerService>('debugLedgerService');