Build server prototype (integration with GitHub / NuGet / etc)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
micro-build-server/BuildServer/types/report-types.ts

41 lines
1.1 KiB

export interface IMessage {
readonly message: string;
readonly prefix: string;
}
type IPartialMessageLeafContent = string[];
type IPartialMessageRootContent = IMessage[];
interface IPartialMessagesLeaf {
readonly $messages?: string[];
}
// workaround for compatibility with PartialMessagesLeaf and PartialMessagesRoot
interface IPartialMessagesRecursive {
readonly [propName: string]: Messages | IPartialMessageLeafContent;
}
interface IPartialMessagesRecursiveRoot {
readonly [propName: string]: Messages | IPartialMessageRootContent | IPartialMessageLeafContent;
}
interface IPartialMessagesRoot {
readonly $allMessages: IPartialMessageRootContent;
}
export type Messages = IPartialMessagesRecursive & IPartialMessagesLeaf;
export type MessagesRoot = IPartialMessagesRecursiveRoot & IPartialMessagesRoot & IPartialMessagesLeaf;
export interface IReportResult {
readonly errors: MessagesRoot;
readonly warns: MessagesRoot;
readonly infos: MessagesRoot;
readonly messages: MessagesRoot;
}
export interface IReport {
readonly date: number;
readonly err?: string;
readonly result?: IReportResult;
}