Add snapshotted mapping configuration sources

This commit is contained in:
2026-09-29 17:43:19 +00:00
parent 1ff3c812a7
commit 90c6e8ed7e
12 changed files with 454 additions and 159 deletions

View File

@@ -0,0 +1,19 @@
package engine
func (issue *valueIssue) sourceDiagnostic(sourceID string) Diagnostic {
code := CodeSourceInvalid
message := "mapping source has an unsupported value"
switch issue.kind {
case valueDepthLimit:
code, message = CodeSourceLimitExceeded, "mapping source exceeds the depth limit"
case valueNodeLimit:
code, message = CodeSourceLimitExceeded, "mapping source exceeds the node limit"
case valueByteLimit:
code, message = CodeSourceLimitExceeded, "mapping source exceeds the string-byte limit"
case valueNonFinite:
message = "mapping source float must be finite"
case valueCycle:
message = "mapping source values must not contain cycles"
}
return Diagnostic{Code: code, Severity: SeverityError, Path: issue.path.clone(), Message: message, Primary: &Location{SourceID: sourceID}}
}