mirror of
https://github.com/morluto/rea.git
synced 2026-11-15 19:23:24 +00:00
* refactor(coverage): give the complete/partial/unknown status one owner and ratchet local completeness enums * fix(verify): count chained local completeness enums and exclude detail levels * fix(javascript): keep source-to-bundle coverage unknown when an input's coverage is unknown (#11162)
17 lines
758 B
JavaScript
17 lines
758 B
JavaScript
// Counts local zod enums that spell a completeness vocabulary: their literal
|
|
// list contains "complete". A detail level (`"complete" | "summary"`) chooses
|
|
// how much to return, not what was examined, so a list with "summary" is not
|
|
// counted. Whitespace, including line breaks, may separate `z`, `.enum(` and
|
|
// `[`, so a formatter's chained layout (`z\n .enum([...])`) is counted like
|
|
// the inline one.
|
|
const zodEnumLiterals = /\bz\s*\.\s*enum\s*\(\s*\[([^\]]*)\]/gu;
|
|
|
|
/** @param {string} content */
|
|
export const localCompletenessEnumCount = (content) => {
|
|
let count = 0;
|
|
for (const [, literals] of content.matchAll(zodEnumLiterals))
|
|
if (literals.includes('"complete"') && !literals.includes('"summary"'))
|
|
count += 1;
|
|
return count;
|
|
};
|