/** * `issuesToFindings` — shared schema-delegation helper. * * `-schema-valid` rules delegate their `check` to Effect Schema via * `Schema.decodeUnknownResult(schema, { onExcessProperty: "ignore" })` (or the * Effect/Exit equivalents) and map the resulting `Issue` tree 1:1 to * `AdvisoryFinding`s through this helper. Rules never re-implement schema * checks inline; the paired `-keys-recognized` rule owns unknown-key hygiene * at warning severity. * * The helper walks the recursive `SchemaIssue.Issue` tree, accumulating a * path at each `Pointer` node and emitting one finding per leaf issue. * Composite nodes recurse into their children. Each finding's `message` * is branch-specific and guide-conformant: invariant failure first, raw * schema detail second when needed, remediation last. `location.file` is the * caller-supplied file (the manifest file); v1 does not parse byte positions * out of `Issue` values. * * @experimental This API is unstable and may change without notice. * @packageDocumentation */ import * as SchemaIssue from "effect/SchemaIssue"; import type { AdvisoryFinding, Severity } from "./rule.js"; /** * Walk an `Issue` tree and produce one finding per leaf issue. * * @param ruleId - `/` id of the calling rule. * @param severity - Severity to stamp on each emitted finding. * @param file - Accessor-relative file path to stamp on `location.file`. * @param issue - Root `Issue` produced by `Schema.decodeUnknown*`. * * @experimental This API is unstable and may change without notice. */ export declare const issuesToFindings: (ruleId: string, severity: Severity, file: string, issue: SchemaIssue.Issue) => ReadonlyArray; //# sourceMappingURL=issues-to-findings.d.ts.map