Skip to content

Commit

Permalink
🚚 Rename package (#4)
Browse files Browse the repository at this point in the history
  • Loading branch information
kittinunf authored Sep 25, 2017
1 parent 884e7f1 commit e4e459f
Show file tree
Hide file tree
Showing 14 changed files with 82 additions and 89 deletions.
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package com.github.kttinunf.forge
package com.github.kittinunf.forge

import com.github.kttinunf.forge.core.Deserializable
import com.github.kttinunf.forge.core.JSON
import com.github.kttinunf.forge.core.EncodedResult
import com.github.kittinunf.forge.core.Deserializable
import com.github.kittinunf.forge.core.JSON
import com.github.kittinunf.forge.core.EncodedResult
import org.json.JSONArray
import org.json.JSONObject

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.github.kttinunf.forge.core
package com.github.kittinunf.forge.core

interface Deserializable<out T : Any> {

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
package com.github.kittinunf.forge.core

sealed class EncodedResult<out T : Any?> {

operator abstract fun component1(): T?
operator abstract fun component2(): Exception?

fun fold(ft: (T?) -> Unit, fe: (Exception) -> Unit) {
return when (this) {
is Success<T> -> ft(this.value)
is Failure<T> -> fe(this.error)
}
}

fun <U> map(f: (T) -> U): EncodedResult<U> = when (this) {
is EncodedResult.Success -> EncodedResult.Success(f(this.get()))
is EncodedResult.Failure -> EncodedResult.Failure(this.get())
}

fun <X> let(f: (T) -> X): X? = when (this) {
is Success<T> -> f(this.get())
is Failure<T> -> null
}

@Suppress("UNCHECKED_CAST")
fun <X> get(): X = when (this) {
is Success<T> -> this.value as X
is Failure<T> -> this.error as X
}

class Success<out T>(val value: T?) : EncodedResult<T>() {

override fun component1() = value
override fun component2() = null

}

class Failure<out T>(val error: Exception) : EncodedResult<T>() {

override fun component1() = null
override fun component2() = error

}

}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.github.kttinunf.forge.core
package com.github.kittinunf.forge.core

class PropertyNotFoundException(val propertyName: String) : RuntimeException("Property name $propertyName is not found")

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.github.kttinunf.forge.core
package com.github.kittinunf.forge.core

import com.github.kttinunf.forge.extension.asSequence
import com.github.kittinunf.forge.extension.asSequence
import org.json.JSONArray
import org.json.JSONObject

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.github.kttinunf.forge.core
package com.github.kittinunf.forge.core

infix fun <T, U> Function1<T, U>.map(encodedResult: EncodedResult<T>) = encodedResult.map(this)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.github.kttinunf.forge.extension
package com.github.kittinunf.forge.extension

import org.json.JSONArray

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.github.kttinunf.forge.extension
package com.github.kittinunf.forge.extension

import org.json.JSONObject

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.github.kttinunf.forge.function
package com.github.kittinunf.forge.function

import java.text.SimpleDateFormat
import java.util.*
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.github.kttinunf.forge.util
package com.github.kittinunf.forge.util

fun <A, B, X> Function2<A, B, X>.curry(): (A) -> (B) -> X {
return { a ->
Expand Down

This file was deleted.

19 changes: 9 additions & 10 deletions forge/src/test/kotlin/JSONMappingArrayTest.kt
Original file line number Diff line number Diff line change
@@ -1,16 +1,15 @@
import com.github.kttinunf.forge.Forge
import com.github.kttinunf.forge.core.Deserializable
import com.github.kttinunf.forge.core.EncodedResult
import com.github.kttinunf.forge.core.JSON
import com.github.kttinunf.forge.core.apply
import com.github.kttinunf.forge.core.at
import com.github.kttinunf.forge.core.map
import com.github.kttinunf.forge.core.maybeList
import com.github.kttinunf.forge.util.create
import com.github.kittinunf.forge.Forge
import com.github.kittinunf.forge.core.Deserializable
import com.github.kittinunf.forge.core.EncodedResult
import com.github.kittinunf.forge.core.JSON
import com.github.kittinunf.forge.core.apply
import com.github.kittinunf.forge.core.at
import com.github.kittinunf.forge.core.map
import com.github.kittinunf.forge.core.maybeList
import com.github.kittinunf.forge.util.create
import org.hamcrest.CoreMatchers.equalTo
import org.hamcrest.CoreMatchers.nullValue
import org.hamcrest.MatcherAssert.assertThat
import org.json.JSONObject
import org.junit.Test

class JSONMappingArrayTest : BaseTest() {
Expand Down
24 changes: 12 additions & 12 deletions forge/src/test/kotlin/JSONMappingObjectTest.kt
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
import com.github.kttinunf.forge.Forge
import com.github.kttinunf.forge.core.Deserializable
import com.github.kttinunf.forge.core.EncodedResult
import com.github.kttinunf.forge.core.JSON
import com.github.kttinunf.forge.core.apply
import com.github.kttinunf.forge.core.at
import com.github.kttinunf.forge.core.list
import com.github.kttinunf.forge.core.map
import com.github.kttinunf.forge.core.maybeAt
import com.github.kttinunf.forge.function.toDate
import com.github.kttinunf.forge.util.create
import com.github.kttinunf.forge.util.curry
import com.github.kittinunf.forge.Forge
import com.github.kittinunf.forge.core.Deserializable
import com.github.kittinunf.forge.core.EncodedResult
import com.github.kittinunf.forge.core.JSON
import com.github.kittinunf.forge.core.apply
import com.github.kittinunf.forge.core.at
import com.github.kittinunf.forge.core.list
import com.github.kittinunf.forge.core.map
import com.github.kittinunf.forge.core.maybeAt
import com.github.kittinunf.forge.function.toDate
import com.github.kittinunf.forge.util.create
import com.github.kittinunf.forge.util.curry
import org.hamcrest.CoreMatchers.equalTo
import org.hamcrest.CoreMatchers.notNullValue
import org.hamcrest.CoreMatchers.nullValue
Expand Down
6 changes: 3 additions & 3 deletions forge/src/test/kotlin/JSONObjectTest.kt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import com.github.kttinunf.forge.core.EncodedResult
import com.github.kttinunf.forge.core.JSON
import com.github.kttinunf.forge.core.PropertyNotFoundException
import com.github.kittinunf.forge.core.EncodedResult
import com.github.kittinunf.forge.core.JSON
import com.github.kittinunf.forge.core.PropertyNotFoundException
import org.json.JSONObject
import org.junit.Test
import org.hamcrest.CoreMatchers.equalTo
Expand Down

0 comments on commit e4e459f

Please sign in to comment.