Nomad changes
All checks were successful
Deploy fil (kreuzberg) / deploy (push) Successful in 49s

This commit is contained in:
Henrik Jess Nielsen
2026-06-01 23:40:55 +02:00
parent 72b1a0a6ed
commit b4c07d3693
5723 changed files with 1130655 additions and 0 deletions

View File

@@ -0,0 +1,31 @@
```swift title="Swift"
import Foundation
import Kreuzberg
import RustBridge
// The Swift binding throws `RustString` (not `KreuzbergError`) for every
// failure surfaced from the Rust core. The string preserves the original
// error variant name and message (e.g. "UnsupportedFormat: ...",
// "MissingDependency: ...", "Parsing: ...") so callers can pattern-match
// on the prefix or simply print the message.
do {
let config = try extractionConfigFromJson("{}")
let result = try extractFileSync("document.pdf", nil, config)
print(result.content().toString())
} catch let error as RustString {
let message = error.toString()
if message.contains("UnsupportedFormat") {
print("Unsupported format: \(message)")
} else if message.contains("MissingDependency") {
print("Install the required dependency: \(message)")
} else if message.contains("Parsing") {
print("Corrupt or invalid document: \(message)")
} else if message.contains("Io") {
print("File error: \(message)")
} else {
print("Extraction failed: \(message)")
}
} catch {
print("Unexpected error: \(error)")
}
```