Skip to content

Instantly share code, notes, and snippets.

View pardom-zz's full-sized avatar

Michael Pardo pardom-zz

View GitHub Profile
fun Any.prettyPrint(): String {
val sb = StringBuilder()
val chars = toString().toCharArray()
var level = 0
var inString = false
var inArray = false
for (char in chars) {
when (char) {
'(' -> {
if (!inString) {
interface Middleware<S> {
Object dispatch(StateProvider<S> stateProvier, Object action, Dispatcher next);
interface StateProvider<S> {
S getState();
}
interface Middleware<S> {
Object dispatch(Store<S> store, Object action, Dispatcher next);
}
@pardom-zz
pardom-zz / Dispatcher.java
Last active October 12, 2016 20:07
JVM Redux API
interface Dispatcher {
Object dispatch(Object action);
}
package clean.news.adapter
import android.content.Context
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import clean.news.R
import clean.news.core.entity.Item.ListType
import clean.news.inject.ModuleContext
import clean.news.ui.item.list.ItemListKey.ItemListModule
import rx.Observable
import java.util.LinkedHashMap
class HashStreamMap<K> : LinkedHashMap<K, Observable<*>>, MutableStreamMap<K> {
constructor() : super()
constructor(initialCapacity: Int) : super(initialCapacity)
constructor(initialCapacity: Int, loadFactor: Float) : super(initialCapacity, loadFactor)
@pardom-zz
pardom-zz / DaggerService.kt
Created May 6, 2016 15:07
Service Factories
class DaggerService(private val rootComponent: Any) : ServicesFactory() {
override fun bindServices(services: Binder) {
val key = services.getKey<Any>()
if (key !is WithComponent) {
return
}
val parent = services.getService<Any>(NAME) ?: rootComponent
val component = key.createComponent(parent)
@Plumbed(MyViewIntent.class)
class MyView extends FrameLayout {
@Inject
public MyViewIntent viewIntent;
@Out("red")
public Observable<Integer> red;
@Out("green")
public Observable<Integer> green;
@Out("blue")
remote.getIt(foo) // Observable<Bar>
//.doOnNext { local.saveIt(bar).toBlocking().single() } // "Interrupted while waiting for subscription to complete" on errors.
.flatMap { bar -> local.saveIt(bar).map { bar } } // Hacky, but makes saving part of stream and won't throw exceptions due to blocking observable.
@pardom-zz
pardom-zz / Properties.kt
Created July 4, 2015 00:47
Kotlin observable properties
import com.sun.jdi.InvalidTypeException
import java.util.LinkedHashSet
import kotlin.properties.ReadWriteProperty
import kotlin.reflect.KProperty
public object Properties {
fun observable<T>(initialValue: T): ReadWriteProperty<Any?, T> {
return ObservableProperty(initialValue)
}
}