Files
pnpm/packages/cli-utils/src/recursiveSummary.ts
Zoltan Kochan 7c6243212f style: autofix
2021-03-17 03:32:06 +02:00

31 lines
773 B
TypeScript

import PnpmError from '@pnpm/error'
interface ActionFailure {
prefix: string
message: string
error: Error
}
export interface RecursiveSummary {
fails: ActionFailure[]
passes: number
}
class RecursiveFailError extends PnpmError {
public readonly fails: ActionFailure[]
public readonly passes: number
constructor (command: string, recursiveSummary: RecursiveSummary) {
super('RECURSIVE_FAIL', `"${command}" failed in ${recursiveSummary.fails.length} packages`)
this.fails = recursiveSummary.fails
this.passes = recursiveSummary.passes
}
}
export function throwOnCommandFail (command: string, recursiveSummary: RecursiveSummary) {
if (recursiveSummary.fails.length > 0) {
throw new RecursiveFailError(command, recursiveSummary)
}
}