Chosen Data Format is List<List<String?>> right now. The first is a list of DMX Breaks, the second a list of channel names where null represents an empty DMX offset. This may or may not need to change as we add more features, so I kept it simple for now.
For the construction of the ChannelLayout I tried the Exception-appraoch, which is probably more idiomatic for class constructors than Monads. Not sure I like it, but it surely is easier on the lower level, but harder on the higher level (needed to introduce a try-catch with conversion of exception to GlowError for serialization).
There's a new dependency: A Snaptshot Testing Framework (https://github.com/Karumi/KotlinSnapshot). It's one in Kotlin and it has the most GitHub stars of all JVM Frameworks I found. So far I'm only using it for two GlowMessage Events where the existing manual snapshot tests broke when adding a new field to the fixture type. We could add snapshot testing to the whole JSON API in a future PR to ensure we don't break the API.
This branch is branched off of feature/api-redesign, so we should merge #35 before this.
This adds the channel layout to our GdtfWrapper.
List<List<String?>>
right now. The first is a list of DMX Breaks, the second a list of channel names where null represents an empty DMX offset. This may or may not need to change as we add more features, so I kept it simple for now.This branch is branched off of
feature/api-redesign
, so we should merge #35 before this.closes #33