Как лучше прокинуть координатор в SPM модуль из таргета приложения?

Всем привет! Проект на данный момент не до конца переведен на модульную архитектуру, от чего возникают проблемы с интеграцией фичей проекта.

Мне необходимо в SPM модуль прокинуть фичу - флоу с координатором. Эта фича находится в таргете самого приложения. Как можно было бы более-менее "правильно" прокинуть координатор в SPM модуль? Основная боль заключается в том, что этот координатор закрыт протоколом, который мне нужен для реализации делегата на координаторе, который будет стартовать его.

Сейчас я просто создал некий синглтон, в который я из таргета приложения прокидыываю в замыкание метод на создание этого флоу, который возвращает координатор.

public final class TemproaryFlowProvider {

    public static let shared = TemproaryFlowProvider()

    public var makeFlow:((_ router: Router,
                          _ isLandscapeEnabled: Bool) -> Coordinator)?
}

Но Coordinator это общий протокол. А мне нужен именно протокол этой фичи. Как это сделать?


Ответы (0 шт):