UNPKG

@issue-linker/core

Version:
96 lines 2.79 kB
// Factory functions for creating CheckMessageResult objects /** * Create a result for when text is excluded from validation */ export function createExcludedResult(input, excludePattern) { const message = excludePattern ? `Skipped: Matched exclude pattern "${excludePattern}"` : "Skipped: Matched exclude pattern"; return { success: true, message, reason: "excluded", input, }; } /** * Create a result for when validation is skipped due to skip marker */ export function createSkippedResult(input, skipMarker) { const message = skipMarker ? `Skipped: Contains ${skipMarker} marker` : "Skipped: Contains skip marker"; return { success: true, message, reason: "skipped", input, }; } /** * Create a result for when no issue numbers are found */ export function createNoIssuesResult(input) { return { success: false, message: "No issue number found in text", reason: "no-issues", input, }; } /** * Create a result for when valid issues are found */ export function createValidResult(issues, input) { return { success: true, message: `Valid issues: #${issues.valid.join(", #")} in ${input.repo}`, reason: "valid", input, issues, }; } /** * Create a result for when invalid issues are found */ export function createInvalidResult(issues, input) { // Build detailed message const parts = []; if (issues.notFound.length > 0) { parts.push(`Issues not found: #${issues.notFound.join(", #")}`); } if (issues.wrongState.length > 0) { // Build detailed wrong state message const wrongStateMessages = issues.wrongState.map((issue) => { const expected = input.issueStatus === "all" ? "" : ` (expected: ${input.issueStatus})`; return `#${issue.number} is ${issue.actualState}${expected}`; }); parts.push(`Wrong state: ${wrongStateMessages.join(", ")}`); } const message = `${parts.join("; ")} in ${input.repo}`; return { success: false, message, reason: "invalid-issues", input, issues, }; } /** * Create a result for when an error occurs */ export function createErrorResult(error, input) { const errorInfo = { type: error instanceof Error ? error.constructor.name : "UnknownError", message: error instanceof Error ? error.message : String(error), ...(error instanceof Error && error.stack && { stack: error.stack }), }; return { success: false, message: errorInfo.message, reason: "error", input, error: errorInfo, }; } //# sourceMappingURL=result-factory.js.map