@allurereport/web-awesome
Version:
The static files for Allure Awesome Report
30 lines (25 loc) • 825 B
text/typescript
import type { QualityGateValidationResult } from "@allurereport/plugin-api";
import { fetchReportJsonData } from "@allurereport/web-commons";
import { signal } from "@preact/signals";
import { type StoreSignalState } from "./types";
export const qualityGateStore = signal<StoreSignalState<Record<string, QualityGateValidationResult[]>>>({
loading: true,
error: undefined,
data: undefined,
});
export const fetchQualityGateResults = async () => {
try {
const data = await fetchReportJsonData<Record<string, QualityGateValidationResult[]>>("widgets/quality-gate.json");
qualityGateStore.value = {
data,
error: undefined,
loading: false,
};
} catch (err) {
qualityGateStore.value = {
...qualityGateStore.peek(),
error: err.message,
loading: false,
};
}
};