Files
fil/docs/snippets/swift/plugins/pdf_only_processor.md
Henrik Jess Nielsen b4c07d3693
All checks were successful
Deploy fil (kreuzberg) / deploy (push) Successful in 49s
Nomad changes
2026-06-01 23:40:55 +02:00

1.0 KiB

import Kreuzberg

final class PdfOnlyProcessor: PostProcessor {
    func name() -> String {
        "pdf-only-processor"
    }

    func version() -> String {
        "1.0.0"
    }

    func processingStage() -> String {
        "middle"  // ProcessingStage enum name
    }

    func priority() -> Int32 {
        50  // Default priority
    }

    func process(result: ExtractionResult, config: ExtractionConfig) -> String {
        // Returns JSON-encoded Result<(), String>
        // No-op post-processor for PDF-only processing
        "{\"ok\": null}"
    }

    func shouldProcess(result: ExtractionResult, config: ExtractionConfig) -> Bool {
        result.mimeType() == "application/pdf"
    }

    func estimatedDurationMs(result: ExtractionResult) -> UInt64 {
        0  // No processing overhead
    }

    func initialize() -> String {
        "{\"ok\": null}"
    }

    func shutdown() -> String {
        "{\"ok\": null}"
    }
}

let processor = PdfOnlyProcessor()
try Kreuzberg.registerPostProcessor(processor)