diff options
author | Robert Jaros <rjaros@finn.pl> | 2018-03-08 08:39:20 +0100 |
---|---|---|
committer | Robert Jaros <rjaros@finn.pl> | 2018-03-08 08:39:20 +0100 |
commit | 09d81e12fd4a41132cb711c282e98425dc1334cf (patch) | |
tree | f6b581cfaddfe4a154b666ee0b31b8c7c3cbc8e0 | |
parent | ccf8095516c7cfae68f2ad612bcdb1e2d6420786 (diff) | |
download | kvision-09d81e12fd4a41132cb711c282e98425dc1334cf.tar.gz kvision-09d81e12fd4a41132cb711c282e98425dc1334cf.tar.bz2 kvision-09d81e12fd4a41132cb711c282e98425dc1334cf.zip |
Extension function to convert Json to Map
-rw-r--r-- | src/main/kotlin/pl/treksoft/kvision/form/Form.kt | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/main/kotlin/pl/treksoft/kvision/form/Form.kt b/src/main/kotlin/pl/treksoft/kvision/form/Form.kt index 1b06156e..4ce21ec6 100644 --- a/src/main/kotlin/pl/treksoft/kvision/form/Form.kt +++ b/src/main/kotlin/pl/treksoft/kvision/form/Form.kt @@ -263,10 +263,22 @@ fun Map<String, Any?>.bool(key: String): Boolean? = this[key] as? Boolean fun Map<String, Any?>.date(key: String): Date? = this[key] as? Date /** - * Returns map values in JSON format. + * Extension function to convert Map to JSON. + * @return Json object */ fun Map<String, Any?>.asJson(): Json { val array = this.entries.map { it.component1() to it.component2() }.toTypedArray() @Suppress("SpreadOperator") return kotlin.js.json(*array) } + +/** + * Extension function to convert JSON to Map. + * @return map object + */ +fun Json.asMap(): Map<String, Any?> { + val map = mutableMapOf<String, Any?>() + @Suppress("UnsafeCastFromDynamic") + for (key in js("Object").keys(this)) map[key] = this[key] + return map +} |