@kui-shell/core
Version:
An Electron-based shell for cloud-native development
46 lines (45 loc) • 1.32 kB
TypeScript
import { ThemeSet } from '../webapp/themes/Theme';
import { UsageModel } from '../core/usage-error';
import { Disambiguator, CapabilityRequirements, CatchAllHandler, KResponse, ParsedOptions } from '../models/command';
export interface PrescanNode extends CapabilityRequirements {
route: string;
usage?: UsageModel;
docs?: string;
synonyms?: string[];
synonymFor?: string;
children?: Record<string, PrescanNode>;
}
export type PrescanUsage = Record<string, PrescanNode>;
interface PrescanCommandDefinition {
route: string;
path: string;
}
export type PrescanCommandDefinitions = PrescanCommandDefinition[];
export interface PrescanDocs {
[key: string]: string;
}
export interface PrescanModel {
docs: PrescanDocs;
preloads: PrescanCommandDefinitions;
themeSets: ThemeSet[];
commandToPlugin: {
[key: string]: string;
};
topological: {
[key: string]: string[];
};
flat: PrescanCommandDefinitions;
overrides: {
[key: string]: string;
};
usage: PrescanUsage;
disambiguator?: Disambiguator;
catchalls: CatchAllHandler<KResponse, ParsedOptions>[];
}
/**
* Merge two prescan models
*
* @return the merged result
*/
export declare function unify(modelA: PrescanModel, modelB: PrescanModel): PrescanModel;
export {};