Как стать автором
Обновить

Комментарии 12

Выглядит интересно )

Интересная штуковина!

У меня вопрос: какие таргеты поддерживаются на данный момент? Я не вполне понял, потому как в модуле komm-annotations - jvm, js и несколько native (но не все!), в komm-simple - jvm и js, а в komm-processor вообще только jvm.
В итоге, пока я так и не понял, на каких платформах могу использовать эту библиотеку.

Ну и пара пожеланий:

  1. добавить таргет wasmJs.

  2. Добавить фичу генерирования мапперов для чужих классов (которым нельзя приделать аннотацию в собственном коде). Что-то такое, как в kotlinx.serialization сделано:

typealias MyUserEntity = @Serializable ThirdPartyUserEntity

komm-processor - так и будет только JVM. Так работает KSP. Вот тут как подключать его в любые targets:

dependencies {
    add("kspJvm", "com.ucasoft.komm:komm-processor:$kommVersion")
    add("kspJs", "com.ucasoft.komm:komm-processor:$kommVersion")
    // Add other platforms like `kspAndroidNativeX64`, `kspLinuxX64`, `kspMingwX64` etc.
}

komm-simple - это просто пример использования.

komm-annotations - это основное, где нужно накидывать targets. Просто пока добавлял те, что использую сам.

По пожеланиям:

  1. wasmJs попробую добавить. Пока вообще с ним не работал.

  2. Это отличная идея! Но вот проблема, как быть с аннотациями свойств? Можно конечно их как-то конфигурировать внутри KOMMMap. Подумаю. Но и проблема Java Objects остается с их set-методами.

Вспомнил про эту статью - захотелось попробовать применить либу. Но или что-то не так понял, или тут зависимость не в ту сторону - модель domain слоя вынуждена будет знать о моделях data слоя. Можно ли сделать наоборот - для модели источника указать при помощи аннотации сущность, в которую нужно сконвертировать?

Да, `KOMMMap(to = ` есть в планах. Но я сейчас застрял с тестированием системы plug-in'ов и обновлением на Kotlin 2.0.

Ок, вернусь через пару месяцев)

Релиз 0.9.10 уже в пути

Уже можно смотреть? :)

Ага. Только уже 0.10.3 версия. А ещё Iterable и Exposed plugin'ы.

Создал несколько issue, пока не получилось поработать с KOMM :(

Отвечаю в repo.

Спасибо за участие!

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории