import Foundation
import NitroModules

/**
 * Factory for creating HybridMediaItem instances.
 * Autolinked — default-constructible (required by Nitrogen).
 */
class HybridMediaItemFactory: HybridMediaItemFactorySpec {
    var memorySize: Int {
        MemoryLayout<HybridMediaItemFactory>.size
    }

    func create(config: MediaItemConfig) throws -> any HybridMediaItemSpec {
        HybridMediaItem(config: config)
    }

    func fromUri(uri: String) throws -> any HybridMediaItemSpec {
        HybridMediaItem(uri: uri)
    }
}
