Господа, есть вопрос
Есть у меня такое
issue, в чем суть: есть либа для чтения конфигов отовсюду, по возможности минималистично и просто.
Попросили добавить кастомный декодер полей, чтобы в определенные поля парсить данные через вызов функции, указанной в тэге.
Мне в целом подход не особо нравится, потому что не особо тайпсейфно, плюс не хочу нагружать лишними тэгами либу. Мне это видится через добавление functional option, которая будет принимать на вход некий кастомный декодер с известным интерфейсом, а я внутри буду его вызывать (например).
Из минусов - не получится просто спарсить файл (например, yaml или json) и потом как надо прочитать определенные поля. Плюс клиент не может просто определить функцию для поля, ему нужно будет целиком парсить файл и искать там нужные поля и заменять.
Из плюсов - я, как разработчик либы, даю сообществу больше свободы делать какие им хочется декодеры без изменения интерфейса в дальнейшем.
Что думаете? Может есть получше варианты?