21 lines
746 B
TypeScript
21 lines
746 B
TypeScript
import { statusPresentation, type StatusPresentation } from './status.js';
|
|
|
|
/** Lifecycle badges depend only on state; phases and blockers are supporting text. */
|
|
export function provisioningStatus(state: string): StatusPresentation {
|
|
const status = statusPresentation(state);
|
|
if (state === 'running') return { ...status, label: 'Running' };
|
|
if (state === 'awaiting-health') return { ...status, label: 'Validating' };
|
|
return status;
|
|
}
|
|
|
|
export function provisioningWarnings(raw: string): string[] {
|
|
try {
|
|
const value: unknown = JSON.parse(raw);
|
|
return Array.isArray(value)
|
|
? value.filter((item): item is string => typeof item === 'string')
|
|
: [];
|
|
} catch {
|
|
return [];
|
|
}
|
|
}
|