types/index.types.ts
types/index.types.ts is a file in Bane's Lab Build Scripts. 77 lines of code and 12 definitions.
import type { Entry, Identity } from "#types/catalog.types";
import type { Discovery } from "#types/site.types";
import type { FacetGroup } from "#types/filter.types";
import type { Journal } from "#types/journal.types";
import type { ReferenceFaces } from "#types/ontology.types";
import type { SectionPlan } from "#types/section.types";
import type { SourceFile } from "#types/source.types";
export interface IndexScope {
readonly collections: ReferenceFaces;
readonly discovery: Discovery;
readonly files: readonly SourceFile[];
readonly groups: readonly FacetGroup[];
readonly localPath: (path: string) => string;
readonly plans: readonly SectionPlan[];
readonly site: string;
}
export type Entries = ReadonlyMap<string, Entry>;
export interface Alternate {
readonly json: string;
readonly markdown: string;
}
export interface FacetSummary {
readonly count: number;
readonly field: string;
readonly markdown: string;
readonly value: string;
}
export interface IndexPart {
readonly count: number;
readonly first: string;
readonly json: string;
readonly last: string;
readonly markdown: string | null;
}
export interface IndexData {
readonly alternate?: Alternate | null;
readonly facets?: readonly FacetSummary[];
readonly parts?: readonly IndexPart[];
readonly ref: string;
readonly title: string;
}
export interface IndexPlan {
readonly data: IndexData;
readonly identity: Identity;
readonly refs: readonly string[];
}
export interface SourcePlans {
readonly folders: readonly IndexPlan[];
readonly trees: readonly IndexPlan[];
}
export interface LevelMembers {
readonly collections: readonly IndexPlan[];
readonly facets: readonly IndexPlan[];
readonly pages: readonly IndexPlan[];
readonly trees: readonly IndexPlan[];
}
export interface FacetLevels {
readonly collections: readonly IndexPlan[];
readonly fields: readonly IndexPlan[];
}
export interface CatalogClose {
readonly discovery: Discovery;
readonly indexes: IndexPlans;
readonly journal: Journal;
readonly queries: readonly Entry[];
}
export interface IndexPlans {
readonly collections: readonly IndexPlan[];
readonly facetCollections: readonly IndexPlan[];
readonly facetFields: readonly IndexPlan[];
readonly facets: readonly IndexPlan[];
readonly folders: readonly IndexPlan[];
readonly levels: readonly IndexPlan[];
readonly pages: readonly IndexPlan[];
readonly tabs: readonly IndexPlan[];
readonly trees: readonly IndexPlan[];
}