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,78 @@
// Generated by alef. Do not edit by hand.
// swift-format-ignore-file
// This file contains generated FFI glue for trait bridge registration.
import Foundation
import RustBridge
/// Protocol for outbound `OcrBackend` implementations.
/// Conform your Swift class or struct to this protocol to implement
/// a Rust trait from the host side.
public protocol SwiftOcrBackendBridge: AnyObject {
func processImage(image_bytes: Data, config: OcrConfig) throws -> String
func supportsLanguage(lang: String) -> Bool
func backendType() -> OcrBackendType
}
/// Internal adapter wrapping a `SwiftOcrBackendBridge` conformer.
/// Marshals Swift types and trait calls to/from the C boundary.
/// Excluded/internal types are serialised to/from JSON strings.
final class SwiftOcrBackendAdapter {
private let bridge: any SwiftOcrBackendBridge
init(bridge: any SwiftOcrBackendBridge) {
self.bridge = bridge
}
func processImageCall(image_bytes: Data, config: OcrConfig) throws -> String {
do {
let result = try self.bridge.processImage(image_bytes: image_bytes, config: config)
let encodedData = try marshal_encode_excluded(result)
if let jsonString = String(data: encodedData, encoding: .utf8) {
return "{\"ok\": \(jsonString)}"
}
return "{\"ok\": null}"
} catch {
return marshal_error_result(error)
}
}
func supportsLanguageCall(lang: String) -> Bool {
let result = self.bridge.supportsLanguage(lang: lang)
return result
}
func backendTypeCall() -> OcrBackendType {
let result = self.bridge.backendType()
return result
}
}
// MARK: - Marshalling helpers
private struct Empty: Codable {}
private func marshal_ok_result<T: Encodable>(_ value: T) -> String {
let encoder = JSONEncoder()
if let data = try? encoder.encode(value),
let jsonString = String(data: data, encoding: .utf8) {
return "{\"ok\": \(jsonString)}"
}
return "{\"ok\": null}"
}
private func marshal_encode_excluded<T: Encodable>(_ value: T) throws -> Data {
let encoder = JSONEncoder()
return try encoder.encode(value)
}
private func marshal_error_result(_ error: any Error) -> String {
let errorString = String(describing: error)
let encoder = JSONEncoder()
if let data = try? encoder.encode(errorString),
let jsonString = String(data: data, encoding: .utf8) {
return "{\"err\": \(jsonString)}"
}
return "{\"err\": \"unknown error\"}"
}