types/evidence.types.ts

types/evidence.types.ts is a file in Bane's Lab Site. 34 lines of code and 10 definitions.

export interface DefinitionEvidence {
    readonly file: string | null;
    readonly kind: "definition";
    readonly name: string;
}

export interface FileEvidence {
    readonly kind: "file";
    readonly name: string;
}

export interface FolderEvidence {
    readonly kind: "folder";
    readonly words: readonly string[];
}

export type EvidenceNode = DefinitionEvidence | FileEvidence | FolderEvidence;

export interface ChapterSubject {
    readonly kind: "chapter";
    readonly page: string;
    readonly section: string;
    readonly tab: string;
}

export interface RecordSubject {
    readonly kind: "record";
    readonly ref: string;
}

export type EvidenceSubject = ChapterSubject | RecordSubject;

export type AbsenceReason = "a-practice-not-a-construct" | "named-not-built" | "outside-the-web-member";

export interface DeclaredAbsence {
    readonly reason: AbsenceReason;
    readonly subject: EvidenceSubject;
}

export interface Evidence {
    readonly nodes: readonly EvidenceNode[];
    readonly subject: EvidenceSubject;
}