All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.mmauro94.mkvtoolnix_wrapper.json.MkvToolnixLanguageConverter.kt Maven / Gradle / Ivy

Go to download

An easy to use light kotlin-jvm wrapper for most common mkvmerge and mkvpropedit CLI commands

The newest version!
package com.github.mmauro94.mkvtoolnix_wrapper.json

import com.beust.klaxon.Converter
import com.beust.klaxon.JsonValue
import com.beust.klaxon.KlaxonException
import com.github.mmauro94.mkvtoolnix_wrapper.MkvToolnixLanguage

internal object MkvToolnixLanguageConverter : Converter {

    override fun canConvert(cls: Class<*>) = cls == MkvToolnixLanguage::class.java

    override fun fromJson(jv: JsonValue) =
        jv.string?.let { MkvToolnixLanguage.all[it] ?: throw KlaxonException("Invalid language code $it") }

    override fun toJson(value: Any): String {
        return if (value is MkvToolnixLanguage) "\"" + value.iso639_3 + "\""
        else throw KlaxonException("Must be MkvToolnixLanguage")
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy